*{box-sizing:border-box}html,body{color:#182033;background:#f4f7fb;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{max-width:820px;margin:0 auto;padding:28px 22px 70px}.header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.brand{font-size:28px;font-weight:800}.muted{color:#737d90}.small{font-size:14px}.signout{color:#1771e6;background:#eef2f7;border:0;border-radius:14px;padding:14px 18px;font-size:18px}.grid{grid-template-columns:1fr;gap:18px;display:grid}.card{background:#fff;border:1px solid #d9e0ea;border-radius:24px;padding:30px 36px;box-shadow:0 1px 1px #00000005}.card h2{margin:0 0 12px;font-size:28px}.card .pt{color:#758095;font-size:22px}.navcard{transition:all .15s;display:block}.navcard:active{background:#f8fafc;transform:scale(.99)}.page-title{margin:0;font-size:31px}.subline{background:#d8dee8;height:1px;margin:10px 0 24px}.back{color:#1771e6;margin-bottom:20px;font-weight:700;display:inline-block}.form{gap:14px;display:grid}.label{font-weight:700}.input,.select,.textarea{background:#fff;border:1px solid #ccd5e1;border-radius:12px;width:100%;padding:14px}.textarea{resize:vertical;min-height:90px}.btn{cursor:pointer;border:0;border-radius:12px;padding:15px 18px;font-weight:800}.primary{color:#fff;background:#367f77}.secondary{color:#172033;background:#e9edf3}.row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.notice{color:#276e66;background:#edf7f5;border-radius:10px;padding:12px 14px}.error{color:#a42c2c;background:#fff0f0}.list{gap:12px;margin-top:20px;display:grid}.item{background:#fff;border:1px solid #d8dee8;border-radius:14px;padding:16px}.item strong{margin-bottom:4px;display:block}.empty{text-align:center;color:#758095;border:1px dashed #cbd3df;border-radius:14px;padding:22px}.loginbox{background:#fff;border:1px solid #d8dee8;border-radius:24px;max-width:520px;margin:10vh auto;padding:34px}.loginbox h1{margin:0 0 24px;font-size:34px}.home-actions{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px;display:grid}.home-action{padding:22px 24px}.home-action h2{font-size:24px}.home-action .pt{margin-bottom:8px;font-size:18px}.section-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.compact{padding:12px 14px}.customer-list{margin-top:20px}.customer-item{justify-content:space-between;align-items:center;gap:18px;display:flex}.chevron{color:#9aa4b4;font-size:34px;line-height:1}.customer-meta{margin-top:8px}.quick-links{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.quick-links a{background:#e9edf3;border-radius:999px;padding:10px 14px;font-weight:700}.project-tabs{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:22px;display:grid}.tab{color:#38445a;cursor:pointer;background:#fff;border:1px solid #d8dee8;border-radius:14px;padding:12px 8px;font-weight:800}.tab small{color:#737d90;font-weight:500}.tab.active{color:#276e66;background:#edf7f5;border-color:#367f77}.project-section{gap:18px;margin-top:18px;display:grid}.summary-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.summary-box{background:#fff;border:1px solid #d8dee8;border-radius:16px;gap:8px;padding:16px;display:grid}.summary-box span{color:#737d90;font-size:13px}.summary-box strong{font-size:22px}.task-button{text-align:left;cursor:pointer;width:100%}.task-button.done{opacity:.6;text-decoration:line-through}.doc-tabs{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}.doc-tab{cursor:pointer;background:#fff;border:1px solid #d8dee8;border-radius:14px;padding:13px;font-weight:800}.doc-tab small{color:#737d90;font-weight:500}.doc-tab.active{color:#276e66;background:#edf7f5;border-color:#367f77}.new-doc-btn{width:100%;margin-top:12px}.doc-builder{padding-top:24px}.builder-title{margin-top:4px;font-size:18px;font-weight:800}.line-builder{background:#fafbfd;border:1px solid #d8dee8;border-radius:14px;gap:10px;padding:14px;display:grid}.mini-link{text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.danger-text{color:#a42c2c}.split-input{grid-template-columns:84px 1fr;gap:8px;display:grid}.doc-totals{background:#f7f9fc;border-radius:14px;grid-template-columns:1fr auto;gap:8px 18px;width:min(100%,360px);margin-left:auto;padding:16px;display:grid}.doc-totals .total-line{border-top:1px solid #d8dee8;padding-top:10px;font-size:20px}.document-actions{flex-wrap:wrap;gap:10px;display:flex}.invoice-sheet{background:#fff;border:1px solid #d9e0ea;border-radius:20px;margin-top:16px;padding:34px;box-shadow:0 2px 8px #00000008}.invoice-top{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.invoice-business{font-size:24px;font-weight:900}.invoice-type{text-align:right;justify-items:end;gap:5px;display:grid}.invoice-type b{font-size:18px}.status-badge{text-transform:uppercase;background:#eef2f7;border-radius:999px;padding:5px 9px;font-size:11px}.status-approved,.status-paid{color:#27733e;background:#e7f6ec}.status-viewed,.status-sent,.status-partial{color:#2f5fa6;background:#edf4ff}.status-declined,.status-overdue,.status-void{color:#a42c2c;background:#fff0f0}.invoice-meta-grid{grid-template-columns:1fr 220px;gap:24px;margin:30px 0;display:grid}.invoice-meta-grid>div{gap:4px;display:grid}.invoice-meta-grid small{color:#737d90;font-weight:700;display:block}.invoice-meta-grid strong{margin:2px 0;display:block}.invoice-title{margin:10px 0 18px}.invoice-table{border:1px solid #d8dee8;border-radius:12px;overflow:hidden}.invoice-row{border-top:1px solid #e5eaf1;grid-template-columns:minmax(0,2fr) .5fr .8fr .8fr;align-items:start;gap:12px;padding:13px 14px;display:grid}.invoice-row:first-child{border-top:0}.invoice-row span:nth-child(n+2){text-align:right}.invoice-row small{color:#737d90;white-space:pre-wrap;margin-top:4px;display:block}.invoice-head{color:#596579;text-transform:uppercase;background:#f5f7fa;font-size:12px;font-weight:800}.invoice-bottom{grid-template-columns:1fr 300px;gap:30px;margin-top:24px;display:grid}.invoice-notes{font-size:13px;line-height:1.5}.invoice-notes p{white-space:pre-wrap;margin:5px 0 16px}.invoice-totals{grid-template-columns:1fr auto;align-content:start;gap:8px 16px;display:grid}.invoice-totals .grand{border-top:1px solid #d8dee8;margin-top:2px;padding-top:10px;font-size:18px}.invoice-signatures{grid-template-columns:1fr 1fr;gap:30px;margin-top:34px;display:grid}.invoice-signatures>div{border-top:1px solid #ccd5e1;gap:4px;padding-top:10px;display:grid}.signature-text{font-family:cursive;font-size:23px;font-weight:500}.invoice-footer{text-align:center;color:#9aa4b4;margin-top:38px;font-size:11px}.link-break{word-break:break-all;margin-top:6px}.public-doc-wrap{max-width:880px;margin:0 auto;padding:24px}.public-sheet{margin-top:12px}.public-doc-actions{justify-content:flex-end;display:flex}.approval-card{background:#fff;border:1px solid #d9e0ea;border-radius:20px;max-width:700px;margin:18px auto;padding:26px}.invoice-logo{object-fit:contain;max-width:160px;max-height:75px;margin-bottom:10px}@media (max-width:620px){.wrap{padding:24px 18px 60px}.row{grid-template-columns:1fr}.card{padding:28px 26px}.card h2{font-size:25px}.card .pt{font-size:20px}.brand{font-size:24px}.home-actions{grid-template-columns:1fr}.section-head{flex-direction:column;align-items:flex-start}.compact{width:100%}.project-tabs,.summary-grid{grid-template-columns:1fr 1fr}.invoice-sheet{border-radius:14px;padding:22px 16px}.invoice-top{flex-direction:column}.invoice-type{text-align:left;justify-items:start}.invoice-meta-grid{grid-template-columns:1fr}.invoice-row{grid-template-columns:1.7fr .5fr .8fr .9fr;gap:6px;padding:10px 8px;font-size:12px}.invoice-bottom,.invoice-signatures{grid-template-columns:1fr}.document-actions .btn{flex:45%}.public-doc-wrap{padding:10px}.approval-card{margin:12px 10px}.split-input{grid-template-columns:70px 1fr}}.calendar-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.calendar-month{text-transform:capitalize;font-size:22px}.calendar-nav{cursor:pointer;background:#fff;border:1px solid #d8dee8;border-radius:12px;width:44px;height:44px;font-size:30px;line-height:1}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.calendar-weekdays{text-align:center;color:#687386;margin-bottom:7px;font-size:12px;font-weight:800}.calendar-weekdays div{padding:4px 0}.calendar-weekdays small{font-weight:500;display:block}.calendar-day{cursor:pointer;color:#182033;background:#fff;border:1px solid #d8dee8;border-radius:12px;min-height:58px;font-weight:700;position:relative}.calendar-day.selected{background:#edf7f5;outline:2px solid #367f77}.calendar-day.today{border-color:#367f77}.calendar-empty{background:#f7f9fc;border-style:dashed}.event-count{color:#fff;background:#367f77;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;display:grid;position:absolute;bottom:6px;right:6px}.today-btn{width:100%;margin-top:14px}.checkline{align-items:center;gap:10px;font-weight:700;display:flex}.schedule-item{border-left:5px solid #93a0b4;gap:7px;display:grid}.schedule-item.status-confirmed{border-left-color:#367f77}.schedule-item.status-completed{border-left-color:#2f7d32}.schedule-item.status-canceled{opacity:.78;border-left-color:#b34a4a}.schedule-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.status-pill{text-transform:capitalize;color:#596579;background:#eef2f7;border-radius:999px;padding:5px 8px;font-size:11px}.schedule-desc{white-space:pre-wrap;margin-top:4px}.schedule-actions{gap:10px;margin-top:6px;display:flex}.schedule-actions .btn{padding:10px 12px}.danger{color:#a42c2c;background:#fff0f0;border:1px solid #f0caca}@media (max-width:620px){.calendar-grid{gap:4px}.calendar-day{border-radius:9px;min-height:48px}.calendar-month{font-size:19px}.schedule-actions{flex-direction:column}}@media print{html,body{background:#fff}.no-print,.back{display:none!important}.wrap,.public-doc-wrap{max-width:none;padding:0}.invoice-sheet{box-shadow:none;border:0;border-radius:0;margin:0;padding:0}.invoice-footer{margin-top:24px}.invoice-row{break-inside:avoid}.invoice-sheet{font-size:12px}}.notes-toolbar,.note-actions{flex-wrap:wrap;gap:10px;display:flex}.note-card{gap:10px;display:grid}.note-meta{flex-wrap:wrap;gap:8px;display:flex}.note-pill{background:#eef2f7;border-radius:999px;padding:5px 9px;font-size:12px}.note-content{white-space:pre-wrap;line-height:1.5}.task-line{align-items:flex-start;gap:10px;display:flex}.task-line.done strong{opacity:.6;text-decoration:line-through}.note-card .photo-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px;display:grid}.note-card .photo-grid img{object-fit:cover;border-radius:12px;width:100%;height:130px}@media (max-width:620px){.note-card .photo-grid{grid-template-columns:1fr 1fr}.notes-toolbar .btn,.note-actions .btn{flex:1}}.project-section .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.project-section .photo-card{appearance:none;color:#182033;text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e0ea;border-radius:14px;width:100%;min-width:0;padding:0;overflow:hidden}.project-section .photo-card img{object-fit:cover;background:#eef2f7;width:100%;height:118px;display:block}.project-section .photo-card .small{white-space:nowrap;text-overflow:ellipsis;padding:8px 9px;display:block;overflow:hidden}.project-section .photo-card .muted.small{padding-top:0}.photo-lightbox{z-index:1000;background:#080e19eb;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.photo-lightbox img{object-fit:contain;border-radius:10px;max-width:100%;max-height:calc(100vh - 40px);display:block}.photo-lightbox-close{top:max(16px,env(safe-area-inset-top));z-index:1001;color:#182033;cursor:pointer;background:#fff;border:0;border-radius:50%;width:48px;height:48px;font-size:34px;line-height:1;position:fixed;right:16px;box-shadow:0 4px 18px #0000004d}@media (max-width:620px){.project-section .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.project-section .photo-card img{height:92px}.project-section .photo-card .small{padding:6px;font-size:12px}}.invoice-sheet{--pdf-green:#166546;--pdf-pale:#e4efe8;--pdf-border:#dce5df;color:#202c27}.invoice-sheet .invoice-top{border-bottom:3px solid var(--pdf-green);padding-bottom:18px}.invoice-sheet .invoice-business,.invoice-sheet h2,.invoice-sheet .invoice-type b{color:var(--pdf-green)}.invoice-sheet .invoice-head{background:var(--pdf-green);color:#fff}.invoice-sheet .invoice-row:nth-child(odd):not(.invoice-head){background:#f5f8f6}.invoice-sheet .summary-box{background:var(--pdf-pale);border-color:var(--pdf-border)}.invoice-sheet .invoice-totals .grand{color:var(--pdf-green);background:var(--pdf-pale);border-color:var(--pdf-border);padding:10px}.invoice-sheet .invoice-footer{border-top:1px solid var(--pdf-border);color:#64746b;padding-top:12px}@media print{.invoice-sheet,.invoice-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-sheet .invoice-top{flex-direction:row}.invoice-sheet .invoice-type{text-align:right;justify-items:end}.invoice-sheet .invoice-bottom{grid-template-columns:1fr 280px}.invoice-sheet .invoice-signatures{grid-template-columns:1fr 1fr}.invoice-sheet .invoice-row{gap:8px;padding:9px 10px;font-size:10px}.invoice-sheet h2{break-after:avoid}.invoice-sheet .summary-grid{grid-template-columns:repeat(3,1fr)}.invoice-sheet .invoice-table{overflow:visible}}
