:root{color-scheme:light;--page:#f3f6fa;--surface:#ffffff;--field:#f8fafd;--hover:#f0f5fc;--text:#18304e;--secondary:#48627e;--muted:#5d718b;--line:#d6e0ec;--divider:#e8edf4;--accent:#215dc0;--company-bg:#edf3ff;--company-text:#154c91;--badge-bg:#dce8ff;--badge-text:#245ca8;--net-bg:#e9f0fd;--pill-bg:#e6edf7;--success:#218568;--warning-bg:#fff5dc;--warning-text:#846431;--error:#b84036;--primary:#2364d9;--primary-hover:#1b54bb;--shadow:#0b203740;}
:root[data-theme="dark"]{color-scheme:dark;--page:#0e1726;--surface:#172337;--field:#1d2c42;--hover:#243852;--text:#e5edf7;--secondary:#b7c6da;--muted:#a3b4cb;--line:#354a65;--divider:#2b3c54;--accent:#8fbcff;--company-bg:#223954;--company-text:#c3d9ff;--badge-bg:#335583;--badge-text:#e3edff;--net-bg:#203b60;--pill-bg:#2b3e59;--success:#79dbb3;--warning-bg:#3d321c;--warning-text:#f5d598;--error:#ffaba3;--shadow:#00000066;}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font:13px Arial,sans-serif}h1,h2,h3,p{margin:0}button,input,select{font:inherit}button{min-height:36px;border:1px solid var(--line);border-radius:6px;padding:7px 11px;background:var(--surface);color:var(--secondary);font-weight:600;cursor:pointer}button:hover{background:var(--hover);border-color:#82a9e2}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7caaff;outline-offset:2px}[hidden]{display:none!important}
header{position:sticky;top:0;z-index:4;background:#102541;color:white}.brand{display:flex;gap:9px;align-items:center;font-size:13px;letter-spacing:1.2px}.mark{font-size:32px;color:#83b7ff;line-height:1}.brand small{display:block;color:#a9c1df;font-size:8px;letter-spacing:1.8px;margin-top:2px}.quiet{background:#233e60;border-color:#385575;color:#fff;font-size:12px}main{max-width:1000px;margin:auto;padding:12px 18px 18px}.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.selector{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;padding:10px 12px}label{display:block;font-size:11px;color:var(--muted);font-weight:600}select,input{display:block;width:100%;min-height:37px;background:var(--field);border:1px solid var(--line);border-radius:6px;padding:7px 9px;color:var(--text);font-size:13px;margin-top:5px}select{font-weight:600}input{font-size:14px}.prices{display:grid;grid-template-columns:1fr 1fr 1.15fr;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:8px 0 12px}.prices>div{padding:9px 12px;border-right:1px solid var(--divider);min-width:0}.prices small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.prices strong{font-size:20px;letter-spacing:-.5px;white-space:nowrap;display:block;font-variant-numeric:tabular-nums}.green{color:var(--success)}.prices .net{background:var(--net-bg);border-right:0}.net strong{color:var(--accent)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}h1{font-size:16px;letter-spacing:-.2px}h2{font-size:19px;margin:4px 0 12px}.pill{font-size:10px;background:var(--pill-bg);padding:4px 8px;border-radius:15px;white-space:nowrap;color:var(--muted)}.comparison-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 5px}.muted{color:var(--muted);font-size:11px;line-height:1.5}.text-button{border:0;background:transparent;padding:4px 0;font-size:11px;min-height:30px;color:var(--accent);white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.cards.all-companies{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:0 12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:45px;margin:0 -12px;padding:0 12px;background:var(--company-bg);border-bottom:1px solid var(--line);box-shadow:inset 3px 0 #2865c2}.company{display:flex;gap:7px;align-items:center;min-width:0}.initial{background:var(--badge-bg);color:var(--badge-text);font-size:10px;font-weight:bold;min-width:24px;height:24px;border-radius:6px;display:grid;place-items:center}.company h3{font-size:14px;font-weight:700;color:var(--company-text);line-height:1.4;overflow-wrap:anywhere}.card-edit{flex-shrink:0;font-size:10px;border:0;background:transparent;min-height:32px;padding:5px 0 5px 8px;color:var(--accent)}.phase{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:43px;padding:8px 0}.phase+.phase{border-top:1px solid var(--divider)}.monthly small{font-size:10px;line-height:1.4;color:var(--muted);max-width:54%}.quote-value{text-align:right;white-space:nowrap;flex-shrink:0}.monthly strong{font-size:18px;color:var(--accent);letter-spacing:-.4px;font-variant-numeric:tabular-nums}.monthly strong.empty{font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0}.monthly em{font-size:10px;font-style:normal;color:var(--muted);margin-left:3px}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--divider);min-height:36px;padding:7px 0}.dp{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 9px;text-align:right}.dp small{font-size:10px;color:var(--muted)}.dp strong{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.quoteInfo{font-size:10px;color:var(--muted);line-height:1.4;white-space:nowrap}.payment-details{border-top:1px solid var(--divider);font-size:10px;color:var(--secondary)}.payment-details summary{cursor:pointer;min-height:30px;line-height:30px}.split-breakdown{display:grid;gap:5px;font-size:11px;padding:0 0 9px}.split-breakdown span{display:flex;justify-content:space-between;gap:8px}.split-breakdown b{font-weight:500}.legacy-note{font-size:10px;line-height:1.5;background:var(--warning-bg);color:var(--warning-text);padding:7px;border-radius:5px;margin:0 0 9px}.pager{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px}.pager>button{font-size:11px}.page-numbers{display:flex;gap:4px}.page-numbers button{min-width:34px;padding:7px}.page-numbers .active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-range{font-size:10px;text-align:center;color:var(--muted);margin-top:5px}footer{margin-top:12px;font-size:10px;color:var(--muted)}#savedAt{margin-top:7px;line-height:1.5}.tools{border-top:1px solid var(--line);padding-top:4px}.tools summary{font-size:11px;color:var(--secondary);cursor:pointer;min-height:32px;line-height:32px}.foot-actions{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0}.foot-actions button{font-size:11px}.tools p{line-height:1.5;margin:6px 0}
dialog{border:1px solid var(--line);border-radius:10px;width:calc(100% - 24px);max-width:560px;max-height:94vh;padding:14px;color:var(--text);background:var(--surface);box-shadow:0 20px 90px var(--shadow)}dialog::backdrop{background:#0d2441a6;backdrop-filter:blur(2px)}.dialog-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.dialog-head>button{font-size:22px;padding:0;min-width:34px;min-height:34px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.5px;color:var(--muted)}dialog p,dialog li{font-size:11px;line-height:1.5;color:var(--muted)}dialog li{margin-bottom:7px}.edit-price,.editor-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editor-controls{margin:10px 0 6px;padding-top:10px;border-top:1px solid var(--divider);grid-template-columns:1.2fr 1fr}.editor-pager{display:flex;align-items:center;justify-content:space-between;gap:8px}.editor-pager>button{font-size:10px;min-height:32px;padding:5px 9px}#editorPageInfo{font-size:10px;color:var(--muted)}.editor-hint{font-size:10px!important;margin:5px 0 8px}.finance-edit{border:1px solid var(--line);border-radius:7px;padding:10px}.company-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.finance-edit .muted{font-size:10px;margin:4px 0 8px}.split-inputs fieldset{padding:0;border:0;margin:0;min-width:0}.split-inputs legend{font-size:11px;font-weight:bold;color:var(--secondary);padding:0 0 6px}.component-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.split-preview{font-size:10px;line-height:1.5;color:var(--secondary);margin-top:8px;background:var(--field);border-radius:5px;padding:7px}.savebar{position:sticky;bottom:-14px;display:flex;justify-content:flex-end;gap:7px;padding:10px 0 0;background:var(--surface);border-top:1px solid var(--divider);margin-top:10px}.savebar button{font-size:11px}.primary{background:var(--primary);border-color:var(--primary);color:white}.primary:hover{background:var(--primary-hover);color:#fff}#editError,#loginError{color:var(--error);margin-top:7px}#editError:empty,#loginError:empty{margin:0}#loginDialog{max-width:390px}#loginDialog label{margin-top:10px}#toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#102541;color:white;border-radius:8px;padding:10px 14px;display:none;z-index:10;font-size:12px;max-width:90%;width:max-content}
@media(max-width:850px){.cards.all-companies{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){main{padding:8px 10px 14px}.selector{padding:8px 10px;gap:9px;grid-template-columns:1.35fr 1fr}select{min-height:40px;font-size:13px}.prices{margin:7px 0 10px}.prices>div{padding:8px 9px}.prices strong{font-size:17px}.prices small{font-size:10px}.cards,.cards.all-companies{grid-template-columns:1fr;gap:16px}.card{padding:0 10px}.card-head{min-height:45px;margin:0 -10px;padding:0 10px}.card-edit{min-height:40px;padding:5px 3px 5px 12px;font-size:11px}.company h3{font-size:14px}.phase{min-height:42px;padding:7px 0}.monthly strong{font-size:18px}.monthly small{font-size:10px}.card-footer{min-height:35px}.payment-details summary{min-height:36px;line-height:36px;font-size:11px}.comparison-toolbar{margin:0 0 4px}.text-button{min-height:34px}h1{font-size:15px}.pill{font-size:10px;padding:4px 7px}.pager{gap:6px;margin-top:8px}.pager button{min-height:40px}.pager>button{padding:7px 9px}.page-numbers button{min-width:36px;padding:7px}.tools summary{min-height:40px;line-height:40px}.foot-actions button{min-height:40px}dialog{padding:12px;max-height:95vh}.dialog-head>button{min-width:40px;min-height:40px}.savebar{bottom:-12px}.finance-edit{padding:9px}.company-fields,.editor-controls,.edit-price,.component-inputs{gap:8px}.finance-edit label{font-size:10px}input{font-size:16px;min-height:40px;padding:7px 8px}.editor-pager>button,.savebar button{min-height:40px}.split-preview{padding:6px;font-size:10px}footer{margin-top:9px}}
@media(max-width:360px){.prices strong{font-size:15px}.prices>div{padding:8px 7px}.monthly strong{font-size:16px}.monthly small{font-size:9px}.quote-value{white-space:normal}.monthly em{white-space:nowrap}.card-head{gap:4px}.dp{gap:3px 6px}}

/* Compact navigation with an account popover on every screen size. */
.app-header{display:block;padding:12px max(18px,calc((100vw - 1000px)/2));box-shadow:0 2px 12px #1025411a}
.top-nav{display:flex;align-items:center;justify-content:space-between;position:relative;gap:16px;max-width:1000px;margin:auto}.nav-actions{display:flex;align-items:center;gap:10px;min-width:0}.nav-sync{display:flex;align-items:center;gap:7px;border:1px solid #ffffff20;background:#ffffff0b;color:#c6d3e4;font-size:11px;padding:8px 10px;border-radius:30px;white-space:nowrap;min-height:34px}.sync-dot{width:6px;height:6px;border-radius:50%;background:#9cacc2;flex-shrink:0}.nav-sync[data-state="synced"]{background:#30bb8314;color:#b0f0d2;border-color:#57c99c33}.nav-sync[data-state="synced"] .sync-dot{background:#64d7a6;box-shadow:0 0 0 3px #64d7a615}.nav-sync[data-state="saving"] .sync-dot,.nav-sync[data-state="connecting"] .sync-dot{background:#7cafff}.nav-sync[data-state="offline"],.nav-sync[data-state="sync-issue"]{color:#ffe0a2;border-color:#d5a65244}.nav-sync[data-state="offline"] .sync-dot,.nav-sync[data-state="sync-issue"] .sync-dot{background:#e9bc6b}.account-toggle{display:flex;align-items:center;justify-content:center;gap:9px;min-height:40px;color:#dbe8f9;background:#ffffff09;border-color:#ffffff24;padding:8px 11px}.account-toggle:hover,.account-toggle[aria-expanded="true"]{background:#ffffff16;border-color:#ffffff48}.account-label{font-size:11px;max-width:170px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.account-chevron{transition:transform .15s}.account-toggle[aria-expanded="true"] .account-chevron{transform:rotate(180deg)}.account-panel{position:absolute;right:0;top:calc(100% + 10px);width:310px;max-width:calc(100vw - 28px);background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:13px;box-shadow:0 16px 48px var(--shadow);z-index:10;overflow:hidden}.account-info .eyebrow,.account-info strong,.account-info small{display:block}.account-info{padding:17px 17px 14px;border-bottom:1px solid var(--divider)}.account-info #cloudStatus{font-size:12px;line-height:1.5;margin-top:9px;color:var(--muted)}.account-info #cloudAccount{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.4;overflow-wrap:anywhere}.account-panel .cloud-actions{display:grid;gap:5px;padding:9px}.account-panel .cloud-actions button{width:100%;text-align:left;background:var(--surface);border-color:transparent;font-size:12px;padding:11px 10px;min-height:41px;border-radius:7px}.account-panel .cloud-actions button:hover{background:var(--hover)}.account-panel .cloud-actions #logoutButton{color:var(--error)}.account-panel .cloud-actions #uploadLocal{background:var(--primary);color:#fff}.app-header .brand{flex-shrink:0}
@media(max-width:650px){.app-header{padding:10px 12px}.top-nav{gap:9px}.nav-actions{gap:6px}.account-label,.account-chevron{display:none}.account-toggle{padding:8px;min-width:36px;min-height:36px}.nav-sync{font-size:10px;padding:7px 8px;gap:5px;min-height:32px}.app-header .brand{font-size:11px;letter-spacing:.8px;gap:7px}.app-header .mark{font-size:28px}.app-header .brand small{font-size:7px;letter-spacing:1.5px}.manage-label{display:none}.app-header .quiet{font-size:11px;padding:8px 10px;min-height:36px}.account-panel{top:calc(100% + 9px)}}
@media(max-width:360px){.app-header{padding:9px 10px}.nav-actions{gap:5px}.nav-sync{font-size:9px;padding:6px}.app-header .brand{font-size:10px;gap:6px}.app-header .quiet{padding:8px}.account-toggle{min-width:34px}.top-nav{gap:6px}}

/* The supplied white logo is framed without its transparent outer padding. */
.app-header .brand{gap:0;line-height:0;flex-shrink:1;min-width:0}.brand-logo{display:block;width:184px;max-width:100%;height:auto;aspect-ratio:2034 / 413;overflow:hidden;flex-shrink:0}
@media(max-width:650px){.brand-logo{width:148px}}
@media(max-width:360px){.brand-logo{width:128px}}

/* Appearance stays in the account menu to keep the mobile navigation compact. */
.appearance{padding:13px 16px 15px;border-top:1px solid var(--divider)}
.appearance-label{display:block;color:var(--text);font-size:12px;font-weight:600;margin-bottom:9px}
.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--field);border:1px solid var(--line);border-radius:8px;padding:3px}
.theme-options button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 10px;background:transparent;border-color:transparent;color:var(--secondary);font-size:12px}
.theme-options button:hover{background:var(--hover)}
.theme-options button[aria-pressed="true"]{background:var(--net-bg);border-color:var(--accent);color:var(--accent)}
.appearance small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:8px}

input::placeholder{color:var(--muted);opacity:1}
