:root{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2.5rem;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 8px 24px #00000014;--shadow-hero:0 20px 40px #b4000038;color:#2d2d2d;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{background:#fafafa}body{background:#fafafa;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}#root{min-height:100vh}:root{--color-bg:#fafafa;--color-border:#bdbdbd;--color-border-soft:#d7d7d7;--color-danger:#c90000;--color-danger-deep:#760000;--color-danger-soft:#ffe7e7;--color-text:#2f2f2f;--color-muted:#666;--color-panel:#fff;--shadow-hero:0 18px 28px #0000002e}.app-shell{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1;padding:12px 0 48px}.content-container,.page-stack{width:min(1298px,100% - 48px);margin:0 auto}.page-stack{gap:18px;display:grid}.site-header{z-index:20;border-bottom:1px solid var(--color-border);background:#f9f9f9;position:sticky;top:0}.site-header__inner{grid-template-columns:168px minmax(0,1fr) auto;align-items:center;gap:28px;min-height:70px;display:grid}.brand-logo{flex-shrink:0;justify-content:flex-start;align-items:center;width:132px;min-height:64px;display:inline-flex}.brand-logo__image{object-fit:contain;width:100%;height:auto;max-height:64px;display:block}.brand-logo__name{font-size:15px;font-weight:800}.brand-logo__mark{background:var(--color-danger);clip-path:polygon(50% 0,100% 20%,82% 100%,50% 75%,18% 100%,0 20%);color:#fff;place-items:center;width:32px;height:35px;margin:2px 0 1px;font-size:13px;font-weight:800;display:grid}.brand-logo__rule{background:linear-gradient(90deg,#0000,#222 18% 82%,#0000);width:112px;height:1px}.brand-logo__product{margin-top:2px;font-size:10px;font-weight:800}.app-nav{justify-content:center;align-items:center;gap:16px;min-width:0;display:flex;overflow:visible}.app-nav::-webkit-scrollbar{display:none}.app-nav__link{color:#3e3e3e;border-radius:999px;flex:none;align-items:center;gap:6px;min-height:28px;padding:4px 12px;font-size:14px;font-weight:500;line-height:1;transition:background .16s,color .16s;display:inline-flex}.app-nav__link:hover,.app-nav__link.is-active{background:var(--color-danger-soft);color:var(--color-danger-deep)}.more-menu{flex:none;position:relative}.more-menu__trigger{background:0 0;border:0}.more-menu__panel{z-index:30;border:1px solid var(--color-border);opacity:0;pointer-events:none;background:#fff;border-radius:8px;gap:6px;min-width:220px;padding:10px;transition:opacity .16s,transform .16s;display:grid;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,8px);box-shadow:0 16px 28px #00000024}.more-menu:hover .more-menu__panel,.more-menu:focus-within .more-menu__panel{opacity:1;pointer-events:auto;transform:translate(-50%)}.more-menu__item{color:#3e3e3e;border-radius:6px;align-items:center;gap:10px;min-height:42px;padding:10px 12px;font-size:18px;font-weight:600;display:inline-flex}.more-menu__item:hover,.more-menu__item.is-active{background:var(--color-danger-soft);color:var(--color-danger-deep)}.user-chip{color:#2d2d2d;align-items:center;gap:12px;font-size:14px;font-weight:500;display:inline-flex}.admin-nav-spacer{min-width:0}.user-chip__menu{color:var(--color-danger-deep);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:28px;height:28px;font-size:18px;font-weight:800;display:inline-grid}.user-chip__menu:hover{background:var(--color-danger-soft)}.user-chip__avatar{background:var(--color-danger-soft);width:38px;height:38px;color:var(--color-danger-deep);border:1px solid #ffaaa9;border-radius:50%;place-items:center;font-weight:600;display:grid}.hero-panel{min-height:240px;box-shadow:var(--shadow-hero);color:#fff;background:linear-gradient(110deg,#cf0000 0%,#dd2528 50%,#ff858f 100%);border-radius:8px;padding:32px 24px 24px}.hero-panel h1{margin:0 0 16px;font-size:26px;line-height:1.15}.hero-panel p{max-width:1120px;margin:0;font-size:16px;line-height:1.5}.hero-panel__actions{flex-wrap:wrap;gap:18px;margin-top:44px;display:flex}.portal-button,.primary-action,.secondary-action,.quick-action,.accept-button{border-radius:8px;justify-content:center;align-items:center;min-height:40px;font-weight:800;line-height:1;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.portal-button:hover,.primary-action:hover,.secondary-action:hover,.quick-action:hover,.accept-button:hover,.record-card__arrow:hover{transform:translateY(-1px)}.portal-button{gap:10px;min-width:180px;padding:0 20px;font-size:16px}.portal-button--light{color:var(--color-danger);background:#fff}.portal-button--outline-light{color:#fff;border:2px solid #fff}.metrics-grid{gap:16px;display:grid}.metrics-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics-grid--four{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card,.panel,.filter-toolbar,.record-card{border:1px solid var(--color-border);background:var(--color-panel);border-radius:8px}.stat-card{min-height:100px;padding:12px 20px}.stat-card__topline{justify-content:space-between;align-items:center;min-height:38px;display:flex}.stat-card__value{color:#000;margin-top:12px;font-size:24px;font-weight:800;line-height:1}.stat-card__label{color:var(--color-muted);margin-top:4px;font-size:13px;font-weight:600}.icon-tile{border-radius:8px;place-items:center;width:48px;height:36px;font-size:20px;display:inline-grid}.icon-tile--danger{color:var(--color-danger-deep);background:#ffe4e4;border:1px solid #df8d8d}.icon-tile--neutral{color:#444;background:#e7e7e7;border:1px solid #9c9c9c}.icon-tile--info{color:#02008a;background:#e7e5ff;border:1px solid #8c88fb}.icon-tile--warning{color:#7b4700;background:#fff1d9;border:1px solid #c58931}.icon-tile--success{color:#126733;background:#e5f8ec;border:1px solid #7dbd95}.status-badge{text-transform:capitalize;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;min-height:30px;padding:6px 12px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.status-badge--danger{color:#8a3b00;background:#fff0dd;border:1px solid #f0a36c}.status-badge--neutral{color:#3e3e3e;background:#eee;border:1px solid #adadad}.status-badge--info{color:#07539f;background:#e7f2ff;border:1px solid #65a4f3}.status-badge--warning{color:#6e5700;background:#fff8d7;border:1px solid #d6b75a}.status-badge--success{color:#0b6b3a;background:#e7f8ee;border:1px solid #6fcf97}.dashboard-grid{grid-template-columns:minmax(0,2.08fr) minmax(340px,1fr);gap:26px;display:grid}.dashboard-stack{gap:40px;display:grid}.panel{padding:26px 28px}.panel h2,.panel h3,.record-card h2,.page-header h1{color:var(--color-text)}.panel h2{margin:0 0 26px;font-size:20px}.invite-test-panel{gap:18px;display:grid}.invite-test-panel__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.invite-test-panel__header h2{margin-bottom:8px}.invite-test-panel__header p,.invite-test-note,.invite-test-feedback{margin:0;font-size:14px}.invite-test-panel__header p,.invite-test-note{color:var(--color-muted);line-height:1.5}.invite-test-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:16px;display:grid}.invite-test-form .form-group{margin-bottom:0}.invite-test-feedback{color:var(--color-danger-deep);font-weight:700}.panel__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin:0 -28px;padding:0 28px 26px;display:flex}.panel__header h2{margin:0}.panel__header a{color:var(--color-danger-deep);font-size:16px;font-weight:800}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.quick-action{color:#686868;text-align:center;border:1px solid #939393;flex-direction:column;gap:10px;min-height:80px;font-size:16px}.quick-action svg{font-size:26px}.quick-action--primary{color:var(--color-danger);background:#fff0f0;border-color:#ff9d9d}.active-projects-panel{padding-bottom:0}.active-project-list{margin:0 -28px}.active-project-row{grid-template-columns:38px minmax(220px,1fr) 170px auto;align-items:center;gap:22px;min-height:120px;padding:22px 32px;display:grid}.active-project-row+.active-project-row{border-top:1px solid var(--color-border)}.active-project-row>svg{color:#3f3f3f;font-size:22px}.active-project-row h3,.timeline-card h3{margin:0;font-size:20px;line-height:1.2}.active-project-row p,.active-project-row span,.timeline-card p{color:#555;margin:8px 0 0;font-size:16px}.active-project-row__meta{text-align:center}.active-project-row__meta strong{color:#333;font-size:20px;display:block}.recent-activity-panel{flex-direction:column;min-height:705px;display:flex}.timeline{flex:1;min-height:496px;position:relative}.timeline:before{content:"";background:#d4d4d4;width:1px;position:absolute;top:46px;bottom:26px;left:50%}.timeline-item{min-height:150px;position:relative}.timeline-item__node{color:#989898;background:#fff;border:1px solid #d2d2d2;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:38px;left:50%;transform:translate(-50%)}.timeline-card{background:#f8f8f8;border:1px solid #d0d0d0;border-radius:8px;width:min(158px,42%);min-height:148px;padding:32px 16px 14px;position:absolute;top:0}.timeline-item--right .timeline-card{right:0}.timeline-item--left .timeline-card{left:0}.timeline-card span{color:#6f6f6f;align-items:center;gap:8px;margin-top:12px;font-size:14px;display:inline-flex}.secondary-action{color:#979797;background:#fff;border:2px solid #9a9a9a;width:calc(100% - 48px);min-height:40px;margin:8px auto 0;font-size:16px}.page-header{justify-content:space-between;align-items:center;gap:32px;min-height:60px;display:flex}.page-header h1{margin:0 0 8px;font-size:20px;line-height:1.05}.page-header p{color:#5e5e5e;margin:0;font-size:14px;font-weight:600}.primary-action{background:var(--color-danger);color:#fff;border:0;gap:10px;min-width:150px;padding:0 20px;font-size:16px}.filter-toolbar{grid-template-columns:minmax(420px,625px) minmax(280px,1fr);align-items:center;gap:32px;min-height:60px;padding:12px 32px;display:grid}.segmented-control{scrollbar-width:none;background:#f4f4f4;border:1px solid #9a9a9a;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:36px;padding:4px 12px;display:flex;overflow-x:auto}.segmented-control::-webkit-scrollbar{display:none}.segmented-control__item{color:#333;background:0 0;border:0;border-radius:10px;flex:none;min-width:40px;padding:4px 10px;font-size:14px;font-weight:500}.segmented-control__item.is-active{color:var(--color-danger-deep);background:#fff;font-weight:800;box-shadow:0 2px 8px #0000001a}.search-field{min-height:36px;color:var(--color-danger-deep);background:#fff;border:1px solid #d0d0d0;border-radius:14px;align-items:center;gap:12px;padding:0 14px;display:flex}.search-field svg{display:none}.search-field input{color:#2d2d2d;background:0 0;border:0;outline:0;width:100%;font-size:16px;font-weight:700}.search-field input::placeholder{color:var(--color-danger-deep);opacity:1}.record-list{gap:26px;display:grid}.record-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:240px;padding:10px 28px;display:grid}.record-card__body{min-width:0}.record-card__meta,.quote-card__idline{flex-wrap:wrap;align-items:center;gap:22px;margin-bottom:24px;display:flex}.record-card h2{margin:0 0 12px;font-size:18px;line-height:1.2}.record-card__staff{color:#656565;align-items:center;gap:8px;margin:0 0 14px;font-size:14px;font-weight:700;display:inline-flex}.record-card__details{color:#656565;flex-wrap:wrap;gap:32px;font-size:14px;font-weight:600;display:flex}.record-card__details span{align-items:center;gap:10px;display:inline-flex}.record-card__arrow{color:#000;background:0 0;border:0;place-items:center;width:48px;height:60px;font-size:34px;display:grid}.progress-summary{margin-top:28px}.progress-summary div{color:#333;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:20px;display:flex}.progress-summary strong{font-size:24px;font-weight:500}.progress-track{background:#e9e9e9;border-radius:999px;height:17px;position:relative;overflow:hidden}.progress-track__fill{border-radius:inherit;background:#871717;position:absolute;inset:0 auto 0 0}.quote-card{grid-template-columns:minmax(0,1fr) minmax(260px,300px)}.quote-card__idline>span:first-child{color:#3c3c3c;font-size:16px;font-weight:600}.quote-card p{color:#303030;margin:-4px 0 22px;font-size:24px;line-height:1.35}.quote-card__schedule{border:1px solid var(--color-border-soft);background:#f8fafc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:18px;padding:12px 14px;display:flex}.quote-card__schedule span{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:800}.quote-card__schedule strong{color:var(--color-text);font-size:13px}.quote-card__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.quote-card__small-action{min-height:38px;padding:0 14px}.accept-button{min-width:120px;color:var(--color-danger-deep);background:#fff;border:2px solid #861414;padding:0 30px;font-size:16px}.result-count{color:#707070;text-align:center;margin:14px 0 0;font-size:24px}.asset-toolbar{border:1px solid var(--color-border);background:#fff;border-radius:8px;grid-template-columns:minmax(280px,436px) auto minmax(220px,278px) minmax(220px,278px);align-items:center;gap:14px;min-height:114px;padding:24px 44px;display:grid}.asset-search,.select-field{background:#fff;border:1px solid #d0d0d0;border-radius:14px;align-items:center;min-height:60px;display:flex}.asset-search{gap:14px;padding:0 30px}.asset-search input,.select-field select{color:#303030;background:0 0;border:0;outline:0;width:100%;font-size:24px}.asset-search input::placeholder{color:#909090;opacity:1}.asset-toolbar__label{color:#717171;justify-content:center;align-items:center;gap:8px;font-size:24px;display:inline-flex}.select-field{gap:12px;padding:0 26px;position:relative}.select-field select{appearance:none;cursor:pointer}.select-field>svg:last-child{color:#333;pointer-events:none;font-size:18px}.documents-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 18px;display:grid}.document-card{border:1px solid var(--color-border);background:#fff;border-radius:8px;overflow:hidden}.document-card__preview{background:#f0f0f0;place-items:center;min-height:270px;display:grid}.document-card__preview img{object-fit:cover;width:100%;height:270px}.document-card__preview:not(:has(img)){align-content:center;gap:18px}.document-card__icon{width:48px;height:48px;color:var(--color-danger-deep);background:#fdd;border-radius:50%;place-items:center;font-size:24px;display:grid}.document-card__body{min-height:214px;padding:26px 26px 32px}.document-card h2,.document-card h3{color:var(--color-text);margin:0 0 24px;font-size:24px;line-height:1.18}.document-card p{color:#656565;align-items:center;gap:10px;margin:18px 0 0;font-size:20px;font-weight:600;display:flex}.document-project-groups{gap:30px;display:grid}.document-project-group{gap:16px;display:grid}.document-project-group__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.document-project-group__header h2{margin:0;font-size:22px}.document-project-group__header span{color:var(--color-muted);font-size:14px;font-weight:800}.billing-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.billing-metric{border:1px solid var(--color-border);background:#fff;border-radius:8px;justify-content:space-between;align-items:flex-start;min-height:96px;padding:16px 24px;display:flex}.billing-metric--featured{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.billing-metric--featured .icon-tile{background:#ffd7d7;border-color:#ffb4b4}.billing-metric div>span{color:#676767;text-transform:none;font-size:16px;font-weight:800;display:block}.billing-metric--featured div>span{color:#fff}.billing-metric strong{color:#000;margin-top:4px;font-size:34px;line-height:1;display:block}.billing-metric--featured strong{color:#fff}.billing-filter-panel{border:1px solid var(--color-border);background:#fff;border-radius:8px;grid-template-columns:190px 190px minmax(320px,1fr);align-items:end;gap:18px;min-height:138px;padding:26px 42px;display:grid}.stacked-select,.invoice-search{gap:8px;display:grid}.stacked-select>span:first-child,.invoice-search>span:first-child{color:#979797;font-size:18px;font-weight:700}.stacked-select .select-field{min-height:58px;padding:0 18px}.stacked-select .select-field>svg:first-child{color:#9a9a9a;font-size:18px}.invoice-search .asset-search{min-height:58px;padding:0 30px}.invoice-card{border:1px solid var(--color-border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:174px;padding:26px;display:grid}.invoice-card__idline{align-items:center;gap:18px;margin-bottom:24px;display:flex}.invoice-card__idline>span:first-child{color:#424242;font-size:16px;font-weight:700}.invoice-card h2{color:var(--color-text);margin:0 0 22px;font-size:26px}.invoice-card__details{color:#6a6a6a;flex-wrap:wrap;gap:76px;font-size:20px;font-weight:600;display:flex}.invoice-card__details span{align-items:center;gap:10px;display:inline-flex}.invoice-card__actions{align-items:center;gap:22px;display:flex}.invoice-card__actions button,.payments-table__row button{color:#000;background:0 0;border:0;place-items:center;width:30px;height:38px;font-size:20px;display:grid}.payments-panel{border:1px solid var(--color-border);background:#fff;border-radius:8px;min-height:734px;padding:56px 24px 34px}.payments-table{display:grid}.payments-table__head,.payments-table__row{grid-template-columns:145px minmax(190px,.85fr) minmax(250px,1fr) 145px minmax(220px,.95fr) 120px 30px;align-items:center;gap:18px;padding:0;display:grid}.payments-table__head{border-bottom:1px solid var(--color-border);color:#454545;min-height:58px;font-size:16px;font-weight:800}.payments-table__row{border-bottom:1px solid var(--color-border);color:#333;min-height:72px;font-size:17px;font-weight:700}.payments-table__row strong{color:var(--color-danger);font-weight:800}.payments-table__row .status-badge{justify-self:start}.site-footer{border-top:1px solid var(--color-border);background:#f9f9f9;margin-top:auto}.site-footer__inner{color:#707070;justify-content:space-between;align-items:center;gap:28px;min-height:115px;font-size:20px;display:flex}.site-footer__links{gap:96px;display:flex}@media (width<=1180px){.site-header__inner{grid-template-columns:112px minmax(0,1fr)}.brand-logo{width:112px;min-height:54px}.brand-logo__image{max-height:54px}.user-chip{grid-column:2;justify-self:end}.app-nav{grid-area:2/1/auto/-1;justify-content:center;padding-bottom:14px}.metrics-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.filter-toolbar,.asset-toolbar,.billing-filter-panel{grid-template-columns:1fr}.documents-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-card{grid-template-columns:1fr}.quote-card__actions{justify-content:space-between}}@media (width<=820px){.app-main{padding-top:16px}.content-container,.page-stack{width:min(100% - 32px,1298px)}.hero-panel{min-height:0;padding:34px 22px}.hero-panel h1{font-size:32px}.hero-panel p{font-size:22px}.metrics-grid--three,.metrics-grid--four,.admin-quote-detail__hero,.admin-quote-detail__summary,.quick-actions,.invite-test-form{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.primary-action{width:100%}.active-project-row{grid-template-columns:28px minmax(0,1fr)}.active-project-row__meta,.active-project-row .status-badge{text-align:left;grid-column:2;justify-self:start}.timeline:before,.timeline-item__node{left:22px}.timeline-card{width:calc(100% - 58px);position:relative;top:auto;left:58px!important;right:auto!important}.record-card,.billing-metrics,.invoice-card{grid-template-columns:1fr}.invoice-card__actions{justify-content:flex-end}.payments-panel{overflow-x:auto}.payments-table{min-width:980px}.record-card__arrow{justify-self:end}.record-card__details{gap:18px}.segmented-control__item,.search-field input,.quote-card p{font-size:20px}.site-footer__inner,.site-footer__links{flex-direction:column;align-items:flex-start;gap:16px}}@media (width<=560px){.site-header__inner{grid-template-columns:1fr auto;gap:14px;padding:12px 0}.brand-logo{justify-content:flex-start}.app-nav__link{font-size:17px}.user-chip span:last-child{display:none}.portal-button{width:100%;min-width:0;font-size:20px}.stat-card__value{font-size:34px}.filter-toolbar{padding:20px}.segmented-control{padding:8px}.record-card h2{font-size:24px}.accept-button{min-width:180px}.documents-grid{grid-template-columns:1fr}.document-card__preview,.document-card__preview img{height:220px;min-height:220px}}.step-indicator{border:1px solid var(--color-border);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:0;margin-bottom:32px;padding:12px 24px;display:flex}.step-indicator__item{flex:1;align-items:center;display:flex}.step-indicator__item:last-child{flex:0 auto}.step-indicator__icon-wrapper{color:var(--color-muted);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;transition:all .2s;display:flex}.step-indicator__item.is-active .step-indicator__icon-wrapper{color:var(--color-danger);border:1px solid var(--color-danger)}.step-indicator__item.is-completed .step-indicator__icon-wrapper{color:#333}.step-indicator__label{white-space:nowrap;font-size:14px;font-weight:600}.step-indicator__line{background:var(--color-border);flex:1;height:1px;margin:0 16px}.form-container{width:100%;max-width:900px;margin:0 auto}.step-content{padding:8px 0}.step-header{border-bottom:1px solid var(--color-border-soft);margin-bottom:32px;padding-bottom:16px}.step-header h3{margin:0 0 8px;font-size:18px}.step-header p{color:var(--color-muted);margin:0;font-size:14px}.form-group{margin-bottom:24px}.form-group label{color:#333;margin-bottom:12px;font-size:14px;font-weight:700;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--color-border);color:#333;background:#fff;border-radius:8px;width:100%;padding:12px 16px;font-size:15px;transition:border-color .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:#999}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-danger);outline:none}.form-group textarea{resize:vertical;min-height:160px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-actions{border-top:1px solid var(--color-border-soft);justify-content:space-between;margin-top:48px;padding-top:24px;display:flex}.primary-action-btn,.secondary-action-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:0 24px;font-size:15px;font-weight:800;transition:all .2s;display:inline-flex}.primary-action-btn{background:var(--color-danger);color:#fff;border:none}.primary-action-btn:hover{background:var(--color-danger-deep)}.secondary-action-btn{color:#666;border:1px solid var(--color-border);background:#fff}.secondary-action-btn:hover{background:#f9f9f9}.secondary-action-btn:disabled{opacity:.5;cursor:not-allowed}.icon-flip{transform:rotate(180deg)}.upload-zone{border:2px dashed var(--color-border);text-align:center;background:#fff;border-radius:12px;margin-bottom:16px;padding:40px 24px}.upload-icon{color:var(--color-danger-soft);margin-bottom:24px;font-size:48px}.upload-zone h4{color:#333;margin:0 0 12px;font-size:18px}.upload-zone p{color:var(--color-muted);margin:0 0 24px;font-size:16px}.select-files-btn{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:8px;padding:12px 24px;font-size:18px;font-weight:600}.upload-hint{color:var(--color-muted);text-align:center;font-size:14px}.review-section{border:1px solid var(--color-border-soft);background:#fdfdfd;border-radius:12px;margin-bottom:24px;overflow:hidden}.review-section__header{border-bottom:1px solid var(--color-border-soft);background:#fff;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.review-section__title{color:#333;align-items:center;gap:12px;font-size:16px;font-weight:700;display:flex}.review-section__title svg{color:var(--color-danger)}.edit-btn{color:var(--color-danger);cursor:pointer;background:0 0;border:none;font-size:14px;font-weight:800}.review-grid{gap:20px;padding:24px;display:grid}.review-grid--two{grid-template-columns:1fr 1fr}.review-item label{color:var(--color-muted);margin-bottom:4px;font-size:14px;display:block}.review-item p{color:#333;margin:0;font-size:15px;font-weight:600}.file-list{padding:24px}.no-files{color:var(--color-muted);margin:0;font-style:italic}.submit-btn{background:var(--color-danger-deep)}.back-link{color:#444;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin-bottom:24px;padding:0;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.project-detail-header{box-shadow:var(--shadow-hero);color:#fff;background:linear-gradient(110deg,#cf0000 0%,#dd2528 50%,#ff858f 100%);border-radius:8px;align-items:flex-start;gap:16px;margin-bottom:32px;padding:32px;display:flex;position:relative}.header-icon-box{background:#fff3;border:1px solid #fff6;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.header-content{flex:1}.project-detail-header__top{letter-spacing:.5px;text-transform:uppercase;opacity:.9;margin-bottom:6px;font-size:12px;font-weight:700}.project-detail-header h1{color:#fff;margin:0 0 16px;font-size:26px;font-weight:800}.project-detail-header__meta{gap:32px;font-size:14px;font-weight:500;display:flex}.project-detail-header__meta span{align-items:center;gap:8px;display:flex}.project-detail-header__actions{align-self:flex-start;align-items:center;gap:16px;display:flex}.project-detail-header .status-badge{color:#333;background:#fff;border:none}.project-detail-header .edit-button{color:#fff;cursor:pointer;background:#5a0000;border:none;border-radius:6px;justify-content:center;align-items:center;height:30px;padding:8px 24px;font-weight:600;transition:background .2s;display:inline-flex}.project-detail-header .edit-button:hover{background:#400000}.detail-tabs{border-bottom:1px solid var(--color-border);gap:32px;margin-bottom:32px;display:flex}.detail-tab{color:#666;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0 0 16px;font-size:16px;font-weight:600;display:flex;position:relative}.detail-tab:hover{color:#333}.detail-tab.active{color:var(--color-danger)}.detail-tab.active:after{content:"";background:var(--color-danger);height:2px;position:absolute;bottom:-1px;left:0;right:0}.detail-tab-count{color:#666;background:#eee;border-radius:99px;padding:2px 8px;font-size:12px;font-weight:700}.detail-grid{grid-template-columns:minmax(0,2fr) minmax(340px,1fr);gap:26px;display:grid}.detail-grid-left,.detail-grid-right{flex-direction:column;gap:26px;display:flex}.detail-panel{background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;padding:26px 28px}.detail-panel h3{color:var(--color-text);justify-content:space-between;align-items:center;margin:0 0 24px;font-size:16px;font-weight:700;display:flex}.detail-panel h3 a{color:var(--color-danger);font-size:14px;text-decoration:none}.spec-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.spec-item{flex-direction:column;gap:6px;display:flex}.spec-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.spec-value{color:#333;font-size:15px;font-weight:600}.spec-notes{border-top:1px solid #eaeaea;padding-top:24px}.spec-notes p{color:#555;margin:0;font-size:14px;line-height:1.5}.timeline-list{flex-direction:column;gap:24px;display:flex;position:relative}.timeline-list:before{content:"";background:#e0e0e0;width:1px;position:absolute;top:10px;bottom:10px;left:11px}.timeline-row{z-index:1;gap:16px;display:flex;position:relative}.timeline-icon{width:24px;height:24px;color:var(--color-danger);background:#ffe7e7;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.timeline-content{flex:1}.timeline-content h4{color:var(--color-text);margin:0 0 4px;font-size:14px;font-weight:600}.timeline-content p{color:#666;margin:0;font-size:13px}.timeline-date{color:#888;white-space:nowrap;font-size:12px}.quote-row{border-bottom:1px solid #eaeaea;margin-bottom:16px;padding-bottom:16px}.quote-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.quote-row h4{color:var(--color-text);margin:0 0 4px;font-size:14px;font-weight:600}.quote-row p{color:#666;margin:0 0 12px;font-size:12px}.quote-footer{justify-content:space-between;align-items:center;display:flex}.quote-amount{color:var(--color-text);font-size:16px;font-weight:800}.quote-status{color:var(--color-danger);background:#ffe7e7;border:1px solid #fcc;border-radius:99px;padding:4px 12px;font-size:12px;font-weight:600}.project-invoice-row{margin-top:14px}.team-row{border-bottom:1px solid #eaeaea;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.team-row:last-child{border:none;margin:0;padding:0}.team-avatar{width:40px;height:40px;color:var(--color-danger-deep);background:#ffe7e7;border:1px solid #fcc;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.team-info{flex:1}.team-info h4{color:var(--color-text);margin:0 0 2px;font-size:14px;font-weight:700}.team-info p{color:#666;margin:0;font-size:12px}.team-message{color:#888;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;padding:6px 12px;display:flex}.manage-team-btn{color:#333;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;width:100%;margin-top:16px;padding:10px;font-weight:600;transition:background .2s}.manage-team-btn:hover{background:#f5f5f5}.document-list{border:1px solid #eaeaea;border-radius:8px;overflow:hidden}.document-row{background:#fff;border-bottom:1px solid #eaeaea;align-items:center;padding:16px 20px;display:flex}.document-row:last-child{border-bottom:none}.document-icon{color:#666;background:#f5f5f5;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;margin-right:16px;font-size:16px;display:flex}.document-info{flex:1}.document-info h4{color:var(--color-text);margin:0 0 4px;font-size:14px;font-weight:600}.document-info p{color:#888;margin:0;font-size:12px}.document-actions{align-items:center;gap:16px;display:flex}.document-type-badge{color:#555;border:1px solid #d9d9d9;border-radius:99px;padding:4px 12px;font-size:11px;font-weight:600}.document-download,.document-more{color:#666;cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px}.document-download:hover,.document-more:hover{color:var(--color-text)}.quote-detail-page{padding-bottom:60px}.billing-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.billing-header-title h1{align-items:center;gap:16px;margin-bottom:4px;font-size:28px;font-weight:800;display:flex}.billing-header-title p{color:#666;font-size:14px}.billing-header-actions{gap:12px;display:flex}.pay-now-btn{background:var(--color-danger);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 24px;font-weight:600;display:flex}.billing-info-panel{margin-bottom:24px}.billing-info-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.billing-col label{color:#999;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.billing-col strong{margin-bottom:4px;font-size:14px;display:block}.billing-col p{color:#666;margin:0;font-size:12px}.billing-ref{margin-bottom:16px}.billing-ref p{color:var(--color-danger);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.no-padding-bottom{padding-bottom:0!important}.panel-flex-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.items-count{color:#888;font-size:12px;font-weight:500}.line-items-list{flex-direction:column;display:flex}.line-item-row{border-bottom:1px solid #eee;align-items:center;padding:20px 0;display:flex}.line-item-icon{color:#999;background:#f5f5f5;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;margin-right:16px;display:flex}.line-item-info{flex:1}.line-item-info h4{margin:0 0 4px;font-size:15px;font-weight:700}.line-item-info p{color:#888;margin:0;font-size:12px}.line-item-amount{color:#333;font-size:16px;font-weight:700}.totals-section{flex-direction:column;align-items:flex-end;gap:12px;padding:24px 0;display:flex}.totals-row{color:#666;justify-content:space-between;width:300px;font-size:14px;display:flex}.grand-total{color:#000;margin-top:8px;font-size:18px;font-weight:800}.total-amount-red{color:var(--color-danger)}.quote-payment-schedule{border:1px solid var(--color-border-soft);border-radius:8px;gap:14px;margin:8px 0 24px;padding:16px;display:grid}.quote-payment-schedule__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.quote-payment-schedule__header h3{color:var(--color-text);margin:0;font-size:15px}.quote-payment-schedule__header p{color:var(--color-muted);text-transform:uppercase;margin:5px 0 0;font-size:12px;font-weight:700}.quote-payment-schedule__header strong{color:var(--color-danger);white-space:nowrap;font-size:14px}.quote-payment-schedule__table{display:grid;overflow-x:auto}.quote-payment-schedule__head,.quote-payment-schedule__row{grid-template-columns:1.2fr 1fr .55fr .8fr;align-items:center;gap:14px;min-width:620px;display:grid}.quote-payment-schedule__head{border-bottom:1px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;padding-bottom:11px;font-size:12px;font-weight:800}.quote-payment-schedule__row{border-bottom:1px solid var(--color-border-soft);color:#444;padding:12px 0;font-size:13px}.quote-payment-schedule__row:last-child{border-bottom:0}.quote-payment-schedule__row strong{color:var(--color-text)}.quote-payment-schedule__empty{color:var(--color-muted);background:#f8fafc;border-radius:6px;padding:14px;font-size:13px}.quote-generated-invoices{gap:10px;margin:8px 0 24px;display:grid}.quote-generated-invoices--admin{margin:0}.quote-invoice-link{border:1px solid var(--color-border-soft);color:inherit;background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;text-decoration:none;display:flex}.quote-invoice-link:hover{border-color:var(--color-danger)}.quote-invoice-link>div{align-items:flex-start;gap:4px;display:grid}.quote-invoice-link>div:last-child{align-items:flex-end}.quote-invoice-link strong{color:var(--color-text);font-size:14px}.quote-invoice-link span:not(.status-badge){color:var(--color-muted);font-size:12px;font-weight:700}.action-buttons-bottom{border-top:1px solid #eee;gap:16px;padding:32px 0;display:flex}.accept-quote-btn{color:#888;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:12px 32px;font-weight:600}.request-revision-btn{background:var(--color-danger);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:12px 32px;font-weight:600}.view-link{color:var(--color-danger);font-size:13px;font-weight:700;text-decoration:none}.linked-project-card{background:#fdfdfd;border:1px solid #eee;border-radius:8px;padding:16px}.linked-project-header{border-bottom:1px solid #eee;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;display:flex}.project-avatar{color:#999;background:#f5f5f5;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:flex}.project-title-info h4{margin:0 0 2px;font-size:14px}.project-title-info p{color:#999;margin:0;font-size:11px}.linked-project-meta{flex-direction:column;gap:16px;display:flex}.meta-row{align-items:flex-start;gap:12px;display:flex}.meta-row .anticon{color:#999;margin-top:2px}.meta-row label{color:#999;margin-bottom:2px;font-size:11px;display:block}.meta-row p{margin:0;font-size:12px;font-weight:600}.action-links{flex-direction:column;gap:12px;display:flex}.action-link-btn{color:#666;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:4px 0;font-size:13px;display:flex}.action-link-btn:hover{color:#333}.admin-page{gap:26px}.admin-grid{grid-template-columns:minmax(0,2fr) minmax(320px,.8fr);gap:26px;display:grid}.admin-client-form{gap:24px;display:grid}.admin-client-form .panel__header,.admin-client-list .panel__header{margin-bottom:0}.admin-form-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.admin-password-button{width:auto;min-width:190px;margin:0;padding:0 20px}.admin-feedback{color:var(--color-danger-deep);margin:0;font-size:14px;font-weight:700}.admin-onboarding-panel h2{margin-bottom:18px}.admin-flow-list{gap:16px;display:grid}.admin-flow-list div{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px;display:grid}.admin-flow-list span{background:var(--color-danger-soft);width:32px;height:32px;color:var(--color-danger-deep);border-radius:50%;place-items:center;font-weight:800;display:grid}.admin-flow-list p{color:var(--color-muted);margin:5px 0 0;font-size:14px;line-height:1.5}.admin-client-list{overflow-x:auto}.admin-client-list .panel__header span{color:var(--color-muted);font-size:14px;font-weight:700}.admin-client-table{min-width:980px}.admin-client-table__head,.admin-client-table__row{grid-template-columns:1fr 1fr 1.2fr .8fr .75fr 1fr .7fr;gap:18px;display:grid}.admin-client-table--staff .admin-client-table__head,.admin-client-table--staff .admin-client-table__row{grid-template-columns:1fr 1.2fr .7fr .8fr .7fr}.admin-client-table__head{border-bottom:1px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;padding:22px 0 14px;font-size:13px;font-weight:800}.admin-client-table__row{border-bottom:1px solid var(--color-border-soft);color:#444;align-items:center;padding:18px 0;font-size:14px}.admin-client-table__row:last-child{border-bottom:0}.admin-client-table__row strong{color:var(--color-text)}.admin-client-pagination{justify-content:flex-end;padding-top:18px;display:flex}.table-action-button{border:1px solid var(--color-border);min-height:38px;color:var(--color-text);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:inline-flex}.admin-partner-name{color:var(--color-muted);margin-bottom:8px;font-size:12px;font-style:normal;font-weight:700;display:block}.table-action-button:hover{border-color:var(--color-danger);color:var(--color-danger-deep)}.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-detail-grid div{border:1px solid var(--color-border-soft);border-radius:8px;gap:6px;padding:14px;display:grid}.admin-detail-grid span,.admin-modal-list span,.admin-empty-copy{color:var(--color-muted)}.admin-detail-grid strong{color:var(--color-text)}.admin-project-detail{gap:18px;display:grid}.admin-project-detail__hero{background:linear-gradient(135deg,#f7fbff 0%,#fffaf2 100%);border:1px solid #cfe3f7;border-radius:8px;gap:12px;padding:16px;display:grid}.admin-project-detail__hero>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.admin-project-detail__hero span,.admin-project-detail__notes span{color:var(--color-muted);text-transform:uppercase;font-size:13px;font-weight:800}.admin-project-detail__hero strong{color:#07539f;font-size:28px}.admin-project-detail__notes{border:1px solid var(--color-border-soft);border-radius:8px;gap:8px;padding:14px;display:grid}.admin-project-detail__notes p{color:var(--color-text);margin:0;line-height:1.6}.admin-quote-detail{gap:18px;display:grid}.admin-quote-detail__hero{border:1px solid var(--color-border-soft);background:#f8fafc;border-radius:8px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.admin-quote-detail__hero>div{gap:5px;min-width:0;display:grid}.admin-quote-detail__hero span,.admin-quote-detail__section-header span{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:800}.admin-quote-detail__hero strong{color:var(--color-text);font-size:18px;line-height:1.25}.admin-quote-detail__summary{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-quote-detail__section{border:1px solid var(--color-border-soft);border-radius:8px;gap:14px;padding:14px;display:grid}.admin-quote-detail__section-header{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.admin-quote-detail__section-header h3{color:var(--color-text);margin:0;font-size:15px}.admin-quote-schedule-table{display:grid;overflow-x:auto}.admin-quote-schedule-table__head,.admin-quote-schedule-table__row{grid-template-columns:1.2fr 1fr .55fr .8fr;align-items:center;gap:14px;min-width:640px;display:grid}.admin-quote-schedule-table__head{border-bottom:1px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;padding-bottom:12px;font-size:12px;font-weight:800}.admin-quote-schedule-table__row{border-bottom:1px solid var(--color-border-soft);color:#444;padding:13px 0}.admin-quote-schedule-table__row:last-child,.admin-quote-line-table .admin-project-stage-table__row:last-child{border-bottom:0}.admin-quote-schedule-table__row strong{color:var(--color-text)}.admin-project-progress-cell{gap:7px;min-width:120px;display:grid}.admin-project-progress-cell strong{color:#07539f;font-size:13px}.admin-project-stage-table{gap:0;display:grid;overflow-x:auto}.admin-project-stage-table__head,.admin-project-stage-table__row{grid-template-columns:1fr .7fr .7fr 1.1fr 1fr;align-items:center;gap:14px;min-width:720px;display:grid}.admin-project-stage-table__head{border-bottom:1px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;padding-bottom:12px;font-size:12px;font-weight:800}.admin-project-stage-table__row{border-bottom:1px solid var(--color-border-soft);color:#444;padding:14px 0}.weekly-report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.weekly-report-metric{gap:8px;display:grid}.weekly-report-metric span,.weekly-report-metric small,.weekly-target-callout span{color:var(--color-muted)}.weekly-report-metric strong{color:var(--color-text);font-size:34px;line-height:1}.weekly-report-form{gap:20px;display:grid}.weekly-report-input-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.weekly-target-callout{background:#f7fbff;border:1px solid #cfe3f7;border-radius:8px;gap:4px;padding:14px;display:grid}.weekly-target-callout strong{color:#07539f}.weekly-report-table{min-width:980px}.weekly-report-table,.weekly-report-table+.admin-empty-row{overflow-x:auto}.weekly-report-table__head,.weekly-report-table__row{grid-template-columns:1fr 1.15fr 1fr .75fr .95fr .55fr;align-items:center;gap:16px;display:grid}.weekly-report-table__head{border-bottom:1px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;padding-bottom:14px;font-size:13px;font-weight:800}.weekly-report-table__row{border-bottom:1px solid var(--color-border-soft);color:#444;padding:18px 0;font-size:14px}.weekly-report-table__row strong{color:var(--color-text)}.weekly-report-detail{gap:18px;display:grid}.weekly-report-detail__hero{background:linear-gradient(135deg,#fffaf2 0%,#f7fbff 100%);border:1px solid #d8c77a;border-radius:8px;gap:12px;padding:16px;display:grid}.weekly-report-detail__hero>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.weekly-report-detail__hero span{color:var(--color-muted);text-transform:uppercase;font-size:13px;font-weight:800}.weekly-report-detail__hero strong{color:#8a3b00;font-size:28px}.weekly-report-goal-list{gap:12px;display:grid}.weekly-report-goal-list article{border:1px solid var(--color-border-soft);border-radius:8px;grid-template-columns:1fr 1.2fr;align-items:center;gap:16px;padding:14px;display:grid}.weekly-report-goal-list article>div{gap:6px;display:grid}.weekly-report-goal-list span{color:var(--color-muted)}.product-service-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.product-service-metric{gap:8px;display:grid}.product-service-metric span,.product-service-metric small,.product-import-panel p,.product-service-table__row div span{color:var(--color-muted)}.product-service-metric strong{color:var(--color-text);font-size:34px;line-height:1}.product-import-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.product-import-panel h2,.product-import-panel p{margin:0}.product-import-form{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.product-import-form input[type=file]{border:1px solid var(--color-border);border-radius:8px;padding:10px}.product-import-summary{border-top:1px solid var(--color-border-soft);flex-wrap:wrap;grid-column:1/-1;gap:14px;padding-top:14px;display:flex}.product-import-file,.product-import-panel .admin-feedback{grid-column:1/-1;margin:0}.product-import-file{color:#07539f;font-weight:800}.product-import-summary strong{color:#0b6b3a}.product-service-toolbar{grid-template-columns:minmax(180px,220px) minmax(240px,1fr) minmax(180px,240px);align-items:end;gap:16px;margin-bottom:18px;display:grid}.inventory-import-panel{align-items:start}.inventory-sync-button{min-width:150px}.inventory-sync-button:disabled{cursor:not-allowed;opacity:.64}.inventory-toolbar{grid-template-columns:minmax(180px,240px) minmax(260px,1fr) minmax(180px,220px)}.product-service-table-wrap{overflow-x:auto}.product-service-table{min-width:1180px}.product-service-table__head,.product-service-table__row{grid-template-columns:1.8fr .7fr 1fr .9fr .7fr 1.25fr .55fr;align-items:center;gap:16px;display:grid}.product-service-table__head{border-bottom:1px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;padding-bottom:14px;font-size:13px;font-weight:800}.product-service-table__row{border-bottom:1px solid var(--color-border-soft);color:#444;padding:18px 0;font-size:14px}.product-service-table__row>div{gap:5px;display:grid}.product-service-table__row strong{color:var(--color-text)}.product-service-status-list{flex-wrap:wrap;gap:6px;display:flex}.product-service-checks{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.product-service-checks label{border:1px solid var(--color-border-soft);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.product-service-ant-table .ant-table{border:1px solid var(--color-border-soft);border-radius:8px}.product-service-ant-table .ant-table-cell{vertical-align:middle}.product-service-name-cell{gap:5px;display:grid}.product-service-name-cell strong{color:var(--color-text)}.product-service-name-cell span{color:var(--color-muted)}.admin-modal-form{gap:18px;padding-top:8px;display:grid}.admin-modal-list{gap:12px;display:grid}.admin-modal-list article{border:1px solid var(--color-border-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.admin-modal-list article>div{gap:4px;display:grid}.admin-modal-list__meta{justify-items:end}.admin-stage-summary{border:1px solid var(--color-border-soft);border-radius:8px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.admin-complete-toggle{border:1px solid var(--color-border-soft);color:var(--color-text);border-radius:8px;align-items:center;gap:10px;min-height:56px;padding:14px 16px;font-weight:800;display:flex}.admin-stage-summary span,.admin-stage-grid legend{color:var(--color-muted);text-transform:uppercase;font-size:13px;font-weight:800}.admin-stage-summary strong{color:var(--color-text);font-size:20px}.admin-stage-grid{gap:14px;display:grid}.admin-stage-grid fieldset{border:1px solid var(--color-border-soft);border-radius:8px;gap:12px;margin:0;padding:14px;display:grid}.quote-create-form{gap:20px}.quote-project-summary,.quote-total-panel{border:1px solid var(--color-border-soft);background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex}.quote-project-summary div,.quote-total-panel__summary div{gap:4px;display:grid}.quote-project-summary span,.quote-total-panel__summary span,.quote-line-section__header h3{color:var(--color-muted);text-transform:uppercase;margin:0;font-size:13px;font-weight:800}.quote-project-summary strong,.quote-total-panel__summary strong{color:var(--color-text)}.quote-line-section{gap:12px;display:grid}.quote-line-section__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.quote-line-section__tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.quote-line-section__tools .ant-select{min-width:220px}.quote-line-table{border:1px solid var(--color-border-soft);border-radius:8px;overflow-x:auto}.quote-line-table__head,.quote-line-table__row{grid-template-columns:minmax(300px,1.8fr) minmax(130px,.7fr) minmax(90px,.45fr) minmax(120px,.7fr) minmax(90px,.45fr);align-items:center;gap:12px;min-width:820px;display:grid}.quote-line-table__head{color:var(--color-muted);text-transform:uppercase;background:#f8fafc;padding:12px 14px;font-size:12px;font-weight:800}.quote-line-table__row{border-top:1px solid var(--color-border-soft);padding:12px 14px}.quote-line-table__row input,.quote-total-panel input,.admin-modal-form .ant-picker,.quote-schedule-table input,.quote-schedule-table select{width:100%}.quote-line-table__row strong{color:var(--color-text)}.quote-total-panel{align-items:end}.quote-total-panel>.form-group{width:100%;max-width:180px}.quote-total-panel__summary{align-items:end;gap:22px;display:flex}.quote-total-panel__grand strong{color:var(--color-danger);font-size:20px}.quote-schedule-section,.quote-schedule-panel{gap:14px;display:grid}.quote-schedule-section>.ant-btn{justify-self:start}.quote-schedule-panel{border:1px solid var(--color-border-soft);border-radius:8px;padding:14px}.quote-schedule-options{border-bottom:1px solid var(--color-border-soft);gap:12px;padding-bottom:12px;display:grid}.quote-schedule-switch{justify-content:space-between;align-items:center;font-weight:800;display:flex}.quote-schedule-switch .ant-switch.ant-switch-checked{background:var(--color-danger)}.quote-schedule-block{gap:10px;display:grid}.quote-schedule-block h3{color:var(--color-text);margin:0;font-size:14px}.quote-schedule-block p{color:var(--color-muted);margin:0;font-size:12px;font-weight:700}.quote-schedule-ant-table .ant-table{font-size:12px}.quote-schedule-ant-table .ant-table-thead>tr>th,.quote-schedule-ant-table .ant-table-tbody>tr>td{padding:8px 10px}.quote-schedule-ant-table .ant-picker,.quote-schedule-ant-table .ant-input-number{width:100%}.quote-schedule-editable-amount{grid-template-columns:86px minmax(86px,1fr) minmax(74px,.7fr);align-items:center;gap:8px;display:grid}.quote-schedule-editable-amount small,.quote-schedule-readonly-date{color:var(--color-muted);font-size:12px;font-weight:700}.quote-schedule-table{border:1px solid var(--color-border-soft);border-radius:8px;display:grid;overflow-x:auto}.quote-schedule-table--split{margin-top:4px}.quote-schedule-table--split>.ant-btn{justify-self:start;margin:12px}.quote-schedule-table__head,.quote-schedule-table__row{grid-template-columns:minmax(140px,.8fr) minmax(220px,1fr) minmax(210px,1fr);align-items:center;gap:12px;min-width:640px;display:grid}.quote-schedule-table__head{color:var(--color-muted);text-transform:uppercase;background:#f8fafc;padding:12px 14px;font-size:12px;font-weight:800}.quote-schedule-table__row{border-top:1px solid var(--color-border-soft);padding:12px 14px}.quote-schedule-amount-field{grid-template-columns:84px minmax(0,1fr);gap:8px;display:grid}.project-payment-metrics{margin-bottom:18px}.project-payment-table .payments-table__head,.project-payment-table .payments-table__row{grid-template-columns:1fr .8fr 1.2fr .8fr}.invoice-payment-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.invoice-payment-summary div{border:1px solid var(--color-border-soft);border-radius:8px;padding:12px}.invoice-payment-summary span{color:var(--color-muted);text-transform:uppercase;font-size:11px;font-weight:800;display:block}.invoice-payment-summary strong{color:var(--color-text);margin-top:4px;font-size:18px;display:block}.invoice-payment-table{border:1px solid var(--color-border-soft);border-radius:8px;overflow:hidden}.invoice-payment-table .payments-table__head,.invoice-payment-table .payments-table__row{min-height:54px;padding:0 12px}.invoice-payment-table .payments-table__head{background:#f8fafc;font-size:12px}.invoice-payment-table .payments-table__row{font-size:13px;font-weight:600}.admin-project-table-wrap{padding-bottom:4px;overflow-x:auto}.admin-table-search{border:1px solid var(--color-border);border-radius:14px;align-items:center;gap:10px;max-width:420px;min-height:44px;margin:18px 0;padding:0 14px;display:flex}.admin-table-search input{color:var(--color-text);background:0 0;border:0;outline:0;flex:1;font-size:14px;font-weight:700}.admin-table-search input::placeholder{color:var(--color-muted)}.admin-record-table{min-width:1160px}.admin-record-table--payments .admin-record-table__head,.admin-record-table--payments .admin-record-table__row{grid-template-columns:minmax(220px,1.15fr) minmax(220px,1.15fr) 1fr .7fr .7fr}.admin-record-table--invoices .admin-record-table__head,.admin-record-table--invoices .admin-record-table__row{grid-template-columns:1.15fr 1fr 1fr .8fr .7fr .75fr}.commission-layout{grid-template-columns:minmax(0,1fr) minmax(340px,.42fr);align-items:start;gap:24px;display:grid}.admin-record-table--commission{min-width:1620px}.admin-record-table--commission .admin-record-table__head,.admin-record-table--commission .admin-record-table__row{grid-template-columns:1.05fr 1.05fr .95fr .95fr .72fr .82fr .82fr .92fr .78fr}.admin-record-table__row.is-selected{background:#fff7f7}.admin-record-table__row small{color:var(--color-muted);margin-top:4px;font-size:12px;font-weight:700;display:block}.commission-percent-input,.commission-status-select{border:1px solid var(--color-border);width:100%;min-height:38px;color:var(--color-text);background:#fff;border-radius:8px;padding:0 10px;font-size:14px;font-weight:800}.commission-percent-input{max-width:90px}.commission-action-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.commission-action-cell .table-action-button{min-height:34px;padding:0 10px}.commission-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.commission-payload-panel{gap:18px;display:grid;overflow:hidden}.commission-payload-panel .panel__header{margin-bottom:0}.commission-payload-panel h3{color:var(--color-text);margin:0;font-size:14px}.commission-payload-panel pre{border:1px solid var(--color-border-soft);color:#f8fafc;white-space:pre-wrap;word-break:break-word;background:#111827;border-radius:8px;max-height:340px;margin:0;padding:14px;font-size:12px;line-height:1.5;overflow:auto}.commission-payload-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.commission-payload-summary div{border:1px solid var(--color-border-soft);border-radius:8px;gap:5px;padding:12px;display:grid}.commission-payload-summary span{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:800}.commission-payload-summary strong{color:var(--color-text)}@media (width<=1180px){.commission-layout{grid-template-columns:1fr}}.project-comments-panel{gap:20px;display:grid}.project-comments-list{gap:12px;display:grid}.project-comment{border:1px solid var(--color-border-soft);background:#f7f7f7;border-radius:8px;justify-self:start;max-width:min(680px,100%);padding:12px 14px}.project-comment--own{text-align:right;background:#fff2f2;border-color:#ffd0d0;justify-self:end}.project-comment div{color:var(--color-muted);font-size:12px;font-weight:700}.project-comment strong{color:var(--color-text)}.project-comment p{color:#333;margin:8px 0 0;line-height:1.5}.admin-record-table--projects .admin-record-table__head,.admin-record-table--projects .admin-record-table__row{grid-template-columns:1.15fr 1fr .95fr .9fr .95fr .75fr .68fr}.admin-record-table--quotes .admin-record-table__head,.admin-record-table--quotes .admin-record-table__row{grid-template-columns:1.25fr 1fr .75fr .8fr .65fr .55fr}.admin-quote-line-table .admin-project-stage-table__head,.admin-quote-line-table .admin-project-stage-table__row{grid-template-columns:1.7fr .45fr .65fr .65fr}.admin-record-table__head,.admin-record-table__row{grid-template-columns:1.2fr 1fr 1fr 1fr .7fr;align-items:center;gap:18px;display:grid}.admin-record-table__head{border-bottom:1px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;padding:0 0 14px;font-size:13px;font-weight:800}.admin-record-table__row{border-bottom:1px solid var(--color-border-soft);color:#444;padding:18px 0;font-size:14px}.admin-record-table__row strong{color:var(--color-text)}.admin-empty-row{border-bottom:1px solid var(--color-border-soft);color:var(--color-muted);padding:20px 0}.select-files-btn input{display:none}.login-shell{background:linear-gradient(110deg,#f7f7f7 0%,#fff 55%,#ffecec 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--color-border);background:#fff;border-radius:8px;gap:26px;width:min(460px,100%);padding:34px;display:grid;box-shadow:0 18px 40px #0000001f}.login-brand{justify-content:center;align-items:center;display:flex}.login-brand__image{object-fit:contain;width:min(220px,100%);height:auto;display:block}.login-panel h1{color:var(--color-text);margin:0 0 8px;font-size:28px}.login-panel p{color:var(--color-muted);margin:0}.login-form{gap:4px;display:grid}.login-form .ant-input-affix-wrapper{border:1px solid var(--color-border);border-radius:8px;min-height:44px;padding:0 12px}.login-form .ant-input{font:inherit}.login-form .ant-input-password-icon{color:var(--color-text)}.login-button{width:100%;margin-top:8px}.login-feedback{color:var(--color-danger-deep);font-size:14px;font-weight:700}.reset-panel{width:min(520px,100%)}.reset-mode-toggle{border:1px solid var(--color-border);background:#f7f7f7;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.reset-mode-toggle button{color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:38px;font-weight:800}.reset-mode-toggle button.is-active{color:var(--color-text);background:#fff;box-shadow:0 4px 14px #00000014}.reset-back-link{color:var(--color-danger-deep);justify-self:center;font-size:14px;font-weight:800;text-decoration:none}.reset-success-message{color:var(--color-text);margin:0;font-weight:700}
