:root{--navy:#071b2b;--ink:#0c2d5b;--blue:#087bc0;--sky:#eaf6fb;--muted:#687b8c;--line:#dfe8ee;--ok:#17865c;--warn:#c87916;--danger:#c64040}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f8fa;color:var(--ink);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.hidden{display:none!important}
.authPage{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.authBrand{background:linear-gradient(145deg,#061726,#0b3454);color:#fff;padding:54px;display:flex;flex-direction:column;justify-content:space-between}.authBrand img{width:220px;filter:brightness(0) invert(1)}.authBrand h1{font-size:clamp(42px,5vw,74px);line-height:.92;letter-spacing:-.055em;max-width:720px;margin:40px 0 22px}.authBrand p{max-width:560px;color:#bdd0dc;font-size:17px}.authPane{display:grid;place-items:center;padding:34px}.authCard{width:min(480px,100%)}.authCard h2{font-size:38px;line-height:1;margin:0 0 16px;letter-spacing:-.04em}.authCard>p{color:var(--muted);margin-bottom:30px}
.field{display:grid;gap:8px;margin:0 0 17px}.field label{font-size:12px;font-weight:850;letter-spacing:.02em}.field input,.field select,.field textarea{width:100%;border:1px solid #d7e2e9;border-radius:13px;background:#fff;padding:14px 15px;color:var(--ink);outline:0;transition:.2s}.field textarea{min-height:125px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,123,192,.1)}
.btn{border:0;border-radius:12px;background:var(--blue);color:#fff;padding:13px 19px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{filter:brightness(.95)}.btn:disabled{opacity:.55;cursor:wait}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:var(--danger)}.full{width:100%}.formNote{font-size:12px;color:var(--muted);margin-top:18px}.notice{padding:13px 15px;border-radius:12px;margin:15px 0;background:#eaf6fb;color:#075f91}.notice.error{background:#fff0f0;color:#9d2929}.notice.success{background:#eaf8f2;color:#116a49}
.app{min-height:100vh;display:grid;grid-template-columns:268px 1fr}.sidebar{background:var(--navy);color:#fff;padding:28px 18px;position:sticky;top:0;height:100vh}.sideLogo{display:block;padding:4px 12px 30px}.sideLogo img{width:180px;filter:brightness(0) invert(1)}.sideNav{display:grid;gap:5px}.sideNav a{padding:12px 14px;border-radius:11px;color:#bdd0dc;font-weight:750;font-size:13px}.sideNav a:hover,.sideNav a.active{background:rgba(255,255,255,.1);color:#fff}.sideFoot{position:absolute;bottom:24px;left:18px;right:18px}.userChip{border-top:1px solid rgba(255,255,255,.12);padding:18px 10px 0}.userChip b,.userChip small{display:block}.userChip small{color:#8facbd;margin-top:2px}.logout{margin-top:12px;color:#fff;border:0;background:none;padding:0;cursor:pointer;font-weight:750}
.main{min-width:0}.topbar{height:82px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:5}.topbar h1{font-size:20px;margin:0}.content{padding:34px;max-width:1500px}.welcome{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.welcome h2{font-size:clamp(32px,4vw,52px);letter-spacing:-.045em;line-height:1;margin:0 0 10px}.welcome p{color:var(--muted);margin:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat,.card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(7,27,43,.035)}.stat{padding:20px}.stat span{font-size:11px;font-weight:850;color:var(--muted);letter-spacing:.07em}.stat b{display:block;font-size:30px;margin-top:8px;line-height:1}.grid2{display:grid;grid-template-columns:1.35fr .85fr;gap:20px}.card{padding:22px}.cardHead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.cardHead h3{margin:0;font-size:19px}.empty{padding:34px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}
.tableWrap{overflow:auto}.dataTable{width:100%;border-collapse:collapse;min-width:650px}.dataTable th,.dataTable td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf2f5}.dataTable th{font-size:10px;letter-spacing:.08em;color:var(--muted)}.dataTable td{font-size:13px}.badge{display:inline-flex;border-radius:999px;padding:6px 10px;background:#edf5fa;color:#17668e;font-size:10px;font-weight:900}.badge.ok{background:#e9f8f2;color:var(--ok)}.badge.warn{background:#fff5e6;color:var(--warn)}
.formPage{max-width:980px}.formSection{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:18px}.formSection h3{margin:0 0 18px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.span2{grid-column:1/3}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.check{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px}.check input{accent-color:var(--blue)}
.mobileMenu{display:none}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.recordGrid{display:grid;gap:15px}.recordCard{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fbfdfe}.recordTop,.recordMeta,.actions,.inlineForm{display:flex;align-items:center;justify-content:space-between;gap:14px}.recordTop h3{margin:3px 0 0}.recordTop small,.recordMeta span{color:var(--muted)}.recordMeta{margin:16px 0}.recordMeta b{font-size:22px}.actions{justify-content:flex-start;flex-wrap:wrap}.contractText{margin-top:14px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px;white-space:normal}.contractAccept{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}details summary{cursor:pointer;font-weight:800}.inlineForm{align-items:end;margin-bottom:20px}.inlineForm .field{flex:1}.largeText{min-height:360px!important}.publicFormShell{min-height:100vh;background:#f4f8fa}.publicFormHead{height:86px;padding:0 max(24px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.publicFormHead img{width:190px}.publicFormMain{width:min(1100px,calc(100% - 36px));margin:0 auto;padding:55px 0}.publicFormMain h1{font-size:clamp(42px,7vw,78px);max-width:900px;line-height:.95;letter-spacing:-.055em;margin:10px 0}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.14em;color:var(--blue)}
.priceSummary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:4px 0 18px}.priceSummary span{padding:14px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:11px}.priceSummary b{display:block;color:var(--ink);font-size:16px;margin-top:4px}.btn.compact{padding:8px 11px;border-radius:9px;font-size:11px;white-space:nowrap}
.customerLayout{grid-template-columns:minmax(0,1fr) 360px}.customerSearch{display:flex;gap:10px;margin-bottom:18px}.customerSearch input{flex:1;border:1px solid var(--line);border-radius:13px;padding:14px 16px;color:var(--ink);outline:0}.customerSearch input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,123,192,.1)}.customerDirectory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.customerMini{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--line);border-radius:15px;background:#fbfdfe;padding:14px;text-align:left;color:var(--ink);cursor:pointer}.customerMini:hover{border-color:#a9ccde;box-shadow:0 8px 22px rgba(7,27,43,.07)}.customerMiniBody,.customerMiniBody strong,.customerMiniBody span,.customerMiniBody small{display:block;min-width:0}.customerMiniBody strong{font-size:15px;margin-bottom:5px}.customerMiniBody span{font-size:12px;color:#39566b}.customerMiniBody small{font-size:11px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customerMiniLogo{width:54px;height:54px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid!important;place-items:center;overflow:hidden}.customerMiniLogo img{display:block;width:100%;height:100%;object-fit:contain;padding:6px}.customerMiniInitial{background:#eaf6fb;color:var(--blue)!important;font-size:21px!important;font-weight:900}.referenceTick{position:absolute;right:10px;top:9px;border-radius:999px;background:#e9f8f2;color:var(--ok)!important;padding:3px 7px;font-size:9px!important;font-weight:900}.customerDrawer{position:fixed;inset:0;z-index:50;background:rgba(4,18,29,.55);backdrop-filter:blur(4px);display:flex;justify-content:flex-end}.customerDrawerPanel{width:min(1180px,96vw);height:100%;overflow:auto;background:#f4f8fa;padding:26px}.drawerTop{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.drawerTop h2{font-size:32px;letter-spacing:-.035em;margin:0}.drawerTop p{color:var(--muted);margin:4px 0 0}.drawerClose{border:1px solid var(--line);background:#fff;border-radius:12px;width:44px;height:44px;cursor:pointer;font-size:20px}.customerHero{background:linear-gradient(135deg,#08223a,#0c4d75);color:#fff;border-radius:20px;padding:24px;margin-bottom:16px}.customerHeroMeta{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:12px;color:#c7dce7}.customerKpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.customerKpi{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.customerKpi span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.customerKpi b{display:block;font-size:23px;margin-top:5px}.customerTabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 15px}.customerTabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;color:var(--ink);cursor:pointer}.customerTabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.customerPane{display:none}.customerPane.active{display:block}.customerSectionGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.customerSectionGrid .card{box-shadow:none}.customerEditActions{display:flex;justify-content:flex-end;gap:10px}.brandReferenceFields{margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:16px;background:#f8fbfd}.customerLogoPreview{width:92px;height:62px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:10px;text-align:center}.customerLogoPreview img{display:block;width:100%;height:100%;object-fit:contain;padding:7px}.brandReferenceFields #customerLogoUpload{width:max-content}.financePositive{color:var(--ok)}.financeNegative{color:var(--danger)}.assetCardGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.assetDetailCard{border:1px solid var(--line);border-radius:15px;background:#fff;padding:16px;text-align:left;color:var(--ink);cursor:pointer}.assetDetailCard:hover{border-color:var(--blue);box-shadow:0 8px 22px rgba(7,27,43,.07)}.assetDetailCard strong,.assetDetailCard span,.assetDetailCard small{display:block}.assetDetailCard span{color:var(--muted);font-size:12px;margin:5px 0}.assetDetailCard small{font-size:11px}.assetEditor{position:fixed;inset:0;z-index:60;background:rgba(4,18,29,.62);display:grid;place-items:center;padding:20px}.assetEditorPanel{width:min(760px,100%);max-height:92vh;overflow:auto;background:#f4f8fa;border-radius:20px;padding:22px}.inlineNotice{margin:0 0 15px}.editableHint{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-size:11px;font-weight:800}
.assetPriceInfo{padding:10px 12px;margin-bottom:12px;background:#eef8fd;border-radius:10px;color:#17668e;font-size:11px}.assetFilters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.assetFilters button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}.assetFilters button.active{background:var(--ink);border-color:var(--ink);color:#fff}.assetRows{display:grid;border:1px solid var(--line);border-radius:15px;overflow-x:auto;overflow-y:hidden}.assetRow{display:grid;grid-template-columns:42px 120px minmax(380px,1fr) 145px 130px 85px 60px;min-width:1015px;align-items:center;gap:12px;padding:14px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;cursor:pointer}.assetRow.linkedAsset{padding-left:28px;background:#fbfdfe}.assetRow:last-child{border-bottom:0}.assetRow:hover{background:#f4fafe}.assetRow span,.assetRow b,.assetRow small{min-width:0}.assetRow small{display:block;color:var(--muted);font-size:10px}.assetType{font-size:11px;font-weight:900;line-height:1.35;color:#17668e;white-space:normal}.assetMain{min-width:0}.assetMain strong{display:block;overflow-wrap:anywhere}.assetMain small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assetDomainLink{display:block;color:var(--blue);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assetDomainLink:hover{text-decoration:underline}.assetRenewalDate b,.assetPrice b{display:block;font-size:12px;white-space:nowrap}.assetPrice{min-width:0}.cardHeadActions{display:flex;gap:8px;align-items:center}
.customerAssetRows .assetRow{grid-template-columns:120px minmax(260px,1fr) 100px 140px 90px;cursor:default}.customerAssetRows .assetRow:hover{background:#fff}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.grid2,.customerSectionGrid{grid-template-columns:1fr}.authPage{grid-template-columns:1fr}.authBrand{min-height:42vh}.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;width:268px;transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.mobileMenu{display:inline-flex}.topbar{padding:0 20px}.content{padding:24px 18px}.formGrid{grid-template-columns:1fr}.span2{grid-column:auto}.customerDirectory,.assetCardGrid{grid-template-columns:1fr}.customerKpis{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.assetRow{grid-template-columns:1fr 90px}.assetRow .assetType,.assetRow>span:nth-child(3),.assetRow .editableHint{display:none}}
@media(max-width:600px){.authBrand{padding:30px;min-height:38vh}.authPane{padding:28px 20px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:16px}.welcome{display:block}.welcome .btn{margin-top:18px}.checks{grid-template-columns:1fr}.card,.formSection{padding:18px}.recordTop,.recordMeta,.inlineForm{align-items:flex-start;flex-direction:column}.publicFormHead{padding:0 18px}.publicFormHead a:last-child{display:none}.priceSummary{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.recordModal{position:fixed;inset:0;z-index:200;background:rgba(7,27,43,.58);display:flex;align-items:center;justify-content:center;padding:24px}.recordModal.hidden{display:none}.recordModalCard{position:relative;width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:24px;padding:34px;box-shadow:0 30px 90px rgba(7,27,43,.3)}.recordModalCard .drawerClose{position:absolute;right:18px;top:16px}.recordModalCard h2{margin:8px 44px 18px 0}.recordMessage{padding:18px;border:1px solid #dbe5ec;border-radius:16px;background:#f7fafc;line-height:1.65;white-space:normal;margin:18px 0}.recordModalCard .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}@media(max-width:680px){.recordModal{padding:10px}.recordModalCard{padding:24px 18px;border-radius:18px}}

.recordInfoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.recordInfoGrid>div{padding:13px 14px;border:1px solid #e1e9ef;border-radius:14px}.recordInfoGrid small,.recordInfoGrid b{display:block}.recordInfoGrid small{color:#718292;margin-bottom:4px}.recordInfoGrid b{overflow-wrap:anywhere}@media(max-width:560px){.recordInfoGrid{grid-template-columns:1fr}}

.sentProposal{display:grid;gap:5px;margin:16px 0;padding:16px;border-radius:15px;background:#eef7ff;border:1px solid #cfe5f5}.sentProposal small{color:#5e7890;font-weight:800}.sentProposal b{color:#0c2d5b}.sentProposal span{font-size:13px;color:#617589}

.internalRequest{margin:18px 0}.internalRequest>small{font-weight:900;color:#9a5b16;letter-spacing:.04em}.proposalBuilder{margin-top:18px;padding:20px;border:1px solid #cfe0ec;border-radius:18px;background:#fbfdff}.proposalBuilder.hidden{display:none}.proposalBuilderHead{margin-bottom:16px}.proposalBuilderHead small{font-weight:900;color:#0875c7}.proposalBuilderHead h3{margin:5px 0 0}.proposalBuilder .largeText{min-height:330px;line-height:1.55}


/* Renewal proposal workflow */
.renewalPick{display:grid;place-items:center;width:34px;min-width:34px}.renewalPick input{width:20px;height:20px;accent-color:#087bc0;cursor:pointer}.renewalProposalButton{margin-left:auto;background:#087bc0!important;color:#fff!important;border-color:#087bc0!important}.renewalProposalPanel{width:min(920px,calc(100vw - 28px));max-height:92vh;overflow:auto}.renewalSelectedList{display:grid;gap:8px;margin:20px 0;padding:14px;border:1px solid #dfe8ee;border-radius:16px;background:#f7fafc}.renewalSelectedList>div{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:10px 12px;border-radius:11px;background:#fff}.renewalSelectedList span,.renewalSelectedList small{display:block}.renewalSelectedList small{margin-top:4px;color:#6e8191}.renewalSelectedList strong{white-space:nowrap;color:#0c2d5b}.renewalProposalPanel .largeText{min-height:340px;line-height:1.55}.assetRow:has([data-renewal-select]:checked){border-color:#087bc0;background:#eef8fd;box-shadow:0 0 0 2px rgba(8,123,192,.12)}
@media(max-width:720px){.renewalProposalButton{width:100%;margin:10px 0 0}.renewalSelectedList>div{align-items:flex-start}.renewalProposalPanel .largeText{min-height:420px}.renewalPick{width:28px;min-width:28px}}

/* Admin customer workspace and renewal overview */
.adminViewHidden,.adminWorkspace.hidden,.customerCreateCard.hidden{display:none!important}.workspaceHeading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.workspaceHeading h2{margin:4px 0 8px;font-size:clamp(34px,5vw,60px);color:#0c2d5b}.workspaceHeading p{margin:0;color:#657b8e}.workspaceEyebrow{font-size:12px;font-weight:900;letter-spacing:.12em;color:#087bc0}.customerWorkspaceGrid{grid-template-columns:minmax(0,1fr)}.customerWorkspaceGrid:has(.customerCreateCard:not(.hidden)){grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr)}.customerToolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 16px}.customerFilters{display:flex;gap:8px;flex-wrap:wrap}.customerFilters button{border:1px solid #cad9e4;background:#fff;color:#536d82;border-radius:999px;padding:9px 17px;font:inherit;font-weight:800;cursor:pointer}.customerFilters button.active{background:#0c2d5b;color:#fff;border-color:#0c2d5b}.activeCustomerCount{padding:9px 14px;border-radius:12px;background:#e7f7ee;color:#167344;font-weight:900}.customerDirectoryRows{display:grid;gap:0;border:1px solid #dce6ed;border-radius:16px;overflow:hidden}.customerListHead,.customerListRow{display:grid;grid-template-columns:minmax(240px,1.45fr) minmax(150px,.75fr) minmax(180px,1fr) 100px 110px;align-items:center;gap:16px}.customerListHead{padding:13px 18px;background:#0c2d5b;color:#fff;font-size:12px;font-weight:900;letter-spacing:.06em}.customerListRow{position:relative;width:100%;padding:14px 18px 14px 76px;border:0;border-bottom:1px solid #e3ebf0;background:#fff;color:#163956;text-align:left;font:inherit;cursor:pointer}.customerListRow:last-child{border-bottom:0}.customerListRow:hover{background:#f2f9fd}.customerListRow .customerMiniLogo{position:absolute;left:18px;top:50%;transform:translateY(-50%)}.customerCompany{display:grid;gap:3px}.customerCompany small,.customerListRow>span{overflow:hidden;text-overflow:ellipsis}.customerOpenHint{font-size:12px;font-weight:900;color:#087bc0}.upcomingRenewalRows{display:grid}.upcomingRenewalRow{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid #e2eaf0}.upcomingRenewalRow:last-child{border-bottom:0}.renewalCustomer{display:grid;gap:5px;border:0;background:none;text-align:left;font:inherit;color:#0c2d5b;cursor:pointer}.renewalCustomer strong{font-size:17px}.renewalCustomer small,.upcomingRenewalRow small{color:#6a8092}.upcomingRenewalRow>span{display:grid;gap:3px}.upcomingRenewalRow em{font-size:12px;font-style:normal;color:#557083}.upcomingRenewalRow em.urgent{color:#b33b31;font-weight:900}
@media(max-width:980px){.customerWorkspaceGrid:has(.customerCreateCard:not(.hidden)){grid-template-columns:1fr}.customerListHead{display:none}.customerListRow{grid-template-columns:1fr 1fr;padding-left:76px}.customerListRow .customerCompany{grid-column:1/-1}.upcomingRenewalRow{grid-template-columns:1fr 1fr}.renewalCustomer{grid-column:1/-1}}
@media(max-width:620px){.workspaceHeading,.customerToolbar{align-items:stretch;flex-direction:column}.workspaceHeading .btn{width:100%}.activeCustomerCount{align-self:flex-start}.customerListRow{grid-template-columns:1fr;padding:14px 14px 14px 68px}.customerListRow .customerMiniLogo{left:14px;top:24px;transform:none}.upcomingRenewalRow{grid-template-columns:1fr}.upcomingRenewalRow .btn{width:100%}}

/* Admin navigation and summary refinements */
.stats .stat{text-decoration:none;color:inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.stats .stat:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(12,45,91,.1)}.stats .stat small{display:block;margin-top:8px;color:#718596;font-size:12px;font-weight:750}.sideNav{display:flex;flex-direction:column;min-height:calc(100vh - 245px)}.sideNav .settingsLink{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);border-radius:0;padding-top:22px}.settingsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:8px 0 20px}.settingsGrid>div{display:grid;gap:5px;padding:18px;border:1px solid #dbe6ed;border-radius:15px;background:#f8fbfd}.settingsGrid small{color:#718596;font-weight:900;letter-spacing:.06em}.settingsGrid strong{color:#0c2d5b}.settingsGrid span{color:#607789;font-size:13px}
@media(max-width:900px){.settingsGrid{grid-template-columns:1fr 1fr}.sideNav{min-height:auto}.sideNav .settingsLink{margin-top:8px}}
@media(max-width:560px){.settingsGrid{grid-template-columns:1fr}}

/* Customer list alignment and renewal day counters */
.customerDirectoryRows{grid-template-columns:minmax(0,1fr)!important;width:100%}.customerDirectoryRows>.customerListHead,.customerDirectoryRows>.customerListRow{grid-column:1/-1;width:100%;box-sizing:border-box}.assetRenewalDate{display:grid;gap:3px}.renewalDayBadge{display:inline-flex;width:max-content;margin-top:3px;padding:4px 8px;border-radius:999px;background:#edf3f7;color:#587084;font-size:11px;font-style:normal;font-weight:900}.renewalDayBadge.soon{background:#fff0d8;color:#a45c00}.renewalDayBadge.overdue{background:#ffe4e0;color:#b2342a}.renewalDayBadge.normal{background:#e6f6ed;color:#176c43}

/* Admin operation queues */
.sideNav a{display:flex;align-items:center;gap:10px}.navCount{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;margin-left:auto;padding:0 7px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:900}.sideNav a.active .navCount{background:#fff;color:#0c2d5b}.singleColumnRenewals{grid-template-columns:1fr!important}.proposalDetailSections{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.proposalDetailSections section{padding:15px;border:1px solid #dfe8ee;border-radius:14px;background:#f8fbfd}.proposalDetailSections h4{margin:0 0 10px;color:#0c2d5b}.contractPreview{max-height:48vh;overflow:auto;line-height:1.6}.operationList{display:grid}.operationList>button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;width:100%;padding:15px 4px;border:0;border-bottom:1px solid #e2eaf0;background:none;color:#163956;text-align:left;font:inherit;cursor:pointer}.operationList>button:hover{background:#f5fafc}.operationList>button>span:first-child{display:grid;gap:4px}.operationList small{color:#6b8091}.operationList em{color:#087bc0;font-size:12px;font-style:normal;font-weight:900}
@media(max-width:720px){.proposalDetailSections{grid-template-columns:1fr}.operationList>button{grid-template-columns:1fr auto}.operationList>button>span:first-child{grid-column:1/-1}.operationList em{display:none}}

/* Potential customer quick-entry workspace */
.customerWorkspaceGrid{grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr)!important;align-items:start}.prospectQuickCard{grid-column:2}.customerCreateCard:not(.hidden){grid-column:2}.prospectQuickCard .field,.customerCreateCard .field{margin-bottom:14px}.prospectQuickCard textarea{min-height:130px}.prospectQuickCard .btn,.customerCreateCard .btn{width:100%}
@media(max-width:1050px){.customerWorkspaceGrid{grid-template-columns:1fr!important}.prospectQuickCard,.customerCreateCard:not(.hidden){grid-column:1}}

/* Prospective customer filter and date tracking */
.prospectDateFilters{display:flex;align-items:end;gap:12px;margin:0 0 16px;padding:14px;border:1px solid #dce7ee;border-radius:14px;background:#f7fafc}.prospectDateFilters.hidden{display:none}.prospectDateFilters label{display:grid;gap:6px;color:#5f7688;font-size:12px;font-weight:900}.prospectDateFilters input{min-width:160px;padding:10px 12px;border:1px solid #cad8e2;border-radius:10px;background:#fff;font:inherit}.prospectService{display:grid;gap:4px}.prospectService small{color:#718596}.customerFilters [data-customer-filter="prospects"]{border-color:#e6b86c;color:#8b5400}.customerFilters [data-customer-filter="prospects"].active{background:#a66600;border-color:#a66600;color:#fff}
@media(max-width:720px){.prospectDateFilters{align-items:stretch;flex-direction:column}.prospectDateFilters input{width:100%}.prospectDateFilters .btn{width:100%}}

/* Separate prospect and customer workspaces */
.customerWorkspaceGrid{grid-template-columns:minmax(0,1fr)!important}.customerWorkspaceGrid:has(.customerCreateCard:not(.hidden)){grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr)!important}.prospectWorkspaceGrid{grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr)!important;align-items:start}.prospectWorkspaceGrid .prospectQuickCard{grid-column:2}
@media(max-width:1050px){.customerWorkspaceGrid:has(.customerCreateCard:not(.hidden)),.prospectWorkspaceGrid{grid-template-columns:1fr!important}.prospectWorkspaceGrid .prospectQuickCard{grid-column:1}}

/* List width fix and prospect follow-up workflow */
.card,.grid2>*{min-width:0}
.customerDirectoryRows{overflow:hidden}
.customerListHead,.customerListRow{grid-template-columns:minmax(210px,1.35fr) minmax(120px,.7fr) minmax(150px,.9fr) minmax(115px,.55fr) 92px}
.customerListRow{overflow:hidden}
.customerOpenHint{text-align:right;white-space:nowrap}
.prospectDeadline{display:block;margin-top:6px;color:#647d90;font-size:10px;line-height:1.3}
.prospectToolbar{margin-top:0}
.prospectToolbar .customerFilters button span{margin-left:5px}
@media(max-width:980px){.customerListRow{overflow:visible}.customerOpenHint{text-align:left}}


/* Product/service editor clarity */
.assetEditor .formGrid{align-items:start}
.assetEditor .field{min-width:0}
.assetEditor .field label{display:block;line-height:1.35;margin-bottom:7px;white-space:normal}
.assetEditor .field input,.assetEditor .field select,.assetEditor .field textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.assetEditor .customerEditActions{display:flex;flex-wrap:wrap;gap:10px}


/* Proposal line items */
.proposalItemsHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.proposalItemsHead label{font-weight:700}
#proposalItemRows{display:grid;gap:12px}
.proposalItemRow{display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1fr) minmax(220px,1.5fr) minmax(120px,.65fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--line,#dde3ea);border-radius:12px;background:var(--surface-soft,#f8fafc)}
.proposalItemRow .field{min-width:0}
.proposalItemRow input,.proposalItemRow select{width:100%;min-width:0;box-sizing:border-box}
.proposalItemRemove{margin-bottom:1px}
@media(max-width:900px){.proposalItemRow{grid-template-columns:1fr 1fr}.proposalItemDescription{grid-column:1/-1}.proposalItemRemove{width:100%}}
@media(max-width:600px){.proposalItemsHead{display:grid}.proposalItemRow{grid-template-columns:1fr}.proposalItemDescription{grid-column:auto}}
