*{box-sizing:border-box}body{color:#172033;background:#f4f7fb;margin:0;font-family:Arial,Noto Sans Thai,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.layout{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#14213d;flex-direction:column;padding:22px;display:flex}.brand{margin-bottom:26px;font-size:20px;font-weight:800}.nav{gap:8px;display:grid}.nav a{color:#d9e2f1;border-radius:10px;padding:11px 12px}.nav a:hover{color:#fff;background:#24365d}.logout-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #52617d;border-radius:10px;width:100%;margin-top:24px;padding:11px 12px}.logout-button:hover{background:#24365d}.topbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.grid{gap:16px;display:grid}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid #e3e8f0;border-radius:16px;padding:18px;box-shadow:0 5px 18px #14213d0d}.metric{margin-top:8px;font-size:30px;font-weight:800}.btn{color:#fff;cursor:pointer;background:#1f6feb;border:0;border-radius:10px;padding:10px 14px}.btn.secondary{color:#24365d;background:#e9eef8}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid #e7ebf2;padding:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:6px;display:grid}.field input,.field select,.field textarea{background:#fff;border:1px solid #ccd4e0;border-radius:10px;padding:10px}.login-page{background:#fff;grid-template-columns:minmax(0,1.08fr) minmax(460px,.92fr);min-height:100svh;display:grid}.password-change-page{background:linear-gradient(145deg,#edf4ff,#f8fafc);place-items:center;min-height:100svh;padding:24px;display:grid}.password-change-card{background:#fff;border:1px solid #d8e3f0;border-radius:22px;gap:18px;width:min(520px,100%);padding:34px;display:grid;box-shadow:0 24px 70px #183d6c21}.password-change-card header small{color:#b17c25;letter-spacing:.14em;font-weight:900}.password-change-card h1{margin:5px 0;font-size:32px}.password-change-card header p{color:#6b788d;margin:0}.password-change-card .field{gap:7px}.password-change-card .field input{min-height:48px}.password-change-card .field small{color:#7c899b;font-size:11px}.password-change-card>button{min-height:48px}.login-visual{isolation:isolate;color:#fff;background:linear-gradient(145deg,#111c35 0%,#193a68 58%,#1b65a5 100%);align-items:center;padding:clamp(42px,7vw,110px);display:flex;position:relative;overflow:hidden}.login-visual:before,.login-visual:after{content:"";z-index:-1;border-radius:999px;position:absolute}.login-visual:before{background:#369ce83b;width:520px;height:520px;top:-200px;right:-210px}.login-visual:after{background:#ffb84d29;width:320px;height:320px;bottom:-140px;left:-150px}.login-visual-content{z-index:1;max-width:680px;position:relative}.login-product-mark{letter-spacing:.08em;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:10px;padding:9px 14px;font-size:13px;font-weight:800;display:inline-flex}.login-visual h1{letter-spacing:-.04em;margin:30px 0 18px;font-size:clamp(40px,5vw,72px);line-height:1.13}.login-visual p{color:#d4e2f4;max-width:570px;margin:0;font-size:clamp(17px,1.5vw,21px);line-height:1.7}.login-feature-row{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.login-feature-row span{color:#e8f0fa;background:#ffffff17;border-radius:9px;padding:9px 13px;font-size:14px}.login-building-art{color:#ffffff14;position:absolute;bottom:7%;right:5%;transform:rotate(-4deg)}.login-panel{background:linear-gradient(150deg,#fff 0%,#f7f9fd 100%);place-items:center;padding:40px;display:grid}.login-card{width:min(460px,100%);padding:12px}.login-mobile-brand{display:none}.login-kicker{color:#1f6feb;margin-bottom:10px;font-size:14px;font-weight:800;display:inline-block}.login-heading h2{letter-spacing:-.03em;margin:0;font-size:42px;line-height:1.2}.login-heading p{color:#6c7890;margin:10px 0 0;line-height:1.6}.login-field{color:#35425a;gap:9px;margin-bottom:20px;font-weight:700;display:grid}.login-input-wrap{color:#8290a7;background:#fff;border:1px solid #d7deea;border-radius:14px;align-items:center;gap:12px;height:58px;padding:0 16px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 5px 20px #1830570a}.login-input-wrap:focus-within{border-color:#3678e5;box-shadow:0 0 0 4px #3678e51f}.login-input-wrap input{color:#172033;background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;font-weight:500}.password-toggle{color:#77849a;cursor:pointer;background:0 0;border:0;place-items:center;padding:5px;display:grid}.login-error{color:#b3261e;background:#fff2f2;border:1px solid #ffd1d1;border-radius:11px;margin:-4px 0 18px;padding:12px 14px;font-size:14px}.login-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563d8,#367ff0);border:0;border-radius:14px;width:100%;height:58px;font-weight:800;transition:transform .2s,box-shadow .2s;box-shadow:0 13px 28px #2563d83d}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 34px #2563d84d}.login-submit:disabled{cursor:wait;opacity:.7}.login-help{text-align:center;color:#8a95a8;margin:22px 0 0;font-size:13px}@media (max-width:900px){.layout{grid-template-columns:1fr}.sidebar{display:none}.cards{grid-template-columns:repeat(2,1fr)}.login-page{background:linear-gradient(160deg,#eef5ff,#f8fbff);grid-template-columns:1fr}.login-visual{display:none}.login-panel{background:0 0;min-height:100svh;padding:28px 20px}.login-card{background:#ffffffeb;border:1px solid #d2ddedd9;border-radius:24px;padding:30px;box-shadow:0 24px 70px #1f488124}.login-mobile-brand{color:#1a4d96;letter-spacing:.06em;align-items:center;gap:9px;margin-bottom:34px;font-size:13px;font-weight:900;display:flex}.login-heading h2{font-size:36px}}@media (max-width:600px){.content{padding:16px}.cards,.form-grid{grid-template-columns:1fr}.login-panel{padding:18px 14px}.login-card{padding:26px 20px}.login-heading{margin-bottom:28px}.login-heading h2{font-size:32px}.login-input-wrap,.login-submit{height:54px}}.brand{align-items:center;gap:10px;display:flex}.brand-logo{background:#ffffff1f;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.brand-logo img{object-fit:contain;border-radius:10px;width:100%;height:100%;padding:4px}.nav a,.settings-link,.logout-button{align-items:center;gap:9px;display:flex}.sidebar-bottom{margin-top:auto}.settings-link{color:#d9e2f1;border-radius:10px;margin-top:24px;padding:11px 12px}.settings-link:hover{color:#fff;background:#24365d}.login-product-mark img,.login-mobile-brand img{object-fit:contain;border-radius:6px;width:27px;height:27px}.company-settings-card{background:#fff;border:1px solid #e0e6ef;border-radius:20px;max-width:1080px;margin:0 auto;padding:28px;box-shadow:0 10px 32px #14213d0f}.settings-heading{border-bottom:1px solid #e5e9f0;align-items:center;gap:16px;padding-bottom:22px;display:flex}.settings-heading h2{margin:0 0 5px;font-size:24px}.settings-heading p{color:#718096;margin:0}.settings-icon{color:#1f6feb;background:#eaf2ff;border-radius:15px;flex:none;place-items:center;width:52px;height:52px;display:grid}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px;display:grid}.settings-wide{grid-column:1/-1}.settings-grid .field span{color:#43506a;font-weight:700}.settings-grid .field input,.settings-grid .field textarea{min-height:48px;padding:12px 14px}.logo-url-field{color:#8290a7;border:1px solid #ccd4e0;border-radius:10px;align-items:center;gap:10px;padding-left:14px;display:flex}.logo-url-field input{outline:0;flex:1;border:0!important;padding-left:0!important}.company-logo-preview{color:#6b7890;border:1px dashed #ccd6e5;border-radius:14px;align-items:center;gap:18px;margin-top:20px;padding:14px 16px;display:flex}.company-logo-preview img{object-fit:contain;width:78px;height:58px}.settings-actions{justify-content:flex-end;margin-top:24px;display:flex}.settings-save{min-width:210px;min-height:48px}.settings-save:disabled{opacity:.65}.settings-loading{text-align:center;color:#748198;padding:46px}.settings-message{border-radius:11px;align-items:center;gap:8px;margin-top:18px;padding:12px 14px;display:flex}.settings-message.success{color:#167445;background:#eaf9f0}.settings-message.error{color:#b3261e;background:#fff0f0}@media (max-width:700px){.company-settings-card{padding:20px 16px}.settings-grid{grid-template-columns:1fr}.settings-wide{grid-column:auto}.settings-heading{align-items:flex-start}.settings-actions .btn{width:100%}}.logo-upload-row{background:#f8faff;border:1px dashed #b9c7da;border-radius:14px;align-items:center;gap:14px;padding:15px;display:flex}.logo-upload-button{color:#1d62c7;cursor:pointer;background:#e8f1ff;border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 18px;font-weight:800;display:inline-flex}.logo-upload-button:hover{background:#dceaff}.logo-upload-button.disabled{cursor:wait;opacity:.65}.logo-upload-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.logo-upload-help{color:#526078;gap:3px;display:grid}.logo-upload-help small{color:#8994a7}.logo-clear-button{color:#b3261e;cursor:pointer;background:#fff;border:1px solid #f1c8c8;border-radius:9px;margin-left:auto;padding:9px 12px}.logo-url-details{color:#6c7890;margin-top:10px}.logo-url-details summary{cursor:pointer;font-size:13px}.logo-url-details .logo-url-field{background:#fff;margin-top:10px}@media (max-width:700px){.logo-upload-row{flex-direction:column;align-items:stretch}.logo-upload-button{width:100%}.logo-clear-button{margin-left:0}.logo-upload-help{text-align:center}}.settings-heading{gap:12px;padding-bottom:14px}.settings-heading h2{font-size:22px}.settings-icon{border-radius:12px;width:44px;height:44px}.settings-grid .field{gap:5px}.settings-grid .field input{min-height:42px;padding:9px 12px}.settings-grid .field textarea{min-height:68px;padding:9px 12px}.logo-upload-row{gap:12px;padding:10px 12px}.logo-upload-button{min-height:42px;padding:0 15px}.logo-url-details{margin-top:6px}.company-logo-preview{margin-top:12px;padding:9px 12px}.company-logo-preview img{width:64px;height:44px}.settings-message{margin-top:12px}.settings-save{min-height:44px}@media (max-width:700px){.company-settings-card{padding:16px 14px}.settings-grid{gap:11px}.settings-heading p{font-size:14px}}.company-settings-content{padding:12px 16px}.company-settings-content .company-settings-card{width:100%;max-width:none;margin:0}@media (max-width:700px){.company-settings-content{padding:8px}.company-settings-content .company-settings-card{border-radius:15px}}:root{--navy:#101c34;--navy-2:#172744;--ink:#172033;--muted:#748096;--line:#e2e7ef;--surface:#fff;--canvas:#f3f5f8;--gold:#c89b47;--gold-soft:#f7f0e2;--blue:#2868d8;--shadow:0 14px 38px #111f3912}body{background:var(--canvas);color:var(--ink)}.layout{background:var(--canvas);grid-template-columns:264px minmax(0,1fr)}.sidebar-layer{min-width:0}.sidebar{overscroll-behavior:contain;background:linear-gradient(#101c34 0%,#14223d 70%,#0d172b 100%);height:100dvh;padding:24px 18px;position:sticky;top:0;overflow:hidden auto;box-shadow:10px 0 35px #0f1c3414}.brand>span:last-child{gap:3px;min-width:0;display:grid}.brand b{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.015em;font-size:15px;overflow:hidden}.brand small{color:#8999b4;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.brand-logo{color:#e8c77d;background:linear-gradient(145deg,#ffffff26,#ffffff0f);border:1px solid #ffffff1f;width:44px;height:44px}.nav-caption{color:#697c9d;letter-spacing:.14em;text-transform:uppercase;margin:0 12px 10px;font-size:10px;font-weight:800;display:block}.nav a{color:#aebbd0;border:1px solid #0000;min-height:43px;padding:10px 12px;font-size:14px;font-weight:650;transition:all .18s}.nav a:hover{background:#ffffff0f}.nav a.active,.settings-link.active{color:#fff;background:linear-gradient(90deg,#c89b4736,#c89b4712);border-color:#debe772b;box-shadow:inset 3px 0 #d2ab62}.nav-project-group{gap:4px;display:grid}.nav-project-head{border:1px solid #0000;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.nav-project-head>a{min-width:0;box-shadow:none!important;background:0 0!important;border:0!important}.nav-project-head>button{color:#9fb0ca;cursor:pointer;background:0 0;border:0;place-items:center;width:34px;height:34px;margin-right:4px;display:grid}.nav-project-head>button svg{transition:transform .18s}.nav-project-group.open .nav-project-head>button svg{transform:rotate(180deg)}.nav-project-head.active{background:linear-gradient(90deg,#c89b4736,#c89b4712);border-color:#debe772b;box-shadow:inset 3px 0 #d2ab62}.nav-project-head.active>a{color:#fff}.nav-project-submenu{border-left:1px solid #aebbd033;gap:2px;margin-left:17px;padding-left:11px;display:grid}.nav-project-submenu a{min-height:36px;padding-block:7px;font-size:12px}.sidebar-bottom{width:100%;margin-top:14px;padding-bottom:8px}.settings-link,.logout-button{color:#aebbd0;min-height:42px;margin-top:6px;padding:10px 12px;font-size:14px}.logout-button{text-align:left;border:0}.content{min-width:0;padding:25px clamp(18px,2.3vw,38px) 38px}.topbar h1{letter-spacing:-.03em;margin:2px 0 0;font-size:clamp(26px,2.4vw,38px);line-height:1.2}.page-eyebrow,.section-kicker{color:var(--gold);letter-spacing:.16em;font-size:10px;font-weight:900}.luxury-card,.card,.company-settings-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff5;border-radius:18px}.section-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;display:flex}.section-header h2,.luxury-card h3{letter-spacing:-.02em;margin:4px 0 3px}.section-header p,.luxury-card p{color:var(--muted);margin:0}.premium-btn{background:linear-gradient(135deg,#172b4f,#244778);border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 17px;font-weight:750;display:inline-flex;box-shadow:0 8px 18px #19345b2e}.premium-btn:hover{transform:translateY(-1px)}.premium-btn:disabled{opacity:.65}.ghost-btn{color:#49566c;background:#fff;border:1px solid #d9e0ea;justify-content:center;align-items:center;gap:8px;min-height:44px;display:inline-flex}.mobile-menu-button,.mobile-menu-close,.sidebar-backdrop{display:none}.dashboard-hero{color:#fff;background:linear-gradient(128deg,#152641 0%,#1e406d 68%,#28588b 100%);border-radius:22px;justify-content:space-between;align-items:center;min-height:230px;padding:clamp(26px,4vw,48px);display:flex;position:relative;overflow:hidden;box-shadow:0 18px 42px #1229492e}.dashboard-hero:after{content:"";border:1px solid #ffffff21;border-radius:50%;width:330px;height:330px;position:absolute;top:-150px;right:-90px;box-shadow:0 0 0 55px #ffffff06,0 0 0 110px #ffffff05}.dashboard-hero>div:first-child{z-index:1;position:relative}.dashboard-hero span{color:#e1bd73;letter-spacing:.16em;font-size:11px;font-weight:900}.dashboard-hero h2{letter-spacing:-.04em;max-width:620px;margin:13px 0 8px;font-size:clamp(29px,3.4vw,49px)}.dashboard-hero p{color:#c8d6e9;margin:0;font-size:16px}.hero-mark{z-index:1;color:#ffffff29;margin-right:4%;position:relative}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:17px;align-items:flex-start;gap:14px;min-height:145px;padding:20px;display:flex;box-shadow:0 8px 24px #1722370b}.stat-icon{border-radius:13px;flex:none;place-items:center;width:44px;height:44px;display:grid}.stat-icon.blue{color:#2b68ce;background:#eaf1ff}.stat-icon.green{color:#198558;background:#e9f7f0}.stat-icon.orange{color:#d56b27;background:#fff1e7}.stat-icon.gold{background:var(--gold-soft);color:#9a7026}.stat-copy{display:grid}.stat-copy small{color:#69768c;font-weight:700}.stat-copy strong{color:#18243a;margin:5px 0 3px;font-size:30px;line-height:1}.stat-copy span{color:#98a1b0;font-size:12px}.dashboard-summary{justify-content:space-between;align-items:center;padding:25px 30px;display:flex}.progress-ring{--progress:0deg;background:conic-gradient(var(--gold) var(--progress), #edf0f4 0);border-radius:50%;flex:none;place-items:center;width:106px;height:106px;display:grid;position:relative}.progress-ring:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:9px}.progress-ring span{z-index:1;text-align:center;font-size:20px;font-weight:850;display:grid;position:relative}.progress-ring small{color:#8893a4;font-size:10px;font-weight:600}.table-scroll{margin-top:8px;overflow-x:auto}.project-table{min-width:980px}.project-search-panel{background:#f7f9fc;border:1px solid #dce6f1;border-radius:15px;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(145px,.75fr)) auto auto;align-items:end;gap:10px;margin:0 0 10px;padding:15px;display:grid}.project-search-panel label{gap:6px;min-width:0;display:grid}.project-search-panel label>span{color:#65748a;font-size:11px;font-weight:800}.project-search-panel input,.project-search-panel select{color:#17233a;background:#fff;border:1px solid #d3deeb;border-radius:11px;outline:0;width:100%;min-width:0;height:42px;padding:0 12px}.project-search-panel input:focus,.project-search-panel select:focus{border-color:#5b8aca;box-shadow:0 0 0 3px #4376b81c}.project-search-keyword>div{position:relative}.project-search-keyword>div svg{color:#78879a;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.project-search-keyword input{padding-left:38px}.project-search-submit,.project-search-reset{white-space:nowrap;height:42px;padding-inline:15px}.project-search-submit{color:#fff;background:#214977;border-color:#285488}.project-search-reset{color:#536277;background:#fff;border-color:#d6e0eb}.project-search-result{color:#65748a;align-items:center;gap:8px;padding:2px 2px 10px;font-size:12px;display:flex}.project-search-result b{color:#183f6c}.project-search-result small{border-left:1px solid #d5deea;padding-left:8px}.project-date-range{color:#51637a;align-items:center;gap:8px;display:inline-flex}.project-date-range>svg{color:#a8792a}.project-date-range>span{gap:2px;display:grid}.project-date-range b{font-size:12px}.project-date-range small{color:#8a96a7;font-size:10px}@media (max-width:1200px){.project-search-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.project-search-keyword{grid-column:span 3}}@media (max-width:650px){.project-search-panel{grid-template-columns:1fr 1fr;padding:12px}.project-search-keyword,.project-search-panel label:nth-of-type(4){grid-column:span 2}.project-search-submit,.project-search-reset{width:100%}}.project-table th{color:#818da1;text-transform:uppercase;letter-spacing:.06em;padding:15px 13px;font-size:11px;font-weight:850}.project-table td{padding:15px 13px}.project-table tr:last-child td{border-bottom:0}.project-name{align-items:center;gap:12px;display:flex}.project-name span:last-child{gap:3px;display:grid}.project-name small{color:#8a95a7;font-size:12px}.project-avatar{color:#2c5f9f;background:#edf3fb;border-radius:11px;flex:none;place-items:center;width:39px;height:39px;display:grid}.status-badge{color:#667287;background:#eef1f5;border-radius:999px;align-items:center;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.status-badge.active{color:#147c50;background:#e8f7ef}.status-badge.planning{color:#2865c4;background:#eaf1ff}.status-badge.paused{color:#b86222;background:#fff2e5}.status-badge.completed{color:#536173;background:#edf0f3}.table-progress{align-items:center;gap:10px;display:flex}.table-progress>span{background:#e9edf2;border-radius:99px;width:110px;height:6px;overflow:hidden}.table-progress i{border-radius:inherit;background:linear-gradient(90deg,#c29643,#e2bd70);height:100%;display:block}.table-progress b{font-size:12px}.row-action{color:#53637a;border:1px solid #e0e5ec;border-radius:10px;place-items:center;width:35px;height:35px;display:grid}.empty-state{text-align:center;color:#77849a;place-items:center;padding:70px 20px;display:grid}.empty-state h3{color:#27344a;margin:13px 0 3px}.empty-state .btn{margin-top:18px}.project-form{max-width:1050px;margin:0 auto;padding:26px}.heading-with-icon{align-items:center;gap:14px;display:flex}.form-section{border-bottom:1px solid #e7eaf0;padding:22px 0}.form-section h3{margin:0 0 16px;font-size:15px}.project-form .field{gap:7px}.project-form .field>span{color:#536078;font-size:13px;font-weight:750}.project-form .field input,.project-form .field select{border-color:#d9e0e9;min-height:48px;padding:11px 13px}.project-form .field input:focus,.project-form .field select:focus{border-color:#315f9c;outline:0;box-shadow:0 0 0 3px #315f9c1a}.project-form .client-picker{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px 14px}.project-form .client-picker>span,.project-form .client-picker>small{grid-column:1/-1}.project-form .client-picker>select,.project-form .client-picker>input{width:100%;min-width:0}.project-form .client-picker>small{color:#7b8799;min-height:18px;font-size:11px}.project-location-field{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:10px;padding-top:22px;display:flex}.project-detail-hero{color:#fff;background:linear-gradient(125deg,#15253f,#244a77);border-radius:20px;justify-content:space-between;align-items:center;gap:20px;min-height:180px;padding:30px 34px;display:flex;box-shadow:0 16px 38px #12274529}.project-detail-hero h2{letter-spacing:-.035em;margin:12px 0 5px;font-size:clamp(26px,3vw,42px)}.project-detail-hero p{color:#c8d5e5;margin:0}.project-detail-hero .status-badge{color:#edce8b;background:#e2bd7029}.hero-progress{text-align:right;display:grid}.hero-progress strong{color:#e6c477;font-size:43px}.hero-progress span{color:#c2cede;font-size:12px}.detail-grid{grid-template-columns:1.7fr .8fr;gap:16px;margin:18px 0;display:grid}.fact-grid{grid-template-columns:repeat(2,1fr);gap:13px;margin-top:18px;display:grid}.fact-grid>div{color:#b0873e;background:#f7f8fa;border-radius:12px;align-items:flex-start;gap:11px;padding:14px;display:flex}.fact-grid span{color:#758096;gap:4px;font-size:11px;display:grid}.fact-grid small{color:#243047;font-size:14px;font-weight:700}.progress-panel{position:relative}.large-progress{background:#eceff3;border-radius:99px;height:9px;margin:25px 0 12px;overflow:hidden}.large-progress i{border-radius:inherit;background:linear-gradient(90deg,#b78937,#dfbc72);height:100%;display:block}.progress-panel>strong{font-size:29px}.progress-panel>p{margin-top:5px;font-size:12px}.module-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.module-card{border:1px solid var(--line);background:#fff;border-radius:15px;align-items:center;gap:13px;padding:19px;display:flex;box-shadow:0 7px 20px #1722370a}.module-card>span{background:var(--gold-soft);color:#9d742b;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.module-card h3{margin:0 0 3px;font-size:14px}.module-card p{color:#8a94a5;margin:0;font-size:11px}@media (max-width:1100px){.stat-grid,.module-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}}@media (max-width:900px){.layout{display:block}.sidebar-layer{z-index:100;visibility:hidden;pointer-events:none;position:fixed;inset:0}.sidebar-layer.open{visibility:visible;pointer-events:auto}.sidebar-layer .sidebar{z-index:2;width:min(290px,84vw);height:100%;transition:transform .23s;display:flex;position:absolute;top:0;left:0;transform:translate(-104%)}.sidebar-layer.open .sidebar{transform:translate(0)}.sidebar-backdrop{opacity:0;background:#08101e94;border:0;transition:opacity .23s;display:block;position:absolute;inset:0}.sidebar-layer.open .sidebar-backdrop{opacity:1}.mobile-menu-close{z-index:3;color:#fff;background:#213451;border:1px solid #ffffff29;border-radius:9px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:16px;left:min(246px,84vw - 44px)}.mobile-menu-button{z-index:50;color:#253653;background:#fffffff0;border:1px solid #dce2eb;border-radius:13px;place-items:center;width:44px;height:44px;display:grid;position:fixed;top:14px;right:16px;box-shadow:0 7px 22px #1420331f}.content{padding:20px 16px 32px}.topbar{min-height:56px;padding-right:56px}.dashboard-hero{min-height:210px}.hero-mark{display:none}}@media (max-width:650px){.stat-grid,.module-grid{grid-template-columns:1fr}.stat-card{min-height:116px}.dashboard-hero{min-height:200px;padding:26px 22px}.dashboard-hero h2{font-size:29px}.dashboard-summary{gap:16px;padding:20px}.progress-ring{width:88px;height:88px}.table-card,.project-form{padding:18px 14px}.section-header{flex-direction:column;align-items:flex-start}.section-header .btn{width:100%}.project-form .form-grid,.project-form .client-picker{grid-template-columns:1fr}.project-form .client-picker>span,.project-form .client-picker>small{grid-column:1}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.project-detail-hero{align-items:flex-start;padding:24px 20px}.hero-progress strong{font-size:34px}.fact-grid{grid-template-columns:1fr}.company-settings-content{padding:8px}.topbar h1{font-size:27px}}.content.company-settings-content{padding:12px 16px}.company-settings-card .settings-save{background:linear-gradient(135deg,#172b4f,#244778);box-shadow:0 8px 18px #19345b2e}.dashboard-lower-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:16px;display:grid}.recent-projects>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.recent-projects>header h3{margin:3px 0}.recent-projects>header>a,.summary-link{color:#8e6b2e;align-items:center;gap:5px;font-size:12px;font-weight:800;display:inline-flex}.recent-project-list{display:grid}.recent-project-row{border-bottom:1px solid #edf0f4;grid-template-columns:38px minmax(0,1fr) auto 90px 22px;align-items:center;gap:11px;padding:13px 0;display:grid}.recent-project-row:last-child{border-bottom:0}.recent-project-icon{color:#315f98;background:#edf3fa;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.recent-project-name{gap:3px;min-width:0;display:grid}.recent-project-name b,.recent-project-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-project-name b{font-size:13px}.recent-project-name small{color:#8994a5;font-size:10px}.recent-progress{text-align:right;gap:4px;font-size:11px;display:grid}.recent-progress i{background:#e7ebef;border-radius:99px;width:76px;height:4px;overflow:hidden}.recent-progress em{border-radius:inherit;background:var(--gold);height:100%;display:block}.recent-arrow{color:#9aa4b2}.mini-empty{text-align:center;color:#8a95a7;padding:45px}.dashboard-lower-grid .dashboard-summary{flex-direction:column;align-items:flex-start;display:flex}.dashboard-lower-grid .progress-ring{align-self:center;margin:18px 0}.dashboard-lower-grid .summary-link{margin-top:auto}@media (max-width:1100px){.dashboard-lower-grid{grid-template-columns:1fr}.dashboard-lower-grid .dashboard-summary{grid-template-columns:1fr auto;align-items:center;display:grid}.dashboard-lower-grid .progress-ring{grid-area:1/2/3;margin:0 0 0 18px}.dashboard-lower-grid .summary-link{margin-top:14px}}@media (max-width:650px){.recent-project-row{grid-template-columns:36px minmax(0,1fr) auto}.recent-project-row .status-badge,.recent-progress{display:none}.recent-projects{padding:18px 14px}.dashboard-lower-grid .dashboard-summary{display:flex}.dashboard-lower-grid .progress-ring{margin:18px auto}}.executive-hero{min-height:210px}.executive-hero-score{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff29;border-radius:18px;gap:5px;min-width:220px;padding:22px 25px;display:grid;position:relative}.executive-hero-score small{color:#dfbd77;letter-spacing:.14em;font-size:9px;font-weight:900}.executive-hero-score strong{color:#fff;font-size:39px;line-height:1}.executive-hero-score span{color:#c9d7e8;letter-spacing:0;font-size:11px}.executive-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.executive-report-toolbar{background:#fff;border:1px solid #dfe6ee;border-radius:13px;justify-content:space-between;align-items:center;gap:15px;margin:14px 0 -4px;padding:11px 13px;display:flex}.executive-report-toolbar>span{color:#7d899a;font-size:10px}.executive-report-toolbar>div{gap:8px;display:flex}.executive-report-toolbar button{color:#244d7b;min-height:38px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd7e5;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:11px;font-weight:800;display:inline-flex}.executive-report-toolbar button.primary{color:#fff;background:#244d7b;border-color:#244d7b}.executive-report-toolbar button.csv{color:#176a4b;background:#eef9f4;border-color:#27825c}.executive-kpi{min-height:122px}.executive-kpi .stat-copy strong{font-size:clamp(21px,2vw,29px)}.executive-main-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:16px;margin-bottom:16px;display:grid}.executive-finance-card,.executive-alert-card,.executive-project-card{padding:22px}.executive-finance-card>header,.executive-alert-card>header,.executive-project-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:15px;display:flex}.executive-finance-card h3,.executive-alert-card h3,.executive-project-card h3{margin:3px 0}.executive-finance-card>header>b{color:#14794d;background:#e8f7ef;border-radius:99px;padding:7px 10px;font-size:11px}.executive-bars{gap:15px;padding-top:18px;display:grid}.executive-bar{grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:6px 12px;display:grid}.executive-bar>div{grid-column:1/-1;justify-content:space-between;gap:12px;font-size:11px;display:flex}.executive-bar>div span{color:#6d798b;font-weight:750}.executive-bar>div b{color:#192a42}.executive-bar>i{background:#edf1f5;border-radius:99px;height:8px;overflow:hidden}.executive-bar>i>em{border-radius:inherit;height:100%;display:block}.executive-bar>i>.contract{background:#254f82}.executive-bar>i>.boq{background:#c39a49}.executive-bar>i>.cost{background:#df7e4b}.executive-bar>i>.billed{background:#4b87c7}.executive-bar>i>.paid{background:#2c9b67}.executive-bar>small{color:#7c8797;text-align:right;font-size:10px}.executive-alert-card>header>svg{color:#d97838}.executive-alert-list{padding-top:5px;display:grid}.executive-alert-list>a{border-bottom:1px solid #edf0f4;grid-template-columns:10px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:15px 2px;display:grid}.executive-alert-list>a:last-child{border-bottom:0}.executive-alert-list div{gap:3px;display:grid}.executive-alert-list b{color:#1a2a42;font-size:12px}.executive-alert-list small{color:#8993a2;font-size:10px}.executive-alert-list svg{color:#9aa5b4}.alert-dot{border-radius:50%;width:9px;height:9px}.alert-dot.danger{background:#d94d42;box-shadow:0 0 0 4px #fdecea}.alert-dot.warning{background:#db8a37;box-shadow:0 0 0 4px #fff2e5}.alert-dot.info{background:#3f7fc4;box-shadow:0 0 0 4px #e9f2fc}.executive-project-card>header p{color:#8a95a5;margin:3px 0 0;font-size:11px}.executive-project-card>header>a{color:#8e6b2e;white-space:nowrap;align-items:center;gap:5px;font-size:11px;font-weight:800;display:inline-flex}.executive-project-table-wrap{margin-top:8px;overflow-x:auto}.executive-project-table{border-collapse:collapse;width:100%;min-width:1120px;font-size:11px}.executive-project-table th{color:#6f7c90;text-align:right;border-bottom:1px solid #dce4ed;padding:12px 10px;font-size:10px}.executive-project-table th:first-child,.executive-project-table td:first-child{text-align:left}.executive-project-table td{color:#23334b;text-align:right;white-space:nowrap;border-bottom:1px solid #edf0f4;padding:12px 10px}.executive-project-table td:first-child{min-width:230px}.executive-project-table td:first-child a{gap:3px;display:grid}.executive-project-table td:first-child small{color:#8b95a5;font-size:9px}.executive-project-table .negative{color:#bd3f35;font-weight:800}.executive-progress{gap:4px;min-width:88px;display:grid}.executive-progress i{background:#e8edf2;border-radius:99px;height:5px;overflow:hidden}.executive-progress em{border-radius:inherit;background:linear-gradient(90deg,#b98c3d,#d4ae61);height:100%;display:block}.executive-risk{border-radius:99px;justify-content:center;min-width:62px;padding:6px 8px;font-size:9px;font-weight:850;display:inline-flex}.executive-risk.ok{color:#14794d;background:#e8f7ef}.executive-risk.risk{color:#b83a30;background:#ffebe8}@media (max-width:1100px){.executive-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-main-grid{grid-template-columns:1fr}}@media (max-width:700px){.executive-hero{flex-direction:column;align-items:flex-start;gap:22px}.executive-hero-score{width:100%;min-width:0}.executive-kpi-grid{grid-template-columns:1fr}.executive-kpi{min-height:105px}.executive-finance-card,.executive-alert-card,.executive-project-card{padding:17px 13px}.executive-report-toolbar{flex-direction:column;align-items:stretch}.executive-report-toolbar>div{grid-template-columns:repeat(3,1fr);display:grid}}@media print{@page{size:A4 landscape;margin:10mm}body{background:#fff!important}.sidebar-layer,.mobile-menu-button,.no-print{display:none!important}.layout,.content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important}.dashboard-hero{min-height:115px;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:20px 24px}.dashboard-hero h2{font-size:28px}.dashboard-hero p{font-size:12px}.executive-hero-score{padding:14px 18px}.executive-hero-score strong{font-size:28px}.executive-kpi-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.executive-kpi{min-height:84px;box-shadow:none;break-inside:avoid;padding:12px}.executive-kpi .stat-copy strong{font-size:19px}.executive-main-grid{grid-template-columns:1.5fr .8fr;gap:9px;margin-bottom:9px}.executive-finance-card,.executive-alert-card,.executive-project-card{box-shadow:none;break-inside:avoid;padding:13px}.executive-bars{gap:8px;padding-top:10px}.executive-alert-list>a{padding:9px 2px}.executive-project-table{min-width:0;font-size:8px}.executive-project-table th,.executive-project-table td{padding:7px 5px}.executive-project-table td:first-child{min-width:150px}.executive-project-table-wrap{overflow:visible}}.project-hero-side{align-items:center;gap:24px;display:flex}.project-actions{gap:8px;display:flex}.project-actions .btn{white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-height:42px;display:inline-flex}.project-edit-button{color:#fff;background:#ffffff1a;border:1px solid #ffffff38}.project-edit-button:hover{background:#ffffff2b}.project-delete-button{color:#ffd7d7;background:#b2262621;border:1px solid #ffc1c133}.project-delete-button:hover{background:#b2262640}.confirm-overlay{z-index:250;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirm-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#070f1dad;border:0;position:absolute;inset:0}.confirm-dialog{background:#fff;border:1px solid #e4e8ef;border-radius:20px;width:min(440px,100%);padding:28px;animation:.18s ease-out confirm-in;position:relative;box-shadow:0 28px 80px #0813274d}.confirm-icon{color:#bd2929;background:#fff0f0;border-radius:14px;place-items:center;width:50px;height:50px;margin-bottom:16px;display:grid}.confirm-dialog h2{margin:0 0 8px;font-size:22px}.confirm-dialog p{color:#6d788c;margin:0;line-height:1.65}.confirm-actions{grid-template-columns:1fr 1.35fr;gap:9px;margin-top:22px;display:grid}.danger-btn{color:#fff;background:linear-gradient(135deg,#b72727,#da3a3a);border:0;justify-content:center;align-items:center;font-weight:750;display:inline-flex}.danger-btn:disabled{opacity:.6}.progress-field{grid-column:1/-1}.progress-field>span{justify-content:space-between;display:flex}.progress-field input[type=range]{min-height:34px;box-shadow:none;accent-color:#b88a37;border:0;padding:0}.progress-field input[type=range]:focus{box-shadow:none}.progress-field b{color:#956b24;font-size:16px}@keyframes confirm-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (max-width:900px){.project-detail-hero{flex-direction:column;align-items:flex-start}.project-hero-side{justify-content:space-between;width:100%}.hero-progress{text-align:left}}@media (max-width:650px){.project-hero-side{flex-direction:column;align-items:stretch;gap:14px}.project-actions{grid-template-columns:1fr 1fr;display:grid}.project-actions .btn{padding:9px 8px;font-size:12px}.confirm-dialog{padding:22px 18px}.confirm-actions{grid-template-columns:1fr}.progress-field{grid-column:auto}}.module-card-link{cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative}.module-card-link:hover{border-color:#dbc694;transform:translateY(-2px);box-shadow:0 12px 28px #17223714}.module-open-arrow{color:#a17a35;margin-left:auto;font-size:25px;font-weight:400}.module-card-muted{opacity:.7}.period-page-head{color:#fff;background:linear-gradient(125deg,#142541,#244b78);border-radius:20px;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;padding:28px 30px;display:flex}.period-page-head a{color:#cbd6e5;align-items:center;margin-bottom:18px;font-size:12px;display:inline-flex}.period-page-head .section-kicker{display:block}.period-page-head h2{margin:7px 0 4px;font-size:clamp(24px,3vw,38px)}.period-page-head p{color:#c6d3e3;margin:0}.period-summary{gap:10px;display:flex}.period-summary>span{color:#cdd8e7;background:#ffffff12;border:1px solid #ffffff21;border-radius:13px;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;min-width:150px;padding:13px 15px;font-size:11px;display:grid}.period-summary strong{color:#ebcb86;grid-column:1/-1;font-size:21px}.period-form,.period-list{padding:23px}.period-form>header,.period-list>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:15px;display:flex}.period-form h3,.period-list h3{margin:4px 0 0}.period-cancel{color:#a04a4a;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;display:flex}.period-form-grid{grid-template-columns:100px minmax(220px,1.5fr) repeat(5,minmax(130px,1fr));align-items:end;gap:11px;margin-top:18px;display:grid}.period-form-grid .field>span{color:#606d83;font-size:11px;font-weight:750}.period-form-grid input,.period-form-grid select{background:#fff;border:1px solid #d7dee8;border-radius:10px;width:100%;min-height:45px;padding:9px 11px}.period-submit{min-height:45px}.period-list{margin-top:17px}.period-list>header>b{background:var(--gold-soft);color:#916a29;border-radius:999px;padding:7px 11px;font-size:11px}.period-rows{display:grid}.period-row{border-bottom:1px solid #e8ebf0;grid-template-columns:44px minmax(220px,1.5fr) minmax(135px,.6fr) minmax(180px,1fr) 78px;align-items:center;gap:14px;padding:16px 4px;display:grid}.period-row:last-child{border-bottom:0}.period-index{color:#27568e;background:#edf2f8;border-radius:11px;place-items:center;width:38px;height:38px;font-weight:850;display:grid}.period-main>div{align-items:center;gap:9px;display:flex}.period-main h4{margin:0;font-size:14px}.period-main p{color:#8994a5;align-items:center;gap:5px;margin:5px 0 0;font-size:11px;display:flex}.period-status{color:#687487;background:#eef1f5;border-radius:99px;padding:4px 7px;font-size:9px;font-weight:800}.period-status.working{color:#2863b8;background:#eaf2ff}.period-status.completed{color:#187a50;background:#e9f7f0}.period-status.overdue{color:#b44030;background:#fff0ed}.period-money{display:grid}.period-money small,.period-progress small{color:#8994a5;font-size:10px}.period-money strong{margin-top:3px;font-size:16px}.period-progress{gap:5px;display:grid}.period-progress>span{background:#e9edf2;border-radius:99px;height:6px;overflow:hidden}.period-progress i{border-radius:inherit;background:linear-gradient(90deg,#b88a38,#dfbd72);height:100%;display:block}.period-progress em{color:#909bad;font-size:9px;font-style:normal}.period-row-actions{justify-content:flex-end;gap:6px;display:flex}.period-row-actions button{color:#55657d;cursor:pointer;background:#fff;border:1px solid #dde3eb;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.period-row-actions button.delete{color:#b33a3a}.period-row-actions button:disabled{opacity:.5}@media (max-width:1250px){.period-form-grid{grid-template-columns:100px repeat(3,minmax(150px,1fr))}.period-name,.period-submit{grid-column:span 2}.period-row{grid-template-columns:44px minmax(190px,1.5fr) 130px minmax(160px,1fr) 78px}}@media (max-width:800px){.period-page-head{flex-direction:column;align-items:flex-start;padding:23px 20px}.period-summary{width:100%}.period-summary>span{flex:1;min-width:0}.period-form,.period-list{padding:18px 14px}.period-form-grid{grid-template-columns:1fr 1fr}.period-name,.period-submit{grid-column:span 1}.period-row{grid-template-columns:38px minmax(0,1fr) auto}.period-money{grid-column:2}.period-progress{grid-column:2/-1}.period-row-actions{grid-area:1/3}.period-main>div{flex-direction:column;align-items:flex-start;gap:5px}}@media (max-width:520px){.period-summary{flex-direction:column}.period-form-grid{grid-template-columns:1fr}.period-name,.period-submit{grid-column:auto}.period-form>header{align-items:flex-start}.period-row{gap:10px}.period-money strong{font-size:14px}}.module-portfolio-hero{color:#fff;background:linear-gradient(125deg,#142541,#244b78);border-radius:19px;align-items:center;gap:16px;margin-bottom:17px;padding:24px 28px;display:flex;box-shadow:0 14px 34px #12274524}.module-portfolio-hero>span{color:#e5c579;background:#e2be7424;border-radius:14px;flex:none;place-items:center;width:50px;height:50px;display:grid}.module-portfolio-hero small{color:#dfba6d;letter-spacing:.15em;font-size:9px;font-weight:900}.module-portfolio-hero h2{margin:3px 0;font-size:27px}.module-portfolio-hero p{color:#c8d5e4;margin:0;font-size:12px}.module-project-selector{padding:23px}.module-project-selector>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:15px;display:flex}.module-project-selector h3{margin:4px 0 0}.module-project-selector>header>b{background:var(--gold-soft);color:#916a29;border-radius:99px;padding:7px 11px;font-size:10px}.module-project-filters{margin-top:15px;margin-bottom:4px}.module-project-list{display:grid}.module-project-row{border-bottom:1px solid #e8ebf0;grid-template-columns:40px minmax(0,1fr) 150px 20px;align-items:center;gap:13px;padding:15px 3px;display:grid}.module-project-row:last-child{border-bottom:0}.module-project-row>span{color:#2d609c;background:#edf3fa;border-radius:11px;place-items:center;width:39px;height:39px;display:grid}.module-project-row>div:nth-child(2){gap:4px;min-width:0;display:grid}.module-project-row>div:nth-child(2)>b,.module-project-row>div:nth-child(2)>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.module-project-row>div:nth-child(2)>b{font-size:13px}.module-project-row>div:nth-child(2)>small{color:#8994a5;font-size:10px}.module-project-row>div:nth-child(3){align-items:center;gap:9px;display:flex}.module-project-row i{background:#e9edf2;border-radius:99px;width:105px;height:6px;overflow:hidden}.module-project-row em{border-radius:inherit;background:linear-gradient(90deg,#b88a38,#dfbd72);height:100%;display:block}.module-project-row>div:nth-child(3)>b{font-size:11px}.module-project-row>svg{color:#8995a6}@media (max-width:650px){.module-portfolio-hero{align-items:flex-start;padding:20px 17px}.module-project-selector{padding:17px 13px}.module-project-row{grid-template-columns:38px minmax(0,1fr) 18px}.module-project-row>div:nth-child(3){grid-column:2}.module-project-row>svg{grid-area:1/3}.module-project-selector>header{align-items:flex-start;gap:10px}.module-project-selector>header h3{font-size:16px}}.periods-portfolio-hero{color:#fff;background:linear-gradient(125deg,#13243f,#234d7c);border-radius:21px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:28px 32px;display:flex;box-shadow:0 16px 38px #12274526}.periods-portfolio-hero>div:first-child>span{color:#e4bf70;letter-spacing:.16em;font-size:10px;font-weight:900}.periods-portfolio-hero h2{letter-spacing:-.035em;margin:8px 0 5px;font-size:clamp(25px,3vw,39px)}.periods-portfolio-hero p{color:#c9d5e4;margin:0}.periods-portfolio-hero>div:last-child{gap:10px;display:flex}.periods-portfolio-hero>div:last-child>span{color:#ced8e6;background:#ffffff12;border:1px solid #ffffff21;border-radius:13px;grid-template-columns:auto 1fr;align-items:center;gap:5px 8px;min-width:155px;padding:13px 15px;font-size:11px;display:grid}.periods-portfolio-hero strong{color:#ebca83;grid-column:1/-1;font-size:20px}.portfolio-projects,.upcoming-periods{padding:23px}.portfolio-projects>header,.upcoming-periods>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:15px;display:flex}.portfolio-projects h3,.upcoming-periods h3{margin:4px 0 0}.portfolio-projects .premium-btn{background:linear-gradient(135deg,#17305a,#244c7e);align-items:center;gap:7px;display:inline-flex}.portfolio-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px;display:grid}.portfolio-project-card{background:#fff;border:1px solid #e1e6ee;border-radius:15px;grid-template-columns:44px minmax(0,1fr) auto 20px;align-items:center;gap:13px;padding:17px;transition:all .18s;display:grid}.portfolio-project-card:hover{border-color:#dbc694;transform:translateY(-2px);box-shadow:0 11px 28px #17223714}.portfolio-project-icon{color:#2c609e;background:#edf3fa;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.portfolio-project-card h4{margin:0 0 4px;font-size:14px}.portfolio-project-card p{color:#7b8799;margin:0 0 5px;font-size:11px}.portfolio-project-card small{color:#929cab;font-size:10px}.portfolio-project-value{text-align:right;display:grid}.portfolio-project-value strong{color:#243b61;margin:3px 0;font-size:16px}.portfolio-project-value em{color:#9b752f;font-size:10px;font-style:normal}.upcoming-periods{margin-top:17px}.upcoming-periods>header>b{background:var(--gold-soft);color:#906a29;border-radius:99px;padding:7px 11px;font-size:10px}.upcoming-period-row{border-bottom:1px solid #e8ebf0;grid-template-columns:95px minmax(220px,1fr) 150px 120px 18px;align-items:center;gap:13px;padding:15px 4px;display:grid}.upcoming-period-row:last-child{border-bottom:0}.upcoming-period-row>div{gap:4px;display:grid}.upcoming-period-row>div b{font-size:13px}.upcoming-period-row>div small{color:#8b96a7;font-size:10px}.upcoming-period-row>span:nth-child(3){color:#758197;align-items:center;gap:6px;font-size:11px;display:flex}.upcoming-period-row>strong{text-align:right;font-size:14px}@media (max-width:1000px){.periods-portfolio-hero{flex-direction:column;align-items:flex-start}.periods-portfolio-hero>div:last-child{width:100%}.periods-portfolio-hero>div:last-child>span{flex:1;min-width:0}.portfolio-project-grid{grid-template-columns:1fr}}@media (max-width:700px){.periods-portfolio-hero{padding:22px 18px}.portfolio-projects,.upcoming-periods{padding:18px 14px}.portfolio-project-card{grid-template-columns:40px minmax(0,1fr) 18px}.portfolio-project-value{text-align:left;grid-column:2}.upcoming-period-row{grid-template-columns:minmax(0,1fr) auto}.upcoming-period-row>.period-status,.upcoming-period-row>div,.upcoming-period-row>span:nth-child(3){grid-column:1}.upcoming-period-row>strong{grid-area:1/2}.portfolio-projects>header{flex-direction:column;align-items:flex-start}.portfolio-projects .premium-btn{justify-content:center;width:100%}}@media (max-width:470px){.periods-portfolio-hero>div:last-child{flex-direction:column}.portfolio-project-card{padding:14px}.portfolio-projects h3{font-size:17px}}.period-form-grid{grid-template-columns:90px minmax(180px,1fr) minmax(180px,1fr) minmax(145px,.8fr) minmax(145px,.8fr);grid-template-areas:"number name name amount due""planned actual state submit submit";gap:14px 12px}.period-number{grid-area:number}.period-name{grid-area:name}.period-amount{grid-area:amount}.period-due{grid-area:due}.period-planned{grid-area:planned}.period-actual{grid-area:actual}.period-state{grid-area:state}.period-submit{white-space:nowrap;grid-area:submit;justify-content:center;align-items:center;gap:7px;min-width:0;font-weight:800;display:inline-flex}@media (max-width:1100px){.period-form-grid{grid-template-columns:90px repeat(2,minmax(160px,1fr));grid-template-areas:"number name name""amount due planned""actual state submit"}}@media (max-width:700px){.period-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"number name""amount due""planned actual""state submit"}}@media (max-width:520px){.period-form-grid{grid-template-columns:1fr;grid-template-areas:"number""name""amount""due""planned""actual""state""submit"}.period-submit{width:100%;min-height:48px}}.module-card-link small{color:#98712c;letter-spacing:.03em;margin-top:7px;font-size:9px;font-weight:850;display:block}.record-page-head{color:#fff;background:linear-gradient(125deg,#142541,#244b78);border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon heading back";align-items:center;gap:15px;margin-bottom:17px;padding:23px 27px;display:grid}.record-page-head>a{color:#f2f6fb;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:13px;grid-area:back;align-self:start;align-items:center;gap:7px;min-height:42px;padding:0 15px;font-size:12px;font-weight:800;transition:all .18s;display:inline-flex;box-shadow:0 8px 22px #050f1e24}.record-page-head>a:hover{background:#ffffff2e;border-color:#ffffff7a;transform:translateY(-1px)}.record-page-head>span{color:#e2bf76;background:#e2be7424;border-radius:14px;grid-area:icon;place-items:center;width:48px;height:48px;display:grid}.record-page-head>div{grid-area:heading;min-width:0}.record-page-head small{color:#e0bd72;letter-spacing:.14em;font-size:9px;font-weight:900}.record-page-head h2{margin:3px 0;font-size:26px}.record-page-head p{color:#c8d4e3;margin:0;font-size:12px}.record-form,.record-list{padding:22px}.record-form-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:11px;display:grid}.record-form-grid .field span{color:#5f6d83;font-size:11px;font-weight:750}.record-form-grid input{border:1px solid #d8dfe8;border-radius:10px;width:100%;min-height:44px;padding:9px 11px}.record-form-grid .btn{min-height:44px}.record-list{margin-top:16px}.record-list>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.record-list>header h3{margin:0}.record-list>header b{background:var(--gold-soft);color:#916a29;border-radius:99px;padding:6px 10px;font-size:10px}.record-row{border-bottom:1px solid #e9ecf1;grid-template-columns:35px minmax(0,1fr) 36px;align-items:center;gap:12px;padding:14px 4px;display:grid}.record-row:last-child{border-bottom:0}.record-row>span{color:#295b96;background:#edf2f8;border-radius:9px;place-items:center;width:32px;height:32px;font-size:11px;font-weight:850;display:grid}.record-row>div{gap:4px;display:grid}.record-row small{color:#8894a6}.record-row>button{color:#b33a3a;cursor:pointer;background:#fff;border:1px solid #eddede;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.change-order-print{color:#285789;background:#fff;border:1px solid #cbd9e8;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.print-approval{color:#49617c;text-align:right;margin-top:22px;font-size:11px}@media (max-width:650px){.record-page-head{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon back""heading heading";align-items:flex-start;padding:20px 17px}.record-page-head>a{min-height:38px;padding-inline:12px}.record-form,.record-list{padding:17px 13px}.record-form-grid{grid-template-columns:1fr}.record-form-grid .btn{width:100%}}.record-form-grid input,.record-form-grid select{background:#fff;border:1px solid #d8dfe8;border-radius:10px;width:100%;min-height:44px;padding:9px 11px}.record-form-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:13px;display:flex}.record-form-head small{color:#9a7430;letter-spacing:.13em;font-size:9px;font-weight:900}.record-form-head h3{margin:3px 0 0}.record-form.editing{border-color:#d9bd7d;box-shadow:0 12px 30px #9d742b1c}.record-row{grid-template-columns:35px minmax(0,1fr) auto}.record-row-actions{gap:6px;display:flex}.record-row-actions button{color:#b33a3a;cursor:pointer;background:#fff;border:1px solid #eddede;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.record-row-actions button.edit{color:#315f96;border-color:#dce4ef}.boq-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.boq-summary>div{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;gap:7px;padding:20px 22px;display:grid}.boq-summary small{color:var(--muted);font-weight:750}.boq-summary b{color:#193b67;font-size:24px}.boq-summary .summary-source{background:#f4f8fe;border-color:#bfd2ee}.boq-summary .summary-detail{background:#f5fcf8;border-color:#bfe5d1}.boq-summary .summary-actual{background:#f2f9fe;border-color:#b9d9ef}.boq-summary .summary-actual b{color:#17658f}.boq-summary .summary-budget{background:#f3fcf7;border-color:#bfe5d1}.boq-summary .summary-budget b{color:#13784b}.boq-summary .summary-pending{background:#fffaf0;border-color:#ecd7a9}.boq-summary .summary-pending b{color:#9a6818}.boq-summary .summary-contract{background:#faf7ff;border-color:#d8c9ef}.boq-reconcile-guide{color:#65758b;background:#fff;border:1px solid #d9e3ef;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 11px;margin:-2px 0 16px;padding:12px 16px;display:flex}.boq-reconcile-guide>span:first-child{color:#315f96;background:#eaf1fb;border-radius:999px;padding:4px 9px;font-weight:800}.boq-reconcile-guide b{color:#223b5b}.boq-reconcile-guide small{color:#7a8799;flex-basis:100%}.billing-page-head{color:#fff;background:linear-gradient(135deg,#162f54,#27588a);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading actions";align-items:start;gap:18px;margin-bottom:18px;padding:24px;display:grid}.billing-overview-head{background:#fff;border:1px solid #d5e1ef;border-radius:17px;align-items:center;gap:15px;margin-bottom:18px;padding:22px;display:flex}.billing-overview-head>span{color:#2d659d;background:#e8f2fb;border-radius:13px;place-items:center;width:48px;height:48px;display:grid}.billing-overview-head small{color:#a87723;letter-spacing:.1em;font-weight:850}.billing-overview-head h2{margin:4px 0}.billing-overview-head p{color:var(--muted);margin:0}.billing-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.billing-project-card{color:inherit;background:#fff;border:1px solid #dce5ef;border-radius:16px;overflow:hidden}.billing-project-card>header{background:#f5f8fc;justify-content:space-between;gap:15px;padding:18px;display:flex}.billing-project-card h3{margin:4px 0}.billing-project-card p{color:var(--muted);margin:0}.billing-project-metrics{grid-template-columns:1fr 1fr;gap:10px;padding:16px 18px;display:grid}.billing-project-metrics span{color:var(--muted);gap:3px;display:grid}.billing-project-metrics b{color:#173f6d}.billing-project-empty{color:#986619;background:#fffaf0;padding:18px}@media (max-width:800px){.billing-project-grid{grid-template-columns:1fr}}.project-finance-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.project-finance-strip>div{background:#fff;border:1px solid #dce5ef;border-radius:13px;gap:6px;min-width:0;padding:15px;display:grid}.project-finance-strip small{color:var(--muted);font-weight:750}.project-finance-strip b{color:#193f6c;text-overflow:ellipsis;font-size:18px;overflow:hidden}@media (max-width:1100px){.project-finance-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:650px){.project-finance-strip{grid-template-columns:1fr 1fr}}.billing-page-head>a{color:#f2f6fb;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:13px;grid-area:actions;align-items:center;gap:7px;width:fit-content;min-height:42px;padding:0 15px;font-weight:800;display:inline-flex;box-shadow:0 8px 22px #050f1e24}.billing-page-heading{grid-area:heading;min-width:0}.billing-page-head small{color:#e0b562;letter-spacing:.12em;font-weight:850}.billing-page-head h2{margin:5px 0;font-size:30px}.billing-page-head p{color:#dce7f4;margin:0}@media (max-width:650px){.billing-page-head{grid-template-columns:minmax(0,1fr) auto;padding:20px 17px}.billing-page-head>a{min-height:38px;padding-inline:12px}}.billing-empty{color:#8c611c;background:#fffaf0;border:1px solid #ecd7a9;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;padding:28px;font-weight:750;display:flex}.billing-empty>div{gap:4px;display:grid}.billing-empty>div b{font-size:18px}.billing-empty>div span{color:#9a722f}.billing-empty nav{flex-wrap:wrap;gap:9px;display:flex}.billing-empty nav a{color:#805816;background:#fff;border:1px solid #d9bd80;border-radius:10px;padding:10px 14px;text-decoration:none}.billing-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.billing-summary>div{background:#fff;border:1px solid #dce4ee;border-radius:15px;gap:7px;padding:18px;display:grid}.billing-summary small{color:var(--muted);font-weight:750}.billing-summary b{color:#183d68;font-size:23px}.billing-flow-note{color:#315f8e;background:#eef5fc;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:13px 16px;font-weight:750;display:flex}.billing-document-tabs{background:#fff;border:1px solid #dce5ef;border-radius:14px;gap:8px;margin:0 0 16px;padding:6px;display:flex;overflow-x:auto}.billing-document-tabs button{color:#64748b;min-width:max-content;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-weight:800;display:inline-flex}.billing-document-tabs button.active{color:#fff;background:#173f6d}.billing-document-tabs button span{color:#315f8e;background:#e8eff7;border-radius:999px;min-width:24px;padding:2px 7px;font-size:12px}.billing-document-tabs button.active span{color:#fff;background:#ffffff2e}.billing-period-controls{grid-template-columns:minmax(0,1fr) minmax(190px,.3fr);gap:10px;margin-bottom:14px;display:grid}.billing-period-picker{background:#fff;border:1px solid #dce5ef;border-radius:14px;gap:7px;padding:16px 18px;display:grid}.billing-period-picker span{color:#52657c;font-weight:800}.billing-period-picker select{color:#183d68;width:100%;font:inherit;background:#f8fbff;border:1px solid #cbd9e8;border-radius:10px;padding:12px 14px;font-weight:750}.billing-vat-picker select{color:#805816;background:#fffbf2}.billing-period-list{gap:14px;display:grid}.billing-period-card{background:#fff;border:1px solid #dbe4ef;border-radius:17px;overflow:hidden}.billing-period-card>header{background:#f3f7fc;justify-content:space-between;gap:16px;padding:18px 20px;display:flex}.billing-period-card>header h3{margin:4px 0 0}.billing-period-card>header>b{color:#173f6d;font-size:21px}.billing-period-card>header>b small{text-align:right;color:var(--muted);font-size:11px;display:block}.billing-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.billing-stage-grid>section{border-right:1px solid #e2e8f0;min-width:0;padding:20px;position:relative}.billing-stage-grid>section:last-child{border-right:0}.billing-stage-grid>section.done{background:#f4fcf7}.billing-step{color:#2c5d90;background:#dfeaf7;border-radius:50%;place-items:center;width:29px;height:29px;font-weight:850;display:grid}.billing-stage-grid h4{margin:10px 0 7px}.billing-stage-grid p{color:var(--muted)}.billing-stage-grid form{gap:8px;display:grid}.billing-stage-grid input,.billing-stage-grid select,.billing-stage-grid button{background:#fff;border:1px solid #d5dfeb;border-radius:9px;width:100%;min-width:0;padding:10px 11px}.billing-stage-grid button{color:#126a48;cursor:pointer;background:#ecfaf3;border-color:#9fc9b6;font-weight:800}.billing-stage-grid button:disabled{opacity:.45;cursor:not-allowed}.billing-payment-history{background:#fff;border:1px solid #dce4ee;border-radius:16px;margin-top:0;padding:20px}.billing-tab-empty{color:var(--muted);text-align:center;border-top:1px solid #e7edf4;padding:34px 12px!important;display:block!important}.billing-payment-history>div{border-top:1px solid #e7edf4;grid-template-columns:1fr 2fr 1fr 1fr auto;gap:12px;padding:11px 0;display:grid}.billing-payment-history strong{text-align:right;color:#13784b}.billing-print-link{color:#2d6196;border:1px solid #bdd1e6;border-radius:8px;align-items:center;width:fit-content;padding:7px 10px;font-weight:750;display:inline-flex}.billing-deduction-summary{color:#705a37;background:#fff8ed;border-radius:9px;gap:3px;margin:8px 0;padding:9px 10px;display:grid}.billing-deduction-summary small{font-size:10px}.billing-deduction-summary b{color:#174a78;margin-top:3px}.billing-tax-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.billing-tax-actions form{display:block!important}.billing-tax-actions button{color:#245487!important;background:#fff!important;border:1px solid #b8cde2!important;min-height:32px!important;padding:0 9px!important;font-size:10px!important}.financial-print-total .deduction{color:#9a3f35}.financial-print-total .net{color:#174d7f;border-top:2px solid #204a77;margin-top:4px;font-size:1.15em}.financial-print{color:#172238;background:#eef2f6;min-height:100vh;padding:28px}.financial-print .no-print{justify-content:space-between;max-width:900px;margin:0 auto 14px;display:flex}.financial-print article{background:#fff;width:min(210mm,100%);min-height:297mm;margin:auto;padding:44px}.financial-print-brand{gap:14px;max-width:55%;display:flex}.financial-print-brand img{object-fit:contain;width:58px;height:58px}.financial-print-brand b{margin:5px 0 2px;display:block}.financial-print-brand p{color:#647187;margin:2px 0;font-size:11px;line-height:1.35}.financial-print-client{gap:3px;display:grid}.financial-print-client>small{color:#a87723;letter-spacing:.08em;font-weight:850}.financial-print-client h2,.financial-print-client p{margin:2px 0}.financial-print article>header{border-bottom:2px solid #1d4775;justify-content:space-between;gap:30px;padding-bottom:24px;display:flex}.financial-print h1{margin:5px 0;font-size:34px}.financial-print header small{color:#a87723;letter-spacing:.12em;font-weight:850}.financial-print dl{margin:0}.financial-print dl div{justify-content:space-between;gap:25px;display:flex}.financial-print dt{color:#6c788b}.financial-print dd{margin:0;font-weight:750}.financial-print article>section{padding:22px 0}.financial-print table{border-collapse:collapse;width:100%}.financial-print th,.financial-print td{text-align:left;border:1px solid #dbe3ec;padding:14px}.financial-print th:last-child,.financial-print td:last-child{text-align:right}.financial-print-total{width:380px;margin:20px 0 20px auto!important}.financial-print-total div{border-bottom:1px solid #e1e7ef;padding:8px 0}.financial-print-total div:last-child{color:#174f82;font-size:19px}.financial-print footer{justify-content:space-between;gap:30px;margin-top:70px;display:flex}@media print{.financial-print{background:#fff;padding:0}.financial-print .no-print{display:none}.financial-print article{max-width:none;padding:20px}}@media (max-width:900px){.billing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-stage-grid{grid-template-columns:1fr}.billing-stage-grid>section{border-bottom:1px solid #e2e8f0;border-right:0}}@media (max-width:600px){.billing-summary,.billing-period-controls,.billing-payment-history>div{grid-template-columns:1fr}.billing-payment-history strong{text-align:left}}.boq-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.boq-sheet-tabs{scrollbar-width:thin;border-bottom:1px solid #d7e1ed;gap:8px;margin:16px 0 0;padding:9px 9px 0;display:flex;overflow-x:auto}.boq-sheet-tabs button{color:#52647a;text-align:left;cursor:pointer;white-space:nowrap;background:#f4f7fb;border:1px solid #d7e1ed;border-bottom:0;border-radius:12px 12px 0 0;gap:2px;min-width:145px;padding:11px 16px 10px;display:grid}.boq-sheet-tabs button b{font-size:12px}.boq-sheet-tabs button small{color:#8190a3;font-size:10px}.boq-sheet-tabs button.active{color:#fff;background:linear-gradient(135deg,#285da8,#214b7c);border-color:#285da8;margin-bottom:-1px;position:relative;box-shadow:0 8px 18px #2352892e}.boq-sheet-tabs button.active small{color:#dceaff}.boq-sheet-actions{background:linear-gradient(135deg,#f8fbff,#eef5ff);border:1px solid #dbe5f0;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin:12px 0 16px;padding:14px 16px;display:flex}.boq-sheet-actions>div{gap:2px;min-width:0;display:grid}.boq-sheet-actions span,.boq-sheet-actions small{color:#748399;font-size:10px}.boq-sheet-actions b{color:#183d68;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.boq-sheet-actions button{color:#fff;min-height:42px;font:inherit;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#285da8,#214b7c);border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:11px;font-weight:850;display:inline-flex;box-shadow:0 8px 18px #2352892e}.boq-sheet-actions button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.boq-comparison-modal{z-index:1200;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c1b2fad;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.boq-comparison-dialog{background:#f5f8fc;border:1px solid #ffffff61;border-radius:20px;width:min(1600px,97vw);max-height:94vh;overflow:auto;box-shadow:0 28px 80px #07142657}.boq-comparison-modal-head{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-bottom:1px solid #d9e3ee;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex;position:sticky;top:0}.boq-comparison-modal-head>div{align-items:baseline;gap:8px;min-width:0;display:flex}.boq-comparison-modal-head span{color:#75849a;font-size:10px}.boq-comparison-modal-head b{color:#193e6c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.boq-comparison-modal-head button{color:#43566f;font:inherit;cursor:pointer;background:#fff;border:1px solid #d3deea;border-radius:9px;align-items:center;gap:6px;padding:8px 11px;font-size:10px;font-weight:800;display:inline-flex}.boq-comparison-dialog .boq-table-card{box-shadow:none;border:0;border-radius:0;margin:0}.boq-import-panel{gap:16px;margin:16px 0;padding:22px;display:grid}.boq-import-panel>header{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.boq-import-panel>header>span{color:#28588f;background:#eaf2ff;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.boq-import-panel h3{margin:2px 0}.boq-import-panel p{margin:0}.boq-import-panel .boq-manage-link{align-items:center;gap:6px;display:inline-flex}.boq-import-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.boq-clear-draft{color:#b33a31;min-height:37px;font:inherit;cursor:pointer;background:#fff7f5;border:1px solid #efb8b3;border-radius:9px;align-items:center;gap:6px;padding:0 11px;font-size:11px;font-weight:850;display:inline-flex}.boq-clear-draft:disabled{opacity:.45;cursor:not-allowed}.boq-import-controls{grid-template-columns:minmax(280px,1fr) auto auto;gap:10px;display:grid}.boq-import-controls>label{color:#38597e;cursor:pointer;background:#f7faff;border:1px dashed #9eb5d1;border-radius:12px;align-items:center;gap:10px;min-width:0;min-height:46px;padding:0 14px;font-weight:800;display:flex}.boq-import-controls>label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.boq-import-controls input{display:none}.boq-import-controls button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.boq-import-notice{color:#176a41;background:#e8f8ef;border-radius:10px;padding:11px 14px;font-weight:800}.boq-import-notice.error{color:#ad3327;background:#fff0ed}.boq-import-preview{border:1px solid #dce5ef;border-radius:12px;overflow:auto}.boq-import-preview table{border-collapse:collapse;width:100%;min-width:1100px}.boq-import-preview th,.boq-import-preview td{text-align:left;vertical-align:top;border-bottom:1px solid #e7edf4;padding:10px 12px}.boq-import-preview th{color:#52647b;background:#f5f8fc;font-size:11px}.boq-import-preview td{font-size:12px}.boq-import-preview td small{color:#7b899a;margin-top:3px;display:block}.boq-import-preview tr.invalid td{background:#fff7f5}.boq-import-preview tr.invalid td:last-child{color:#bd3328;font-weight:700}.boq-import-preview tr.excluded{opacity:.45}.boq-import-sheets{background:#f8fbff;border:1px solid #dce5ef;border-radius:14px;margin:14px 0;padding:14px}.boq-import-sheets-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.boq-import-sheets-head button{color:#285da8;cursor:pointer;background:0 0;border:0;font-weight:750}.boq-import-sheets>div:last-child{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;display:grid}.boq-import-sheets label{cursor:pointer;background:#fff;border:1px solid #d8e3ef;border-radius:11px;align-items:center;gap:10px;padding:10px 12px;display:flex}.boq-import-sheets input{accent-color:#285da8;width:17px;height:17px}.boq-import-sheets label span,.boq-import-sheets label small{display:block}.boq-import-sheets label small{color:#718096;margin-top:2px}@media (max-width:800px){.boq-import-panel>header{grid-template-columns:42px 1fr}.boq-import-panel>header>.boq-import-head-actions{grid-column:1/-1;justify-content:flex-start}.boq-import-controls{grid-template-columns:1fr 1fr}.boq-import-controls>label{grid-column:1/-1}}.boq-wide{grid-column:1/-1}.boq-table-card>header,.boq-history>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.boq-table-card h3,.boq-history h3{margin:4px 0}.boq-table-card>header>b,.boq-history>header>b{background:var(--gold-soft);color:#916a29;border-radius:99px;padding:6px 10px;font-size:10px}.boq-history article{border-bottom:1px solid #e9ecf1;grid-template-columns:minmax(0,1fr) auto 36px;align-items:center;gap:13px;padding:13px 2px;display:grid}.boq-history-filters{grid-template-columns:repeat(2,minmax(180px,240px)) auto;align-items:end;gap:10px;padding:14px 2px 6px;display:grid}.boq-history-filters label{gap:5px;display:grid}.boq-history-filters label span{color:#66758a;font-size:10px;font-weight:800}.boq-history-filters input,.boq-history-filters button{color:#243b5a;min-height:40px;font:inherit;background:#fff;border:1px solid #cfdae7;border-radius:10px;padding:0 12px}.boq-history-filters button{cursor:pointer;font-weight:800}.boq-history-filters button:disabled{cursor:default;opacity:.5}.boq-history-empty{text-align:center;color:#7b889a;padding:30px 12px}.client-document-panel{border-top:1px solid #dde5ef;gap:12px;margin-top:18px;padding-top:17px;display:grid}.client-document-panel>div:first-child{gap:3px;display:grid}.client-document-panel>div:first-child small{color:#748298;line-height:1.5}.client-document-panel form{grid-template-columns:minmax(150px,.7fr) minmax(220px,1fr) auto;gap:9px;display:grid}.client-document-panel form select,.client-document-panel form input[type=file]{color:#243b5a;min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #ccd8e7;border-radius:11px;padding:9px 11px}.client-document-list{gap:8px;display:grid}.client-document-list>a{color:#28588f;background:#f7faff;border:1px solid #d8e3ef;border-radius:11px;align-items:center;gap:9px;padding:10px 12px;font-weight:800;display:flex}.client-document-list>a>span{gap:2px;min-width:0;margin-right:auto;display:grid}.client-document-list>a small{color:#748298;text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.client-picker{align-content:start}.client-picker small{color:#738197;line-height:1.45}.client-picker input[readonly]{color:#526176;background:#f3f6fa}@media (max-width:700px){.client-document-panel form{grid-template-columns:1fr}.boq-history-filters{grid-template-columns:1fr 1fr}.boq-history-filters button{grid-column:1/-1}}.boq-history article>div{gap:4px;display:grid}.boq-history article small{color:#8994a5}.boq-history article>button{color:#b33a3a;cursor:pointer;background:#fff;border:1px solid #eddede;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.actual-material-panel{background:#f8fbfe;border:1px solid #d9e4ef;border-radius:16px;min-width:0;max-width:100%;padding:16px;overflow:hidden}.actual-work-panel{background:#f5fcf8;border:1px solid #c6dfd2;border-radius:16px;min-width:0;padding:16px}.actual-work-panel>header{margin-bottom:14px}.actual-work-panel>header div{gap:3px;display:grid}.actual-work-panel>header small{color:var(--muted)}.actual-work-grid{grid-template-columns:.8fr 1fr .7fr 1.5fr;gap:12px;display:grid}.actual-material-panel>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.actual-material-panel>header div{gap:3px;display:grid}.actual-material-panel>header small{color:var(--muted)}.actual-material-panel>header button{color:#193b67;cursor:pointer;background:#fff;border:1px solid #bfd2e5;border-radius:10px;align-items:center;gap:6px;padding:9px 12px;font-weight:750;display:inline-flex}.actual-material-list{gap:10px;min-width:0;max-width:100%;display:grid}.actual-material-row{box-sizing:border-box;background:#fff;border:1px solid #e0e8f1;border-radius:13px;grid-template-columns:30px repeat(6,minmax(0,1fr));grid-template-areas:"index name name name source source source"".warehouse warehouse warehouse warehouse warehouse warehouse"".status status status status status status"".quantity quantity unit unit cost cost"".note note note note note note";align-items:end;gap:9px;width:100%;min-width:0;max-width:100%;padding:11px;display:grid}.actual-material-row>*{min-width:0}.actual-material-index{grid-area:index}.actual-material-name{grid-area:name}.actual-material-status{grid-area:status}.actual-material-source{grid-area:source}.actual-material-warehouse{grid-area:warehouse}.actual-material-quantity{grid-area:quantity}.actual-material-unit{grid-area:unit}.actual-material-cost{grid-area:cost}.actual-material-note{grid-area:note}.actual-material-remove{grid-area:remove}.actual-material-plan{align-self:center;gap:5px;display:grid}.actual-material-plan>span{color:var(--muted);font-size:11px;font-weight:700}.actual-material-plan>strong{color:#14233a;font-size:14px;line-height:1.35}.actual-material-status{border:1px solid;border-radius:10px;flex-wrap:wrap;gap:7px 16px;padding:9px 11px;font-size:11px;display:flex}.actual-material-status span{color:var(--muted)}.actual-material-status b{color:inherit}.actual-material-status.is-within{color:#13784b;background:#f1fbf6;border-color:#bfe5d1}.actual-material-status.is-over{color:#b9342a;background:#fff3f1;border-color:#efc0ba}.actual-material-empty{color:var(--muted);text-align:center;background:#fff;border:1px dashed #bfd2e5;border-radius:12px;padding:22px 14px}.actual-material-row .field{gap:5px;min-width:0}.actual-material-row .field span{font-size:11px}.actual-material-row input,.actual-material-row select{width:100%;min-width:0;max-width:100%;min-height:42px;padding:9px 10px}.actual-material-warehouse{align-self:stretch}.actual-material-warehouse select{color:#14233a;min-height:46px;padding-right:38px;font-weight:700}.actual-material-warehouse-detail{color:#607086;background:#f2fbf6;border:1px solid #c7e7d6;border-radius:10px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center;gap:8px 16px;margin-top:2px;padding:9px 12px;display:grid;font-size:11px!important}.actual-material-warehouse-detail span{text-overflow:ellipsis;white-space:nowrap;gap:7px;min-width:0;display:flex;overflow:hidden}.actual-material-warehouse-detail b{color:#193b67}.actual-material-warehouse-detail strong{color:#13784b;white-space:nowrap}.actual-material-index{color:#193b67;background:#e7f0f9;border-radius:9px;align-self:center;place-items:center;width:28px;height:28px;display:grid}.actual-material-remove{color:#b83d32;cursor:pointer;background:#fff;border:1px solid #efd8d5;border-radius:10px;place-items:center;width:36px;height:42px;display:grid}.actual-material-panel>footer{color:var(--muted);justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.actual-material-panel>footer b{color:#13784b}.actual-submit{grid-column:1/-1}.actual-material-summary{font-weight:750;color:#13784b!important}.usage-materials{gap:4px;margin-top:7px;display:grid}.usage-materials>span{color:#176a4c;background:#eef8f3;border-radius:8px;gap:3px;padding:6px 8px;font-size:11px;display:grid}.usage-materials>span>b{color:#176a4c;font-size:11px}.usage-materials>span>small{color:#526d62;font-size:10px;font-weight:700}@media (max-width:680px){.actual-material-panel,.actual-work-panel{padding:12px}.actual-work-grid{grid-template-columns:1fr}.actual-material-panel>header{flex-wrap:wrap;align-items:flex-start}.actual-material-row{grid-template-columns:28px minmax(0,1fr);grid-template-areas:"index name"".status"".source"".warehouse"".quantity"".unit"".cost"".note"}.actual-material-status{grid-template-columns:1fr;display:grid}.actual-material-warehouse-detail{grid-template-columns:1fr}}.boq-summary .summary-ok{background:#f3fcf7;border-color:#bfe5d1}.boq-summary .summary-ok b{color:#13784b}.boq-summary .summary-over{background:#fff6f5;border-color:#f0c4bf}.boq-summary .summary-over b{color:#bb382d}.record-form-head>b{color:#46617f;background:#eef3fa;border-radius:99px;padding:6px 9px;font-size:10px}.boq-master-picker{background:#f7fafe;border:1px solid #d8e3ef;border-radius:13px;margin-bottom:15px;padding:13px}.boq-master-picker .field>span{color:#42536c;align-items:center;gap:5px;font-size:11px;font-weight:800;display:flex}.boq-master-picker input{background:#fff;border:1px solid #cbd7e6;border-radius:10px;width:100%;min-height:46px;margin-top:6px;padding:10px 12px}.boq-master-picker>small{color:#77869c;margin-top:7px;font-size:10px;display:block}.boq-form-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:10px;display:grid}.boq-form-actions .btn{width:100%}.boq-compare-list{gap:12px;margin-top:16px;display:grid}.boq-compare-row{background:#fff;border:1px solid #dbe3ed;border-left:5px solid #2a9a65;border-radius:15px;overflow:hidden}.boq-compare-row.over{background:snow;border-color:#efc4bf #efc4bf #efc4bf #d84b3e}.boq-item-head{border-bottom:1px solid #e7ebf1;grid-template-columns:35px minmax(0,1fr) 34px;align-items:center;gap:11px;padding:14px 16px 11px;display:grid}.boq-item-head>span{color:#285d99;background:#edf3fa;border-radius:9px;place-items:center;width:32px;height:32px;font-size:11px;font-weight:900;display:grid}.boq-item-head h4{margin:0 0 4px;font-size:14px}.boq-item-head small{color:#7e8b9e;font-size:10px}.boq-item-head button{color:#b33a3a;cursor:pointer;background:#fff;border:1px solid #eddede;border-radius:9px;place-items:center;width:33px;height:33px;display:grid}.boq-compare-sides{grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:stretch;display:grid}.boq-side{gap:5px;padding:17px 20px;display:grid}.boq-side small{letter-spacing:.13em;font-size:10px;font-weight:900}.boq-side strong{font-size:22px}.boq-side span{color:#6e7b8f;font-size:11px}.boq-side.plan{color:#214f87;background:#f3f7fd}.boq-side.actual{text-align:right;color:#13784b;background:#f2fbf6}.over .boq-side.actual{color:#bb382d;background:#fff0ee}.boq-status{text-align:center;color:#168052;border-left:1px solid #e3e8ef;border-right:1px solid #e3e8ef;place-content:center;display:grid}.boq-status b{font-size:11px}.boq-status span{font-size:16px;font-weight:900}.over .boq-status{color:#c23c30}.boq-variance{color:#14784b;background:#edfaf3;justify-content:space-between;align-items:center;gap:12px;padding:9px 16px;font-size:11px;display:flex}.over .boq-variance{color:#b7352a;background:#ffedeb}@media (max-width:850px){.boq-form-grid,.boq-summary{grid-template-columns:1fr}.boq-summary>div{padding:16px}.boq-reconcile-guide{align-items:flex-start}.boq-table-card,.boq-history{padding:17px 13px}}@media (max-width:700px){.boq-form-actions{grid-template-columns:1fr}.boq-compare-sides{grid-template-columns:1fr 82px 1fr}.boq-side{padding:14px 12px}.boq-side strong{font-size:17px}.boq-status b{font-size:9px}.boq-item-head{padding:12px 11px}.boq-item-head h4{font-size:13px}}@media (max-width:520px){.boq-history article{grid-template-columns:minmax(0,1fr) 34px}.boq-history article>strong{grid-column:1}.boq-summary b{font-size:20px}}@media (max-width:440px){.boq-compare-sides{grid-template-columns:1fr 1fr}.boq-status{border:0;border-top:1px solid #e3e8ef;grid-area:2/1/auto/-1;padding:7px}.boq-status b,.boq-status span{margin:0 3px;display:inline}.boq-variance{flex-direction:column;align-items:flex-start;gap:3px}.boq-item-head{grid-template-columns:30px minmax(0,1fr) 32px}}.boq-table-wrap{overflow:auto}.boq-table{min-width:900px}.boq-table td small{color:#8994a5;margin-top:3px;display:block}.boq-table td>button{color:#b33a3a;cursor:pointer;background:#fff;border:1px solid #eddede;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.boq-type{color:#315f96;background:#edf3fa;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800}.boq-progress{align-items:center;gap:8px;display:flex}.boq-progress i{background:#e8edf3;border-radius:99px;width:85px;height:6px;overflow:hidden}.boq-progress em{border-radius:inherit;background:linear-gradient(90deg,#b88a38,#dfbd72);height:100%;display:block}.boq-progress span{font-size:10px}.boq-table tr.over-boq{color:#9f3025;background:#fff3f1}.boq-table-card>header p{color:#7d899a;margin:4px 0 0;font-size:11px}.boq-report-head-actions{align-items:center;gap:8px;display:flex}.boq-report-head-actions>b{background:var(--gold-soft);color:#8e6b2e;white-space:nowrap;border-radius:99px;padding:7px 10px;font-size:10px}.boq-report-head-actions>button{color:#28578c;min-height:37px;font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd8e7;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:10px;font-weight:850;display:inline-flex}.boq-report-head-actions>button.primary{color:#fff;background:#244e80;border-color:#244e80}.boq-report-print-meta,.boq-print-report{display:none}@media (max-width:700px){.boq-report-head-actions{flex-wrap:wrap;width:100%}.boq-report-head-actions>b{margin-right:auto}.boq-sheet-actions{flex-direction:column;align-items:stretch}.boq-comparison-modal{padding:0}.boq-comparison-dialog{border-radius:0;width:100vw;max-height:100vh}.boq-comparison-modal-head>div{flex-direction:column;align-items:flex-start;gap:1px}}@media print{@page boq-report{size:A4 landscape;margin:8mm}body.boq-report-print .sidebar-layer,body.boq-report-print .mobile-menu-button,body.boq-report-print .no-print{display:none!important}body.boq-report-print .layout,body.boq-report-print .content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important}body.boq-report-print .content>:not(.boq-comparison-modal){display:none!important}body.boq-report-print .boq-comparison-modal{background:0 0!important;padding:0!important;display:block!important;position:static!important}body.boq-report-print .boq-comparison-dialog{width:100%!important;max-height:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;overflow:visible!important}body.boq-report-print .boq-table-card{width:100%!important;box-shadow:none!important;border:0!important;padding:0!important;display:block!important}body.boq-report-print .boq-table-card>header{padding:0 0 8px!important}body.boq-report-print .boq-table-card>header h3{font-size:20px}body.boq-report-print .boq-report-print-meta{color:#6f7c8d;font-size:9px;display:block}body.boq-report-print .boq-table-wrap{display:none!important}body.boq-report-print .boq-print-report{page:boq-report;display:block!important}body.boq-report-print .boq-print-report table{border-collapse:collapse;table-layout:fixed;color:#17263d;width:100%;font-size:8px}body.boq-report-print .boq-print-report thead{display:table-header-group}body.boq-report-print .boq-print-report tfoot{display:table-footer-group}body.boq-report-print .boq-print-report tr{break-inside:avoid;page-break-inside:avoid}body.boq-report-print .boq-print-report th{text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1px solid #cbd7e4;padding:7px 5px;font-weight:850;color:#fff!important;background:#193e6c!important}body.boq-report-print .boq-print-report td{text-align:right;vertical-align:middle;border:1px solid #dbe3ec;padding:6px 5px}body.boq-report-print .boq-print-report th:first-child,body.boq-report-print .boq-print-report td:first-child{text-align:center;width:3.5%}body.boq-report-print .boq-print-report th:nth-child(2),body.boq-report-print .boq-print-report td:nth-child(2){text-align:left;width:28%}body.boq-report-print .boq-print-report th:nth-child(3),body.boq-report-print .boq-print-report td:nth-child(3),body.boq-report-print .boq-print-report th:nth-child(5),body.boq-report-print .boq-print-report td:nth-child(5){width:9%}body.boq-report-print .boq-print-report th:nth-child(4),body.boq-report-print .boq-print-report td:nth-child(4),body.boq-report-print .boq-print-report th:nth-child(6),body.boq-report-print .boq-print-report td:nth-child(6){width:13%}body.boq-report-print .boq-print-report th:nth-child(7),body.boq-report-print .boq-print-report td:nth-child(7){width:12%}body.boq-report-print .boq-print-report th:nth-child(8),body.boq-report-print .boq-print-report td:nth-child(8){width:12.5%}body.boq-report-print .boq-print-report td b,body.boq-report-print .boq-print-report td small{display:block}body.boq-report-print .boq-print-report td small{color:#6f7c8e;margin-top:2px;font-size:6.5px}body.boq-report-print .boq-print-report td.positive b{color:#14794d}body.boq-report-print .boq-print-report td.negative b{color:#bd382d}body.boq-report-print .boq-print-report tfoot td{color:#163b68;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:8px 5px;font-weight:850;background:#eef3f8!important}}.boq-comparison-table{border-collapse:separate;border-spacing:0;width:max(100%,1260px);min-width:1260px;margin-top:12px}.boq-usage-filter{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:9px;padding:14px 0 18px;display:flex}.boq-usage-filter button{color:#53657b;background:#fff;border:1px solid #d5dfeb;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 15px;font-weight:750;display:flex}.boq-usage-filter button b{color:#315f90;background:#eef3f8;border-radius:999px;place-items:center;min-width:25px;height:25px;padding:0 7px;font-size:.78rem;display:grid}.boq-usage-filter button.active{color:#174a80;background:#edf5fd;border-color:#295d96;box-shadow:0 0 0 2px #295d9614}.boq-usage-filter button.active b{color:#fff;background:#295d96}.boq-comparison-table th,.boq-comparison-table td{vertical-align:middle}.boq-comparison-table thead th{text-align:center}.boq-comparison-table .boq-group-head th{color:#56647a;border-bottom:0;padding:12px 10px;font-size:11px;font-weight:850}.boq-comparison-table .boq-group-head th[rowspan]{border-bottom:1px solid #dde4ed}.boq-comparison-table .boq-sub-head th{color:#6d7b90;padding:9px 10px;font-size:10px}.boq-comparison-table .plan-group,.boq-comparison-table .plan-cell{background:#f0f5fc}.boq-comparison-table .actual-group,.boq-comparison-table .actual-cell{background:#eef9f5}.boq-comparison-table .plan-group{border-radius:10px 0 0;color:#28588f!important}.boq-comparison-table .actual-group{color:#147651!important}.boq-comparison-table .variance-group{background:#faf7ef;border-radius:0 10px 0 0;color:#7b6335!important}.boq-comparison-table tbody tr{color:#172033;background:#fff}.boq-comparison-table tbody tr.over-boq{color:#172033;background:#fff9f8}.boq-comparison-table tbody tr:hover{background:#f9fbfd}.boq-comparison-table .boq-period-group-row:hover{background:#eaf1f9}.boq-period-group-row td{background:#eaf1f9;border-top:1px solid #cfdae8;border-bottom:1px solid #cfdae8;text-align:left!important;padding:11px 14px!important}.boq-period-group-row td>div{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.boq-period-group-row strong{color:#173f6c;margin-right:auto;font-size:13px}.boq-period-group-row span{color:#536780;background:#fff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.boq-period-group-row b{color:#9a702c;font-size:11px}.boq-comparison-table tbody td{text-align:center;padding:14px 11px}.boq-comparison-table tbody .plan-cell{background:#f7faff}.boq-comparison-table tbody .actual-cell{background:#f5fbf8}.boq-row-number{color:#8090a5;width:42px;font-weight:850}.boq-item-detail{min-width:245px;text-align:left!important}.boq-item-detail>b{margin-bottom:6px;font-size:13px;display:block}.boq-item-period-editor{gap:5px;margin:8px 0;display:grid}.boq-item-period-editor>span{color:#315f96;font-size:10px;font-weight:850}.boq-item-period-editor select{color:#203d62;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #90abd0;border-radius:9px;padding:0 10px;font-weight:750}.boq-item-detail>small{flex-wrap:wrap;align-items:center;gap:7px;margin:0!important;display:flex!important}.boq-item-detail>small>span:not(.boq-type){color:#7f8c9e;font-size:10px}.boq-comparison-table td>strong{font-size:14px;display:block}.boq-comparison-table td>small{font-size:9px}.variance-positive{color:#14794d}.variance-negative{color:#bd382d}.boq-result{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:82px;padding:7px 9px;font-size:10px;font-weight:850;display:inline-flex}.boq-result.success{color:#14794d;background:#e8f7ef}.boq-result.danger{color:#ba362c;background:#ffebe8}.boq-comparison-table .boq-progress{justify-content:center}.boq-comparison-table .boq-progress i{width:72px}.boq-comparison-table .within-boq .boq-progress em{background:linear-gradient(90deg,#249660,#55bd83)}.boq-comparison-table .over-boq .boq-progress em{background:linear-gradient(90deg,#d64538,#ef7569)}@media (max-width:700px){.boq-table-card{padding:16px 10px}.boq-table-card>header{padding-left:4px;padding-right:4px}.boq-table-card>header p{max-width:240px}.boq-comparison-table{font-size:12px}}.boq-status-actions{justify-items:center;gap:7px;display:grid}.boq-comparison-table th:nth-last-child(2),.boq-comparison-table td:nth-last-child(2){min-width:135px}.boq-comparison-table th:last-child,.boq-comparison-table td:last-child{min-width:120px}.boq-plan-actions{white-space:nowrap}.boq-plan-actions>div{justify-content:center;align-items:center;gap:7px;display:flex}.boq-table td.boq-plan-actions .boq-edit-plan,.boq-table td.boq-plan-actions .boq-save-plan{white-space:nowrap;min-width:68px;height:36px;width:auto!important}.boq-table td.boq-plan-actions .boq-delete-plan{color:#b33a3a;cursor:pointer;background:#fff;border:1px solid #eddede;border-radius:9px;place-items:center;width:36px;min-width:36px;height:36px;padding:0;display:grid}.boq-detail-button{appearance:none;white-space:nowrap;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:800;line-height:1;transition:background .18s,border-color .18s,color .18s;color:#315f96!important;width:auto!important;min-width:112px!important;height:38px!important;box-shadow:none!important;background:#f5f9fd!important;border:1px solid #cbdced!important;border-radius:11px!important;padding:0 14px!important;display:inline-flex!important}.boq-detail-button:hover{color:#214f83!important;background:#eaf3fc!important;border-color:#9dbbd9!important}.boq-detail-button:focus-visible{outline-offset:2px;outline:3px solid #315f962e}.boq-detail-backdrop{z-index:99999;padding:max(18px, env(safe-area-inset-top)) 22px 22px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0a16298c;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.boq-detail-modal{background:#fff;border:1px solid #ffffffb3;border-radius:22px;flex-direction:column;width:min(880px,100%);max-height:calc(100svh - 40px);display:flex;overflow:hidden;box-shadow:0 28px 80px #0a162947}.boq-detail-modal>header{background:linear-gradient(135deg,#f7faff,#fff);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px 18px;display:flex}.boq-detail-modal>header small{color:#315f96;letter-spacing:.16em;font-size:9px;font-weight:900}.boq-detail-modal>header h3{margin:4px 0 5px;font-size:23px}.boq-detail-modal>header p{color:#6f7d91;margin:0}.boq-detail-modal>header button{color:#526176;cursor:pointer;background:#fff;border:1px solid #dce3ec;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.boq-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 24px;display:grid}.boq-detail-summary>div{background:#f8fafc;border:1px solid #dfe7f0;border-radius:14px;gap:7px;padding:15px 17px;display:grid}.boq-detail-summary small{color:#718096;letter-spacing:.12em;font-size:9px;font-weight:900}.boq-detail-summary strong{font-size:20px}.boq-detail-summary .success{color:#14794d;background:#effaf4;border-color:#bde4cf}.boq-detail-summary .danger{color:#ba382d;background:#fff3f1;border-color:#f0c5c0}.boq-detail-list{border:1px solid #dfe5ed;border-radius:14px;min-height:180px;margin:0 24px;overflow:auto}.boq-detail-list-head,.boq-detail-list article{grid-template-columns:130px minmax(0,1fr) 130px 38px;align-items:center;gap:13px;display:grid}.boq-detail-list-head{z-index:1;color:#64748b;background:#f1f5f9;padding:10px 14px;font-size:10px;font-weight:850;position:sticky;top:0}.boq-detail-list article{border-top:1px solid #e8edf3;padding:13px 14px}.boq-detail-list article:first-of-type{border-top:0}.boq-detail-list article time{color:#526176;font-size:12px}.boq-detail-list article>div{gap:3px;min-width:0;display:grid}.boq-detail-list article>div b{font-size:12px}.boq-detail-list article>div small{color:#77859a;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.boq-detail-list article>strong{text-align:right;color:#173b67;font-size:13px}.boq-detail-list article>button{color:#b43b31;cursor:pointer;background:#fff;border:1px solid #f0d4d1;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.boq-detail-empty{color:#8a96a8;place-items:center;min-height:170px;padding:24px;display:grid}.boq-detail-modal>footer{color:#637187;background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:16px 24px;display:flex}.boq-detail-modal>footer b{color:#173b67}@media (max-width:650px){.boq-detail-backdrop{padding:max(10px, env(safe-area-inset-top)) 0 0;align-items:flex-start}.boq-detail-modal{border-radius:18px 18px 0 0;max-height:calc(100svh - 10px)}.boq-detail-modal>header{padding:18px}.boq-detail-modal>header h3{font-size:20px}.boq-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:13px 14px}.boq-detail-summary>div{padding:11px 9px}.boq-detail-summary strong{font-size:15px}.boq-detail-list{margin:0 14px}.boq-detail-list-head{display:none}.boq-detail-list article{grid-template-columns:minmax(0,1fr) auto 32px;gap:9px;padding:12px}.boq-detail-list article time{color:#8290a3;grid-column:1;font-size:10px}.boq-detail-list article>div{grid-area:2/1}.boq-detail-list article>strong{grid-area:1/2/3}.boq-detail-list article>button{grid-area:1/3/3}.boq-detail-modal>footer{padding:14px;font-size:12px}}.boq-manage-link{color:#315f96;border:1px solid #d5e0ec;border-radius:9px;padding:7px 10px;font-size:10px;font-weight:800}.boq-manage-link:hover{background:#eef5fc}.work-category-content{padding:18px}.category-manager{max-width:980px;margin:0 auto;padding:24px}.category-manager>header{border-bottom:1px solid #e2e7ef;align-items:center;gap:14px;padding-bottom:18px;display:flex}.category-manager>header>span{color:#2868d8;background:#eaf2ff;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.category-manager>header small{color:#c08f36;letter-spacing:.14em;font-size:9px;font-weight:900}.category-manager>header h2{margin:3px 0;font-size:24px}.category-manager>header p{color:#748096;margin:0}.category-add{grid-template-columns:minmax(240px,1fr) minmax(180px,260px) auto;gap:10px;margin:20px 0;display:grid}.category-add input,.category-row input[type=text],.category-row.editing>input{background:#fff;border:1px solid #d5deea;border-radius:11px;min-height:46px;padding:10px 13px}.category-list{border:1px solid #e0e6ee;border-radius:14px;overflow:hidden}.category-row{border-bottom:1px solid #e7ebf1;grid-template-columns:38px minmax(0,1fr) 38px 38px;align-items:center;gap:10px;min-height:66px;padding:10px 14px;display:grid}.category-row:last-child{border-bottom:0}.category-row>b{color:#8491a4}.category-row>div{gap:3px;display:grid}.category-row small{color:#8290a4;font-size:10px}.category-row>button{color:#315f96;cursor:pointer;background:#fff;border:1px solid #dce4ed;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.category-row>button.delete{color:#b53d33;border-color:#efd4d1}.category-row.inactive{opacity:.55;background:#f7f8fa}.category-row.editing{grid-template-columns:38px minmax(0,1fr) minmax(150px,220px) auto 38px 38px}.category-row.editing>label{color:#526176;align-items:center;gap:6px;font-size:11px;display:flex}.category-row.editing>button.save{color:#14794d}@media (max-width:650px){.work-category-content{padding:8px}.category-manager{padding:17px 13px}.category-manager>header{align-items:flex-start}.category-manager>header h2{font-size:20px}.category-add{grid-template-columns:1fr}.category-add button{width:100%}.category-row{grid-template-columns:30px minmax(0,1fr) 34px 34px;padding:9px}.category-row.editing{grid-template-columns:30px minmax(0,1fr) 34px 34px}.category-row.editing>input[type=number]{grid-column:2/-1}.category-row.editing>label{grid-column:2}.category-row.editing>button{grid-row:1}.category-row.editing>button.save{grid-column:3}.category-row.editing>button:last-child{grid-column:4}}.boq-head-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.boq-item-name-field{grid-column:span 2}.boq-item-name-field input{font-size:15px;font-weight:750}@media (max-width:650px){.boq-item-name-field{grid-column:span 1}.boq-head-actions{width:100%;margin-top:8px}.boq-head-actions .boq-manage-link{text-align:center;flex:1}}.boq-real-picker{gap:7px;display:grid}.boq-real-picker>input{min-height:50px;font-weight:750}.boq-real-picker>small{color:#718096;font-size:10px}.boq-selected-real-item{background:#f1faf5;border:1px solid #c9e5d7;border-radius:11px;flex-wrap:wrap;align-items:center;gap:7px;padding:10px 12px;display:flex}.boq-selected-real-item b{color:#172033;margin-right:auto}.boq-selected-real-item span,.boq-selected-real-item strong{color:#526176;white-space:nowrap;background:#fff;border-radius:999px;padding:5px 8px;font-size:10px}.boq-selected-real-item strong.success{color:#14794d;background:#dcf5e8}.boq-selected-real-item strong.danger{color:#ba382d;background:#ffe6e3}.actual-quantity-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.actual-quantity-control>input{width:100%;min-width:0}.actual-quantity-control>b{color:#46566d;text-align:center;white-space:nowrap;background:#f4f7fb;border:1px solid #d6e0ef;border-radius:12px;min-width:64px;padding:12px 14px}.actual-quantity-warning{margin-top:6px;font-size:11px;font-weight:750;line-height:1.4;display:block}.actual-quantity-warning.success{color:#14794d}.actual-quantity-warning.danger{color:#ba382d}@media (max-width:600px){.boq-selected-real-item{align-items:flex-start}.boq-selected-real-item b{width:100%}.boq-selected-real-item span,.boq-selected-real-item strong{white-space:normal}.actual-quantity-control>b{min-width:54px;padding-inline:10px}}html,body{font-size:14px}.layout{grid-template-columns:230px minmax(0,1fr)}.sidebar{padding:18px 14px}.brand{min-height:50px;margin-bottom:18px;padding:3px 6px}.brand-logo{width:38px;height:38px}.brand b{font-size:14px}.brand small{font-size:9px}.nav-caption{margin:0 10px 7px;font-size:9px}.nav{gap:3px}.nav a,.settings-link,.logout-button{min-height:38px;padding:8px 10px;font-size:13px}.content{padding:18px clamp(14px,1.8vw,28px) 28px}.topbar{min-height:52px;margin-bottom:12px}.topbar h1{font-size:clamp(23px,2vw,32px)}.luxury-card,.card,.company-settings-card{border-radius:15px;box-shadow:0 10px 28px #111f390e}.section-header{gap:14px;padding-bottom:14px}.section-header p,.luxury-card p{font-size:12px}.btn,.premium-btn,.ghost-btn{border-radius:9px;min-height:39px;padding:8px 13px;font-size:13px}.field{gap:5px}.field>span{font-size:12px}.field input,.field select,.field textarea,.project-form .field input,.project-form .field select,.record-form-grid input,.record-form-grid select,.period-form-grid input,.period-form-grid select{border-radius:9px;min-height:40px;padding:8px 10px}.dashboard-hero{border-radius:18px;min-height:180px;padding:28px 34px}.dashboard-hero h2{margin:9px 0 6px;font-size:clamp(27px,3vw,40px)}.dashboard-hero p{font-size:14px}.dashboard-hero span{font-size:9px}.stat-grid{gap:11px;margin:13px 0}.stat-card{border-radius:14px;gap:11px;min-height:112px;padding:15px}.stat-icon{border-radius:11px;width:38px;height:38px}.stat-copy strong{font-size:25px}.stat-copy span{font-size:10px}.recent-projects{padding:17px}.recent-project-row{padding:10px 0}.dashboard-summary{padding:19px 22px}.progress-ring{width:90px;height:90px}.table-card{padding:18px}.table th,.table td{padding:10px}.project-table th,.project-table td{padding:11px 10px}.project-avatar{width:35px;height:35px}.row-action{width:32px;height:32px}.empty-state{padding:48px 18px}.project-form{padding:20px}.form-section{padding:16px 0}.form-actions{padding-top:16px}.project-detail-hero{border-radius:17px;min-height:145px;padding:23px 27px}.project-detail-hero h2{margin:8px 0 4px;font-size:clamp(24px,2.6vw,35px)}.hero-progress strong{font-size:36px}.detail-grid{gap:12px;margin:13px 0}.project-facts,.progress-panel{padding:18px}.fact-grid{gap:10px;margin-top:13px}.fact-grid>div{padding:11px}.large-progress{margin:18px 0 9px}.module-grid{gap:10px}.module-card{border-radius:12px;gap:10px;padding:14px}.module-card>span{width:37px;height:37px}.period-page-head,.record-page-head,.boq-page-head{border-radius:16px;padding:21px 23px}.period-form,.period-list,.record-form,.record-list{padding:17px}.period-form-grid{gap:8px;margin-top:13px}.period-row{gap:10px;padding:12px 3px}.boq-summary{gap:10px;margin-bottom:12px}.boq-summary>div{border-radius:13px;gap:5px;padding:15px 17px}.boq-summary b{font-size:21px}.boq-form-grid{gap:11px}.boq-table-card,.boq-history{margin-top:12px;padding:17px}.boq-comparison-table tbody td{padding:10px 8px}.boq-comparison-table .boq-group-head th{padding:9px 8px}.category-manager{padding:18px}.category-manager>header{padding-bottom:13px}.category-add{margin:14px 0}.category-row{min-height:55px;padding:7px 11px}.company-settings-card{padding:16px 18px}.settings-grid{gap:9px 13px;margin-top:12px}.settings-heading{padding-bottom:11px}.settings-actions{margin-top:12px}.login-heading{margin-bottom:25px}.login-heading h2{font-size:35px}.login-field{gap:7px;margin-bottom:15px}.login-input-wrap,.login-submit{border-radius:12px;height:50px}.sidebar-collapse-button{z-index:4;color:#263a5d;cursor:pointer;background:#fff;border:1px solid #d8e0eb;border-radius:9px;place-items:center;width:29px;height:29px;transition:all .18s;display:grid;position:absolute;top:16px;right:-14px;box-shadow:0 5px 15px #0f1c3429}.sidebar-collapse-button:hover{color:#fff;background:#244778;border-color:#244778;transform:translateY(-1px)}.sidebar{transition:padding .2s}.layout{transition:grid-template-columns .2s}.layout.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar[data-collapsed]{align-items:center;padding-inline:10px}.sidebar[data-collapsed] .brand{justify-content:center;width:100%;padding-inline:0}.sidebar[data-collapsed] .brand>span:last-child,.sidebar[data-collapsed] .nav-caption,.sidebar[data-collapsed] .nav a span{display:none}.sidebar[data-collapsed] .nav,.sidebar[data-collapsed] .sidebar-bottom{width:100%}.sidebar[data-collapsed] .nav a,.sidebar[data-collapsed] .settings-link,.sidebar[data-collapsed] .logout-button{justify-content:center;width:100%;padding-inline:0}.sidebar[data-collapsed] .nav-project-head{display:block}.sidebar[data-collapsed] .nav-project-submenu{border-left:0;margin-left:0;padding-left:0}.sidebar[data-collapsed] .settings-link,.sidebar[data-collapsed] .logout-button{font-size:0}.sidebar[data-collapsed] .nav a.active,.sidebar[data-collapsed] .settings-link.active{box-shadow:inset 2px 0 #d2ab62}.sidebar[data-collapsed] form{width:100%}@media (max-width:900px){.layout.sidebar-collapsed{display:block}.sidebar-collapse-button{display:none}.sidebar[data-collapsed]{align-items:stretch;width:min(290px,84vw);padding:18px 14px}.sidebar[data-collapsed] .brand{justify-content:flex-start;padding:3px 6px}.sidebar[data-collapsed] .brand>span:last-child{display:grid}.sidebar[data-collapsed] .nav-caption{display:block}.sidebar[data-collapsed] .nav a span{display:inline}.sidebar[data-collapsed] .nav a,.sidebar[data-collapsed] .settings-link,.sidebar[data-collapsed] .logout-button{justify-content:flex-start;padding:8px 10px;font-size:13px}}.sidebar-user{color:#e7edf8;border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;align-items:center;gap:9px;margin:7px 0;padding:9px 10px;display:flex}.sidebar-user>span{background:#ffffff17;border-radius:8px;flex:none;place-items:center;width:27px;height:27px;display:grid}.sidebar-user>div{min-width:0;display:grid}.sidebar-user b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebar-user small{color:#8798b6;font-size:10px}.sidebar[data-collapsed] .sidebar-user{justify-content:center;padding-inline:0}.sidebar[data-collapsed] .sidebar-user>div{display:none}.user-manager{padding:20px}.user-manager-heading{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding-bottom:14px;display:flex}.user-manager-heading>span{color:#1f6feb;background:#eaf2ff;border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.user-manager-heading small{color:var(--gold);letter-spacing:.16em;font-size:9px;font-weight:900}.user-manager-heading h2{margin:2px 0;font-size:23px}.user-manager-heading p{color:var(--muted);margin:0;font-size:12px}.user-form{grid-template-columns:1fr 1.25fr 1fr 1.25fr;align-items:end;gap:11px;margin-top:16px;display:grid}.user-active-toggle{border:1px solid var(--line);background:#f8fafc;border-radius:9px;align-items:center;gap:8px;min-height:40px;padding:8px 11px;display:flex}.user-form-actions{gap:8px;display:flex}.permission-editor{border:1px solid var(--line);background:#f8fafc;border-radius:13px;grid-column:1/-1;gap:12px;padding:15px;display:grid}.permission-editor-head,.permission-group legend{justify-content:space-between;align-items:center;gap:12px;display:flex}.permission-editor-head>div{gap:2px;display:grid}.permission-editor-head small{color:var(--muted)}.permission-editor-head>span{color:#2453a6;white-space:nowrap;background:#e8efff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.permission-group{background:#fff;border:1px solid #dce5f0;border-radius:11px;margin:0;padding:12px}.permission-group legend{width:100%;padding:0 2px 8px;font-weight:800}.permission-group legend button{color:#245fab;cursor:pointer;font:inherit;background:0 0;border:0;font-size:11px}.permission-group legend button:disabled{color:var(--muted);cursor:not-allowed}.permission-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.permission-grid label{border:1px solid var(--line);cursor:pointer;background:#fafbfd;border-radius:9px;align-items:center;gap:8px;min-height:38px;padding:8px 10px;display:flex}.permission-grid label.selected{color:#173f73;background:#edf5ff;border-color:#9bbce8}.permission-grid input{accent-color:#1f6feb;width:16px;height:16px}.user-list{border:1px solid var(--line);border-radius:13px;margin-top:18px;overflow:hidden}.user-list-head{background:#f6f8fb;justify-content:space-between;padding:11px 14px;display:flex}.user-list-head span{color:var(--muted)}.user-row{border-top:1px solid var(--line);grid-template-columns:36px minmax(180px,1fr) 120px 68px 36px;align-items:center;gap:11px;padding:10px 14px;display:grid}.user-row.inactive{opacity:.58;background:#fafafa}.user-avatar{color:#245fab;background:#edf5ff;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.user-row>div{min-width:0;display:grid}.user-row>div strong,.user-row>div small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-row>div small{color:var(--muted);font-size:11px}.role-badge,.user-status{border-radius:999px;justify-self:start;padding:5px 8px;font-size:10px}.role-badge{color:#34445f;background:#eef2f7}.role-admin{color:#a61e4d;background:#fce8ee}.role-manager{color:#2453a6;background:#e8efff}.role-engineer{color:#087768;background:#e6f7f4}.role-foreman{color:#976316;background:#fff3dc}.role-accounting,.role-finance{color:#6844a3;background:#f0eaff}.user-status.active{color:#08775c;background:#e5f7ef}.user-status.disabled{color:#a23b35;background:#fff0ee}.user-edit{border:1px solid var(--line);color:#34445f;cursor:pointer;background:#fff;border-radius:9px;place-items:center;width:33px;height:33px;display:grid}.user-edit:hover{color:#fff;background:#244778}.users-settings-content{width:100%;max-width:1450px;margin-inline:auto}@media (max-width:1050px){.user-form,.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.user-manager{padding:15px}.user-form,.permission-grid{grid-template-columns:1fr}.user-form-actions>*{flex:1}.user-row{grid-template-columns:34px minmax(0,1fr) 34px}.user-row .role-badge,.user-row .user-status{grid-column:2;margin-right:5px;display:inline-flex}.user-row .user-edit{grid-area:1/3/3}.user-manager-heading{align-items:flex-start}}@media (max-width:900px){html,body{font-size:14px}.content{padding:14px 12px 24px}.topbar{min-height:48px;margin-bottom:10px}.dashboard-hero{min-height:165px;padding:22px 20px}.dashboard-hero h2{font-size:27px}.stat-card{min-height:100px}}@media (max-width:600px){.content{padding:10px 9px 20px}.luxury-card,.card,.company-settings-card{border-radius:13px}.btn,.premium-btn,.ghost-btn,.field input,.field select,.record-form-grid input,.record-form-grid select{min-height:42px}.dashboard-hero{min-height:150px;padding:20px 17px}.dashboard-hero h2{font-size:24px}.dashboard-hero p{font-size:12px}.stat-grid{gap:8px;margin:9px 0}.stat-card{min-height:92px;padding:13px}.stat-copy strong{font-size:23px}.project-detail-hero{min-height:128px;padding:19px 16px}.table-card,.project-form,.period-form,.period-list,.record-form,.record-list{padding:14px 11px}}.company-settings-actions{justify-content:space-between;align-items:center;gap:12px}.company-reset-button{color:#a83b31;cursor:pointer;background:#fff;border:1px solid #e0b8b3;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-weight:750;display:inline-flex}.company-reset-button:hover{background:#fff5f4;border-color:#d68f87}.system-reset-backdrop{z-index:1200;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#09142694;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.system-reset-dialog{background:#fff;border:1px solid #ffffffbf;border-radius:20px;width:min(490px,100%);padding:25px;box-shadow:0 28px 75px #0814284d}.system-reset-icon{color:#bd3d31;background:#fff0ed;border-radius:15px;place-items:center;width:52px;height:52px;margin-bottom:14px;display:grid}.system-reset-dialog h3{margin:0 0 8px;font-size:23px}.system-reset-dialog>p{color:#65748a;margin:0;line-height:1.65}.system-reset-safe{color:#14794d;background:#f0faf4;border:1px solid #c6e7d5;border-radius:12px;align-items:flex-start;gap:10px;margin-top:17px;padding:13px;display:flex}.system-reset-safe>span{gap:3px;display:grid}.system-reset-safe small{color:#527263;line-height:1.45}.system-reset-confirm-field{color:#526176;gap:7px;margin-top:17px;font-size:12px;display:grid}.system-reset-confirm-field input{border:1px solid #d6a39d;border-radius:11px;outline:0;min-height:46px;padding:10px 12px}.system-reset-confirm-field input:focus{border-color:#bd3d31;box-shadow:0 0 0 3px #bd3d311a}.system-reset-actions{grid-template-columns:1fr 1.35fr;gap:9px;margin-top:20px;display:grid}.system-reset-actions button{color:#46556b;cursor:pointer;background:#fff;border:1px solid #d8e0ea;border-radius:11px;min-height:44px;font-weight:800}.system-reset-actions .confirm{color:#fff;background:linear-gradient(135deg,#a72f27,#cf4e42);border-color:#b83930}.system-reset-actions button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:700px){.company-settings-actions{flex-direction:column-reverse;align-items:stretch}.company-settings-actions .settings-save,.company-reset-button{width:100%}.system-reset-backdrop{align-items:end;padding:0}.system-reset-dialog{border-radius:20px 20px 0 0}.system-reset-actions{grid-template-columns:1fr}}.commercial-page{gap:18px;max-width:1500px;margin:0 auto;display:grid}.commercial-top{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading back";align-items:start;gap:18px;padding:10px 2px 14px;display:grid}.commercial-top>a{color:#294361;white-space:nowrap;background:#ffffffe0;border:1px solid #d7e1ee;border-radius:14px;grid-area:back;align-items:center;gap:9px;min-height:44px;padding:0 16px;font-weight:800;text-decoration:none;transition:border-color .18s,background .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 8px 22px #183a6814}.commercial-top>a svg{width:19px;height:19px;transition:transform .18s}.commercial-top>a:hover{color:#183a68;background:#fff;border-color:#9eb5d0;transform:translateY(-1px);box-shadow:0 11px 25px #183a6821}.commercial-top>a:hover svg{transform:translate(-2px)}.commercial-top>div{grid-area:heading;width:100%;min-width:0}.commercial-top h1{margin:2px 0;font-size:clamp(1.55rem,2.3vw,2.35rem)}.commercial-top p{color:#64748b;margin:0}.compact-card{padding:24px!important}.commercial-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.commercial-summary article{background:#fff;border:1px solid #dce5f1;border-radius:18px;align-items:center;gap:12px;padding:18px;display:flex;box-shadow:0 12px 30px #0f172a0d}.commercial-summary article>svg{color:#1d4ed8}.commercial-summary span{color:#64748b;font-size:.82rem;display:grid}.commercial-summary b{color:#0f172a;margin-top:3px;font-size:1.05rem}.commercial-summary small{color:#94a3b8;font-style:normal}.commercial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.commercial-grid header,.revision-section header{border-bottom:1px solid #e2e8f0;margin-bottom:16px;padding-bottom:14px}.commercial-grid h2,.revision-section h2{margin:3px 0;font-size:1.25rem}.profile-dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:0;display:grid}.profile-dl div{background:#f8fafc;border-radius:12px;padding:11px}.profile-dl dt{color:#64748b;font-size:.73rem}.profile-dl dd{margin:4px 0 0;font-weight:700}.text-link{color:#1d4ed8;margin-top:14px;font-weight:700;text-decoration:none;display:inline-block}.mini-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mini-form input,.mini-form select,.client-form input,.client-form textarea,.client-search input{width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d7e1ee;border-radius:12px;padding:11px 13px}.mini-form button{grid-column:1/-1;justify-content:center}.record-list{gap:7px;max-height:190px;margin-top:14px;display:grid;overflow:auto}.record-list>div{border-top:1px solid #edf2f7;justify-content:space-between;gap:10px;padding:9px 2px;display:flex}.record-list span{color:#64748b;font-size:.83rem}.revision-list{gap:9px;display:grid}.revision-list article,.revision-list>a{color:inherit;border:1px solid #e2e8f0;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px 15px;text-decoration:none;display:grid}.revision-list article.current,.revision-list>a.current{background:#eff6ff;border-color:#60a5fa}.revision-list article>span,.revision-list>a>span{color:#1d4ed8;font-weight:800}.revision-list article div,.revision-list>a div{display:grid}.revision-list small{color:#64748b}.revision-list em{background:#e2e8f0;border-radius:999px;padding:5px 9px;font-size:.75rem;font-style:normal}.revision-section details{margin-top:15px}.revision-section summary{cursor:pointer;font-weight:750}.revision-form{margin-top:12px}.form-message{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;margin:0;padding:11px 14px}.loading-card{background:#fff;border-radius:18px;padding:30px}.client-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.client-form label{color:#475569;gap:5px;font-size:.82rem;font-weight:700;display:grid}.client-form .wide{grid-column:1/-1}.client-form textarea{resize:vertical;min-height:70px}.client-form button{justify-content:center;align-self:end}.client-search{border:1px solid #dbe4f0;border-radius:14px;align-items:center;gap:9px;padding:0 13px;display:flex}.client-search input{border:0;outline:0}.client-list{gap:8px;margin-top:14px;display:grid}.client-list article{border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px;display:grid}.client-editing{border-color:#9ebddd;box-shadow:0 16px 40px #214c7e1f}.client-edit-button{color:#285789;cursor:pointer;background:#fff;border:1px solid #cbd9e8;border-radius:10px;align-items:center;gap:6px;min-height:36px;padding:0 11px;font-weight:800;display:inline-flex}.client-edit-button:hover{background:#eef5fc;border-color:#7fa5cd}.client-avatar{color:#2563eb;background:#eff6ff;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.client-list article div{display:grid}.client-list small{color:#64748b}.client-list em{color:#64748b;font-size:.82rem;font-style:normal}@media (max-width:900px){.commercial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-grid{grid-template-columns:1fr}.client-form{grid-template-columns:1fr 1fr}}@media (max-width:560px){.commercial-page{gap:12px}.compact-card{padding:17px!important}.commercial-top{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading back";gap:10px;padding-top:2px}.commercial-top>a{border-radius:12px;justify-content:center;width:42px;min-height:40px;padding:0;font-size:0}.commercial-summary,.mini-form,.client-form{grid-template-columns:1fr}.client-form .wide{grid-column:auto}.profile-dl{grid-template-columns:1fr}.record-list>div{display:grid}.revision-list article,.revision-list>a{grid-template-columns:1fr}.client-list article{grid-template-columns:auto 1fr}.client-list em{grid-column:2}.client-edit-button{grid-column:2;width:fit-content}.commercial-top h1{font-size:1.5rem}}.quotation-create-link{justify-content:center;width:100%;text-decoration:none}.quotation-record{color:#0f172a;flex:1;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:10px 2px;text-decoration:none;display:flex}.quotation-record-row{border-top:1px solid #edf2f7;align-items:center;gap:10px;display:flex}.quotation-record span{color:#64748b}.quotation-delete-btn{color:#c2413b;min-height:36px;font:inherit;cursor:pointer;background:#fff7f7;border:1px solid #fecaca;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:6px;padding:7px 11px;font-size:.86rem;font-weight:700;display:inline-flex}.quotation-delete-btn:hover{background:#fee2e2;border-color:#fca5a5}.quotation-delete-btn:disabled{cursor:wait;opacity:.55}.contract-record-row{align-items:center}.contract-record-open{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1;align-items:center;gap:12px;padding:10px 12px;display:flex}.contract-record-open:hover{background:#f0f6ff}.contract-record-info{flex:1;gap:2px;min-width:0;display:grid}.contract-record-cta{color:#1d4ed8;white-space:nowrap;font-size:.82rem;font-weight:800}.contract-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.contract-modal{background:#fff;border:1px solid #dbe5f3;border-radius:24px;width:min(680px,100%);max-height:calc(100vh - 40px);padding:26px;overflow:auto;box-shadow:0 28px 80px #0f172a47}.contract-modal>header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.contract-modal-close{cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.contract-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.contract-detail-grid>div{background:#f6f8fc;border-radius:14px;gap:5px;padding:15px;display:grid}.contract-detail-grid small{color:#64748b}.contract-detail-notes{background:#fffbeb;border-radius:12px;margin-top:14px;padding:14px}.contract-modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;display:flex}.contract-no-file{color:#64748b;margin-right:auto;font-size:.88rem}@media (max-width:620px){.quotation-record{flex-direction:column;align-items:flex-start;gap:3px}.quotation-delete-btn{min-width:68px}.contract-record-cta{display:none}.contract-modal{border-radius:18px;padding:20px}.contract-detail-grid{grid-template-columns:1fr}}.quotation-page{gap:14px;max-width:1550px;margin:auto;display:grid}.quotation-head{color:#fff;background:linear-gradient(125deg,#142541,#244b78);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;padding:20px 24px;display:grid}.quotation-head>a{color:#cbd5e1;align-items:center;gap:5px;text-decoration:none;display:flex}.quotation-head h1{margin:3px 0;font-size:28px}.quotation-head p{color:#cbd5e1;margin:0}.quotation-head-actions{gap:8px;display:flex}.quotation-head-side{justify-items:end;gap:9px;display:grid}.quotation-head-back{color:#f2f6fb;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:12px;align-items:center;gap:6px;min-height:38px;padding:0 13px;font-size:12px;font-weight:800;text-decoration:none;transition:all .18s;display:inline-flex}.quotation-head-back:hover{color:#fff;background:#ffffff2e;border-color:#ffffff75;transform:translateY(-1px)}.quotation-head-actions .ghost-btn{color:#172554;background:#fff;text-decoration:none}.quotation-footer-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.quotation-footer-actions .btn{border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 16px;font-weight:850;text-decoration:none;display:inline-flex}.quotation-back-button{color:#526176;background:#fff;border:1px solid #ccd8e7}.quotation-pdf-button{color:#245283;background:#edf5fc;border:1px solid #b8cde4}.quotation-save-button{min-width:190px}.quotation-meta{grid-template-columns:1.4fr repeat(3,1fr);gap:11px;padding:18px;display:grid}.quotation-meta label,.quote-terms label,.quote-summary label{color:#64748b;gap:5px;font-size:12px;font-weight:750;display:grid}.quotation-meta input,.quotation-meta select,.quote-terms textarea,.quote-summary input,.quote-summary select,.quote-table input,.quote-table textarea,.quote-table select{width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d7e1ee;border-radius:9px;padding:8px 10px}.quotation-meta .wide{grid-column:1/-1}.quotation-items{padding:18px}.quotation-items>header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.quotation-item-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.quotation-template-button{color:#245283;background:#edf5fc;border:1px solid #b8cde4;font-weight:850}.quotation-template-button:hover{background:#e3effa;border-color:#8eafd1}.quotation-items h2,.quote-summary h2{margin:3px 0}.quote-table-wrap{border:1px solid #e2e8f0;border-radius:12px;overflow:auto}.quote-table{table-layout:fixed;border-collapse:collapse;width:1120px;min-width:1120px;max-width:1120px}.quote-table th{color:#526077;text-align:left;background:#f4f7fb;padding:9px;font-size:11px}.quote-table td{vertical-align:top;border-top:1px solid #e8edf4;padding:8px}.quote-table th:first-child,.quote-table td:first-child{text-align:center;width:35px}.quote-table th:nth-child(2),.quote-table td:nth-child(2){width:300px}.quote-table th:nth-child(3),.quote-table td:nth-child(3),.quote-table th:nth-child(4),.quote-table td:nth-child(4){width:78px}.quote-table th:nth-child(5),.quote-table td:nth-child(5){width:105px}.quote-table th:nth-child(6),.quote-table td:nth-child(6){width:165px}.quote-table th:nth-child(7),.quote-table td:nth-child(7){width:70px}.quote-table th:nth-child(8),.quote-table td:nth-child(8){width:110px}.quote-table th:last-child,.quote-table td:last-child{width:48px}.quote-table textarea{resize:vertical;min-height:48px;margin-top:5px}.quote-table .code-input{font-size:11px}.inline-discount{grid-template-columns:68px minmax(82px,1fr);gap:5px;display:grid}.inline-discount select,.inline-discount input{min-width:0}.quote-table .money{white-space:nowrap;padding-top:16px;font-weight:800}.icon-delete{color:#dc2626;background:#fff;border:1px solid #fecaca;border-radius:9px;place-items:center;width:35px;height:35px;display:grid}.quotation-bottom{grid-template-columns:minmax(0,1fr) 380px;gap:14px;display:grid}.quote-terms,.quote-summary{padding:18px}.quote-terms{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quote-terms label:last-child{grid-column:1/-1}.quote-terms textarea{resize:vertical;min-height:75px}.quote-summary{gap:10px;display:grid}.quote-summary dl{gap:8px;margin:5px 0;display:grid}.quote-summary dl>div{justify-content:space-between;display:flex}.quote-summary .grand{color:#1d4ed8;background:#eff6ff;border-radius:11px;margin-top:6px;padding:13px;font-size:18px;font-weight:900}.quote-summary .premium-btn{justify-content:center}.form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:11px;margin:0;padding:11px 14px}.print-loading{padding:40px;font:16px system-ui}.quote-print{color:#111827;background:#e8edf3;min-height:100vh;padding:20px;font-family:Arial,Noto Sans Thai,sans-serif}.quote-print .no-print{justify-content:space-between;max-width:210mm;margin:0 auto 12px;display:flex}.quote-print .no-print a,.quote-print .no-print button{color:#fff;background:#17345c;border:0;border-radius:8px;align-items:center;gap:6px;padding:9px 13px;text-decoration:none;display:flex}.quote-print>article{background:#fff;width:210mm;min-height:297mm;margin:auto;padding:15mm;box-shadow:0 10px 30px #0002}.quote-print article>header{border-bottom:3px solid #193b69;justify-content:space-between;padding-bottom:14px;display:flex}.quote-print h1{margin:3px 0;font-size:28px}.quote-print header span{color:#b4822b;letter-spacing:.15em;font-weight:900}.quote-print header p{color:#64748b;margin:0}.quote-print header dl{min-width:220px;margin:0}.quote-print header dl div,.print-after dl div{justify-content:space-between;gap:20px;padding:3px 0;display:flex}.quote-print dt{color:#64748b}.quote-print dd{margin:0;font-weight:700}.print-client{padding:18px 0}.print-client h2{margin:0 0 8px;font-size:17px}.print-client p{margin:3px 0;font-size:12px}.quote-print table{border-collapse:collapse;width:100%;font-size:11px}.quote-print th{color:#fff;background:#193b69;padding:8px}.quote-print td{border:1px solid #dbe2ea;padding:8px}.quote-print td:nth-child(n+4){text-align:right}.print-after{grid-template-columns:1fr 280px;gap:25px;margin-top:16px;display:grid}.print-after h3{margin:0 0 8px}.print-after p{font-size:11px}.print-after dl{margin:0}.print-after .grand{border-top:2px solid #193b69;margin-top:6px;padding-top:8px;font-size:15px}.quote-print footer{text-align:center;grid-template-columns:1fr 1fr;gap:50px;margin-top:50px;line-height:2;display:grid}@media (max-width:900px){.quotation-head{grid-template-columns:1fr}.quotation-head-actions{flex-wrap:wrap}.quotation-meta{grid-template-columns:1fr 1fr}.quotation-bottom{grid-template-columns:1fr}.quote-summary{order:-1}}@media (max-width:560px){.quotation-meta,.quote-terms{grid-template-columns:1fr}.quotation-meta .wide,.quote-terms label:last-child{grid-column:auto}.quotation-head{padding:17px}.quotation-head-actions .btn{flex:1;justify-content:center}.quotation-items{padding:11px}}@media print{.no-print{display:none!important}.quote-print{background:#fff;padding:0}.quote-print>article{width:auto;min-height:0;box-shadow:none;margin:0;padding:10mm}@page{size:A4;margin:0}}.quote-convert-actions{grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.75rem;display:grid}.quote-convert-actions .btn{justify-content:center}.quote-convert-actions small{color:#6b7890;text-align:center;grid-column:1/-1}@media (max-width:700px){.quote-convert-actions{grid-template-columns:1fr}}.contract-file-field{color:#34435b;cursor:pointer;background:#f7faff;border:1px dashed #b9c9dd;border-radius:12px;grid-column:1/-1;gap:6px;padding:12px 14px;font-size:.82rem;font-weight:750;display:grid}.contract-file-field input{cursor:pointer;background:#fff;padding:8px}.contract-file-field small{color:#7b879b;font-size:.72rem;font-weight:500}.record-list a{color:#1d4ed8;font-weight:750;text-decoration:none}.record-list a:hover{text-decoration:underline}.quote-created-link{color:#176b62;margin-top:10px;font-weight:800;text-decoration:none;display:block}.conversion-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0a183094;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.conversion-modal{background:#fff;border:1px solid #dce5f1;border-radius:24px;width:min(760px,100%);max-height:min(760px,90vh);padding:28px;overflow:auto;box-shadow:0 28px 80px #08183247}.conversion-modal header h2{margin:5px 0 2px}.conversion-modal header p{color:#64748b;margin:0}.conversion-options{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:12px;margin:20px 0 4px;display:grid}.conversion-options label{color:#475569;gap:7px;font-size:.88rem;font-weight:800;display:grid}.conversion-options input,.conversion-options select{color:#172033;width:100%;min-height:48px;font:inherit;background:#fff;border:1px solid #d7e1ee;border-radius:13px;outline:none;padding:0 14px;font-weight:700}.conversion-options input:focus,.conversion-options select:focus{border-color:#214577;box-shadow:0 0 0 3px #2145771c}.conversion-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0;display:grid}.conversion-stats div{background:#f5f8fc;border-radius:14px;padding:14px}.conversion-stats span{color:#64748b;font-size:.86rem;display:block}.conversion-stats strong{color:#0f766e;margin-top:3px;font-size:1.12rem;display:block}.conversion-item-list{border:1px solid #e2e8f0;border-radius:14px;max-height:280px;overflow:auto}.conversion-item{border-bottom:1px solid #edf1f6;justify-content:space-between;gap:18px;padding:12px 14px;display:flex}.conversion-item:last-child{border-bottom:0}.conversion-item span{color:#64748b;flex:none}.conversion-note{color:#166534;background:#ecfdf5;border-radius:12px;margin:16px 0;padding:12px 14px}.conversion-modal footer{justify-content:flex-end;gap:10px;display:flex}.boq-revision-bar{background:linear-gradient(100deg,#f8fbff,#fff);border:1px solid #d8e5ef;border-left:5px solid #214577;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 18px;padding:16px 18px;display:flex}.boq-revision-bar>div,.boq-revision-bar label{gap:3px;display:grid}.boq-revision-bar small,.boq-revision-bar label{color:#64748b;font-size:.8rem;font-weight:800}.boq-revision-bar strong{color:#172033;font-size:1.08rem}.boq-revision-bar span{color:#64748b;font-size:.85rem}.boq-revision-bar select{color:#172033;min-width:290px;min-height:43px;font:inherit;background:#fff;border:1px solid #d7e1ee;border-radius:11px;padding:0 12px}.boq-approve-button{color:#fff;cursor:pointer;background:#183a68;border:0;border-radius:12px;align-items:center;gap:8px;padding:11px 16px;font-weight:800;display:inline-flex}.boq-activate-button{color:#245991;min-height:40px;font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #2b67a8;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:11px;font-weight:850;display:inline-flex}.boq-activate-button:hover{background:#eef6ff}.boq-activate-button:disabled,.boq-approve-button:disabled{opacity:.45;cursor:not-allowed}.boq-approved-badge{white-space:nowrap;background:#e4f7ec;border-radius:999px;padding:9px 14px;font-weight:800;color:#137a45!important}.boq-status-warning{gap:4px;margin:0 0 18px;display:grid}.boq-status-warning span{color:#8f302b;line-height:1.5}.procurement-content{padding-top:24px}.procurement-hero{color:#fff;background:linear-gradient(120deg,#172b4b,#27598b);border-radius:24px;align-items:center;gap:20px;padding:28px 32px;display:flex;box-shadow:0 18px 38px #19375b29}.procurement-hero-icon{color:#f2c96d;background:#ffffff1f;border-radius:19px;flex:none;place-items:center;width:68px;height:68px;display:grid}.procurement-hero small,.procurement-form-head small{color:#c99a3a;letter-spacing:.13em;font-weight:900}.procurement-hero h1{margin:4px 0;font-size:clamp(1.8rem,4vw,2.7rem)}.procurement-hero p{color:#d6e2f0;margin:0}.procurement-tabs{background:#fff;border:1px solid #dce5ef;border-radius:16px;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:18px 0;padding:8px;display:grid}.procurement-tabs button{color:#64748b;min-height:46px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;font-weight:800;display:flex}.procurement-tabs button.active{color:#1e4d7e;background:#eaf2fb}.procurement-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.procurement-metrics article{background:#fff;border:1px solid #dbe5ef;border-radius:17px;grid-template-columns:auto 1fr;align-items:center;gap:3px 12px;padding:20px;display:grid}.procurement-metrics svg{color:#b88428;grid-row:1/3}.procurement-metrics span{color:#718096;font-weight:700}.procurement-metrics b{color:#173a65;font-size:1.45rem}.procurement-panel,.procurement-form,.procurement-doc-list{padding:22px}.procurement-panel>header,.procurement-doc-list>header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:15px;padding-bottom:15px;display:flex}.procurement-panel h2,.procurement-doc-list h2{margin:3px 0}.procurement-panel header small{color:#a27424;letter-spacing:.12em;font-weight:900}.procurement-panel header>b,.procurement-doc-list header>b{color:#94691e;background:#f6eddc;border-radius:999px;padding:6px 10px}.procurement-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);align-items:start;gap:18px;display:grid}.procurement-master-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.procurement-form-head{border-bottom:1px solid #e2e8f0;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:16px;display:flex}.procurement-form-head>span{color:#255789;background:#edf4fb;border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.procurement-form-head h2{margin:2px 0 0}.procurement-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.procurement-form-grid .wide{grid-column:1/-1}.procurement-form .field input,.procurement-form .field select{background:#fff;border:1px solid #d1dce9;border-radius:11px;width:100%;min-width:0;min-height:46px;padding:0 12px}.procurement-submit{justify-content:center;align-items:center;gap:8px;width:100%;min-height:49px;margin-top:17px;display:flex}.procurement-lines{margin-top:18px;overflow-x:auto}.pr-document-mode{background:#f6faff;border:1px solid #cbd9e8;border-radius:13px;margin-top:16px;padding:13px 15px}.pr-document-mode>b{color:#173f6d}.pr-document-mode>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.pr-document-mode label{cursor:pointer;background:#fff;border:1px solid #d7e2ee;border-radius:11px;align-items:center;gap:10px;padding:12px;display:flex}.pr-document-mode label.active{background:#eaf4ff;border-color:#2b73bb;box-shadow:0 0 0 1px #2b73bb}.pr-document-mode input{accent-color:#195d9e;width:18px;height:18px}.pr-document-mode span{gap:2px;display:grid}.pr-document-mode strong{color:#173f6d}.pr-document-mode small{color:var(--muted)}.pr-auto-po-fields{background:#fbfdff;border:1px dashed #b9cde3;border-radius:13px;margin-top:10px;padding:14px}@media (max-width:700px){.pr-document-mode>div{grid-template-columns:1fr}}.procurement-lines>div{grid-template-columns:minmax(220px,1fr) 110px 100px 150px 40px;align-items:center;gap:8px;min-width:700px;padding:7px 0;display:grid}.procurement-lines>div:first-child{color:#718096;font-size:.82rem}.procurement-lines input,.procurement-lines select{background:#fff;border:1px solid #d4deea;border-radius:9px;width:100%;min-width:0;height:42px;padding:0 10px}.procurement-lines button{color:#c03d37;background:#fff;border:1px solid #f0cccc;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.material-name-picker{min-width:0;display:block;position:relative}.material-name-picker input{padding-right:112px}.procurement-lines .material-master-add{color:#185d9d;white-space:nowrap;background:#eef6ff;border-color:#b9d3ee;align-items:center;gap:4px;width:auto;height:32px;padding:0 9px;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:5px;right:5px}.unit-master-picker input{padding-right:42px}.procurement-lines .unit-master-picker .material-master-add{justify-content:center;width:30px;padding:0}.procurement-doc-list article{border-bottom:1px solid #edf1f5;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:14px 0;display:grid}.procurement-doc-list article>div{gap:3px;min-width:0;display:grid}.procurement-doc-list article span,.procurement-doc-list article small{color:#718096;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.procurement-doc-list em{color:#526078;background:#eef2f7;border-radius:999px;padding:5px 9px;font-size:.75rem;font-style:normal;font-weight:800}.procurement-doc-list em[data-status=approved],.procurement-doc-list em[data-status=posted],.procurement-doc-list em[data-status=received]{color:#167253;background:#e6f7ef}.procurement-doc-list button{color:#137257;background:#effaf5;border:1px solid #9fd6c1;border-radius:8px;align-items:center;gap:5px;padding:7px 9px;font-weight:800;display:flex}.receipt-lines{gap:8px;margin-top:16px;display:grid}.receipt-lines label{background:#f9fbfd;border:1px solid #e0e7ef;border-radius:11px;grid-template-columns:1fr 150px;align-items:center;gap:12px;padding:12px;display:grid}.receipt-lines label>span{gap:3px;display:grid}.receipt-lines small{color:#718096}.receipt-lines input{border:1px solid #ccd8e5;border-radius:9px;min-width:0;height:42px;padding:0 10px}.procurement-stock-table{margin-top:12px;overflow-x:auto}.procurement-stock-table>div{border-bottom:1px solid #e6ecf3;grid-template-columns:1.2fr 1.2fr 1.4fr .8fr .8fr .9fr;gap:12px;min-width:900px;padding:12px;display:grid}.procurement-stock-table>div:first-child{color:#64748b;background:#f1f5f9}.procurement-stock-table strong{color:#137257}.supplier-bill-workflow{gap:22px;display:grid}.supplier-bill-create form{gap:18px;display:grid}.direct-supplier-receipt{background:linear-gradient(145deg,#fff 0%,#f4fbf8 100%);border:1px solid #b9d7cb;grid-column:1/-1}.direct-receipt-lead{color:#597084;margin:-8px 0 18px}.direct-supplier-receipt form{gap:18px;display:grid}.direct-destination-mode{gap:9px;display:grid}.direct-destination-mode>b{color:#183d68}.direct-destination-mode>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.direct-destination-mode label{cursor:pointer;background:#fff;border:1px solid #d6e1eb;border-radius:12px;align-items:flex-start;gap:11px;padding:14px;display:flex}.direct-destination-mode label.active{background:#effaf5;border-color:#2b8a67;box-shadow:0 0 0 2px #2b8a671a}.direct-destination-mode input{accent-color:#19704f;margin-top:3px}.direct-destination-mode span{gap:3px;display:grid}.direct-destination-mode small{color:#64748b}.direct-destination-select{max-width:720px}.direct-bill-lines{background:#fff;border:1px solid #d9e4ec;border-radius:14px;overflow:auto}.direct-bill-lines>div{border-top:1px solid #e7edf2;grid-template-columns:minmax(220px,1.4fr) minmax(100px,.55fr) minmax(105px,.55fr) minmax(120px,.65fr) minmax(110px,.65fr) 38px;align-items:center;gap:8px;min-width:850px;padding:10px 12px;display:grid}.direct-bill-lines>div:first-child{color:#315d4d;background:#edf5f1;border-top:0}.direct-bill-lines:has(>div>b:nth-child(7))>div{grid-template-columns:minmax(200px,1.2fr) minmax(90px,.5fr) minmax(100px,.5fr) minmax(110px,.55fr) minmax(230px,1.35fr) minmax(100px,.55fr) 38px;min-width:1080px}.direct-bill-lines select,.direct-bill-lines input{width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #cad8e5;border-radius:9px;padding:10px}.direct-boq-picker{gap:5px;min-width:0;display:grid}.direct-boq-picker small{color:#64748b;padding:0 3px;font-size:.75rem;line-height:1.35}.direct-boq-picker small.success{color:#16704d}.direct-boq-picker small.warning{color:#a35f10}.direct-boq-picker small.danger{color:#b42318}.direct-bill-lines strong{text-align:right;color:#173f6d}.direct-bill-lines button{color:#bb3f32;cursor:pointer;background:#fff7f6;border:1px solid #efc7c2;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.direct-bill-lines button:disabled{opacity:.35;cursor:not-allowed}.direct-bill-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.direct-bill-footer>div{color:#527063;background:#edf5f1;border-radius:10px;align-items:center;gap:16px;padding:10px 14px;display:flex}.direct-bill-footer b{color:#136747;font-size:1.15rem}.supplier-po-picker{background:#f8fafc;border:1px solid #dbe4ef;border-radius:18px;overflow:hidden}.supplier-po-picker header{color:#173f6d;background:#edf3fa;justify-content:space-between;gap:14px;padding:14px 16px;display:flex}.supplier-po-picker>label{cursor:pointer;border-top:1px solid #e2e8f0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 16px;display:grid}.supplier-po-picker input{accent-color:#173f6d;width:18px;height:18px}.supplier-po-picker label span{gap:2px;display:grid}.supplier-po-picker label small,.supplier-po-picker>p{color:var(--muted)}.supplier-po-picker>p{text-align:center;margin:0;padding:18px}.supplier-po-picker label strong{color:#173f6d}.supplier-allocation>.field{max-width:620px;margin-bottom:16px}.supplier-allocation>.field select{background:#fff;border:1px solid #d5dfeb;border-radius:12px;width:100%;min-height:46px;padding:0 12px}.allocation-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.allocation-summary span{color:var(--muted);background:#f8fafc;border:1px solid #dbe4ef;border-radius:14px;gap:4px;padding:13px 15px;display:grid}.allocation-summary b{color:#173f6d;font-size:20px}.allocation-table{border:1px solid #dbe4ef;border-radius:16px;overflow-x:auto}.allocation-table>div{border-bottom:1px solid #e5ebf2;grid-template-columns:minmax(240px,1.25fr) 105px minmax(170px,.85fr) minmax(300px,1.5fr) 105px 120px 78px;align-items:center;gap:10px;min-width:1220px;padding:12px 14px;display:grid}.allocation-table>div:first-child{color:#52647a;background:#f1f5f9}.allocation-table>div:last-child{border-bottom:0}.allocation-table span:first-child{gap:3px;display:grid}.allocation-table small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.allocation-table select,.allocation-table input{background:#fff;border:1px solid #d5dfeb;border-radius:10px;width:100%;min-height:40px;padding:0 10px}.allocation-boq-picker,.allocation-quantity-picker{gap:5px;min-width:0;display:grid}.allocation-boq-picker>small,.allocation-quantity-picker>small{white-space:normal;text-overflow:clip;font-size:.72rem;line-height:1.45;overflow:visible}.allocation-boq-picker>small b{color:#173b68}.allocation-boq-picker>small.danger,.allocation-quantity-picker>small.danger,.allocation-boq-picker>small.danger b{color:#bd382d}.labour-content{background:#f4f7fb}.labour-claim-page{gap:18px;width:100%;max-width:none;margin:0 auto;padding:22px;display:grid}.labour-claim-hero{align-items:center;gap:14px;padding:8px 4px;display:flex}.labour-claim-hero>span,.labour-entry>header>span{color:#214f82;background:#e9f2fb;border-radius:15px;place-items:center;width:52px;height:52px;display:grid}.labour-claim-hero small,.labour-entry header small,.labour-history header small{color:#aa7623;letter-spacing:.12em;font-weight:800}.labour-claim-hero h1,.labour-entry h2,.labour-history h2{color:#15243b;margin:2px 0}.labour-claim-hero p{color:var(--muted);margin:0}.labour-history-link{color:#19568f;min-height:46px;font:inherit;cursor:pointer;background:#fff;border:1px solid #9fc3e5;border-radius:11px;align-items:center;gap:9px;margin-left:auto;padding:0 16px;font-weight:800;display:flex;box-shadow:0 7px 20px #1c497614}.labour-history-link b{color:#174f84;text-align:center;background:#e4f1fd;border-radius:999px;min-width:25px;padding:3px 7px}.labour-context{grid-template-columns:1fr 1fr 1.5fr;gap:14px;padding:20px;display:grid}.labour-context label,.labour-entry label{color:#53657b;gap:7px;font-weight:750;display:grid}.labour-context select,.labour-context input,.labour-entry input{color:#16243a;width:100%;min-height:48px;font:inherit;background:#fff;border:1px solid #d5dfeb;border-radius:12px;padding:0 13px}.labour-boq-combobox{position:relative}.labour-boq-combobox>svg:first-child{color:#7890aa;pointer-events:none;z-index:2;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.labour-boq-combobox>svg:nth-of-type(2){color:#526b86;pointer-events:none;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.labour-boq-combobox input[type=search]{background:#fff;border-color:#c6d5e5;min-height:58px;padding:0 46px;font-weight:700}.labour-boq-combobox input[type=search]:focus{border-color:#246fbe;outline:3px solid #246fbe24}.labour-boq-options{z-index:30;background:#fff;border:1px solid #cad8e7;border-radius:14px;max-height:340px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 18px 45px #142b4833}.labour-boq-options button{color:#18314f;text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.labour-boq-options button:hover,.labour-boq-options button[aria-selected=true]{background:#edf5ff}.labour-boq-options button>span{align-items:baseline;gap:8px;min-width:0;display:flex}.labour-boq-options button>span b{color:#205c99;flex:none}.labour-boq-options button>span strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.labour-boq-options button>small{color:#76869a;white-space:nowrap;justify-items:end;gap:2px;display:grid}.labour-boq-options button>small b{color:#1c4e82}.labour-boq-empty{color:#75859a;text-align:center;padding:22px}.labour-boq-search>small{color:#718198;font-size:.78rem;font-weight:650}.labour-history-tabs{flex-wrap:wrap;gap:8px;padding:0 0 16px;display:flex}.labour-history-tabs button{color:#53677e;font:inherit;cursor:pointer;background:#fff;border:1px solid #d4dfeb;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-weight:750;display:flex}.labour-history-tabs button.active{color:#194f87;background:#eaf4ff;border-color:#246fbe;box-shadow:0 0 0 2px #246fbe14}.labour-history-tabs button b{text-align:center;background:#edf1f5;border-radius:999px;min-width:22px;padding:2px 6px}.labour-status{border-radius:999px;width:max-content;margin-top:6px;padding:4px 8px;font-size:.72rem;font-style:normal;font-weight:800;display:block}.labour-status.pending{color:#96661c;background:#fff3d8}.labour-status.approved{color:#176a45;background:#e4f7ed}.labour-status.paid{color:#175c91;background:#e4f1fc}.labour-status.rejected{color:#a33b3b;background:#fde8e8}.labour-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.labour-row-actions button{min-height:36px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d4dfeb;border-radius:9px;padding:0 11px;font-weight:750}.labour-row-actions .approve,.labour-row-actions .pay{color:#167049;background:#effaf4;border-color:#a9ddc3}.labour-row-actions .reject,.labour-row-actions .delete{color:#b13b3b;background:#fff7f7;border-color:#efc6c6}.labour-context .settings-message{grid-column:1/-1}.labour-context-note{color:#173d6a;background:#f6f9fc;border:1px solid #d5dfeb;border-radius:12px;align-content:center;gap:4px;min-height:48px;padding:8px 14px;display:grid}.labour-context-note span{color:var(--muted);font-size:.82rem}.labour-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.labour-summary>div{background:#fff;border:1px solid #d9e3ee;border-radius:16px;gap:6px;padding:20px;display:grid}.labour-summary small,.labour-summary span{color:var(--muted)}.labour-summary b{color:#173d6a;font-size:1.55rem}.labour-summary .success{background:#f3fcf7;border-color:#bfe5d1}.labour-summary .success b{color:#13784b}.labour-summary .danger{background:#fff6f5;border-color:#f0c4bf}.labour-summary .danger b{color:#bb382d}.labour-entry{padding:22px}.labour-entry>header{align-items:center;gap:13px;margin-bottom:18px;display:flex}.labour-entry>header p{color:var(--muted);margin:2px 0 0}.labour-entry form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.labour-entry .wide{grid-column:1/-1}.labour-entry label small{color:var(--muted);font-weight:600}.labour-claim-header{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.labour-claim-table{background:#fff;border:1px solid #d6e1ed;border-radius:15px;width:100%;overflow-x:auto}.labour-claim-table-head,.labour-claim-table-row{grid-template-columns:48px minmax(180px,1fr) minmax(170px,.9fr) minmax(250px,1.45fr) minmax(115px,.62fr) 70px minmax(145px,.75fr) 42px;align-items:center;gap:9px;width:100%;min-width:1120px;display:grid}.labour-claim-table-head{color:#526982;background:#eef4fa;padding:12px 14px;font-size:.82rem;font-weight:800}.labour-claim-table-row{border-top:1px solid #e4ebf2;padding:10px 14px}.labour-claim-table-row>b{color:#1f5b96;text-align:center}.labour-row-site{background:#f6f9fc;border:1px solid #d8e2ec;border-radius:9px;align-content:center;gap:2px;min-height:44px;padding:6px 10px;display:grid}.labour-row-site b{color:#1f5b96;font-size:.82rem}.labour-row-site span{color:#526982;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.labour-claim-table-row select,.labour-claim-table-row input{color:#17263a;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #cedbe8;border-radius:9px;padding:0 10px}.labour-claim-table-row>span{color:#60748b;font-weight:700}.labour-claim-table-row>div{gap:3px;display:grid}.labour-item-entry{gap:6px;display:grid}.labour-claim-table-row small{color:#71839a;font-size:.72rem}.labour-claim-table-row small.over{color:#b7382f}.labour-claim-table-row>button{color:#c43a30;cursor:pointer;background:#fff7f6;border:1px solid #efc6c2;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.labour-claim-table-row>button:disabled{opacity:.35;cursor:not-allowed}.labour-claim-table-footer{color:#61758c;background:#f8fafc;border-top:1px solid #dce5ee;justify-content:flex-end;align-items:center;gap:18px;padding:13px 15px;display:flex}.labour-claim-table-footer button{color:#205b95;min-height:38px;font:inherit;cursor:pointer;background:#fff;border:1px solid #b9d1e8;border-radius:9px;align-items:center;gap:7px;margin-right:auto;padding:0 13px;font-weight:800;display:flex}.labour-claim-table-footer b{color:#173d6a;font-size:1.1rem}.labour-rate-preview{background:#f3fbf7;border:1px solid #c7dfd3;border-radius:13px;grid-template-columns:1fr auto 1fr 1fr;align-items:center;gap:16px;padding:15px 18px;display:grid}.labour-rate-preview>div{gap:4px;display:grid}.labour-rate-preview small,.labour-rate-preview>span{color:var(--muted)}.labour-rate-preview b{color:#13784b}.labour-rate-preview.over{background:#fff6f5;border-color:#efc4be}.labour-rate-preview.over b{color:#bb382d}.labour-history{padding:22px}.labour-history>header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:end;padding-bottom:14px;display:flex}.labour-history>header>b{color:#173d6a;font-size:1.25rem}.labour-history-launcher{justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.labour-history-launcher small{color:#aa7623;letter-spacing:.12em;font-weight:800}.labour-history-launcher h2{color:#15243b;margin:3px 0}.labour-history-launcher p{color:var(--muted);margin:0}.labour-history-launcher-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.labour-history-launcher-summary>span{color:#61758c;background:#f1f6fb;border-radius:999px;align-items:center;gap:6px;padding:9px 12px;display:flex}.labour-history-launcher-summary>span b{color:#173d6a}.labour-history-launcher-summary button{color:#19568f;min-height:44px;font:inherit;cursor:pointer;background:#edf6ff;border:1px solid #9fc3e5;border-radius:11px;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:flex}.labour-history-modal{flex-direction:column;width:min(1320px,100%);height:min(760px,100vh - 48px);max-height:calc(100vh - 48px);padding:0;display:flex;overflow:hidden}.labour-history-modal>header{z-index:2;background:#fff;flex:none;margin:0;padding:18px 22px;position:relative;top:auto}.labour-history-modal-body{flex:auto;min-height:0;padding:18px 22px 24px;display:block;overflow-y:auto}.labour-history-modal .labour-history-tabs{align-content:start}.labour-history.labour-history-modal article{grid-template-columns:105px minmax(0,1fr) 175px 350px;align-self:start;gap:16px;min-height:0;padding:10px 0}.labour-history-modal article>span{white-space:nowrap;min-width:0;padding-right:16px;overflow:hidden}.labour-history-modal .labour-row-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex;overflow:visible}.labour-history-modal .labour-row-actions button{white-space:nowrap;width:auto;min-width:max-content;height:34px;padding:0 9px;font-size:.82rem}.labour-history-modal .labour-row-actions .delete{width:34px;min-width:34px;padding:0}.labour-history-filters{background:#f6f9fc;border:1px solid #dce6f0;border-radius:12px;grid-template-columns:minmax(220px,.9fr) minmax(240px,1.2fr) minmax(150px,.55fr) minmax(170px,.65fr) auto;align-items:end;gap:12px;margin-bottom:15px;padding:14px;display:grid}.labour-history-filters label{color:#53677e;gap:6px;font-weight:750;display:grid}.labour-history-filters select,.labour-history-filters input{color:#17263a;width:100%;min-height:43px;font:inherit;background:#fff;border:1px solid #cbd9e7;border-radius:9px;padding:0 12px}.labour-history-filters>button{color:#52677d;min-height:43px;font:inherit;cursor:pointer;background:#fff;border:1px solid #c7d6e5;border-radius:9px;padding:0 13px;font-weight:750}.labour-history article{border-bottom:1px solid #e7edf3;grid-template-columns:120px minmax(0,1fr) 180px 44px;align-items:center;gap:14px;padding:15px 0;display:grid}.labour-history article div,.labour-history article>span{gap:4px;display:grid}.labour-history article small,.labour-history time{color:var(--muted)}.labour-history article>span{text-align:right}.labour-history article button{color:#c43a30;background:#fff;border:1px solid #f1c7c3;border-radius:11px;width:40px;height:40px}@media (max-width:900px){.labour-context,.labour-summary,.labour-entry form,.labour-rate-preview,.labour-claim-header,.labour-history-filters{grid-template-columns:1fr}.labour-entry .wide{grid-column:auto}.labour-rate-preview>span{display:none}.labour-history article{grid-template-columns:1fr auto}.labour-history article time{grid-column:1/-1}.labour-history article>span{text-align:left}.labour-claim-table{overflow-x:auto}.labour-claim-table-head,.labour-claim-table-row{min-width:1350px}.labour-claim-hero{flex-wrap:wrap;align-items:flex-start}.labour-history-link{justify-content:center;width:100%;margin-left:0}}.allocation-actions{gap:6px;display:flex}.allocation-actions button{color:#173f6d;cursor:pointer;background:#fff;border:1px solid #d7e1ed;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.allocation-actions button:last-child{color:#c43b3b}.allocation-hint{color:#46627f;background:#eef6ff;border-radius:12px;margin:12px 0;padding:11px 14px}.supplier-allocation .procurement-submit.partial{background:linear-gradient(135deg,#a66513,#d18a24);box-shadow:0 10px 24px #a6651333}.supplier-bill-history{grid-column:1/-1}.supplier-bill-history-launch{grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex}.supplier-bill-history-launch small{color:#ad7b22;letter-spacing:.1em;font-weight:850}.supplier-bill-history-launch h2{color:#183d68;margin:4px 0}.supplier-bill-history-launch p{color:#64748b;margin:0}.supplier-bill-history-launch button{color:#174b82;cursor:pointer;background:#edf5ff;border:1px solid #9fbee0;border-radius:10px;align-items:center;gap:9px;padding:12px 15px;font-weight:850;display:flex}.supplier-bill-history-launch button b{background:#fff;border-radius:999px;place-items:center;min-width:24px;height:24px;display:grid}.supplier-bill-history-modal .supplier-bill-history{background:#f8fbff;padding:8px 22px 24px}.supplier-bill-history-filter{background:#f8fbff;align-items:flex-end;gap:10px;padding:16px 22px 8px;display:flex}.supplier-bill-history-filter label{color:#52657c;gap:6px;min-width:min(420px,100%);font-weight:750;display:grid}.supplier-bill-history-filter select{color:#17243b;background:#fff;border:1px solid #cbd9e8;border-radius:9px;min-height:42px;padding:8px 11px}.supplier-bill-history-filter button{color:#245fab;cursor:pointer;background:#fff;border:1px solid #cbd9e8;border-radius:9px;min-height:42px;padding:8px 12px;font-weight:800}.site-material-report{padding:22px}.site-material-report>header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:end;gap:16px;padding-bottom:16px;display:flex}.site-material-report header small{color:#a87825;letter-spacing:.08em;font-weight:800}.site-material-report header h2{margin:3px 0}.site-material-report header p{color:var(--muted);margin:0}.site-material-report>header>b{color:#173d6a;font-size:1.15rem}.site-report-filters{grid-template-columns:1fr 1fr 1.4fr;gap:12px;padding:17px 0;display:grid}.site-report-filters label{color:#53657b;gap:6px;font-weight:750;display:grid}.site-report-filters select,.site-report-filters input{min-height:44px;font:inherit;background:#fff;border:1px solid #d5dfeb;border-radius:11px;padding:0 12px}.site-report-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:17px;display:grid}.site-report-metrics>div{background:#f8fafc;border:1px solid #dae4ee;border-radius:13px;gap:4px;padding:15px 17px;display:grid}.site-report-metrics small,.site-report-metrics span{color:var(--muted)}.site-report-metrics b{color:#173d6a;font-size:1.3rem}.site-report-table{border:1px solid #dce5ee;border-radius:14px;overflow-x:auto}.site-report-table>div{border-bottom:1px solid #e5ebf2;grid-template-columns:190px 190px minmax(270px,1.3fr) 120px 135px minmax(300px,1.4fr);align-items:center;gap:12px;min-width:1240px;padding:13px 14px;display:grid}.site-report-table>div:first-child{color:#52647a;background:#eef3f8}.site-report-table>div:last-child{border-bottom:0}.site-report-table span{gap:3px;display:grid}.site-report-table small{color:var(--muted)}.site-report-table strong{color:#173d6a}@media (max-width:900px){.site-material-report>header{flex-direction:column;align-items:flex-start}.site-report-filters,.site-report-metrics{grid-template-columns:1fr}}.procurement-doc-list em[data-status=allocated]{color:#177047;background:#e8f8ef}.procurement-doc-list em[data-status=partially_allocated]{color:#97620e;background:#fff3d8}.master-mini-list{border-top:1px solid #e4eaf1;gap:7px;margin-top:18px;padding-top:15px;display:grid}.master-mini-list span{color:#526078;align-items:center;gap:7px;display:flex}.master-mini-list b{color:#214f7e}.master-mini-list span i{flex:1;font-style:normal}.master-mini-list span button{color:#315e90;cursor:pointer;background:#fff;border:1px solid #d5e0ec;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.master-mini-list span button.delete{color:#c93631;border-color:#f0cbc8}@media (max-width:1100px){.procurement-tabs{grid-template-columns:repeat(3,1fr)}.procurement-layout,.procurement-master-grid{grid-template-columns:1fr}}@media (max-width:700px){.procurement-content{padding:68px 12px 20px}.procurement-hero{align-items:flex-start;padding:22px 18px}.procurement-hero-icon{width:50px;height:50px}.procurement-tabs{grid-template-columns:repeat(2,1fr)}.procurement-metrics,.procurement-form-grid{grid-template-columns:1fr}.procurement-form-grid .wide{grid-column:auto}.procurement-panel,.procurement-form,.procurement-doc-list{padding:16px}.receipt-lines label{grid-template-columns:1fr}}.financial-report-page{gap:18px;display:grid}.financial-report-hero{color:#fff;background:linear-gradient(135deg,#142d53,#285b8f);border-radius:22px;justify-content:space-between;align-items:center;padding:28px 32px;display:flex}.financial-report-hero small{color:#e8bd61;letter-spacing:.14em;font-weight:800}.financial-report-hero h1{margin:5px 0;font-size:2rem}.financial-report-hero p{color:#d6e3f2;margin:0}.financial-report-filters{grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:12px;padding:18px;display:grid}.financial-report-filters label{color:#526078;gap:6px;font-weight:700;display:grid}.financial-report-filters input,.financial-report-filters select{background:#fff;border:1px solid #cfdae7;border-radius:10px;height:44px;padding:0 12px}.financial-report-filters button{color:#fff;background:#1c4779;border:0;border-radius:10px;align-items:center;gap:7px;height:44px;padding:0 18px;font-weight:800;display:flex}.financial-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.financial-kpis article{background:#fff;border:1px solid #dce5ee;border-radius:16px;grid-template-columns:auto 1fr;gap:4px 10px;padding:18px;display:grid}.financial-kpis svg{color:#315e90;grid-row:1/4}.financial-kpis span{color:#687890}.financial-kpis b{color:#18385f;font-size:1.35rem}.financial-kpis small{color:#728197}.financial-kpis article.success{background:#f0faf5;border-color:#bfe4d0}.financial-kpis article.success b,.financial-kpis article.success svg{color:#148152}.financial-kpis article.danger{background:#fff5f3;border-color:#f0cbc5}.financial-kpis article.danger b,.financial-kpis article.danger svg{color:#c34135}.financial-report-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.financial-report-columns article{padding:22px}.financial-report-columns header{border-bottom:1px solid #e1e8f0;justify-content:space-between;padding-bottom:14px;display:flex}.financial-report-columns article>div{border-bottom:1px dashed #dce4ec;justify-content:space-between;padding:12px 0;display:flex}.financial-report-columns small{color:#78869a;margin-top:12px;display:block}.financial-site-table{padding:22px;overflow:auto}.financial-site-table>header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.financial-site-table header small{color:#b4862e;letter-spacing:.12em;font-weight:800}.financial-site-head,.financial-site-row{grid-template-columns:2fr repeat(6,1fr);align-items:center;gap:12px;min-width:980px;padding:12px;display:grid}.financial-site-head{color:#617087;background:#edf3f8;border-radius:10px}.financial-site-row{border-bottom:1px solid #e3e9f0}.financial-site-row>span{grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;display:grid}.financial-site-row>span svg{grid-row:1/3}.financial-site-row small{color:#758399}.financial-site-row .positive{color:#178052}.financial-site-row .negative{color:#c13e35}@media (max-width:900px){.financial-report-filters,.financial-kpis{grid-template-columns:1fr 1fr}.financial-report-columns{grid-template-columns:1fr}}@media (max-width:640px){.financial-report-filters,.financial-kpis{grid-template-columns:1fr}.financial-report-hero{padding:22px}.financial-report-hero h1{font-size:1.45rem}.conversion-modal-backdrop{align-items:end;padding:10px}.conversion-modal{border-radius:22px 22px 12px 12px;max-height:92vh;padding:20px 16px}.conversion-stats,.conversion-options{grid-template-columns:1fr}.conversion-item{display:block}.conversion-item span{margin-top:5px;display:block}.conversion-modal footer .btn{flex:1}.boq-revision-bar{display:grid}.boq-revision-bar select{width:100%;min-width:0}}.boq-template-panel{background:linear-gradient(135deg,#f7faff 0%,#eef6ff 100%);border:1px solid #cad9ec;grid-template-columns:minmax(260px,.8fr) minmax(300px,1fr) auto auto;align-items:center;gap:16px;margin:0 0 18px;padding:20px 22px;display:grid}.boq-template-panel>button{grid-column:1/-1}.boq-template-panel .template-create-link{color:#14704d;background:#f0fbf5;border-color:#9fc9b6;gap:7px}.boq-template-panel>div{min-width:0}.boq-template-panel small{color:#9a6d1d;letter-spacing:.12em;margin-bottom:4px;font-size:.73rem;font-weight:900;display:block}.boq-template-panel h3{color:#172033;margin:0 0 3px}.boq-template-panel p{color:#64748b;margin:0;line-height:1.45}.boq-template-panel select,.boq-template-panel button{width:100%;min-height:50px;font:inherit;border-radius:14px;font-weight:750}.boq-template-panel select{color:#172033;background:#fff;border:1px solid #cbd8e8;padding:0 14px}.boq-template-panel button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#19385f,#28558a);border:0;padding:0 20px;box-shadow:0 10px 24px #1e406929}.boq-template-panel button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.boq-template-panel .template-edit-link{color:#21466f;white-space:nowrap;background:#fff;border:1px solid #cbd8e8;border-radius:14px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:800;display:inline-flex}.boq-template-panel .template-notice{color:#157158;background:#e9f9f1;border-radius:11px;grid-column:1/-1;margin:0;padding:10px 13px;font-weight:800}.boq-table .plan-cell input{color:#172033;width:100%;min-width:86px;min-height:38px;font:inherit;background:#fff;border:1px solid #90abd0;border-radius:9px;padding:7px 9px;font-weight:800}.boq-edit-plan,.boq-save-plan{color:#214577;cursor:pointer;background:#fff;border:1px solid #b8cbe3;border-radius:9px;min-height:34px;padding:6px 11px;font-weight:800}.boq-save-plan{color:#157158;background:#eaf9f3;border-color:#85ccb8}@media (max-width:900px){.boq-template-panel{grid-template-columns:1fr 1fr}.boq-template-panel>div:first-child{grid-column:1/-1}}@media (max-width:640px){.boq-template-panel{grid-template-columns:1fr;padding:16px}.boq-template-panel>*{grid-column:1!important}}.boq-template-editor-content{padding-top:28px}.template-editor{max-width:1500px;margin:0 auto;padding:28px}.template-editor-head{border-bottom:1px solid #dce4ee;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;display:flex}.template-editor-head small{color:#a27424;letter-spacing:.16em;font-weight:900}.template-editor-head h1{color:#172033;margin:5px 0;font-size:clamp(1.65rem,3vw,2.35rem)}.template-editor-head p{color:#64748b;margin:0}.template-back{color:#27486d;background:#fff;border:1px solid #cad6e5;border-radius:13px;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:800;display:inline-flex}.template-info-grid{grid-template-columns:minmax(190px,.55fr) 1fr;gap:16px;margin:24px 0;display:grid}.template-info-grid .wide{grid-column:1/-1}.template-info-grid label,.template-period-head label{color:#607087;gap:7px;font-weight:800;display:grid}.template-info-grid input,.template-period input,.template-period select{color:#172033;min-width:0;min-height:46px;font:inherit;background:#fff;border:1px solid #ccd8e7;border-radius:12px;padding:0 13px}.template-item-row select{color:#172033;width:100%;min-width:0;min-height:46px;font:inherit;background:#fff;border:1px solid #ccd8e7;border-radius:12px;padding:0 12px}.template-info-grid input:disabled{color:#66758a;background:#f2f5f9}.template-period-list{gap:18px;display:grid}.template-period{background:#fbfcfe;border:1px solid #d9e3ee;border-radius:18px;overflow:hidden}.template-period-head{background:#eef4fa;grid-template-columns:auto minmax(240px,1fr) 170px 46px;align-items:end;gap:12px;padding:17px;display:grid}.template-period-head>b{color:#1b426c;align-self:center;font-size:1.08rem}.icon-delete{color:#c33d36;cursor:pointer;background:#fff;border:1px solid #f1cccc;border-radius:11px;place-items:center;width:42px;height:42px;padding:0;display:inline-grid}.template-item-table{padding:10px 16px 0;overflow-x:auto}.template-item-labels,.template-item-row{grid-template-columns:42px 135px minmax(260px,1fr) 120px 125px 140px 44px;align-items:center;gap:9px;min-width:930px;display:grid}.template-item-labels{color:#718096;padding:7px 0;font-size:.86rem;font-weight:800}.template-item-row{border-top:1px solid #e5ebf2;padding:8px 0}.template-item-row>b{text-align:center;color:#718096}.template-add-item{color:#24517e;background:#fff;border:1px solid #bcd0e5;border-radius:11px;align-items:center;gap:7px;min-height:42px;margin:12px 16px 16px;padding:0 15px;font-weight:800;display:inline-flex}.template-editor-actions{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #d7e2ee;border-radius:16px;justify-content:space-between;gap:12px;margin-top:22px;padding:12px;display:flex;position:sticky;bottom:12px;box-shadow:0 14px 35px #182f4c21}.template-editor-actions button{border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-weight:900;display:inline-flex}.template-add-period{color:#244e78;background:#fff;border:1px solid #b9cce0}.template-save{color:#fff;background:linear-gradient(135deg,#173961,#28588b);border:0}.template-save:disabled{opacity:.6}@media (max-width:720px){.boq-template-editor-content{padding:72px 10px 18px}.template-editor{padding:17px 13px}.template-editor-head{display:grid}.template-info-grid{grid-template-columns:1fr}.template-info-grid .wide{grid-column:auto}.template-period-head{grid-template-columns:1fr 78px 42px}.template-period-head>b{grid-column:1/-1}.template-period-head label:first-of-type{grid-column:1/2}.template-editor-actions{grid-template-columns:1fr;display:grid}}@media (max-width:900px){.allocation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.allocation-summary{grid-template-columns:1fr}.supplier-po-picker>label{grid-template-columns:auto minmax(0,1fr)}.supplier-po-picker label strong{grid-column:2}}.contract-existing-notice{color:#176c58;background:#f0faf6;border:1px solid #c9e4da;border-radius:14px;align-items:flex-start;gap:10px;margin:14px 0;padding:13px 15px;line-height:1.5;display:flex}.contract-existing-notice svg{flex:none;margin-top:2px}.contract-edit-form{gap:16px;display:grid}.contract-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.contract-edit-grid label,.contract-edit-notes,.contract-edit-file{color:#53627a;gap:7px;font-weight:750;display:grid}.contract-edit-grid input,.contract-edit-grid select,.contract-edit-notes textarea,.contract-edit-file input{color:#172033;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d3deeb;border-radius:12px;padding:12px 14px}.contract-edit-notes textarea{resize:vertical}.contract-edit-file{background:#f8fafc;border:1px dashed #b8c9df;border-radius:14px;padding:14px}.contract-edit-file small{color:#718096;font-weight:500}@media (max-width:640px){.contract-edit-grid{grid-template-columns:1fr}.contract-modal-actions{grid-template-columns:1fr;display:grid}.contract-modal-actions .btn{justify-content:center;width:100%}}.commercial-workflow{margin:18px 0;padding:22px}.commercial-workflow>header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:end;gap:18px;padding-bottom:16px;display:flex}.commercial-workflow h2{color:#172033;margin:3px 0}.commercial-workflow p{color:#64748b;margin:0}.commercial-workflow>header>a,.boq-workflow-note a{color:#214577;font-weight:800;text-decoration:none}.commercial-workflow-steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.commercial-workflow-steps article{background:#f8fafc;border:1px solid #dbe4ef;border-radius:15px;align-items:flex-start;gap:10px;min-height:92px;padding:14px;display:flex;position:relative}.commercial-workflow-steps article:not(:last-child):after{content:"›";z-index:2;color:#94a3b8;font-size:22px;position:absolute;top:32px;right:-10px}.commercial-workflow-steps i{color:#475569;background:#e2e8f0;border-radius:50%;flex:0 0 28px;place-items:center;height:28px;font-style:normal;font-weight:900;display:grid}.commercial-workflow-steps span{gap:5px;display:grid}.commercial-workflow-steps b{color:#172033;font-size:.88rem}.commercial-workflow-steps small{color:#64748b;line-height:1.35}.commercial-workflow-steps .done{background:#f1fbf7;border-color:#b8e3d3}.commercial-workflow-steps .done i{color:#fff;background:#148367}.commercial-workflow-steps .ready{background:#f5f9ff;border-color:#cbdcf1}.commercial-workflow-steps .ready i{color:#fff;background:#214577}.commercial-workflow-rule{background:#f1f5f9;border-radius:12px;padding:12px 14px;margin-top:15px!important}.boq-workflow-note{color:#475569;background:#f5f9ff;border:1px solid #cbdcf1;border-radius:14px;align-items:center;gap:14px;margin:0 0 18px;padding:13px 16px;display:flex}.boq-workflow-note b{color:#172033}.boq-workflow-note a{margin-left:auto}.conversion-flow-note{color:#176c58;background:#eefaf5;border-radius:12px;grid-column:1/-1;margin:0;padding:12px 14px;font-weight:700}.period-boq{grid-column:1/-1}.period-boq-ref{font-weight:750;color:#214577!important}.boq-standard-card{margin:24px 0;padding:22px}.boq-standard-card>header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.boq-standard-card h3{margin:4px 0}.boq-standard-card p{color:#718096;margin:0}.boq-standard-wrap{border:1px solid #c8d3df;border-radius:14px;overflow:auto}.boq-standard-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:1180px;font-size:13px}.boq-standard-table th,.boq-standard-table td{text-align:right;border-bottom:1px dotted #aab4c0;border-right:1px solid #d7dee7;padding:10px 12px}.boq-standard-table th:first-child,.boq-standard-table td:first-child{text-align:center;width:80px}.boq-standard-table th:nth-child(2),.boq-standard-table td:nth-child(2){text-align:left;min-width:340px}.boq-standard-table thead th{color:#142217;text-align:center;background:#cdf9cf;font-weight:800}.boq-standard-heading td{background:#f5f8fb;font-weight:800}.boq-standard-sheet td{color:#fff;letter-spacing:.02em;background:#214d7d;font-size:14px;font-weight:850;text-align:left!important}.boq-standard-subtotal td{background:#d9fbf8;border-top:2px solid #4bb8b0;font-weight:800}.boq-standard-table tfoot td{background:#d9fbf8;border-top:2px solid #4bb8b0;font-weight:850}.boq-split-price-edit{gap:5px;display:grid!important}.boq-split-price-edit label{grid-template-columns:42px 90px;align-items:center;gap:4px;display:grid}.boq-split-price-edit input{min-width:0;width:90px!important}@media (max-width:700px){.boq-standard-card{padding:14px}.boq-standard-card>header{flex-direction:column;align-items:flex-start}}@media (max-width:1100px){.commercial-workflow-steps{grid-template-columns:repeat(3,1fr)}.commercial-workflow-steps article:after{display:none}}@media (max-width:640px){.commercial-workflow{padding:16px}.commercial-workflow>header,.boq-workflow-note{align-items:start;display:grid}.commercial-workflow-steps{grid-template-columns:1fr}.boq-workflow-note a{margin-left:0}}.receipt-voucher-page{gap:16px;display:grid}.manual-receipt-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.manual-receipt-head h2{margin:4px 0}.manual-receipt-head small{color:#ad7b22;letter-spacing:.12em;font-weight:850}.manual-receipt-head a{color:#24598e;border:1px solid #c8d7e7;border-radius:10px;padding:10px 14px;font-weight:800}.manual-receipt-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px;display:grid}.manual-receipt-form label{color:#52657c;gap:7px;font-weight:800;display:grid}.manual-receipt-form input,.manual-receipt-form select,.manual-receipt-form textarea{width:100%;font:inherit;background:#fff;border:1px solid #ced9e6;border-radius:10px;padding:11px 12px}.manual-receipt-form textarea{resize:vertical;min-height:90px}.manual-receipt-form .wide{grid-column:1/-1}.manual-receipt-form button{color:#fff;cursor:pointer;background:#183f6d;border:0;border-radius:10px;min-height:48px;font-weight:850}.manual-receipt-form button:disabled{opacity:.55}.supplier-bill-payment{grid-template-columns:repeat(5,minmax(110px,1fr)) auto auto;gap:7px;margin-top:10px;display:grid}.supplier-bill-payment input,.supplier-bill-payment select,.supplier-bill-payment button{min-width:0;font:inherit;background:#fff;border:1px solid #cbd9e8;border-radius:8px;padding:8px 9px}.supplier-bill-payment button{color:#fff;cursor:pointer;background:#183f6d;font-weight:800}.supplier-bill-payment button[type=button]{color:#52657c;background:#fff}.supplier-bill-payment-actions{align-items:center;gap:8px;display:flex}.supplier-bill-payment-actions button{color:#126a48;cursor:pointer;background:#ecfaf3;border:1px solid #9fc9b6;border-radius:8px;padding:8px 11px;font-weight:800}.supplier-bill-payment-actions button.detail{color:#285d91;background:#f5f9fd;border-color:#bdd1e6}.supplier-bill-history article.expanded{grid-template-columns:minmax(0,1fr) auto;display:grid}.supplier-bill-main{min-width:0}.supplier-bill-detail-panel{background:#f8fbff;border:1px solid #dbe5ef;border-radius:12px;grid-column:1/-1;margin-top:14px;padding:16px}.supplier-bill-detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.supplier-bill-detail-metrics span{color:#64748b;background:#fff;border-radius:9px;gap:3px;padding:10px 12px;display:grid}.supplier-bill-detail-metrics b{color:#183f6d}.supplier-bill-po-detail{background:#fff;border:1px solid #dbe5ef;border-radius:10px;margin-top:10px;overflow:hidden}.supplier-bill-po-detail>header{background:#eef5fc;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.supplier-bill-po-detail>header div{gap:2px;display:grid}.supplier-bill-detail-table>div{border-top:1px solid #e7edf4;grid-template-columns:2fr .7fr .8fr .8fr 2fr;align-items:start;gap:10px;padding:10px 12px;display:grid}.supplier-bill-detail-table>div:first-child{color:#52657c;background:#f8fafc}.supplier-bill-detail-table small{color:#64748b;margin-bottom:3px;display:block}.supplier-bill-pv-history{border-top:1px solid #dbe5ef;margin-top:12px;padding-top:12px}.supplier-bill-pv-history h4{margin:0 0 8px}.supplier-bill-pv-history>div{border-top:1px solid #e7edf4;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:8px 0;display:grid}.supplier-bill-pv-history>div span{display:grid}.supplier-bill-pv-history a{color:#285d91;font-weight:800}.supplier-bill-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#09192f94;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.supplier-bill-modal{background:#fff;border-radius:18px;width:min(1180px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 70px #08182d47}.supplier-bill-modal>header{z-index:2;background:#fff;border-bottom:1px solid #dbe5ef;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex;position:sticky;top:0}.supplier-bill-modal>header small{color:#ad7b22;letter-spacing:.1em;font-weight:850}.supplier-bill-modal>header h2{color:#183d68;margin:3px 0}.supplier-bill-modal>header p{color:#64748b;margin:0}.supplier-bill-modal>header button{color:#52657c;cursor:pointer;background:#fff;border:1px solid #cbd9e8;border-radius:9px;padding:9px 13px;font-weight:800}.supplier-bill-modal .supplier-bill-detail-panel{background:#f8fbff;border:0;border-radius:0;margin:0;padding:20px 22px 24px}.project-procurement-lookup{padding:20px}.project-procurement-lookup>header{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.project-procurement-lookup>header small{color:#ad7b22;letter-spacing:.1em;font-weight:850}.project-procurement-lookup>header h2{margin:4px 0 0}.project-procurement-lookup>header label{color:#52657c;gap:6px;min-width:min(420px,100%);font-weight:800;display:grid}.project-procurement-lookup select{width:100%;font:inherit;background:#fff;border:1px solid #cbd9e8;border-radius:10px;padding:11px 13px}.project-procurement-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.project-procurement-summary span{color:#64748b;background:#f2f7fc;border-radius:10px;gap:3px;padding:13px;display:grid}.project-procurement-summary b{color:#183f6d;font-size:18px}.project-po-bill-map{border:1px solid #dbe5ef;border-radius:11px;overflow:hidden}.project-po-bill-map>div{border-top:1px solid #e7edf4;grid-template-columns:1.2fr 1.4fr .8fr 1.2fr;align-items:center;gap:12px;padding:11px 13px;display:grid}.project-po-bill-map>div:first-child{color:#52657c;background:#eef5fc;border-top:0}.project-po-bill-map span{gap:2px;display:grid}.project-po-bill-map small{color:#718096}.project-po-bill-map button{color:#285d91;cursor:pointer;background:#f5f9fd;border:1px solid #bdd1e6;border-radius:7px;width:fit-content;padding:6px 9px;font-weight:800}.project-po-bill-map>p{color:#718096;text-align:center;padding:24px}@media (max-width:1100px){.supplier-bill-payment{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.direct-destination-mode>div{grid-template-columns:1fr}.direct-bill-footer{flex-direction:column;align-items:stretch}.direct-bill-footer>div{justify-content:space-between}}@media (max-width:800px){.supplier-bill-detail-metrics,.project-procurement-summary{grid-template-columns:1fr}.supplier-bill-detail-table>div,.project-po-bill-map>div{grid-template-columns:1fr 1fr}.supplier-bill-detail-table>div:first-child,.project-po-bill-map>div:first-child{display:none}.supplier-bill-history article.expanded{grid-template-columns:1fr}.supplier-bill-payment-actions{flex-wrap:wrap;justify-content:flex-start}.supplier-bill-detail-panel{grid-column:auto}.project-procurement-lookup>header{flex-direction:column;align-items:stretch}.project-procurement-lookup>header label{min-width:0}.supplier-bill-modal-backdrop{padding:8px}.supplier-bill-modal{border-radius:12px;max-height:calc(100vh - 16px)}.supplier-bill-modal>header,.supplier-bill-modal .supplier-bill-detail-panel{padding:14px}}.receipt-voucher-create{color:#fff;white-space:nowrap;background:#183f6d;border-radius:10px;margin-left:auto;padding:11px 16px;font-weight:800;text-decoration:none}.receipt-voucher-list .empty-state .receipt-voucher-create{margin:10px auto 0}.receipt-voucher-summary{color:#66758a;justify-content:flex-end;gap:32px;padding:18px 22px;display:flex}.receipt-voucher-filter{flex-wrap:wrap;align-items:end;gap:10px;padding:16px 20px;display:flex}.receipt-voucher-filter label{color:#66758a;flex:180px;gap:6px;font-weight:800;display:grid}.receipt-voucher-filter label:first-child{flex-basis:300px}.receipt-voucher-filter select,.receipt-voucher-filter input{background:#fff;border:1px solid #ced9e6;border-radius:10px;width:100%;min-height:44px;padding:0 12px}.receipt-voucher-filter button,.receipt-voucher-filter a{color:#fff;background:#183f6d;border:1px solid #c5d6e8;border-radius:10px;align-items:center;min-height:44px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.receipt-voucher-filter a{color:#24598e;background:#fff}@media (max-width:650px){.receipt-voucher-filter{flex-direction:column;align-items:stretch}.receipt-voucher-filter button,.receipt-voucher-filter a{justify-content:center}.manual-receipt-form{grid-template-columns:1fr}.manual-receipt-form .wide{grid-column:auto}}.receipt-voucher-summary span{gap:3px;display:grid}.receipt-voucher-summary b{color:#183f6d;font-size:1.25rem}.receipt-voucher-list{padding:20px;overflow:auto}.receipt-voucher-list>header,.receipt-voucher-list>article{grid-template-columns:1.15fr 2fr 1.2fr 1fr 1fr auto;align-items:center;gap:14px;min-width:960px;padding:13px;display:grid}.receipt-voucher-list>header{color:#65748a;background:#edf3f8;border-radius:10px;font-weight:800}.receipt-voucher-list>article{border-bottom:1px solid #e1e8f0}.receipt-voucher-list article span{gap:2px;display:grid}.receipt-voucher-list article small{color:#78869a}.receipt-voucher-list article strong{color:#157c50}.receipt-voucher-list article a{color:#24598e;border:1px solid #c5d6e8;border-radius:9px;align-items:center;gap:5px;padding:9px 11px;font-weight:800;text-decoration:none;display:flex}.billing-page-actions{flex-wrap:wrap;grid-area:actions;justify-content:flex-end;align-items:center;gap:10px;display:flex}.billing-page-actions>a{color:#f2f6fb;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:13px;align-items:center;gap:7px;min-height:42px;padding:0 15px;font-weight:800;text-decoration:none;display:inline-flex}.billing-page-actions .billing-boq-period-link{color:#24598e;background:#eef5fc;border:1px solid #c5d6e8;border-radius:9px;padding:9px 13px;font-weight:800}.period-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.period-auto-button{color:#235c92;background:#eaf4fd;border:1px solid #b9d4ed;border-radius:10px;align-items:center;gap:7px;padding:9px 13px;font-weight:800;display:inline-flex}@media (max-width:760px){.billing-page-head{grid-template-columns:1fr;grid-template-areas:"heading""actions"}.billing-page-actions{justify-content:flex-start}.billing-empty{flex-direction:column;align-items:flex-start}}
