:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#14213d;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}button{cursor:pointer;border:1px solid #0d47a1;background:#0d47a1;color:#fff;border-radius:8px;padding:.55rem .9rem}button:hover{background:#0a3a82}a{color:#0d47a1;text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:#13213a;color:#fff;padding:1.25rem;display:flex;flex-direction:column;gap:.8rem}.sidebar h1{margin:0;font-size:1.2rem}nav{display:flex;flex-direction:column;gap:.4rem}.nav-link{color:#d8e3ff;text-decoration:none;padding:.4rem .5rem;border-radius:6px}.nav-link.active,.nav-link:hover{background:#1f3a6d;color:#fff}.user-block{margin-top:auto;padding:.75rem .5rem;border-top:1px solid #1f3a6d;font-size:.85rem;line-height:1.3}.user-name{color:#fff;font-weight:600}.user-email{color:#adc6ff;font-size:.8rem;word-break:break-all}.logout-button{border-color:#adc6ff}.content{padding:1.5rem}section{background:#fff;border-radius:12px;padding:1.2rem;box-shadow:0 4px 24px #10182814}.center-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.card{width:min(420px,100%);background:#fff;border-radius:12px;box-shadow:0 4px 24px #10182814;padding:1.25rem}.error{color:#b71c1c}.muted{color:#6b7385}pre{overflow-x:auto;background:#f1f3f9;padding:1rem;border-radius:8px}pre.address{margin:0;background:transparent;padding:0;font-family:inherit;font-size:inherit;white-space:pre-wrap}.breadcrumb{margin-top:0;color:#6b7385;font-size:.9rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1rem 0}.kpi-card{background:#f1f3f9;border-radius:10px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.25rem}.kpi-label{color:#6b7385;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.kpi-value{font-size:1.6rem;font-weight:600}.env-details{margin-top:1rem}.env-details summary{cursor:pointer;color:#6b7385;font-size:.9rem}.data-table{width:100%;border-collapse:collapse;margin-top:.5rem}.data-table th,.data-table td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid #e3e7ef;font-size:.95rem}.data-table th{font-size:.8rem;text-transform:uppercase;color:#6b7385;letter-spacing:.04em;background:#f9fafd}.data-table tbody tr:hover{background:#f5f7fb}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.badge-billing{background:#d4edda;color:#1c6c2c}.badge-muted{background:#e3e7ef;color:#6b7385}.summary-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem 1.5rem;margin:.5rem 0 1.5rem}.summary-list>div{border-bottom:1px solid #f0f2f7;padding:.45rem 0}.summary-list>div.full-row{grid-column:1 / -1}.summary-list dt{color:#6b7385;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.summary-list dd{margin:.2rem 0 0;font-size:.95rem}button.secondary{background:#fff;color:#0d47a1;border:1px solid #c5d2eb}button.secondary:hover{background:#eef2fb}button.danger{background:#b71c1c;border-color:#b71c1c;color:#fff}button.danger:hover{background:#8e1414}button.link-button{background:none;border:none;color:#0d47a1;padding:.2rem .4rem;font-size:.9rem}button.link-button.danger{color:#b71c1c}button.link-button:hover{text-decoration:underline;background:none}button[disabled]{opacity:.6;cursor:not-allowed}.section-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.section-header h2{margin:0}.tab-header{display:flex;justify-content:space-between;align-items:center;margin:1rem 0 .5rem}.tab-header h3{margin:0}.tab-header-actions{display:flex;gap:.5rem}.field-hint{color:#6b7385;font-size:.78rem;font-weight:400}.removal-note{margin-top:1rem;padding:.6rem .8rem;background:#fffaf0;border:1px solid #f1e2c0;border-radius:6px}.tabs{display:flex;gap:.25rem;margin:1.5rem 0 1rem;border-bottom:1px solid #e3e7ef}.tab{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:#6b7385;padding:.6rem .9rem;font-size:.95rem}.tab:hover{background:#f5f7fb;color:#0d47a1}.tab.active{color:#0d47a1;border-bottom-color:#0d47a1}.row-actions{display:flex;gap:.25rem;justify-content:flex-end}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14213d73;display:grid;place-items:center;padding:1rem;z-index:100}.modal{background:#fff;border-radius:12px;width:min(520px,100%);max-height:calc(100vh - 2rem);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 40px #10182840}.modal-wide{width:min(820px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e3e7ef}.modal-header h3{margin:0;font-size:1.05rem}.modal-close{background:none;border:none;color:#6b7385;font-size:1.5rem;padding:0;width:2rem;height:2rem}.modal-close:hover{background:#f1f3f9;border-radius:6px}.modal-body{padding:1rem 1.25rem;overflow-y:auto}.modal-footer{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1.25rem;border-top:1px solid #e3e7ef}.account-form{display:flex;flex-direction:column;gap:1rem}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1rem}.field{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.field span{color:#14213d;font-weight:500}.field input,.field select,.field textarea{font:inherit;padding:.45rem .55rem;border:1px solid #c5d2eb;border-radius:6px;background:#fff;color:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #0d47a1;outline-offset:-1px}.field input:disabled{background:#f5f7fb;color:#6b7385}.field.full-width{grid-column:1 / -1}.form-actions{display:flex;gap:.5rem;justify-content:flex-end}.form-actions.inline{align-items:end;margin-top:1.4rem}.audit-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1rem;margin-bottom:1rem}.audit-table .audit-detail{background:#f9fafd}.audit-snapshot{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.audit-snapshot h5{margin:0 0 .25rem;font-size:.8rem;text-transform:uppercase;color:#6b7385;letter-spacing:.04em}.audit-snapshot pre{font-size:.8rem;margin:0}.dash-section-heading{margin:1.5rem 0 .5rem;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7385}.finance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem}.finance-card{background:linear-gradient(180deg,#f4f8ff,#eef3fb);border:1px solid #d8e3ff;border-radius:12px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.5rem}.finance-card header{display:flex;justify-content:space-between;align-items:center}.finance-label{color:#14213d;font-weight:600;font-size:.95rem}.finance-amount{font-size:2rem;font-weight:700;letter-spacing:-.01em;color:#0d47a1;line-height:1.05}.finance-meta{display:flex;justify-content:space-between;font-size:.8rem;color:#6b7385;gap:.5rem}.small{font-size:.85rem}.data-table th.num,.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}.data-table tr.total-row td{font-weight:700;border-top:2px solid #c5d2eb;border-bottom:none}.badge-status{font-size:.7rem}.status-draft{background:#e3e7ef;color:#6b7385}.status-sent{background:#fff3cd;color:#7a5b00}.status-paid{background:#d4edda;color:#1c6c2c}.status-void{background:#f8d7da;color:#842029}.invoice-preview{margin:.5rem 0}.invoice-preview-meta{display:grid;grid-template-columns:max-content 1fr;column-gap:1rem;row-gap:.25rem;margin-bottom:.75rem;font-size:.9rem}.invoice-preview-meta .muted{text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.renewal-cycle-choice{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;border:1px solid #e2e2e2;border-radius:6px;padding:.5rem .75rem .75rem;margin-bottom:.75rem}.renewal-cycle-choice legend{text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;color:#666}.renewal-cycle-choice label{display:flex;align-items:center;gap:.4rem}.renewal-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:.5rem 0 .75rem}.renewal-quote{border:1px solid #e2e2e2;border-radius:6px;padding:.75rem}.renewal-quote h4{margin:0 0 .5rem;font-size:.95rem}.renewal-quote-lines{margin:0 0 .5rem;padding-left:1.1rem;font-size:.9rem}.renewal-quote-total{margin:0;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #e2e2e2;padding-top:.5rem}.renewal-quote-total strong{font-size:1.05rem}.paid-effects-warning{background:#fffaf0;border:1px solid #f1e2c0;border-radius:6px;padding:.5rem .75rem;margin-bottom:.75rem}.paid-effects-warning p{margin:0 0 .35rem}.paid-effects-warning ul{margin:0;padding-left:1.1rem;font-size:.9rem}.invoice-notes{background:#fffaf0;border:1px solid #f1e2c0;border-radius:6px;padding:.5rem .75rem}.catchup-heading{margin:1rem 0 .5rem;font-size:.95rem}.badge-create{background:#d4edda;color:#1c6c2c}.badge-update{background:#fff3cd;color:#7a5b00}.badge-delete{background:#f8d7da;color:#842029}@media(max-width:720px){.app-shell{grid-template-columns:1fr}.sidebar{gap:.5rem}nav{flex-direction:row;flex-wrap:wrap}.user-block{margin-top:.5rem}.logout-button{margin-top:.5rem;width:fit-content}}
