:root{font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;color:#e7ecf6;background:#0d1422;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #34435b;border-radius:9px;background:#23334b;color:#eef4ff;padding:10px 14px}button:hover{background:#304561}button.primary{background:#3979ed;border-color:#3979ed;color:white}button.danger{color:#ffb9b9}button:disabled{opacity:.5;cursor:not-allowed}input,select{background:#101a2b;border:1px solid #34435b;border-radius:8px;color:#edf4ff;padding:10px;width:100%;margin-top:6px}label{display:block;color:#afbed5;font-size:13px}h1{font-size:25px;letter-spacing:-.6px;margin:4px 0 12px}h2{font-size:17px;margin:0 0 16px}p{color:#9fb0c8}small{color:#8397b5}#shell{display:flex;min-height:100vh}.sidebar{width:245px;flex-shrink:0;background:#111c2d;border-right:1px solid #29364c;padding:26px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 28px}.brand strong{font-size:23px;display:block}.brand small{display:block}.brand-mark{background:#3979ed;color:white;border-radius:13px;font-weight:800;font-size:26px;width:45px;height:45px;display:grid;place-items:center}nav{display:grid;gap:5px}nav button{text-align:left;background:transparent;border:0;color:#aabbd1;padding:13px 15px}nav button.selected{background:#203c62;color:#fff}.side-footer{margin-top:auto;border-top:1px solid #29364c;padding:18px 8px 0;display:grid;gap:12px;color:#a9bbd5}main{flex:1;min-width:0;padding:35px 40px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}header small{letter-spacing:1.4px}.version,.pill{border:1px solid #3c506d;padding:5px 10px;border-radius:20px;color:#a8c0df}.panel{border:1px solid #2d3c53;border-radius:14px;background:#162235;padding:22px;margin-bottom:18px}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:15px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:16px}.metric{font-size:32px;font-weight:700;margin-top:14px}.muted{color:#a0afc5}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:12px 10px;border-bottom:1px solid #2b3a50}th{font-size:12px;color:#9baeca;font-weight:600}td{color:#e0e8f5}td button{padding:6px 9px;margin-right:5px}form.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;align-items:end}.fields .wide{grid-column:1/-1}.error{color:#ff9e9e;margin-top:10px}#notice{margin-bottom:16px;color:#9fe1b9}#notice.error{color:#ff9e9e}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-panel{width:min(100%,390px);display:grid;gap:16px}.login-panel .brand-mark{width:55px;height:55px}.login-panel p{margin:-12px 0 5px}.login-panel button{width:100%}.checkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.checkgrid label{display:flex;align-items:center;gap:7px}.checkgrid input{width:auto;margin:0}#content .hint{color:#a5b4cb;margin-bottom:15px} @media(max-width:720px){#shell{display:block}.sidebar{width:100%;padding:10px}.brand{padding:5px}nav{display:flex;overflow:auto}nav button{white-space:nowrap}.side-footer{display:flex;justify-content:space-between;padding:8px}main{padding:22px 15px}}

/* Ensure authenticated and unauthenticated views remain mutually exclusive. */
[hidden] { display: none !important; }

/* Compact list-view tables: denser rows, readable actions, and clear separation. */
.table-wrap table{font-size:12.5px;line-height:1.25}
.table-wrap th,.table-wrap td{padding:6px 9px;vertical-align:middle}
.table-wrap th{font-size:11px;white-space:nowrap;letter-spacing:.02em}
.table-wrap td button{padding:4px 8px;margin:0 4px 0 0;border-radius:6px;font-size:12px;line-height:1.25}
.table-wrap tbody tr:hover{background:rgba(150,180,225,.065)}
.table-wrap td input,.table-wrap td select{padding:5px 7px;margin:0;font-size:12px}

/* v0.3 compact workspace */
main{padding:24px 30px;max-width:100%;}header{margin-bottom:18px}header h1{margin:3px 0 0}.panel{padding:16px;margin-bottom:14px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi{border:1px solid #2d3c53;border-radius:10px;background:#162235;padding:15px 18px;cursor:pointer}.kpi:hover{border-color:#5373a1}.kpi-label{color:#aabbd1;font-size:12px}.kpi-value{font-size:28px;font-weight:700;margin-top:7px}.overview-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.info-row{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #2d3c53}.info-row strong{font-weight:500;overflow-wrap:anywhere;text-align:right}.list-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;align-items:center}.list-search{max-width:330px;margin:0;padding:8px 10px}.list-card{border:1px solid #2d3c53;border-radius:10px;background:#162235;overflow:hidden}.data-table{font-size:12.5px}.data-table th{background:#1c2b41;padding:9px 11px;cursor:pointer}.data-table td{padding:8px 11px}.data-table tbody tr{cursor:pointer}.data-table tbody tr:focus{outline:2px solid #3979ed;outline-offset:-2px}.data-table tbody tr:hover{background:#253a54}.list-footer{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;color:#aabbd1;font-size:12px}.pager{display:flex;gap:6px}.pager button{padding:5px 9px;font-size:12px}.status{display:inline-block;border-radius:6px;padding:3px 7px;font-size:11px}.status.good{background:#153c32;color:#9fe1b9}.status.quiet{background:#343044;color:#c4b8d8}.status.neutral{background:#2a3850;color:#c8d8ef}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.detail-head h2{margin:0}.detail-body{max-width:1000px}.detail-body>.info-row{max-width:750px}.detail-body .fields{margin:14px 0 20px}.detail-body .panel{margin-top:22px}.detail-body textarea{display:block;background:#101a2b;color:#edf4ff;border:1px solid #34435b;border-radius:8px;padding:10px;width:100%;min-height:100px;margin-top:6px;font:inherit}.detail-body .fields button[type=submit]{justify-self:start}.payload{background:#101a2b;border:1px solid #34435b;padding:14px;border-radius:8px;overflow:auto}.empty{text-align:center;color:#a0afc5;padding:24px!important}button.subtle{background:transparent}.hint{font-size:12px}@media(max-width:900px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-bottom{grid-template-columns:1fr}}@media(max-width:520px){.kpis{grid-template-columns:1fr 1fr}main{padding:16px}.list-search{max-width:200px}}

/* v0.3.1: retain hidden-state protection. */
[hidden]{display:none!important}

/* v0.5 ticket workspace */
.ticket-top{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.ticket-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px}
.ticket-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ticket-title-row h2{font-size:22px;line-height:1.25;margin:0}
.ticket-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;margin-bottom:18px}
.ticket-summary-item{background:var(--panel,#172338);border:1px solid #30425e;border-radius:9px;padding:10px 12px;display:flex;flex-direction:column;gap:5px;min-width:0}
.ticket-summary-item strong{font-size:13px;overflow-wrap:anywhere}
.ticket-thread{max-width:none!important}
.ticket-entry{padding:14px 16px;border:1px solid #30425e;border-radius:10px;margin:10px 0;background:#101b2d}
.ticket-entry.internal-note{border-color:#866c38;background:#292419}
.ticket-entry-meta{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px;font-size:13px}
.ticket-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.55}
.quoted-history{margin-top:10px;border-top:1px solid #30425e;padding-top:8px}
.quoted-history summary{cursor:pointer;color:#91bfff;font-size:12px}
.quoted-history .ticket-message{padding-top:10px}
.ticket-composer textarea{min-height:130px;resize:vertical}

.workspace-warning{border-left:3px solid #c08c35;padding:8px 12px;background:rgba(192,140,53,.10);font-size:13px}

.mapping-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,1fr) minmax(100px,.6fr);align-items:center;gap:12px;border-bottom:1px solid #30425e;padding:12px 0}.mapping-row label{margin:0}.mapping-row select{width:100%}@media(max-width:700px){.mapping-row{grid-template-columns:1fr}}

/* v0.6.3: Mapping editor must be one vertical form, not auto-fit form fields. */
.detail-body.mapping-workspace{max-width:none;width:100%}
.mapping-workspace form.mapping-form.fields{display:block!important;width:100%;margin:14px 0 20px}
.mapping-workspace .mapping-form>.hint{margin:0 0 12px}
.mapping-workspace .mapping-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(200px,1fr) minmax(130px,.65fr);align-items:center;gap:20px;padding:12px 8px;min-width:0}
.mapping-workspace .mapping-row>strong{min-width:0;overflow-wrap:anywhere}
.mapping-workspace .mapping-row>label{min-width:0}
.mapping-workspace .mapping-row select{width:100%;margin-top:6px}
.mapping-workspace .mapping-outbound{display:flex;align-items:center;gap:10px;white-space:nowrap}
.mapping-workspace .mapping-outbound input{width:16px;height:16px;flex:none;margin:0}
.mapping-workspace .mapping-form>button[type=submit]{margin-top:18px}
@media(max-width:700px){
 .mapping-workspace .mapping-row{grid-template-columns:1fr;gap:8px}
 .mapping-workspace .mapping-outbound{padding:5px 0}
}

.mapping-workspace .mapping-row{grid-template-columns:minmax(180px,1.2fr) minmax(200px,1fr) minmax(195px,.8fr)}
.mapping-workspace .mapping-outbound{white-space:normal}

/* v0.7 account workspace */
.account-workspace{max-width:none!important;width:100%}
.account-header{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:14px}
.account-header .panel{margin:0 0 14px!important}
.account-info-row{display:grid;grid-template-columns:155px minmax(0,1fr);gap:12px;padding:7px 0;border-bottom:1px solid #2d3c53;font-size:13px}
.account-info-row strong{overflow-wrap:anywhere;font-weight:500}
.account-state{display:flex;justify-content:space-between;align-items:center;gap:12px}
.account-finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.account-finance-metric{border:1px solid #30425e;border-radius:9px;padding:12px;display:flex;flex-direction:column;gap:5px}
.account-finance-metric strong{font-size:24px;font-variant-numeric:tabular-nums}
.account-finance-metric span{font-size:12px}
.service-category{border:1px solid #30425e;border-radius:9px;margin:8px 0;overflow:hidden}
.service-category summary{padding:12px 14px;cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center}
.service-category[open] summary{border-bottom:1px solid #30425e}
.service-category .table-wrap{margin:0 8px 8px}
.category-admin-row,.category-rule-row{display:grid!important;grid-template-columns:120px minmax(180px,1fr) 90px 100px auto!important;gap:12px;align-items:end;margin:10px 0;padding:10px;border-bottom:1px solid #30425e}
.category-rule-row{grid-template-columns:150px minmax(130px,1fr) minmax(160px,1fr) auto!important}
.category-rule-form{display:block!important}
@media(max-width:950px){.account-header{grid-template-columns:1fr}.category-admin-row,.category-rule-row{grid-template-columns:1fr 1fr!important}}
@media(max-width:560px){.account-info-row{grid-template-columns:1fr;gap:3px}.account-finance-grid{grid-template-columns:1fr}.category-admin-row,.category-rule-row{grid-template-columns:1fr!important}}
