:root{color:#273331;background:#f4f7f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--accent: #176b65;--accent-strong: #0d504b;--ink: #273331;--muted: #63736f;--line: #cfdbd8;--surface: #ffffff;--soft: #e8f0ee;--warn: #8a5a00}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}a{color:var(--accent-strong)}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:28px;padding:28px 20px;border-right:1px solid var(--line);background:#fbfdfc}.brand{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:8px;background:var(--accent);color:#fff;font-weight:800}.brand h1,.brand p{margin:0}.brand h1{font-size:20px;line-height:1.1}.brand-kicker,.eyebrow{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.nav-list{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 12px;border-radius:8px;color:var(--ink);font-weight:650;text-decoration:none}.nav-link span{display:grid;place-items:center;width:24px;color:var(--accent)}.nav-link-active,.nav-link:hover{background:var(--soft)}.main-panel{padding:34px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-header h2,.page-header p{margin:0}.page-header h2{margin-top:4px;color:var(--ink);font-size:clamp(30px,4vw,44px);line-height:1.05}.page-header p:not(.eyebrow){max-width:720px;margin-top:10px;color:var(--muted);line-height:1.55}.primary-button{min-height:42px;padding:0 16px;border:0;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;font-weight:750}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat-card,.panel,.empty-state{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.stat-card{min-height:126px;padding:18px}.stat-card p,.stat-card span{margin:0;color:var(--muted)}.stat-card strong{display:block;margin:12px 0 6px;color:var(--ink);font-size:28px}.panel,.empty-state{padding:22px}.panel h3,.empty-state h3,.empty-state p,.panel p{margin:0}.panel p,.empty-state p{margin-top:8px;color:var(--muted);line-height:1.55}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-heading h3{margin:0}.table{display:grid;border-top:1px solid var(--line)}.table-row{display:grid;grid-template-columns:1fr 1.6fr 1fr 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted)}.table-row span:first-child,.table-row strong{color:var(--ink)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.status-ok{color:var(--accent-strong)!important}.status-warn{color:var(--warn)!important}@media(max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.nav-list{grid-template-columns:repeat(3,minmax(0,1fr))}.main-panel{padding:24px 18px}.stat-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.nav-list,.stat-grid,.settings-grid,.table-row{grid-template-columns:1fr}.page-header{display:grid}.primary-button{width:100%}}.auth-page{display:grid;place-items:center;min-height:100vh;padding:24px;background:linear-gradient(180deg,rgba(23,107,101,.07),transparent 34%),#f4f7f6}.auth-card,.loading-card{width:min(100%,460px);border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 20px 50px #27333117}.auth-card{display:grid;gap:26px;padding:28px}.loading-card{padding:24px;color:var(--muted);font-weight:700;text-align:center}.auth-brand{padding-bottom:20px;border-bottom:1px solid var(--line)}.auth-copy h2,.auth-copy p{margin:0}.auth-copy h2{margin-top:4px;color:var(--ink);font-size:34px;line-height:1.08}.auth-copy p:not(.eyebrow){margin-top:10px;color:var(--muted);line-height:1.55}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px;color:var(--ink);font-weight:700}.auth-form input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--ink);background:#fff}.auth-form input:focus{border-color:var(--accent);outline:3px solid rgba(23,107,101,.15)}.auth-form input:disabled,.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.65}.secondary-button{min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;font-weight:750}.secondary-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.form-error,.form-message,.auth-notice{margin:0;border-radius:8px;padding:10px 12px;line-height:1.45}.form-error{background:#fff2f0;color:#9f2a19}.form-message{background:var(--soft);color:var(--accent-strong)}.auth-notice{background:#fff8e8;color:var(--warn)}.auth-notice code{font-size:.92em}.sidebar-account{display:grid;gap:12px;margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}.sidebar-account p,.sidebar-account strong{margin:0}.sidebar-account strong{display:block;margin-top:4px;color:var(--ink);overflow-wrap:anywhere}.auth-form-row{display:flex;justify-content:flex-end;margin-top:-4px}.text-button{border:0;padding:0;background:transparent;color:var(--accent-strong);cursor:pointer;font-weight:750;text-align:right}.text-button:hover:not(:disabled){text-decoration:underline}.text-button:disabled{cursor:not-allowed;opacity:.65}.auth-link-button{display:grid;place-items:center;min-height:42px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-weight:750;text-decoration:none}.auth-link-button:hover{border-color:var(--accent);color:var(--accent-strong)}.loading-inline{border-radius:8px;padding:10px 12px;background:var(--soft);color:var(--accent-strong);font-weight:700}.settings-wide-panel{grid-column:1 / -1}.settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.settings-form label{display:grid;gap:7px;color:var(--ink);font-weight:700}.settings-form input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--ink);background:#fff}.settings-form input:focus{border-color:var(--accent);outline:3px solid rgba(23,107,101,.15)}.settings-form input:disabled{cursor:not-allowed;opacity:.65}.settings-form .form-error,.settings-form .form-message,.settings-form-actions{grid-column:1 / -1}.settings-form-actions{display:flex;justify-content:flex-start}@media(max-width:620px){.settings-form{grid-template-columns:1fr}}.page-notice{margin-bottom:16px}.workspace-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:16px;align-items:start}.customer-form-panel,.customer-list-panel{min-width:0}.data-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.data-form label{display:grid;gap:7px;color:var(--ink);font-weight:700}.data-form input,.data-form textarea,.search-input{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--ink);background:#fff}.data-form input,.search-input{min-height:44px}.data-form textarea{min-height:92px;resize:vertical}.data-form input:focus,.data-form textarea:focus,.search-input:focus{border-color:var(--accent);outline:3px solid rgba(23,107,101,.15)}.data-form input:disabled,.data-form textarea:disabled{cursor:not-allowed;opacity:.65}.data-form-wide,.data-form-actions{grid-column:1 / -1}.data-form-actions{display:flex;justify-content:flex-start}.customer-list-heading{align-items:flex-end}.customer-list-heading .search-input{max-width:260px}.compact-empty-state{margin-top:14px;padding:18px}.customer-list{display:grid;gap:10px;margin-top:14px}.customer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfdfc}.customer-row strong,.customer-row p,.customer-row span{margin:0}.customer-row strong{display:block;color:var(--ink);font-size:16px}.customer-row p{margin-top:5px;color:var(--muted)}.customer-row span{display:block;margin-top:7px;color:var(--muted);line-height:1.45;white-space:pre-line}.row-actions{display:flex;gap:8px;align-items:center}.danger-button{min-height:42px;padding:0 16px;border:1px solid #efc7c0;border-radius:8px;background:#fff7f5;color:#9f2a19;cursor:pointer;font-weight:750}.danger-button:hover{border-color:#d89184;background:#fff2f0}@media(max-width:1040px){.workspace-grid{grid-template-columns:1fr}}@media(max-width:620px){.data-form,.customer-row,.customer-list-heading{grid-template-columns:1fr}.customer-list-heading .search-input{max-width:none}.row-actions{display:grid;grid-template-columns:1fr 1fr}}.documents-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.8fr);gap:16px;align-items:start}.document-editor-panel,.document-list-panel{min-width:0}.document-editor-heading,.document-list-heading{align-items:flex-start}.document-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.document-form label{display:grid;gap:7px;color:var(--ink);font-weight:700}.document-form input,.document-form select,.document-form textarea,.document-filters select,.line-item input{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--ink);background:#fff}.document-form input,.document-form select,.document-filters select,.line-item input{min-height:44px}.document-form textarea{min-height:88px;resize:vertical}.document-form input:focus,.document-form select:focus,.document-form textarea:focus,.document-filters select:focus,.line-item input:focus{border-color:var(--accent);outline:3px solid rgba(23,107,101,.15)}.document-form input:disabled,.document-form select:disabled,.document-form textarea:disabled,.line-item input:disabled,.document-form button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.65}.document-form-wide,.form-section-title,.line-items,.document-form-actions{grid-column:1 / -1}.form-section-title{padding-top:6px;color:var(--accent-strong);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.line-items{display:grid;gap:8px}.line-item{display:grid;grid-template-columns:minmax(180px,1fr) 90px 120px 116px auto;gap:8px;align-items:center}.line-item-head{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.line-item strong{text-align:right}.add-line-button{justify-self:start}.totals-box{grid-column:span 3;display:grid;gap:8px;align-self:end;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfdfc}.totals-box div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted)}.totals-box strong{color:var(--ink)}.totals-final{border-top:1px solid var(--line);padding-top:8px;color:var(--ink)!important;font-size:18px}.document-form-actions{display:flex;gap:10px;align-items:center}.document-filters{display:flex;gap:8px;align-items:center}.document-list{display:grid;gap:10px;margin-top:14px}.document-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfdfc}.document-row-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.document-row strong,.document-row p,.document-row span{margin:0}.document-row p{margin-top:5px;color:var(--muted)}.document-row>div>span:not(.status-pill){display:block;margin-top:7px;color:var(--muted)}.status-pill{border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800;text-transform:uppercase}.status-draft{background:#fff8e8;color:var(--warn)}.status-final{background:var(--soft);color:var(--accent-strong)}@media(max-width:1180px){.documents-workspace{grid-template-columns:1fr}}@media(max-width:780px){.document-form{grid-template-columns:repeat(2,minmax(0,1fr))}.line-item{grid-template-columns:1fr 1fr}.line-item-head{display:none}.line-item strong{text-align:left}.totals-box{grid-column:1 / -1}}@media(max-width:620px){.document-form,.document-row,.document-list-heading,.document-filters,.document-form-actions{grid-template-columns:1fr}.document-filters,.document-form-actions{display:grid}.line-item{grid-template-columns:1fr;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff}}
