:root{--cbc-blue:#1236e5;--cbc-blue-deep:#0a26b8;--carbon:#0b0d10;--steel:#535b66;--concrete:#e9ebee;--off-white:#f7f7f4;--white:#fff;--line:#cfd3d9;--display:"Barlow Condensed", "Arial Narrow", sans-serif;--body:"IBM Plex Sans", Arial, sans-serif}*{box-sizing:border-box}html{background:#eef0f3}body{min-width:320px;min-height:100vh;font-family:var(--body);color:var(--carbon);background:#eef0f3;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.app-shell{grid-template-columns:270px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--carbon);color:#fff;z-index:40;border-right:1px solid #252a31;flex-direction:column;height:100vh;padding:1.25rem 1rem 1rem;display:flex;position:sticky;top:0}.brand-block{border-bottom:1px solid #2b3038;align-items:center;gap:.75rem;min-height:78px;padding:.25rem .45rem 1rem;display:flex}.brand-mark{background:var(--cbc-blue);color:#fff;width:52px;height:42px;font-family:var(--display);letter-spacing:.03em;place-items:center;font-size:1.45rem;font-weight:700;display:grid;transform:skew(-8deg)}.brand-copy{line-height:1;display:grid}.brand-copy strong{font-family:var(--display);letter-spacing:.035em;text-transform:uppercase;font-size:1.15rem}.brand-copy span{color:#8d97a5;letter-spacing:.14em;text-transform:uppercase;margin-top:.25rem;font-size:.68rem;font-weight:700}.mobile-close{color:#fff;background:0 0;border:0;margin-left:auto;display:none}.sidebar nav{gap:.2rem;padding-top:1.25rem;display:grid}.nav-label{color:#6d7785;letter-spacing:.16em;text-transform:uppercase;margin:0 .65rem .55rem;font-size:.61rem;font-weight:800}.nav-later{margin-top:1.35rem}.nav-link{color:#c7ced7;border-left:2px solid #0000;align-items:center;gap:.75rem;min-height:44px;padding:0 .7rem;font-size:.82rem;font-weight:650;text-decoration:none;transition:all .18s;display:flex}.nav-link:hover{color:#fff;background:#171b21}.nav-link.active{color:#fff;border-left-color:var(--cbc-blue);background:#171b21}.nav-link.active svg{color:#7185ff}.nav-link.disabled{color:#626d7b;cursor:default}.sidebar-footer{border-top:1px solid #2b3038;gap:.65rem;margin-top:auto;padding:1.15rem .5rem .15rem;display:grid}.sidebar-footer strong{font-family:var(--display);text-transform:uppercase;font-size:1.7rem;line-height:.92}.sidebar-footer span{color:#707b89;letter-spacing:.1em;text-transform:uppercase;font-size:.64rem}.workspace{min-width:0}.topbar{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border-bottom:1px solid #d5d9df;justify-content:space-between;align-items:center;gap:1rem;height:72px;padding:0 clamp(1rem,2.2vw,2rem);display:flex;position:sticky;top:0}.mobile-menu{background:0 0;border:0;display:none}.topbar-title{align-items:center;gap:.65rem;display:flex}.topbar-title>span{letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:850}.topbar-title small{color:var(--cbc-blue-deep);background:#eff2ff;border:1px solid #d8deff;border-radius:999px;padding:.24rem .48rem;font-size:.64rem;font-weight:750}.topbar-actions{align-items:center;gap:.7rem;display:flex}.icon-button{color:#555e69;background:#fff;border:1px solid #d2d7dd;place-items:center;width:36px;height:36px;display:grid}.avatar{background:var(--carbon);color:#fff;width:38px;height:38px;font-family:var(--display);letter-spacing:.04em;border-radius:50%;place-items:center;font-size:1rem;display:grid}.content{width:min(100%,1500px);margin:0 auto;padding:clamp(1.25rem,2.7vw,2.55rem)}.page-head{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.75rem;display:flex}.eyebrow{color:var(--cbc-blue);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .3rem;font-size:.66rem;font-weight:850}.page-head h1{font-family:var(--display);letter-spacing:-.025em;text-transform:uppercase;margin:0;font-size:clamp(2.7rem,5vw,4.7rem);line-height:.88}.page-description{max-width:720px;color:var(--steel);margin:.72rem 0 0;font-size:.9rem;line-height:1.55}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.button{min-height:42px;color:var(--carbon);letter-spacing:.055em;text-transform:uppercase;background:#fff;border:1px solid #c7ccd3;padding:0 .9rem;font-size:.7rem;font-weight:850}.button:hover{border-color:#959da8}.button-primary{color:#fff;border-color:var(--cbc-blue);background:var(--cbc-blue)}.button-primary:hover{background:var(--cbc-blue-deep);border-color:var(--cbc-blue-deep)}.stat-grid{background:#d4d8de;border:1px solid #d4d8de;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.stat-card{background:#fff;flex-direction:column;justify-content:space-between;min-height:155px;padding:1.15rem 1.2rem;display:flex}.stat-card>span{color:var(--steel);letter-spacing:.11em;text-transform:uppercase;font-size:.67rem;font-weight:850}.stat-card strong{font-family:var(--display);letter-spacing:-.02em;margin-top:.7rem;font-size:clamp(2.5rem,4vw,4rem);line-height:.85}.stat-card small{color:#69727d;margin-top:1rem;font-size:.7rem}.stat-blue strong{color:var(--cbc-blue)}.stat-red strong{color:#b72f25}.stat-amber strong{color:#936800}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(290px,.72fr);align-items:start;gap:1.35rem;margin-top:1.35rem;display:grid}.dashboard-main,.dashboard-side{gap:1.35rem;display:grid}.panel{background:#fff;border:1px solid #d4d8de;overflow:hidden}.panel-head{border-bottom:1px solid #dde1e5;justify-content:space-between;align-items:center;gap:1rem;min-height:61px;padding:.8rem 1rem;display:flex}.panel-head h2{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:1.5rem}.panel-head p{color:var(--steel);margin:.16rem 0 0;font-size:.69rem}.text-link{color:var(--cbc-blue);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.2rem;font-size:.67rem;font-weight:850;text-decoration:none;display:inline-flex}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{color:#68727e;text-align:left;letter-spacing:.105em;text-transform:uppercase;white-space:nowrap;background:#f7f8fa;border-bottom:1px solid #dde1e5;padding:.7rem .88rem;font-size:.59rem;font-weight:850}td{vertical-align:middle;border-bottom:1px solid #e5e8eb;padding:.88rem;font-size:.75rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfbfc}.primary-cell{gap:.14rem;display:grid}.primary-cell strong{font-size:.78rem}.primary-cell span{color:var(--steel);font-size:.66rem}.money{font-variant-numeric:tabular-nums;font-weight:750}.status{color:#525b66;white-space:nowrap;background:#f7f8f9;border:1px solid #d7dbe0;align-items:center;gap:.38rem;padding:.26rem .46rem;font-size:.63rem;font-weight:800;display:inline-flex}.status:before{content:"";background:#78818d;border-radius:50%;width:6px;height:6px}.status-blue{color:#1737c4;background:#eff2ff;border-color:#d6ddff}.status-blue:before{background:var(--cbc-blue)}.status-green{color:#27703b;background:#eef8f0;border-color:#cfe7d6}.status-green:before{background:#2d8b45}.status-amber{color:#805b00;background:#fff8e6;border-color:#ebdeaf}.status-amber:before{background:#b17d00}.status-red{color:#a2271e;background:#fff0ee;border-color:#f0d0cc}.status-red:before{background:#c5362a}.task-list{display:grid}.task-row{border-bottom:1px solid #e5e8eb;grid-template-columns:9px 1fr auto;align-items:start;gap:.65rem;min-height:70px;padding:.85rem 1rem;display:grid}.task-row:last-child{border-bottom:0}.task-dot{background:var(--cbc-blue);border-radius:50%;width:8px;height:8px;margin-top:.25rem}.dot-red{background:#c5362a}.dot-amber{background:#b17d00}.dot-blue{background:var(--cbc-blue)}.task-row>div{gap:.14rem;display:grid}.task-row strong{font-size:.74rem}.task-row span:not(.task-dot){color:var(--steel);font-size:.64rem}.task-row small{color:var(--steel);white-space:nowrap;font-size:.61rem}.billing-card{padding:1rem}.billing-percent{color:var(--cbc-blue);font-family:var(--display);font-size:3.4rem;line-height:.9;display:block}.billing-card>span{color:var(--steel);font-size:.68rem}.progress{background:#eceff2;height:8px;margin:1rem 0 .75rem}.progress span{background:var(--cbc-blue);width:74%;height:100%;display:block}dl{margin:0}.billing-card dl>div,.snapshot>div{border-top:1px solid #e6e8eb;justify-content:space-between;align-items:center;gap:1rem;min-height:39px;display:flex}dt{color:#59626e;font-size:.67rem}dd{font-variant-numeric:tabular-nums;margin:0;font-size:.68rem;font-weight:800}.snapshot{padding:.35rem 1rem .6rem}.toolbar{background:#f8f9fa;border-bottom:1px solid #dce0e5;justify-content:space-between;align-items:center;gap:1rem;min-height:61px;padding:.7rem .85rem;display:flex}.search-box{color:#727b86;background:#fff;border:1px solid #cbd0d6;align-items:center;gap:.5rem;width:min(390px,100%);min-height:38px;padding:0 .72rem;display:flex}.search-box input{width:100%;color:var(--carbon);background:0 0;border:0;outline:0;font-size:.72rem}.toolbar-actions{align-items:center;gap:.4rem;display:flex}.filter-button{color:#59626d;background:#fff;border:1px solid #cbd0d6;min-height:36px;padding:0 .68rem;font-size:.65rem;font-weight:750}.alert{background:#fff;border:1px solid #d8dde3;margin:0 0 1rem;padding:.8rem .9rem;font-size:.75rem;line-height:1.45}.alert-error{color:#8f251d;background:#fff3f1;border-color:#ecc9c4}.alert-warning{color:#745500;background:#fff9e8;border-color:#e8d69d}.empty-cell{color:#737c87;text-align:center;padding:2.5rem 1rem}.table-action{min-height:32px;color:var(--cbc-blue-deep);letter-spacing:.04em;text-transform:uppercase;background:#fff;border:1px solid #ccd2d9;padding:0 .65rem;font-size:.64rem;font-weight:800}.table-action:hover{border-color:var(--cbc-blue)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05070aa8;place-items:center;padding:clamp(1rem,4vw,3rem);display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border:1px solid #cfd4da;width:min(820px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;box-shadow:0 30px 90px #00000047}.modal-head{z-index:2;background:#fff;border-bottom:1px solid #dfe3e7;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex;position:sticky;top:0}.modal-head h2{font-family:var(--display);text-transform:uppercase;margin:0;font-size:2rem;line-height:1}.record-form{padding:1.1rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem;display:grid}.form-grid label{color:#525c67;letter-spacing:.055em;text-transform:uppercase;gap:.36rem;font-size:.64rem;font-weight:800;display:grid}.form-grid .span-2{grid-column:span 2}.form-grid input,.form-grid select,.form-grid textarea{width:100%;color:var(--carbon);letter-spacing:0;text-transform:none;background:#fff;border:1px solid #cbd1d8;border-radius:0;outline:0;font-size:.78rem;font-weight:500}.form-grid input,.form-grid select{min-height:43px;padding:0 .72rem}.form-grid textarea{resize:vertical;padding:.7rem}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--cbc-blue);box-shadow:0 0 0 2px #1236e517}.form-actions{border-top:1px solid #e1e4e8;justify-content:flex-end;gap:.55rem;margin-top:1.15rem;padding-top:1rem;display:flex}@media (width<=1120px){.app-shell{grid-template-columns:225px minmax(0,1fr)}.sidebar{padding-inline:.8rem}.brand-copy strong{font-size:1rem}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (width<=800px){.app-shell{display:block}.sidebar{width:min(310px,88vw);height:100vh;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-102%);box-shadow:22px 0 45px #0000003d}.sidebar.mobile-open{transform:translate(0)}.mobile-close,.mobile-menu{place-items:center;display:grid}.topbar{height:62px;position:sticky}.mobile-menu{background:#fff;border:1px solid #d2d7dd;width:36px;height:36px}.topbar-title{margin-right:auto}.content{padding:1.05rem}.page-head{flex-direction:column;align-items:flex-start;gap:1rem}.page-actions{justify-content:flex-start;width:100%}.toolbar{flex-direction:column;align-items:stretch}.search-box{width:100%}.modal-backdrop{place-items:start center;padding:.6rem}.modal{max-height:calc(100vh - 1.2rem)}}@media (width<=520px){.topbar-title small{display:none}.stat-grid{grid-template-columns:1fr}.stat-card{min-height:115px}.page-head h1{font-size:3rem}.page-actions .button{flex:1 1 0}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.form-actions .button{flex:1 1 0}}.row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.form-section-label{color:#525c67;letter-spacing:.055em;text-transform:uppercase;margin-bottom:.55rem;font-size:.64rem;font-weight:800;display:block}.check-grid{background:#f8f9fa;border:1px solid #d7dce2;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;max-height:220px;padding:.7rem;display:grid;overflow-y:auto}.check-item{background:#fff;border:1px solid #e0e4e8;grid-template-columns:auto 1fr;align-items:center;min-height:36px;padding:.35rem .5rem;color:var(--carbon)!important;letter-spacing:0!important;text-transform:none!important;gap:.5rem!important;font-size:.72rem!important;font-weight:600!important;display:flex!important}.check-item input{width:auto!important;min-height:0!important;padding:0!important}.billing-card .billing-percent{overflow-wrap:anywhere;font-size:clamp(2.1rem,4vw,3.4rem)}.topbar-title small,.sidebar .nav-later,.sidebar .nav-link.disabled{display:none!important}.extension-nav{display:contents}.link-button{align-items:center;gap:.3rem;text-decoration:none;display:inline-flex}.danger-action{color:#9c271f}.estimate-builder{background:#fafbfc;border:1px solid #d9dde2;margin-top:1rem}.estimate-builder-head{background:#f4f6f8;border-bottom:1px solid #dfe3e7;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem;display:flex}.estimate-builder-head>div{gap:.2rem;display:grid}.estimate-builder-head strong{font-family:var(--display);text-transform:uppercase;font-size:1.2rem}.estimate-builder-head span{color:var(--steel);font-size:.68rem}.estimate-lines{display:grid}.estimate-line{border-bottom:1px solid #e3e6e9;grid-template-columns:minmax(220px,2fr) 82px 78px 120px 110px 38px;align-items:center;gap:.45rem;padding:.65rem .75rem;display:grid}.estimate-line:last-child{border-bottom:0}.estimate-line input{width:100%;min-height:38px;font:inherit;background:#fff;border:1px solid #cbd1d8;padding:0 .55rem;font-size:.72rem}.estimate-line strong{text-align:right;font-size:.72rem}.estimate-total{background:#fff;border-top:1px solid #dfe3e7;justify-content:space-between;align-items:end;gap:1rem;padding:.85rem;display:flex}.estimate-total label{color:#59626d;text-transform:uppercase;gap:.3rem;font-size:.64rem;font-weight:800;display:grid}.estimate-total input{border:1px solid #cbd1d8;min-height:38px;padding:0 .55rem}.estimate-total>div{justify-items:end;gap:.15rem;display:grid}.estimate-total>div span{color:var(--steel);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem;font-weight:800}.estimate-total>div strong{font-family:var(--display);color:var(--cbc-blue);font-size:2rem;line-height:1}.document-summary{background:#d4d8de;border:1px solid #d4d8de;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:1rem;display:grid}.document-summary>div{background:#fff;flex-direction:column;justify-content:space-between;min-height:95px;padding:.85rem 1rem;display:flex}.document-summary span{color:var(--steel);letter-spacing:.09em;text-transform:uppercase;font-size:.62rem;font-weight:850}.document-summary strong{font-family:var(--display);font-size:2.3rem;line-height:.9}@media (width<=980px){.estimate-line{grid-template-columns:minmax(180px,1.5fr) 72px 70px 105px 95px 38px}.document-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.estimate-builder-head,.estimate-total{flex-direction:column;align-items:stretch}.estimate-line{grid-template-columns:1fr 1fr}.estimate-description{grid-column:span 2}.estimate-line strong{text-align:left}}@media (width<=520px){.check-grid{grid-template-columns:1fr}.row-actions{min-width:145px}.document-summary{grid-template-columns:1fr 1fr}}.sidebar .nav-later,.sidebar .nav-link.disabled{display:none!important}.modal:has(.estimate-builder){width:min(1080px,100vw - 2rem)}.modal:has(.estimate-builder) .modal-head{padding:1.1rem 1.35rem}.modal:has(.estimate-builder) .record-form{padding:1.3rem 1.35rem 1.4rem}.modal:has(.estimate-builder) .form-grid{gap:1rem 1.1rem}.modal:has(.estimate-builder) .form-grid label{gap:.42rem;line-height:1.2}:is(.modal:has(.estimate-builder) .form-grid input,.modal:has(.estimate-builder) .form-grid select){min-height:46px}.modal:has(.estimate-builder) .form-grid textarea{min-height:96px;line-height:1.45}.modal:has(.estimate-builder) .estimate-builder{background:#f7f8fa;border:1px solid #cfd5dc;margin:1.35rem 0 0;overflow:hidden}.modal:has(.estimate-builder) .estimate-builder-head{background:#f1f3f6;border-bottom:1px solid #d9dee4;justify-content:space-between;align-items:center;gap:1rem;min-height:74px;padding:1rem 1.05rem;display:flex}.modal:has(.estimate-builder) .estimate-builder-head>div{flex-direction:column;gap:.28rem;min-width:0;display:flex}.modal:has(.estimate-builder) .estimate-builder-head strong{color:var(--carbon);font-family:var(--display);letter-spacing:.01em;text-transform:uppercase;margin:0;font-size:1.45rem;line-height:1;display:block}.modal:has(.estimate-builder) .estimate-builder-head span{color:#626c78;max-width:650px;font-size:.72rem;line-height:1.45;display:block}.modal:has(.estimate-builder) .estimate-lines{background:#fff;display:block;overflow-x:auto}.modal:has(.estimate-builder) .estimate-line{background:#fff;border-bottom:1px solid #e1e5e9;grid-template-columns:minmax(280px,2.4fr) 88px 88px 140px 120px 40px;align-items:center;gap:.65rem;min-width:880px;min-height:62px;padding:.72rem .85rem;display:grid}.modal:has(.estimate-builder) .estimate-line:last-child{border-bottom:0}.modal:has(.estimate-builder) .estimate-line input{width:100%;min-width:0;min-height:42px;color:var(--carbon);background:#fff;border:1px solid #c7ced6;outline:0;padding:0 .68rem;font-size:.76rem}.modal:has(.estimate-builder) .estimate-line input:focus{border-color:var(--cbc-blue);box-shadow:0 0 0 2px #1236e514}.modal:has(.estimate-builder) .estimate-line strong{min-width:0;color:var(--carbon);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:.78rem}.modal:has(.estimate-builder) .estimate-line .icon-button{width:38px;height:38px}.modal:has(.estimate-builder) .estimate-total{background:#f8f9fb;border-top:1px solid #d9dee4;grid-template-columns:minmax(230px,320px) 1fr;align-items:end;gap:1.25rem;min-height:88px;padding:1rem 1.05rem;display:grid}.modal:has(.estimate-builder) .estimate-total label{color:#5b6570;letter-spacing:.065em;text-transform:uppercase;gap:.38rem;font-size:.63rem;font-weight:850;display:grid}.modal:has(.estimate-builder) .estimate-total input{width:100%;min-height:42px;color:var(--carbon);background:#fff;border:1px solid #c7ced6;padding:0 .68rem}.modal:has(.estimate-builder) .estimate-total>div{justify-content:flex-end;align-items:end;gap:.75rem;display:flex}.modal:has(.estimate-builder) .estimate-total>div span{color:#68727d;letter-spacing:.07em;text-transform:uppercase;padding-bottom:.18rem;font-size:.63rem;font-weight:850}.modal:has(.estimate-builder) .estimate-total>div strong{color:var(--cbc-blue);font-family:var(--display);font-variant-numeric:tabular-nums;font-size:2.5rem;line-height:.85}.modal:has(.estimate-builder) .estimate-builder+.form-grid{border-top:1px solid #e2e5e8;margin-top:1.2rem;padding-top:1.15rem}.modal:has(.estimate-builder) .form-actions{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff7;border-top:1px solid #d9dee4;margin:1.25rem -1.35rem -1.4rem;padding:1rem 1.35rem;position:sticky;bottom:-1.4rem}@media (width<=850px){.modal:has(.estimate-builder){width:100%}.modal:has(.estimate-builder) .estimate-builder-head{flex-direction:column;align-items:stretch}.modal:has(.estimate-builder) .estimate-builder-head .button{align-self:flex-start}.modal:has(.estimate-builder) .estimate-total{grid-template-columns:1fr}.modal:has(.estimate-builder) .estimate-total>div{justify-content:space-between}}@media (width<=520px){.modal:has(.estimate-builder) .record-form{padding:1rem}.modal:has(.estimate-builder) .estimate-builder{margin-inline:-.15rem}.modal:has(.estimate-builder) .estimate-line{min-width:720px}.modal:has(.estimate-builder) .form-actions{margin:1rem -1rem -1rem;padding:.85rem 1rem;bottom:-1rem}}
