:root{--navy:#07172d;--navy-2:#0e2747;--blue:#1167e9;--blue-soft:#e9f2ff;--ink:#14213a;--muted:#65718a;--line:#dbe2ed;--surface:#fff;--canvas:#f5f7fb;--success:#11845b;--danger:#c53e3e;--shadow:0 10px 30px #1930520f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button,a,label{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}:focus-visible{outline-offset:2px;outline:3px solid #1167e94d}.app-frame{grid-template-rows:60px 1fr;grid-template-columns:292px minmax(0,1fr);min-height:100vh;display:grid}.topbar{background:var(--navy);color:#fff;z-index:40;grid-column:1/-1;grid-template-columns:292px 1fr auto;align-items:center;height:60px;padding-right:24px;display:grid;position:sticky;top:0;box-shadow:0 1px #ffffff14}.brand{letter-spacing:.02em;align-items:center;gap:11px;height:60px;padding:0 20px;font-size:16px;display:flex}.brand-mark{width:32px;height:32px;color:var(--blue);background:#fff;border-radius:8px;place-items:center;display:grid}.topbar-title{padding-left:24px;font-size:15px;font-weight:650}.beta{background:var(--blue);vertical-align:2px;border-radius:999px;margin-left:9px;padding:3px 7px;font-size:10px;display:inline-block}.topbar-actions{align-items:center;gap:10px;display:flex}.icon-button{border:1px solid var(--line);background:0 0;border-radius:9px;place-items:center;width:38px;min-width:38px;height:38px;display:inline-grid}.topbar .icon-button{color:#d8e1ef;background:#ffffff0f;border-color:#ffffff29}.avatar{background:#ffffff21;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.mobile-menu{display:none}.sidebar{color:#d8e2ef;background:linear-gradient(165deg, var(--navy-2), #09182e 74%);z-index:30;flex-direction:column;height:calc(100vh - 60px);padding:20px 16px 14px;display:flex;position:sticky;top:60px;overflow-y:auto}.company-label{color:#fff;letter-spacing:.06em;align-items:center;gap:9px;margin-bottom:11px;font-size:12px;font-weight:750;display:flex}.project-card{text-align:left;color:#fff;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:9px;width:100%;margin-bottom:18px;padding:13px}.project-card span,.project-card small{display:block}.project-card span{font-size:13px}.project-card small{color:#aebdd2;margin-top:5px;line-height:1.35}.project-card select{color:#fff;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.project-card select:focus-visible{outline-offset:4px;outline:2px solid #7dd3fc}.project-card select option{color:#07172d;background:#fff}.sidebar nav{gap:4px;display:grid}.sidebar a{border-radius:7px;align-items:center;gap:11px;min-height:43px;padding:0 12px;font-weight:540;display:flex}.sidebar a:hover{color:#fff;background:#ffffff12}.sidebar a.active{color:#fff;background:linear-gradient(90deg,#174d9d,#1f58ab);box-shadow:inset 3px 0 #68a6ff}.sidebar-spacer{flex:1;min-height:30px}.profile-card{border-top:1px solid #ffffff21;align-items:center;gap:10px;margin-top:8px;padding:15px 10px 5px;display:flex}.profile-card span,.profile-card small{display:block}.profile-card b{color:#fff;font-size:12px}.profile-card small{color:#9eabc0;margin-top:2px;font-size:11px}.main-content{min-width:0;padding:20px 34px 100px}.mobile-nav{display:none}.report-page{width:100%;max-width:1220px;margin:0 auto}.report-heading,.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;display:flex}h1,h2,p{margin-top:0}h1{letter-spacing:-.025em;margin-bottom:4px;font-size:25px;line-height:1.2}h2{margin-bottom:0;font-size:16px;line-height:1.3}.eyebrow{color:var(--blue);letter-spacing:.08em;margin-bottom:5px;font-size:11px;font-weight:760}.page-header{max-width:1220px;margin:0 auto 24px}.page-header h1{font-size:28px}.page-header p{max-width:680px;color:var(--muted);margin:6px 0 0}.draft-state{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.status-dot{background:#47bc93;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #47bc931f}.card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:9px}.report-fields{border:0;min-width:0;margin:0;padding:0}.report-fields:disabled{opacity:.78}.review-gate,.approved-gate{justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:16px;display:flex}.review-gate span{color:#9a6b12;letter-spacing:.08em;font-size:10px;font-weight:760}.review-gate p,.approved-gate p{color:var(--muted);margin:5px 0 0;font-size:12px}.review-gate>div:last-child{flex:none;gap:8px;display:flex}.review-gate .reviewer-controls{gap:8px;width:min(420px,48%);display:grid}.reviewer-controls label{color:var(--muted);font-size:11px;font-weight:650}.reviewer-controls textarea{resize:vertical;border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;min-height:62px;margin-top:4px;padding:9px 10px}.reviewer-actions{justify-content:flex-end;gap:8px;display:flex}.review-error{font-weight:650;color:var(--danger)!important}.text-button{color:var(--blue);background:0 0;border:0;justify-self:end;padding:4px 0;font-size:11px}.approved-gate{color:var(--success);background:#f5fcf9;border-color:#a9dfca}.approved-gate div{flex:1}.approved-gate h2{color:var(--ink)}.status-submitted .status-dot{background:#d99b22;box-shadow:0 0 0 4px #d99b2224}.status-approved_locked .status-dot,.status-share_prepared .status-dot,.status-user_confirmed_sent .status-dot{background:var(--success)}.status-returned{color:var(--danger)}.status-returned .status-dot{background:var(--danger);box-shadow:0 0 0 4px #c53e3e1f}.stepper{grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 18px;padding:0;list-style:none;display:grid}.stepper li{color:var(--muted);align-items:center;gap:9px;font-size:12px;display:flex;position:relative}.stepper li:not(:last-child):after{content:"";background:var(--line);flex:1;height:1px;margin:0 14px}.stepper li span{border:1px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:700;display:grid}.stepper li.active{color:var(--blue)}.stepper li.active span{color:#fff;background:var(--blue);border-color:var(--blue)}.project-summary{grid-template-columns:230px 1.35fr 1fr;gap:22px;margin-bottom:12px;padding:15px 18px;display:grid}.project-summary>*{min-width:0}.project-summary span,.project-summary small{color:var(--muted);font-size:11px;display:block}.project-summary b{margin-top:5px;display:block}.project-summary small{margin-top:3px}.input-with-icon{align-items:center;gap:8px;margin-top:2px;display:flex}.input-with-icon input{border:0;padding:4px 0;font-weight:700}.project-summary select{background:0 0;border:0;width:100%;margin-top:3px;padding:5px 0;font-weight:700}.section-title{justify-content:space-between;align-items:center;gap:16px;min-height:34px;margin-top:6px;display:flex}.section-title>span{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.weather-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.weather-card{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:9px;grid-template-columns:38px 82px minmax(0,1fr) 70px minmax(0,.7fr);align-items:end;gap:8px;padding:10px 12px 13px;display:grid}.weather-card legend{color:var(--muted);padding:0 5px;font-size:11px}.weather-card label{border-bottom:1px solid #edf0f5;align-items:center;min-width:0;display:flex}.weather-card label span{display:none}.weather-card input,.weather-card select{background:0 0;border:0;width:100%;min-width:0;padding:4px}.weather-card label:first-of-type input{font-size:22px;font-weight:750}.weather-card b{font-size:13px}.weather-icon{color:#f5a31b;margin-bottom:2px}.weather-evidence{border-top:1px solid var(--line);min-width:0;color:var(--muted);grid-column:1/-1;align-items:center;gap:9px;padding:7px 9px;display:flex}.weather-evidence small{flex:1}.weather-evidence .text-button{align-items:center;gap:5px;min-height:30px;display:inline-flex}.evidence-status{color:#745a1f;background:#fff5d8;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:700}.evidence-status.is-geo_confirmed{color:var(--success);background:#e8f8f1}.weather-policy{color:#48617f;background:#f5f9ff;border:1px solid #d9e8ff;border-radius:7px;gap:7px;margin-top:8px;padding:8px 10px;font-size:11px;display:flex}.weather-policy svg{color:var(--blue);flex:none}.crew-table{overflow:hidden}.crew-row{grid-template-columns:1.05fr .85fr .46fr .46fr .52fr .56fr 1.2fr 42px;align-items:center;gap:8px;padding:5px 10px;display:grid}.crew-row input,.crew-row select,.work-fields input,.attendance-row input,.location-row input,.form-grid input,.form-grid select,.form-grid textarea,.edit-dialog select{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;min-width:0;padding:8px 10px}.crew-head{color:var(--muted);padding-top:8px;padding-bottom:0;font-size:10px}.crew-head+.crew-row{padding-top:6px}.crew-scope-tabs{background:#e9eef5;border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;width:min(440px,100%);margin:0 0 9px;padding:4px;display:grid}.crew-scope-tabs button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 10px;font-size:12px;font-weight:700}.crew-scope-tabs button[aria-pressed=true]{color:var(--blue);background:#fff;box-shadow:0 2px 8px #1d375b1a}.crew-reason-fields{gap:5px;min-width:0;display:grid}.crew-capacity-snapshot{text-align:center;background:#eef3f9;border-radius:6px;place-content:center;min-height:36px;padding:5px 6px;display:grid}.crew-capacity-snapshot b,.crew-capacity-snapshot small{display:block}.crew-capacity-snapshot small{color:var(--muted);font-size:8px;line-height:1.2}.crew-capacity-warning{color:#8b2f2f;background:#fff3f3;border:1px solid #efb4b4;border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:9px;padding:10px 12px;display:flex}.crew-capacity-warning svg{flex:none}.crew-capacity-warning p{margin:3px 0 0;font-size:11px}.crew-source-note{color:var(--muted);margin:8px 0 0;font-size:10px}.outline-button,.secondary-button,.primary-button,.photo-actions button,.photo-add-control{border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-weight:650;display:inline-flex}.outline-button{color:var(--blue);background:#fff;border:1px dashed #6ca6f6}.secondary-button{color:var(--ink);border:1px solid var(--line);background:#fff}.primary-button{color:#fff;border:1px solid var(--blue);background:var(--blue);box-shadow:0 5px 14px #1167e92e}.add-row{width:fit-content;margin:7px 10px 10px}.work-list{gap:8px;display:grid}.work-card{overflow:hidden}.work-card summary{cursor:pointer;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:18px;padding:11px 16px;list-style:none;display:grid}.work-card summary::-webkit-details-marker{display:none}.work-card summary span,.work-card summary b{display:block}.work-card summary span{color:var(--muted);font-size:10px}.work-card summary b{margin-top:3px;font-size:12px}.work-card[open] summary{border-bottom:1px solid var(--line)}.work-card[open] summary svg{transform:rotate(180deg)}.work-fields{grid-template-columns:1.1fr 1.3fr .5fr .45fr .45fr;gap:9px;padding:10px 16px 14px;display:grid}.work-fields label,.location-row label,.form-grid label,.edit-dialog label{color:var(--muted);font-size:10px}.work-fields input,.location-row input,.form-grid input,.form-grid select,.form-grid textarea,.edit-dialog select{color:var(--ink);margin-top:3px;font-size:12px;display:block}.work-fields .wide-field{grid-column:span 3}.photo-panel{overflow:hidden}.photo-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:7px 10px;display:flex}.batch-assign,.photo-actions{align-items:center;gap:7px;display:flex}.batch-assign select{border:1px solid var(--line);background:#fff;border-radius:6px;max-width:195px;height:38px;padding:0 26px 0 9px;font-size:12px}.batch-assign .secondary-button{min-height:38px;font-size:12px}.photo-actions button,.photo-add-control{min-height:38px;color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0 9px;font-size:12px}.photo-add-control{position:relative}.photo-add-control input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px;display:grid}.photo-card{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;position:relative;overflow:hidden}.photo-card.selected{border-color:#81b2fa;box-shadow:0 0 0 2px #deecff}.photo-wrap{aspect-ratio:1.75;cursor:pointer;background:#e6ebf2;position:relative;overflow:hidden}.photo-wrap:focus-visible{outline-offset:-3px;outline:3px solid #8db9f7}.photo-wrap img{-o-object-fit:cover;object-fit:cover}.photo-select,.photo-edit{background:#fffffff0;border-radius:7px;place-items:center;width:34px;height:34px;display:grid;position:absolute;box-shadow:0 3px 10px #00000024}.photo-select{color:#fff;border:2px solid #adc0d6;top:8px;left:8px}.photo-card.selected .photo-select{background:var(--blue);border-color:#fff}.photo-edit{border:0;top:8px;right:8px}.photo-meta{text-align:left;background:#fff;border:0;width:100%;padding:8px 10px 6px}.photo-meta span,.photo-meta b{display:block}.photo-meta span{color:var(--muted);margin-top:3px;font-size:9px}.photo-meta b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.photo-meta b.missing{color:var(--danger)}.photo-status{align-items:center;gap:4px;min-height:26px;padding:0 10px;font-size:9px;font-weight:650;display:flex}.photo-status.complete{color:var(--success);background:#effaf6}.photo-status.incomplete{color:var(--danger);background:#fff2f2}.hint-bar{color:#48617f;background:#f5f9ff;border-top:1px solid #d9e8ff;align-items:center;gap:8px;padding:10px 12px;font-size:11px;display:flex}.hint-bar svg{color:var(--blue);flex:none}.error-banner,.success-banner{border-radius:7px;align-items:center;gap:8px;margin-top:9px;padding:11px 13px;font-weight:600;display:flex}.error-banner{color:#9c2929;background:#fff2f2;border:1px solid #f1b8b8}.success-banner{color:#146746;background:#effaf6;border:1px solid #a9dfca}.session-photo-notice{color:#48617f;background:#f5f9ff;border:1px solid #cfe0f7;border-radius:7px;margin-top:9px;padding:10px 12px;font-size:12px}.sticky-actions{z-index:20;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:9px 34px;display:flex;position:fixed;bottom:0;left:292px;right:0}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040e1f99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.edit-dialog,.preview-dialog{background:#fff;border-radius:13px;width:min(560px,100%);max-height:calc(100vh - 40px);padding:18px;overflow:auto;box-shadow:0 30px 90px #00000042}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:14px;display:flex}.dialog-heading span{color:var(--blue);letter-spacing:.08em;font-size:10px;font-weight:750}.dialog-heading h2{margin-top:3px;font-size:20px}.edit-dialog>img{-o-object-fit:cover;object-fit:cover;border-radius:8px;width:100%;height:auto;max-height:260px}.edit-dialog label{margin-top:12px;display:block}.edit-dialog .primary-button{width:100%;margin-top:16px}.preview-dialog{width:min(720px,100%)}.preview-summary{color:#146747;background:#effaf6;border-radius:9px;align-items:center;gap:13px;padding:16px;display:flex}.preview-summary div,.preview-summary b,.preview-summary span{display:block}.preview-summary span{margin-top:3px;font-size:12px}.preview-images{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0;display:grid}.preview-images img{-o-object-fit:cover;object-fit:cover;border-radius:7px;width:100%;height:100px}.share-actions{flex-wrap:wrap;gap:8px;display:flex}.success-message{color:var(--success);align-items:center;gap:7px;margin:14px 0 0;display:flex}.confirm-sent-button{color:#fff;border:1px solid var(--success);background:var(--success);border-radius:7px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:44px;margin-top:14px;font-weight:700;display:inline-flex}.manual-receipt-note{color:#146747;background:#effaf6;border:1px solid #a9dfca;border-radius:7px;margin:14px 0 0;padding:10px 12px;font-size:12px;font-weight:650}.assignment-group{border:1px solid var(--line);border-radius:9px;margin-top:13px;padding:10px}.assignment-group legend{color:var(--ink);padding:0 5px;font-size:12px;font-weight:750}.assignment-group input{border:1px solid var(--line);border-radius:6px;width:100%;margin-top:4px;padding:9px 10px}.assignment-group label .secondary-button{width:auto;margin-top:8px}.assignment-group label small{color:#8a5c17;margin-top:6px;display:block}.mode-tabs{background:#edf2f8;border-radius:7px;gap:5px;margin-bottom:10px;padding:3px;display:flex}.mode-tabs button{min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:4px;font-size:10px;font-weight:650;display:inline-flex}.mode-tabs button[aria-pressed=true]{color:var(--blue);background:#fff;box-shadow:0 1px 5px #0f2a4e1f}.suggestion-box{color:#48617f;background:#f5f9ff;border:1px solid #cfe0f7;border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px;font-size:11px;display:grid}.zalo-broker{background:#f7f9fc;border:1px solid #d5dfeb;border-radius:9px;margin:14px 0;padding:13px}.zalo-broker>div{align-items:center;gap:9px;display:flex}.zalo-broker>div>span,.zalo-broker>div b,.zalo-broker>div small{display:block}.zalo-broker>div small{color:var(--muted);margin-top:2px}.zalo-broker>button,.zalo-broker>a{width:100%;margin-top:10px}.zalo-broker ul{gap:5px;margin:10px 0 0;padding:0;list-style:none;display:grid}.zalo-broker li{justify-content:space-between;gap:12px;font-size:11px;display:flex}.zalo-broker li b{color:#745a1f}.post-approval{max-width:1220px;margin:24px auto 0;padding:18px}.approved-heading{align-items:center;gap:12px;display:flex}.approved-heading>svg{color:var(--success);flex:none}.approved-heading p,.signature-panel p{color:var(--muted);margin:3px 0 0}.post-approval>.primary-button{margin-top:14px}.signature-panel{background:#f8fbff;border:1px solid #cfe0f7;border-radius:9px;margin-top:14px;padding:14px}.signature-panel>div:first-child>span{color:var(--blue);letter-spacing:.08em;font-size:9px;font-weight:750}.signature-panel h3{margin-top:3px}.signature-panel canvas{touch-action:none;background:#fff;border:1px dashed #8aacd8;border-radius:7px;width:100%;height:132px;margin-top:12px;display:block}.signature-actions{justify-content:flex-end;gap:8px;margin-top:9px;display:flex}.typed-signature{border-top:1px solid #dbe7f5;margin-top:14px;padding-top:13px}.typed-signature>label{color:var(--navy);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.typed-signature>div{gap:8px;display:flex}.typed-signature input{flex:1;min-width:0}.typed-signature small{color:var(--muted);margin-top:6px;display:block}.photo-wrap[aria-disabled=true]{cursor:not-allowed;opacity:.82}.signature-confirmed{color:var(--success);background:#effaf6;border:1px solid #a9dfca;border-radius:8px;align-items:center;gap:10px;margin-top:14px;padding:12px;display:flex}.signature-confirmed span,.signature-confirmed b{display:block}.signature-confirmed span{margin-top:2px;font-size:11px}.back-to-journal{color:var(--blue);margin-top:5px;font-size:11px;font-weight:650;display:inline-block}.journal-page,.report-loading{max-width:1220px;margin:0 auto}.journal-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.journal-heading h1{margin-top:5px}.journal-heading p{color:var(--muted);margin:5px 0 0}.journal-toolbar{grid-template-columns:minmax(240px,1fr) 210px auto;align-items:end;gap:12px;padding:12px;display:grid}.journal-toolbar label{color:var(--muted);font-size:10px}.journal-toolbar input,.journal-toolbar select{width:100%;min-height:40px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:7px;padding:0 10px}.journal-search{position:relative}.journal-search svg{color:var(--muted);position:absolute;bottom:11px;left:11px}.journal-search input{padding-left:36px}.journal-toolbar .check-label{min-height:40px;color:var(--ink);align-items:center;gap:8px;font-size:12px;display:flex}.journal-toolbar .check-label input{width:18px;min-height:18px}.journal-list{gap:8px;margin-top:12px;display:grid}.journal-row{grid-template-columns:minmax(230px,1.2fr) minmax(240px,1fr) auto auto;align-items:center;gap:16px;padding:14px;display:grid}.journal-row.is-deleted{opacity:.72;background:#f2f4f7}.journal-date{align-items:center;gap:10px;display:flex}.journal-date svg{color:var(--blue)}.journal-date span,.journal-date b,.journal-date small{display:block}.journal-date small{color:var(--muted);margin-top:3px}.journal-facts{flex-wrap:wrap;gap:5px;display:flex}.journal-facts span{color:#48617f;background:#eef3f9;border-radius:999px;padding:4px 7px;font-size:10px}.status-pill{color:#745a1f;white-space:nowrap;background:#fff5d8;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700}.status-pill.status-approved_locked,.status-pill.status-share_prepared,.status-pill.status-user_confirmed_sent{color:var(--success);background:#e8f8f1}.journal-actions{align-items:center;gap:7px;display:flex}.journal-empty{text-align:center;min-height:330px;color:var(--muted);place-content:center;justify-items:center;margin-top:12px;display:grid}.journal-empty h2{color:var(--ink);margin-top:10px}.journal-empty p{margin:5px 0 14px}.report-loading{padding:28px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.import-card{grid-template-columns:52px 1fr auto;align-items:center;gap:18px;max-width:1220px;min-height:116px;margin:0 auto;padding:22px;display:grid}.import-icon{width:52px;height:52px;color:var(--blue);background:var(--blue-soft);border-radius:12px;place-items:center;display:grid}.import-card h2,.form-section-heading h2{margin-bottom:4px}.import-card p,.form-section-heading p{color:var(--muted);margin:0}.file-button{position:relative}.file-button input,.upload-photo input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-status,.review-section{max-width:1220px;margin-left:auto;margin-right:auto}.file-status{color:var(--success);align-items:center;gap:7px;margin-top:12px;display:flex}.review-section{margin-top:24px}.attendance-table{overflow:hidden}.attendance-row{grid-template-columns:1.2fr .45fr .45fr 1fr;gap:10px;padding:7px 12px;display:grid}.attendance-row input{border:1px solid var(--line);border-radius:6px;width:100%;min-width:0;padding:9px}.attendance-head{color:var(--muted);padding-top:10px;padding-bottom:2px;font-size:11px}.reconcile-bar{color:#745a1f;background:#fff9ea;border:1px solid #ecd49d;border-radius:8px;align-items:center;gap:9px;margin-top:10px;padding:12px 14px;display:flex}.reconcile-bar span{flex:1}.location-list{gap:8px;display:grid}.location-row{grid-template-columns:38px .7fr 1fr 1fr;align-items:end;gap:10px;padding:12px;display:grid}.location-row.selected{border-color:#8db9f7;box-shadow:0 0 0 2px #e3efff}.check-control{color:#fff;border:1px solid var(--line);background:#fff;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.location-row.selected .check-control{background:var(--blue);border-color:var(--blue)}.publish-button{margin-top:12px}.maintenance-card{max-width:800px;margin:0 auto;padding:22px}.form-section-heading{align-items:center;gap:12px;margin-bottom:18px;display:flex}.form-section-heading>svg{color:var(--blue)}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid .wide-field{grid-column:1/-1}.form-grid textarea{resize:vertical}.upload-photo{cursor:pointer;border:1px dashed #8aacd8;border-radius:7px;align-items:center;gap:8px;min-height:40px;padding:0 12px;display:flex;position:relative;color:var(--blue)!important;font-size:12px!important}.switch-row{background:#f5f8fc;border-radius:8px;align-items:center;gap:9px;margin:18px 0;padding:12px;display:flex}.switch-row span{align-items:center;gap:7px;display:flex}.empty-panel{text-align:center;max-width:1220px;min-height:360px;color:var(--muted);background:#fff;border:1px dashed #bbc8da;border-radius:12px;place-content:center;justify-items:center;margin:0 auto;display:grid}.empty-panel h2{color:var(--ink);margin:12px 0 4px}.settings-page{width:100%;max-width:1220px;margin:0 auto}.connection-status-pill{color:#745a1f;white-space:nowrap;background:#fff5d8;border-radius:999px;align-items:center;gap:8px;min-height:32px;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}.connection-status-pill>span{background:#d99b22;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #d99b2221}.connection-status-pill.is-connected{color:var(--success);background:#e8f8f1}.connection-status-pill.is-connected>span{background:var(--success);box-shadow:0 0 0 4px #11845b1f}.settings-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:14px;display:grid}.connection-card,.connection-security-card{padding:20px}.connection-card-heading,.security-card-title{align-items:center;gap:12px;display:flex}.connection-card-heading>div:nth-child(2),.security-card-title>div{flex:1}.connection-card-heading h2,.security-card-title h2{margin-bottom:3px}.connection-card-heading p,.security-card-title p{color:var(--muted);margin:0;font-size:12px}.connection-logo{color:#fff;background:linear-gradient(145deg,#1685ff,#0865dc);border-radius:13px;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 8px 20px #1167e933}.connection-ok{color:var(--success)}.connection-off{color:#8b98aa}.connection-empty-state{color:#69809e;background:#f8fafd;border:1px dashed #b8c8dc;border-radius:10px;justify-content:center;align-items:center;gap:14px;min-height:132px;margin-top:18px;padding:20px;display:flex}.connection-empty-state>div,.connection-empty-state b,.connection-empty-state span{display:block}.connection-empty-state b{color:var(--ink)}.connection-empty-state span{color:var(--muted);margin-top:4px;font-size:12px}.connected-summary{grid-template-columns:1.25fr .8fr 1fr;gap:8px;margin-top:18px;display:grid}.connected-summary>div{background:#f2faf7;border-radius:8px;min-width:0;padding:12px}.connected-summary span,.connected-summary b{display:block}.connected-summary span{color:var(--muted);font-size:10px}.connected-summary b{overflow-wrap:anywhere;margin-top:4px}.connection-button{width:100%;margin-top:16px}.connection-warning,.connection-error{border-radius:7px;align-items:flex-start;gap:8px;margin:12px 0 0;padding:10px;font-size:11px;display:flex}.connection-warning{color:#745a1f;background:#fff7e4}.connection-error{color:var(--danger);background:#fff1f1}.connection-warning svg,.connection-error svg{flex:none}.unsupported-note{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.55}.security-card-title>svg{color:var(--blue);flex:none}.connection-security-card ol{gap:14px;margin:20px 0 0;padding:0;list-style:none;display:grid}.connection-security-card li{grid-template-columns:28px 1fr;align-items:start;gap:10px;display:grid}.connection-security-card li>span{width:28px;height:28px;color:var(--blue);background:var(--blue-soft);border-radius:50%;place-items:center;font-size:11px;font-weight:750;display:grid}.connection-security-card li b,.connection-security-card li p{display:block}.connection-security-card li p{color:var(--muted);margin:3px 0 0;font-size:11px}.security-footnote{color:#48617f;border-top:1px solid var(--line);align-items:flex-start;gap:8px;margin-top:18px;padding-top:14px;font-size:11px;display:flex}.security-footnote svg{flex:none}.zalo-login-dialog{background:#fff;border-radius:13px;width:min(520px,100%);max-height:calc(100vh - 40px);padding:18px;overflow:auto;box-shadow:0 30px 90px #00000042}.login-progress{color:#48617f;background:#f5f9ff;border:1px solid #cfe0f7;border-radius:8px;align-items:center;gap:10px;margin-top:14px;padding:11px 12px;display:flex}.login-progress.is-connected{color:var(--success);background:#effaf6;border-color:#a9dfca}.login-progress.is-failed,.login-progress.is-expired,.login-progress.is-cancelled{color:#8b6417;background:#fff9ea;border-color:#ecd49d}.login-progress svg{flex:none}.login-progress b,.login-progress p{display:block}.login-progress p{color:var(--muted);margin:2px 0 0;font-size:11px}.qr-panel{text-align:center;border:1px solid var(--line);width:min(310px,100%);box-shadow:var(--shadow);background:#fff;border-radius:12px;margin:16px auto 0;padding:14px}.qr-panel img{width:min(280px,100%);height:auto;image-rendering:pixelated;margin:0 auto;display:block}.qr-panel p{color:var(--muted);align-items:center;gap:7px;margin:9px 0 0;font-size:11px;display:inline-flex}.qr-placeholder{color:#7e8ca1;background:#f8fafd;border:1px dashed #b8c8dc;border-radius:12px;place-content:center;justify-items:center;gap:10px;min-height:240px;margin-top:16px;display:grid}.qr-placeholder span{font-size:11px}.login-session-meta{color:var(--muted);justify-content:space-between;gap:12px;margin-top:12px;font-size:10px;display:flex}.login-session-meta span{align-items:center;gap:5px;display:inline-flex}.qr-privacy-note{color:#48617f;background:#eef5ff;border-radius:7px;align-items:flex-start;gap:7px;margin:12px 0 0;padding:9px 10px;font-size:10px;display:flex}.qr-privacy-note svg{flex:none}.zalo-dialog-actions{justify-content:flex-end;margin-top:14px;display:flex}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.integration-guard{background:radial-gradient(circle at top, #16385f 0, var(--navy) 44%, #040d1b 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.integration-guard-card{text-align:center;color:#fff;background:#09182ee6;border:1px solid #ffffff29;border-radius:16px;width:min(560px,100%);padding:38px;box-shadow:0 30px 90px #0000004d}.integration-guard-card .brand-mark{width:52px;height:52px;margin:0 auto 20px}.integration-guard-card h1{margin-bottom:12px;font-size:28px}.integration-guard-card>p:not(.eyebrow){color:#c4d0df;margin:0}.integration-guard-card .integration-guard-note{border-top:1px solid #ffffff21;padding-top:18px;font-size:12px;margin-top:18px!important}@media (max-width:1180px){.app-frame{grid-template-columns:240px minmax(0,1fr)}.topbar{grid-template-columns:240px 1fr auto}.sticky-actions{left:240px}.weather-card{grid-template-columns:38px 90px 1fr}.weather-card label:nth-of-type(3),.weather-card label:nth-of-type(4){display:none}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-toolbar{flex-direction:column;align-items:stretch}.photo-actions{justify-content:flex-end}.journal-row{grid-template-columns:1fr auto}.journal-facts{grid-column:1}.status-pill{grid-area:1/2}.journal-actions{grid-area:2/2}}@media (max-width:760px){body{font-size:13px}.app-frame{display:block}.topbar{justify-content:space-between;height:58px;padding:0 14px;display:flex}.brand{height:58px;padding:0}.brand-mark{width:30px;height:30px}.topbar-title,.topbar-actions{display:none}.mobile-menu{color:#fff;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}.sidebar{visibility:hidden;pointer-events:none;width:100%;height:auto;padding-bottom:90px;transition:transform .22s,visibility 0s linear .22s;position:fixed;inset:58px 0 0;transform:translate(-105%)}.sidebar.is-open{visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(0)}.sidebar nav{margin-top:8px}.sidebar a{min-height:48px}.main-content{padding:18px 14px 142px}.mobile-nav{z-index:35;min-height:70px;padding:5px 8px max(5px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{min-width:0;min-height:52px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9px;display:flex}.mobile-nav a.active{color:var(--blue);font-weight:700}.report-heading,.page-header{flex-direction:column;align-items:flex-start;gap:10px}h1,.page-header h1{font-size:23px}.draft-state{white-space:normal}.stepper{gap:8px;padding-bottom:4px;overflow-x:auto}.stepper li{min-width:max-content}.stepper li:not(:last-child):after{flex:0 0 22px;width:22px;margin:0 2px 0 8px}.project-summary{grid-template-columns:1fr;gap:14px;padding:14px}.weather-grid{grid-template-columns:1fr}.weather-card{grid-template-columns:38px 84px 1fr}.weather-evidence{flex-wrap:wrap;align-items:flex-start}.weather-evidence small{min-width:150px}.weather-evidence .text-button{justify-content:flex-start;width:100%}.crew-table{box-shadow:none;background:0 0;border:0;padding:0 10px 10px}.crew-head{display:none}.crew-row:not(.crew-head){border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:9px;grid-template-columns:1.2fr .8fr;gap:8px;margin-bottom:9px;padding:12px 48px 12px 12px;position:relative}.crew-row>input:first-of-type,.crew-row>input:nth-of-type(2),.crew-reason-fields{grid-column:1/-1}.crew-reason-fields input{min-height:42px}.crew-row .icon-button{position:absolute;top:12px;right:6px}.add-row{min-height:44px;margin-left:0}.work-card summary{grid-template-columns:1fr auto;gap:10px}.work-card summary div:nth-child(2){grid-area:2/1/auto/-1}.work-card summary svg{grid-area:1/2}.work-fields{grid-template-columns:1fr 1fr}.work-fields label:first-child,.work-fields label:nth-child(2),.work-fields .wide-field{grid-column:1/-1}.photo-toolbar{padding:10px}.batch-assign{grid-template-columns:1fr 1fr;display:grid}.batch-assign select{min-width:0;max-width:none;height:44px}.batch-assign .secondary-button{grid-column:1/-1;min-height:44px}.photo-actions{justify-content:stretch}.photo-actions button{border:1px solid var(--line);flex:1;min-height:44px}.photo-grid{scroll-snap-type:x mandatory;padding-bottom:14px;display:flex;overflow-x:auto}.photo-card{scroll-snap-align:start;min-width:min(78vw,300px)}.photo-select,.photo-edit{width:44px;height:44px}.photo-meta{min-height:92px;padding:10px 12px}.photo-meta b{white-space:normal}.photo-status{min-height:32px;font-size:10px}.hint-bar{align-items:flex-start;font-size:11px}.sticky-actions{min-height:62px;padding:8px 12px;bottom:70px;left:0}.sticky-actions button{min-height:46px;padding:0 11px}.sticky-actions .primary-button{flex:1}.review-gate,.approved-gate{flex-direction:column;align-items:flex-start}.review-gate>div:last-child,.review-gate .reviewer-controls,.approved-gate .primary-button{width:100%}.review-gate>div:last-child{flex-direction:column}.review-gate button,.approved-gate button{width:100%;min-height:44px}.modal-backdrop{place-items:end center;padding:8px}.edit-dialog,.preview-dialog{border-radius:14px 14px 0 0;max-height:calc(100vh - 16px)}.preview-images{grid-template-columns:repeat(2,1fr)}.share-actions>button{width:100%;min-height:44px}.suggestion-box{grid-template-columns:auto 1fr}.suggestion-box button{grid-column:1/-1;width:100%}.mode-tabs{overflow-x:auto}.mode-tabs button{min-width:max-content;padding:0 8px}.signature-actions{flex-direction:column}.signature-actions button{width:100%}.typed-signature>div{flex-direction:column}.journal-heading{flex-direction:column;align-items:flex-start}.journal-heading .primary-button{width:100%}.journal-toolbar{grid-template-columns:1fr}.journal-row{grid-template-columns:1fr auto;gap:10px}.journal-facts{grid-column:1/-1}.status-pill{grid-area:3/1;justify-self:start}.journal-actions{grid-area:3/2}.journal-actions .secondary-button{min-height:44px}.import-card{grid-template-columns:45px 1fr;min-height:0;padding:16px}.import-icon{width:45px;height:45px}.import-card .file-button{grid-column:1/-1;min-height:44px}.attendance-head{display:none}.attendance-row:not(.attendance-head){border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 1fr;margin:8px;padding:10px}.attendance-row input:first-child,.attendance-row input:last-child{grid-column:1/-1}.reconcile-bar{flex-wrap:wrap;align-items:flex-start}.reconcile-bar .primary-button{width:100%;min-height:44px}.location-row{grid-template-columns:40px 1fr;align-items:center}.location-row label{grid-column:2}.location-row .check-control{grid-row:1/4;align-self:center;min-height:44px}.form-grid{grid-template-columns:1fr}.form-grid .wide-field{grid-column:auto}.maintenance-card{padding:16px}.maintenance-card>.primary-button{width:100%;min-height:44px}.settings-grid{grid-template-columns:1fr}.connection-card,.connection-security-card{padding:16px}.connected-summary{grid-template-columns:1fr}.connection-status-pill{align-self:flex-start}.zalo-login-dialog{border-radius:14px 14px 0 0;max-height:calc(100vh - 16px)}.login-session-meta{flex-direction:column;align-items:flex-start}.zalo-dialog-actions button{width:100%;min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.weekly-attendance-page{width:100%;max-width:1220px;margin:0 auto}.weekly-loading{max-width:1220px;color:var(--muted);margin:0 auto;padding:28px}.weekly-command{grid-template-columns:minmax(260px,.9fr) minmax(360px,1.2fr) auto;align-items:center;gap:16px;min-height:70px;margin-bottom:12px;padding:12px 14px;display:grid}.weekly-week-switcher{align-items:center;gap:8px;display:flex}.weekly-week-switcher label{flex:1;min-width:0}.weekly-week-switcher label span{color:var(--muted);margin-bottom:3px;font-size:10px;font-weight:700;display:block}.weekly-week-switcher input{border:1px solid var(--line);background:#f8fafc;border-radius:7px;width:100%;min-width:0;padding:7px 9px;font-weight:700}.weekly-scope-tabs{background:#edf1f7;border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;min-width:0;padding:4px;display:grid}.weekly-scope-tabs button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:12px;font-weight:700}.weekly-scope-tabs button[aria-pressed=true]{color:var(--blue);background:#fff;box-shadow:0 2px 8px #1d375b1a}.weekly-status{color:#8b6417;white-space:nowrap;background:#fff5d8;border-radius:999px;justify-self:end;align-items:center;gap:7px;min-height:32px;padding:0 10px;font-size:10px;font-weight:750;display:inline-flex}.weekly-status>span{background:#d99b22;border-radius:50%;width:7px;height:7px}.weekly-status.is-locked,.weekly-status.is-signed{color:var(--success);background:#e8f8f1}.weekly-status.is-locked>span,.weekly-status.is-signed>span{background:var(--success)}.weekly-summary{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px;display:grid}.weekly-summary>div{border-right:1px solid var(--line);min-width:0;padding:14px 16px}.weekly-summary>div:last-child{border-right:0}.weekly-summary span,.weekly-summary strong,.weekly-summary small{display:block}.weekly-summary span{color:var(--muted);font-size:10px;font-weight:700}.weekly-summary strong{margin-top:4px;font-size:21px;line-height:1.15}.weekly-summary small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:10px}.weekly-alert{border:1px solid;border-radius:8px;align-items:flex-start;gap:10px;margin:9px 0;padding:12px 14px;display:flex}.weekly-alert svg{flex:none}.weekly-alert b,.weekly-alert p{display:block}.weekly-alert p{margin:3px 0 0;font-size:11px}.weekly-alert.is-warning{color:#745a1f;background:#fff9ea;border-color:#ecd49d}.weekly-alert.is-danger{color:#8b2f2f;background:#fff3f3;border-color:#efb4b4}.weekly-ledger{margin-top:12px;padding:18px;position:relative;overflow:hidden}.weekly-ledger.is-main_construction{border-top:3px solid var(--blue)}.weekly-ledger.is-maintenance_repair{border-top:3px solid #d0821a}.weekly-watermark{z-index:0;color:#b91c1c14;letter-spacing:.06em;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(28px,4vw,52px);font-weight:850;position:absolute;top:82px;right:22px;transform:rotate(-8deg)}.weekly-ledger-heading{z-index:1;justify-content:space-between;align-items:flex-end;gap:18px;display:flex;position:relative}.weekly-ledger-heading>div>span{color:var(--blue);letter-spacing:.08em;font-size:10px;font-weight:800}.weekly-ledger.is-maintenance_repair .weekly-ledger-heading>div>span{color:#a86110}.weekly-ledger-heading h2{margin-top:3px;font-size:20px}.weekly-ledger-heading p{color:var(--muted);margin:4px 0 0;font-size:11px}.weekly-team-select{width:min(260px,100%)}.weekly-team-select span,.weekly-costs label>span{color:var(--muted);margin-bottom:5px;font-size:10px;font-weight:700;display:block}.weekly-team-select select,.weekly-costs input,.weekly-costs textarea{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;min-width:0;padding:9px 10px}.weekly-days{z-index:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:16px;display:grid;position:relative}.weekly-day{border:1px solid var(--line);background:#fffffff5;border-radius:8px;min-width:0;padding:10px}.weekly-day.is-missing{background:#fffaf0;border-color:#e9bd74}.weekly-day>header{border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:flex-start;gap:5px;min-height:49px;display:flex}.weekly-day>header strong,.weekly-day>header span{display:block}.weekly-day>header strong{font-size:11px}.weekly-day>header div>span{color:var(--muted);margin-top:2px;font-size:9px}.weekly-source-status{max-width:66px;color:var(--success);text-align:center;background:#e8f8f1;border-radius:5px;padding:3px 5px;font-size:8px;font-weight:700;line-height:1.25}.weekly-day.is-missing .weekly-source-status{color:#8b6417;background:#fff0cf}.weekly-day-fields{grid-template-columns:repeat(3,1fr);gap:4px;padding:8px 0 4px;display:grid}.weekly-day-fields>div{text-align:center;background:#f4f7fb;border-radius:6px;min-width:0;padding:6px 3px}.weekly-day-fields span,.weekly-day-fields b{display:block}.weekly-day-fields span{color:var(--muted);font-size:8px}.weekly-day-fields b{margin-top:2px;font-size:13px}.weekly-day>footer{border-top:1px solid #edf0f5;margin-top:5px;padding-top:7px}.weekly-day>footer span,.weekly-day>footer small{display:block}.weekly-day>footer span{color:var(--blue);font-size:11px}.weekly-day>footer small{color:var(--muted);margin-top:3px;font-size:8px;line-height:1.35}.weekly-day-note{color:#8b6417;margin:6px 0 0;font-size:8px;line-height:1.35}.weekly-source-note{z-index:1;color:#48617f;background:#eef5ff;border-radius:7px;margin:12px 0 0;padding:9px 11px;font-size:10px;position:relative}.weekly-costs{z-index:1;border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(210px,1.2fr);gap:10px;margin-top:14px;padding-top:14px;display:grid;position:relative}.weekly-total{background:#eef5ff;border-radius:8px;padding:10px 12px}.weekly-total span,.weekly-total strong{display:block}.weekly-total span{color:var(--muted);font-size:10px}.weekly-total strong{margin-top:5px;font-size:16px}.weekly-notes{grid-column:1/-1}.weekly-costs textarea{resize:vertical}.weekly-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:12px 14px;display:flex}.weekly-actions>div{align-items:center;gap:8px;display:flex}.weekly-actions>div:first-child{flex-wrap:wrap}.weekly-actions p{width:100%;color:var(--muted);margin:0;font-size:9px}.weekly-blockers{color:#745a1f;background:#fff9ea;border:1px solid #ecd49d;border-radius:8px;margin-top:10px;padding:12px 14px;font-size:11px}.weekly-blockers ul{margin:5px 0 0;padding-left:18px}.weekly-signatures{margin-top:12px;padding:18px}.weekly-signatures>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.weekly-signatures>header span{color:var(--blue);align-items:center;gap:7px;font-size:10px;font-weight:750;display:inline-flex}.weekly-signatures>header h2{margin-top:4px}.weekly-signatures>header small{color:var(--success)}.weekly-signature-lock{color:#745a1f;background:#fff9ea;border-radius:7px;align-items:center;gap:8px;margin:12px 0 0;padding:10px;display:flex}.weekly-signature-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.weekly-signature-grid article{border:1px solid var(--line);border-radius:8px;gap:8px;min-width:0;padding:12px;display:grid}.weekly-signature-grid article>span{color:var(--muted);font-size:10px;font-weight:700}.weekly-signature-grid input{border:1px solid var(--line);border-radius:7px;width:100%;min-width:0;padding:9px 10px}.weekly-signature-grid article.is-signed{background:#f3fbf8;border-color:#a9dfca}.weekly-signed{color:var(--success);grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;display:grid}.weekly-signed svg{grid-row:1/3}.weekly-signed small{color:var(--muted)}.weekly-disclaimer{color:var(--muted);border-top:1px solid var(--line);align-items:flex-start;gap:8px;margin:14px 0 0;padding-top:12px;font-size:10px;display:flex}.weekly-disclaimer svg{flex:none}.weekly-preview-dialog{background:#fff;border-radius:13px;grid-template-rows:auto 1fr auto;gap:12px;width:min(1000px,100%);height:min(92vh,900px);padding:16px;display:grid;box-shadow:0 30px 90px #0000004d}.weekly-preview-dialog>header,.weekly-preview-dialog>footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.weekly-preview-dialog>header p,.weekly-preview-dialog>footer span{color:var(--muted);margin:3px 0 0;font-size:11px}.weekly-preview-dialog iframe{border:1px solid var(--line);background:#e9edf3;border-radius:8px;width:100%;height:100%;min-height:0}@media (max-width:1180px){.weekly-command{grid-template-columns:1fr 1fr}.weekly-status{grid-column:2;justify-self:end}.weekly-days{grid-template-columns:repeat(4,minmax(0,1fr))}.weekly-costs{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-notes{grid-column:1/-1}}@media (max-width:760px){.weekly-attendance-page .page-header .secondary-button{width:100%;min-height:44px}.weekly-command{grid-template-columns:1fr;gap:10px}.weekly-week-switcher{order:2}.weekly-scope-tabs{order:1}.weekly-status{order:3;grid-column:1;justify-self:start}.weekly-summary{grid-template-columns:1fr 1fr}.weekly-summary>div:nth-child(2){border-right:0}.weekly-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.weekly-days{grid-template-columns:1fr}.weekly-day{padding:12px}.weekly-day>header{min-height:0}.weekly-day-fields{grid-template-columns:repeat(3,1fr)}.weekly-day>footer{justify-content:space-between;gap:12px;display:flex}.weekly-day>footer small{text-align:right;max-width:55%}.weekly-ledger{padding:14px}.weekly-ledger-heading{flex-direction:column;align-items:stretch}.weekly-team-select{width:100%}.weekly-costs{grid-template-columns:1fr}.weekly-notes{grid-column:auto}.weekly-actions,.weekly-actions>div{flex-direction:column;align-items:stretch}.weekly-actions>div,.weekly-actions button{width:100%}.weekly-signature-grid{grid-template-columns:1fr}.weekly-preview-dialog{border-radius:14px 14px 0 0;height:calc(100vh - 16px);padding:12px}.weekly-preview-dialog>footer{flex-direction:column;align-items:stretch}.weekly-preview-dialog>footer button{width:100%;min-height:44px}}.profile-card{position:relative}.profile-card span{flex:1;min-width:0}.profile-signout{color:#c8d5e5;background:#ffffff0a;border:1px solid #ffffff24;border-radius:8px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.profile-signout:hover{color:#fff;background:#ffffff1a}.workspace-dashboard{width:100%;max-width:1220px;margin:0 auto}.dashboard-hero{background:linear-gradient(120deg,#fff 0%,#f7faff 64%,#eaf3ff 100%);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;min-height:118px;margin-bottom:14px;padding:20px 22px;display:grid;overflow:hidden}.dashboard-kicker{color:var(--blue);letter-spacing:.09em;margin-bottom:6px;font-size:10px;font-weight:800;display:block}.dashboard-hero h2{max-width:720px;font-size:clamp(18px,2.1vw,24px)}.dashboard-hero p{color:var(--muted);margin:6px 0 0}.dashboard-hero-metric{border-left:1px solid var(--line);align-items:center;gap:10px;min-width:150px;padding:12px 14px;display:flex}.dashboard-hero-metric svg{color:var(--blue)}.dashboard-hero-metric span,.dashboard-hero-metric b,.dashboard-hero-metric small{display:block}.dashboard-hero-metric b{font-size:24px;line-height:1}.dashboard-hero-metric small{color:var(--muted);margin-top:4px;font-size:10px}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.module-card{flex-direction:column;align-items:flex-start;min-height:218px;padding:20px;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex}.module-card:hover{border-color:#b8cff2;transform:translateY(-2px);box-shadow:0 16px 36px #1930521a}.module-icon{width:46px;height:46px;color:var(--blue);background:var(--blue-soft);border-radius:12px;place-items:center;margin-bottom:17px;display:grid}.module-card.tone-emerald .module-icon{color:#08785a;background:#e7f8f2}.module-card.tone-amber .module-icon{color:#a36110;background:#fff2dc}.module-card.tone-violet .module-icon{color:#7047b8;background:#f0eaff}.module-card.tone-slate .module-icon{color:#52627a;background:#edf1f6}.module-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.055em;margin-bottom:4px;font-size:10px;font-weight:750;display:block}.module-card h2{font-size:18px}.module-card p{color:var(--muted);margin:8px 0 16px;font-size:12px}.module-action{color:var(--blue);align-items:center;gap:6px;margin-top:auto;font-size:11px;font-weight:750;display:inline-flex}.dashboard-footnotes{grid-template-columns:1.15fr .85fr;gap:12px;margin-top:12px;display:grid}.dashboard-footnotes>div{align-items:center;gap:12px;min-height:76px;padding:15px 17px;display:flex}.dashboard-footnotes svg{color:var(--blue);flex:none}.dashboard-footnotes span{flex:1;min-width:0}.dashboard-footnotes b,.dashboard-footnotes small{display:block}.dashboard-footnotes small{color:var(--muted);margin-top:3px;font-size:10px}.dashboard-footnotes a{color:var(--blue);white-space:nowrap;font-size:11px;font-weight:750}@media (max-width:1060px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero{grid-template-columns:minmax(0,1fr) auto}.dashboard-hero .secondary-button{grid-column:1/-1;justify-self:start}}@media (max-width:760px){.workspace-dashboard .page-header .primary-button{width:100%;min-height:46px}.dashboard-hero{grid-template-columns:1fr;gap:14px;padding:17px}.dashboard-hero-metric{border-top:1px solid var(--line);border-left:0;padding:10px 0 0}.dashboard-hero .secondary-button{width:100%}.module-grid,.dashboard-footnotes{grid-template-columns:1fr}.module-card{min-height:188px;padding:17px}.dashboard-footnotes>div{flex-wrap:wrap;align-items:flex-start}.dashboard-footnotes a{width:100%;padding-left:32px}}.auth-page{background:#fff;grid-template-columns:minmax(380px,.9fr) minmax(480px,1.1fr);min-height:100vh;display:grid}.auth-visual{color:#fff;background:radial-gradient(circle at 80% 18%,#3079e16b,#0000 29%),linear-gradient(155deg,#102f56,#07172d 72%);flex-direction:column;justify-content:space-between;min-height:100vh;padding:40px clamp(32px,5vw,76px);display:flex}.auth-brand{letter-spacing:.04em;align-items:center;gap:11px;width:fit-content;font-size:16px;display:inline-flex}.auth-brand>span{width:38px;height:38px;color:var(--blue);background:#fff;border-radius:10px;place-items:center;display:grid}.auth-visual>div{max-width:600px}.auth-visual>div>span{color:#89b8ff;letter-spacing:.12em;font-size:11px;font-weight:800}.auth-visual h1{letter-spacing:-.045em;margin-top:13px;font-size:clamp(36px,5vw,64px);line-height:1.04}.auth-visual p{color:#b9c7d9;max-width:520px;margin:20px 0 0;font-size:15px;line-height:1.7}.auth-visual>small{color:#aebdd2;align-items:center;gap:8px;display:flex}.auth-panel{background:#f6f8fc;place-items:center;padding:40px;display:grid}.auth-card{width:min(470px,100%);padding:34px}.auth-back{width:fit-content;color:var(--muted);align-items:center;gap:6px;margin-bottom:25px;font-size:11px;font-weight:700;display:inline-flex}.auth-heading{margin-bottom:25px}.auth-heading>span{width:42px;height:42px;color:var(--blue);background:var(--blue-soft);border-radius:11px;place-items:center;margin-bottom:15px;display:grid}.auth-heading h2{font-size:26px}.auth-heading p{color:var(--muted);margin:8px 0 0}.auth-field{margin-top:15px;display:block}.auth-field>span{color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:720;display:block}.auth-field>div{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:9px;height:48px;padding:0 13px;display:flex}.auth-field>div:focus-within{border-color:#79aef5;box-shadow:0 0 0 3px #1167e91a}.auth-field svg{color:#8290a5;flex:none}.auth-field input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%}.auth-field button{background:0 0;border:0;place-items:center;width:34px;height:34px;display:grid}.auth-options{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:11px 0 18px;font-size:10px;display:flex}.auth-options a{color:var(--blue);font-weight:750}.auth-message{border-radius:7px;margin-top:14px;padding:10px 12px;font-size:11px}.auth-message.is-error{color:#922f2f;background:#fff0f0}.auth-message.is-success{color:#087150;background:#eaf8f2}.auth-submit{width:100%;min-height:48px;margin-top:18px}.auth-policy{color:var(--muted);text-align:center;margin:18px 0 0;font-size:9px;line-height:1.55}@media (max-width:820px){.auth-page{grid-template-columns:1fr}.auth-visual{min-height:230px;padding:28px 24px}.auth-visual>div{margin-top:44px}.auth-visual h1{font-size:34px}.auth-visual p,.auth-visual>small{display:none}.auth-panel{align-items:start;padding:24px 16px 40px}.auth-card{border-radius:13px;margin-top:-42px;padding:24px 20px}}.attendance-page{width:100%;max-width:1220px;margin:0 auto}.attendance-loading{max-width:1220px;color:var(--muted);margin:0 auto;padding:28px}.danger-button{color:#a63030;background:#fff5f5;border:1px solid #efb4b4;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-weight:700;display:inline-flex}.attendance-kpis{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px;display:grid}.attendance-kpis>div{border-right:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:16px 18px;display:flex}.attendance-kpis>div:last-child{border-right:0}.attendance-kpis svg{width:20px;color:var(--blue);flex:none}.attendance-kpis span,.attendance-kpis b,.attendance-kpis small{display:block}.attendance-kpis b{font-size:22px;line-height:1.1}.attendance-kpis small{color:var(--muted);margin-top:3px;font-size:10px}.attendance-module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.attendance-module-card{flex-direction:column;align-items:flex-start;min-height:192px;padding:18px;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex;position:relative}.attendance-module-card:hover{border-color:#aac8f3;transform:translateY(-2px);box-shadow:0 14px 34px #1930521a}.attendance-module-icon{width:44px;height:44px;color:var(--blue);background:var(--blue-soft);border-radius:11px;place-items:center;margin-bottom:16px;display:grid}.attendance-module-badge{text-overflow:ellipsis;white-space:nowrap;color:#48617f;background:#eef3f9;border-radius:999px;max-width:48%;padding:4px 7px;font-size:9px;font-weight:750;position:absolute;top:17px;right:17px;overflow:hidden}.attendance-module-card h2{font-size:16px}.attendance-module-card p{color:var(--muted);margin:8px 0 14px;font-size:11px}.attendance-module-card .module-action{margin-top:auto}.attendance-recent{margin-top:12px;overflow:hidden}.attendance-recent>header,.attendance-list-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:15px 17px;display:flex}.attendance-recent>header span{color:var(--blue);letter-spacing:.08em;font-size:9px;font-weight:800}.attendance-recent>header h2{margin-top:4px}.attendance-recent>header a{color:var(--blue);font-size:11px;font-weight:750}.attendance-revision-list{display:grid}.attendance-revision-row{border-bottom:1px solid #edf0f5;grid-template-columns:5px minmax(200px,1.1fr) minmax(170px,.7fr) auto 20px;align-items:center;gap:13px;min-height:68px;padding:10px 15px;display:grid}.attendance-revision-row:last-child{border-bottom:0}.attendance-revision-row:hover{background:#f8faff}.revision-scope-mark{background:var(--blue);border-radius:999px;width:4px;height:38px}.revision-scope-mark.is-maintenance_repair{background:#d0821a}.attendance-revision-row b,.attendance-revision-row small{display:block}.attendance-revision-row small{color:var(--muted);margin-top:3px;font-size:10px}.revision-facts{color:var(--muted);gap:12px;font-size:10px;display:flex}.attendance-status{color:#536175;white-space:nowrap;background:#edf1f6;border-radius:999px;justify-self:start;align-items:center;gap:6px;min-height:27px;padding:0 9px;font-size:9px;font-weight:750;display:inline-flex}.attendance-status>span{background:currentColor;border-radius:50%;width:6px;height:6px}.attendance-status.is-success{color:#087150;background:#e8f8f1}.attendance-status.is-warning{color:#855e12;background:#fff2d3}.attendance-status.is-danger{color:#9d3030;background:#fff0f0}.attendance-empty{min-height:140px;color:var(--muted);text-align:center;place-content:center;justify-items:center;padding:28px;display:grid}.attendance-empty p{margin:8px 0 0}.attendance-scope-tabs{background:#e9eef5;border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;width:min(520px,100%);margin-bottom:12px;padding:4px;display:grid}.attendance-scope-tabs button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:11px;font-weight:750}.attendance-scope-tabs button[aria-pressed=true]{color:var(--blue);background:#fff;box-shadow:0 2px 8px #1d375b1a}.attendance-list-card{overflow:hidden}.attendance-upload-settings{grid-template-columns:minmax(320px,1.4fr) minmax(190px,.7fr) minmax(220px,1fr);align-items:end;gap:14px;margin-bottom:12px;padding:14px;display:grid}.attendance-upload-settings .attendance-scope-tabs{width:100%;margin:0}.attendance-upload-settings label>span,.attendance-week-controls label>span{color:var(--muted);margin-bottom:5px;font-size:10px;font-weight:720;display:block}.attendance-upload-settings input,.attendance-upload-settings select,.attendance-week-controls input{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;min-height:42px;padding:0 10px}.attendance-dropzone{text-align:center;border-style:dashed;border-width:2px;flex-direction:column;justify-content:center;align-items:center;min-height:276px;padding:36px 20px;display:flex}.attendance-dropzone.is-dragging{border-color:var(--blue);background:#edf5ff}.dropzone-icon{width:58px;height:58px;color:var(--blue);background:var(--blue-soft);border-radius:16px;place-items:center;margin-bottom:15px;display:grid}.attendance-dropzone h2{font-size:19px}.attendance-dropzone p{color:var(--muted);margin:7px 0 18px}.attendance-dropzone>div{gap:9px;display:flex}.attendance-dropzone>small{color:var(--muted);margin-top:14px;font-size:9px}.attendance-document-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:12px 0;display:grid}.attendance-document{min-width:0;overflow:hidden}.attendance-document>div{aspect-ratio:1.4;background:#e8edf4;position:relative}.attendance-document img{-o-object-fit:cover;object-fit:cover}.attendance-document-file{color:#31557b;background:linear-gradient(145deg,#edf3f9,#dce7f2);place-content:center;justify-items:center;gap:6px;display:grid;position:absolute;inset:0}.attendance-document-file small{letter-spacing:.08em;font-size:10px;font-weight:800}.attendance-document button{color:#9d3030;background:#fffffff0;border:0;border-radius:7px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:7px;right:7px;box-shadow:0 3px 10px #00000024}.attendance-document>b,.attendance-document>small{text-overflow:ellipsis;white-space:nowrap;padding:0 9px;display:block;overflow:hidden}.attendance-document>b{padding-top:8px;font-size:10px}.attendance-document>small{color:var(--muted);padding-top:3px;padding-bottom:9px;font-size:8px}.attendance-document.is-error{border-color:#e8a8a8}.attendance-document.is-error>small{color:#9d3030}.attendance-upload-actions{justify-content:space-between;align-items:center;gap:20px;margin-top:12px;padding:13px 15px;display:flex}.attendance-upload-actions>div{align-items:center;gap:10px;display:flex}.attendance-upload-actions svg{color:var(--blue);flex:none}.attendance-upload-actions span,.attendance-upload-actions b,.attendance-upload-actions small{display:block}.attendance-upload-actions small{color:var(--muted);margin-top:3px;font-size:9px}.attendance-ai-banner{color:#48617f;background:#f1f7ff;border:1px solid #cfe0f7;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:12px 14px;display:flex}.attendance-ai-banner svg{color:var(--blue);flex:none}.attendance-ai-banner p{margin:3px 0 0;font-size:10px}.attendance-sheet{border-top:3px solid var(--blue);overflow:hidden}.attendance-sheet.is-maintenance_repair{border-top-color:#d0821a}.attendance-sheet>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.attendance-sheet>header>div:first-child>span{color:var(--blue);letter-spacing:.08em;font-size:9px;font-weight:800}.attendance-sheet.is-maintenance_repair>header>div:first-child>span{color:#a86110}.attendance-sheet>header h2{margin-top:3px;font-size:19px}.attendance-sheet>header p{color:var(--muted);margin:4px 0 0;font-size:10px}.attendance-sheet>header>div:last-child{text-align:right}.attendance-sheet>header>div:last-child b,.attendance-sheet>header>div:last-child small{display:block}.attendance-sheet>header>div:last-child b{color:var(--blue);font-size:20px}.attendance-sheet>header>div:last-child small{color:var(--muted);margin-top:3px}.attendance-payroll-scroll{width:100%;overflow-x:auto}.attendance-payroll-table,.attendance-spend table{border-collapse:collapse;width:100%;min-width:1360px;font-size:10px}.attendance-payroll-table th,.attendance-payroll-table td,.attendance-spend th,.attendance-spend td{text-align:left;border-bottom:1px solid #edf0f5;border-right:1px solid #edf0f5;padding:7px 6px}.attendance-payroll-table thead th,.attendance-spend thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;background:#f5f7fa;font-size:8px;font-weight:780}.attendance-payroll-table th small{text-transform:none;letter-spacing:0;margin-top:2px;font-weight:500;display:block}.attendance-payroll-table tbody tr:hover{background:#fafcff}.attendance-payroll-table input,.attendance-payroll-table select{background:0 0;border:1px solid #0000;border-radius:5px;width:100%;min-width:60px;padding:7px 6px;font-size:10px}.attendance-payroll-table input:not(:disabled):hover,.attendance-payroll-table input:not(:disabled):focus{background:#fff;border-color:#b9d0f0;outline:0}.attendance-payroll-table select{border-color:var(--line);background:#fff;min-width:140px}.attendance-payroll-table input:disabled{color:var(--ink);opacity:1}.attendance-payroll-table td:first-child input{min-width:150px;font-weight:700}.attendance-payroll-table td:nth-child(2) input{min-width:125px}.attendance-payroll-table td:last-child{border-right:0}.attendance-payroll-table tfoot th{color:var(--ink);background:#eef4fc;font-weight:800}.attendance-calculated{font-weight:800;text-align:center!important}.attendance-money{color:#0d5a43;white-space:nowrap;min-width:112px;font-weight:800}.attendance-add-line{margin:12px 15px 15px}.attendance-revision-actions{flex-direction:column;gap:12px;margin-top:12px;padding:13px 15px;display:flex}.attendance-revision-actions>div{justify-content:flex-end;align-items:flex-end;gap:8px;display:flex}.attendance-revision-actions>div:first-child{justify-content:flex-start}.review-reason{min-width:min(400px,100%);margin-right:auto}.review-reason span{color:var(--muted);margin-bottom:4px;font-size:9px;display:block}.review-reason textarea{resize:vertical;border:1px solid var(--line);border-radius:7px;width:100%;min-width:260px;padding:8px 9px}.attendance-export-actions{border-top:1px solid var(--line);padding-top:11px}.attendance-export-actions>span{color:var(--muted);align-items:center;gap:7px;margin-left:auto;font-size:9px;display:flex}.attendance-revision-actions>.attendance-signature-panel{border-top:1px solid var(--line);padding-top:14px;display:block}.attendance-signature-panel>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.attendance-signature-panel>header span{color:var(--blue);letter-spacing:.1em;font-size:9px;font-weight:800}.attendance-signature-panel>header h3{margin:3px 0 0;font-size:15px}.attendance-signature-panel>header small{color:#176a4c;background:#e6f5ee;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.attendance-signature-fields{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:9px;margin-top:11px;display:grid}.attendance-signature-fields label{min-width:0}.attendance-signature-fields label>span{color:var(--muted);margin-bottom:4px;font-size:9px;display:block}.attendance-signature-fields select,.attendance-signature-fields input{width:100%;height:38px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:7px;padding:0 9px}.attendance-signature-fields .is-wide{grid-column:1/-2}.attendance-signature-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px;display:grid}.attendance-signature-list>div{color:#718096;border:1px solid var(--line);background:#f8fafc;border-radius:8px;align-items:center;gap:8px;padding:9px;display:flex}.attendance-signature-list>div.is-signed{color:#176a4c;background:#eef9f4;border-color:#b6decf}.attendance-signature-list b,.attendance-signature-list small{display:block}.attendance-signature-list b{font-size:10px}.attendance-signature-list small{margin-top:2px;font-size:8px}.attendance-signature-panel>p{color:var(--muted);margin:9px 0 0;font-size:9px}.attendance-back-link{margin-top:12px}.attendance-week-controls{justify-content:space-between;align-items:end;gap:18px;margin-bottom:12px;padding:12px 14px;display:flex}.attendance-week-controls .attendance-scope-tabs{margin:0}.attendance-week-controls label{min-width:210px}.attendance-week-controls>div{gap:3px;display:grid}.attendance-week-controls>div small{color:var(--muted);font-size:9px}.attendance-spend-ledgers{gap:12px;display:grid}.attendance-spend{border-top:3px solid var(--blue);overflow:hidden}.attendance-spend.is-maintenance_repair{border-top-color:#d0821a}.attendance-spend>header{border-bottom:1px solid var(--line);padding:15px 17px}.attendance-spend>header span{color:var(--blue);letter-spacing:.08em;font-size:9px;font-weight:800}.attendance-spend.is-maintenance_repair>header span{color:#a86110}.attendance-spend>header h2{margin-top:3px}.attendance-spend>header p{color:var(--muted);margin:3px 0 0;font-size:9px}.attendance-spend table{min-width:920px}.attendance-spend tfoot th{color:var(--ink);background:#eef4fc}@media (max-width:1080px){.attendance-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-document-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-upload-settings{grid-template-columns:1fr 1fr}.attendance-upload-settings .attendance-scope-tabs{grid-column:1/-1}}@media (max-width:760px){.attendance-page .page-header .primary-button,.attendance-page .page-header .secondary-button{width:100%;min-height:46px}.attendance-kpis{grid-template-columns:1fr 1fr}.attendance-kpis>div:nth-child(2){border-right:0}.attendance-kpis>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.attendance-module-grid{grid-template-columns:1fr}.attendance-module-card{min-height:172px}.attendance-revision-row{grid-template-columns:5px minmax(0,1fr) auto;gap:10px;padding:12px}.revision-facts,.attendance-status{grid-column:2}.attendance-revision-row>svg{grid-area:1/3/4}.attendance-scope-tabs{width:100%}.attendance-upload-settings{grid-template-columns:1fr}.attendance-upload-settings .attendance-scope-tabs{grid-column:auto}.attendance-dropzone{min-height:250px;padding:28px 16px}.attendance-dropzone>div{flex-direction:column;width:100%}.attendance-dropzone .primary-button,.attendance-dropzone .secondary-button{width:100%;min-height:46px}.attendance-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-upload-actions{flex-direction:column;align-items:stretch}.attendance-upload-actions .primary-button{width:100%;min-height:46px}.attendance-sheet>header{flex-direction:column;align-items:flex-start}.attendance-sheet>header>div:last-child{text-align:left}.attendance-revision-actions>div{flex-direction:column;align-items:stretch}.attendance-revision-actions button{width:100%;min-height:44px}.review-reason{width:100%}.review-reason textarea{min-width:0}.attendance-export-actions>span{align-items:flex-start;margin:4px 0 0}.attendance-revision-actions>.attendance-signature-panel{display:block}.attendance-signature-fields,.attendance-signature-list{grid-template-columns:1fr}.attendance-signature-fields .is-wide{grid-column:auto}.attendance-week-controls{flex-direction:column;align-items:stretch}.attendance-week-controls label{width:100%;min-width:0}}.settings-icon{width:42px;height:42px;color:var(--blue);background:var(--blue-soft);border-radius:10px;flex:0 0 42px;place-items:center;display:grid}.connection-card>header{align-items:flex-start;gap:11px;display:flex}.connection-card>header p{color:var(--muted);margin:4px 0 0;font-size:10px}.settings-facts{gap:8px;margin:18px 0;display:grid}.settings-facts>div{border-bottom:1px solid #edf0f5;grid-template-columns:90px 1fr;gap:10px;padding-bottom:8px;display:grid}.settings-facts dt{color:var(--muted);font-size:10px}.settings-facts dd{margin:0;font-weight:650}.settings-callout{color:#087150;background:#eaf8f2;border-radius:8px;align-items:center;gap:9px;margin:18px 0;padding:11px 12px;display:flex}.settings-callout.is-muted{color:#536175;background:#eef2f6}.settings-callout.is-success{color:#087150;background:#eaf8f2}.settings-callout span,.settings-callout b,.settings-callout small{display:block}.settings-callout small{color:var(--muted);margin-top:2px;font-size:9px}.settings-schedule{grid-template-columns:1fr 1fr;gap:9px;margin-top:18px;display:grid}.settings-schedule span{background:#f3f7fc;border-radius:8px;padding:14px}.settings-schedule b,.settings-schedule small{display:block}.settings-schedule b{color:var(--blue);font-size:19px}.settings-schedule small{color:var(--muted);margin-top:3px;font-size:9px}.mfa-card>.primary-button{margin-top:18px}.mfa-enrollment{grid-template-columns:180px 1fr;align-items:start;gap:16px;margin-top:16px;display:grid}.mfa-enrollment>img{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px}.mfa-enrollment>div>span,.mfa-enrollment label>span{color:var(--muted);font-size:9px;display:block}.mfa-enrollment code{overflow-wrap:anywhere;color:#23476e;background:#eef3f8;border-radius:6px;margin:5px 0 12px;padding:7px;font-size:9px;display:block}.mfa-enrollment input{letter-spacing:.18em;border:1px solid var(--line);border-radius:7px;width:100%;height:40px;margin:5px 0 9px;padding:0 10px;font-size:15px}.mfa-message{color:var(--muted);margin:10px 0 0;font-size:9px}.settings-card-note{color:var(--muted);margin:0;font-size:10px;line-height:1.55}.account-management-card{grid-column:1/-1;padding:20px}.account-management-card>header{align-items:flex-start;gap:11px;display:flex}.account-management-card>header>div{flex:1;min-width:0}.account-management-card>header h2{margin:0}.account-management-card>header p{color:var(--muted);margin:4px 0 0;font-size:10px}.account-security-badge{color:#087150;white-space:nowrap;background:#eaf8f2;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:9px;font-weight:800;display:inline-flex}.account-mfa-gate{color:#745a1f;background:#fff8e8;border:1px solid #f1d596;border-radius:10px;align-items:flex-start;gap:12px;margin-top:18px;padding:16px;display:flex}.account-mfa-gate>svg{flex:none}.account-mfa-gate b{color:#5d4514;display:block}.account-mfa-gate p{margin:4px 0 12px;font-size:11px;line-height:1.5}.account-loading,.account-error,.account-notice{border-radius:8px;align-items:center;gap:8px;margin:16px 0 0;padding:11px 12px;font-size:11px;display:flex}.account-loading{color:var(--muted);background:#f2f5f9}.account-error{color:var(--danger);background:#fff1f1;align-items:flex-start}.account-error>span{flex:1;min-width:0}.account-error button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.account-notice{color:#087150;background:#eaf8f2}.account-invite-form{background:#f8fafd;border:1px solid #dfe7f2;border-radius:10px;grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(150px,.8fr) minmax(180px,1.1fr) auto;align-items:end;gap:12px;margin-top:18px;padding:16px;display:grid}.account-section-heading{grid-column:1/-1;align-items:flex-start;gap:9px;display:flex}.account-section-heading>svg{color:var(--blue);flex:none;margin-top:1px}.account-section-heading h3{margin:0;font-size:13px}.account-section-heading p{color:var(--muted);margin:3px 0 0;font-size:9px}.account-invite-form label{min-width:0;color:var(--muted);gap:5px;font-size:9px;font-weight:750;display:grid}.account-invite-form input,.account-invite-form select{width:100%;min-width:0;height:40px;color:var(--ink);border:1px solid var(--line);font:inherit;background:#fff;border-radius:7px;padding:0 10px;font-size:11px}.account-invite-form input:focus-visible,.account-invite-form select:focus-visible{outline-offset:1px;border-color:var(--blue);outline:2px solid #1667d940}.account-invite-form select:disabled{color:var(--muted);background:#edf1f6}.account-invite-submit{white-space:nowrap;min-height:40px}.account-lists{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}.account-lists>section{border:1px solid var(--line);border-radius:10px;min-width:0;padding:14px}.account-list-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.account-list-heading h3{margin:0;font-size:12px}.account-list-heading>span{min-width:26px;height:26px;color:var(--blue);background:var(--blue-soft);border-radius:999px;place-items:center;padding:0 7px;font-size:10px;font-weight:800;display:grid}.account-lists ul{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.account-lists li{background:#f7f9fc;border-radius:8px;min-width:0;padding:11px}.account-lists li>div{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.account-lists li b,.account-lists li p,.account-lists li small{overflow-wrap:anywhere}.account-lists li p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.45}.account-lists li small{color:#7f8b9e;margin-top:6px;font-size:8px;display:block}.account-state{color:#536175;background:#e9eef5;border-radius:999px;flex:none;padding:4px 7px;font-size:8px;font-weight:800}.account-state.is-active,.account-state.is-accepted,.account-state.is-membership_provisioned{color:#087150;background:#e3f5ed}.account-state.is-disabled,.account-state.is-revoked,.account-state.is-expired{color:#8a4750;background:#f8e8ea}.account-state.is-reconciliation_required{color:#745a1f;background:#fff0c6}.account-reconciliation{align-items:flex-start;gap:5px;display:flex;color:#745a1f!important}.account-reconciliation svg{flex:none}.account-empty{color:var(--muted);text-align:center;border:1px dashed #c6d1df;border-radius:8px;margin:12px 0 0;padding:16px;font-size:10px}@media (max-width:760px){.mfa-enrollment{grid-template-columns:1fr}.mfa-enrollment>img{justify-self:center}.account-management-card{padding:16px}.account-management-card>header{flex-wrap:wrap}.account-security-badge{margin-left:53px}.account-invite-form,.account-lists{grid-template-columns:1fr}.account-invite-submit{width:100%;min-height:44px}.account-lists li>div{flex-direction:column;align-items:flex-start}.account-state{align-self:flex-start}}.settings-environment{max-width:1220px;color:var(--muted);align-items:center;gap:7px;margin:12px auto 0;font-size:9px;display:flex}.live-source-badge{color:#176a4c;background:#e6f5ee;border-radius:999px;margin-left:auto;padding:6px 9px;font-size:9px;font-weight:800}.live-report-create-card{grid-template-columns:1fr 1fr;gap:14px;max-width:760px;padding:20px;display:grid}.live-report-create-card label,.live-report-grid label,.live-work-row label{color:var(--muted);gap:5px;font-size:10px;font-weight:700;display:grid}.live-report-create-card input,.live-report-create-card textarea,.live-report-grid input,.live-report-grid textarea,.live-work-row input,.live-report-section .weather-card input{width:100%;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px 11px}.live-report-create-card textarea,.live-report-grid textarea{resize:vertical;min-height:120px}.live-report-wide{grid-column:1/-1}.live-report-create-card .primary-button{justify-self:start}.live-daily-report{gap:14px;display:grid}.live-report-section{padding:18px}.live-report-grid{grid-template-columns:1fr;gap:12px;display:grid}.live-report-grid textarea{min-height:145px}.live-work-list{gap:9px;display:grid}.live-work-row{background:#fbfcfe;border:1px solid #edf0f5;border-radius:8px;grid-template-columns:minmax(240px,1fr) 120px 110px auto;align-items:end;gap:8px;padding:10px;display:grid}.live-work-row .icon-button{margin-bottom:1px}.live-report-empty{color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:8px;margin:0;padding:24px}.live-report-boundary{color:#805b17;background:#fffaf0;border-color:#ead7a2;align-items:flex-start;gap:11px;padding:14px 16px;display:flex}.live-report-boundary b,.live-report-boundary p{display:block}.live-report-boundary p{color:#806f4d;margin:4px 0 0;font-size:10px}.is-spinning{animation:.8s linear infinite live-report-spin}@keyframes live-report-spin{to{transform:rotate(360deg)}}@media (max-width:760px){.live-source-badge{text-align:center;width:100%;margin-left:0}.live-report-create-card{grid-template-columns:1fr}.live-report-wide{grid-column:auto}.live-report-create-card .primary-button{width:100%;min-height:46px}.live-work-row{grid-template-columns:1fr 1fr auto}.live-work-row label:first-child{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.is-spinning{animation-duration:1.8s}}.tone-cyan .module-icon{color:#087a86;background:#e5f7f8}.procurement-page{width:100%;max-width:1220px;margin:0 auto}.procurement-loading{max-width:1220px;color:var(--muted);text-align:center;margin:30px auto;padding:28px}.procurement-demo-banner{color:#176a4c;background:#eef9f4;border:1px solid #b8dfce;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:11px 14px;display:flex}.procurement-demo-banner span,.procurement-demo-banner b{display:block}.procurement-demo-banner b{margin-bottom:2px}.procurement-tabs{border:1px solid var(--line);box-shadow:var(--shadow);scrollbar-width:thin;background:#fff;border-radius:9px;gap:4px;margin-bottom:12px;padding:5px;display:flex;overflow-x:auto}.procurement-tabs a{color:#647083;border-radius:6px;flex:none;align-items:center;gap:7px;min-height:38px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.procurement-tabs a:hover{color:var(--blue);background:#f1f6fe}.procurement-tabs a.active{color:#fff;background:var(--blue);box-shadow:0 5px 14px #1167e933}.procurement-tabs a>span{color:#9d3030;background:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:9px;display:grid}.procurement-kpis{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px;display:grid}.procurement-kpis>div{border-right:1px solid var(--line);align-items:center;gap:11px;min-width:0;padding:15px 18px;display:flex}.procurement-kpis>div:last-child{border-right:0}.procurement-kpis svg{width:20px;color:var(--blue)}.procurement-kpis .is-danger svg,.procurement-kpis .is-danger b{color:var(--danger)}.procurement-kpis span,.procurement-kpis b,.procurement-kpis small{display:block}.procurement-kpis b{font-size:22px;line-height:1.1}.procurement-kpis small{color:var(--muted);margin-top:3px;font-size:10px}.procurement-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:12px;display:grid}.procurement-section{min-width:0;padding:0;overflow:hidden}.procurement-section>header,.procurement-overview-side .card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:15px 17px;display:flex}.procurement-section>header span,.procurement-overview-side header span{color:var(--blue);letter-spacing:.08em;font-size:9px;font-weight:800}.procurement-section>header h2,.procurement-overview-side header h2{margin-top:3px;font-size:16px}.procurement-count{background:#edf1f6;border-radius:999px;padding:5px 8px;color:#536175!important;letter-spacing:0!important}.procurement-order-list{display:grid}.procurement-order-card{min-width:0;min-height:78px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0f4;grid-template-columns:4px minmax(190px,1fr) 92px 92px auto 18px;align-items:center;gap:12px;padding:11px 15px;display:grid}.procurement-order-card:last-child{border-bottom:0}.procurement-order-card:hover{background:#f8fbff}.procurement-category-mark{background:#6e7d91;border-radius:999px;align-self:stretch}.procurement-category-mark.is-concrete{background:#6a5acd}.procurement-category-mark.is-steel{background:#43627b}.procurement-category-mark.is-raw_material{background:#d78728}.procurement-category-mark.is-auxiliary{background:#0b8a79}.procurement-category-mark.is-company_equipment{background:#1467e9}.procurement-order-main{min-width:0}.procurement-order-main>span,.procurement-order-main>b,.procurement-order-main>small{display:block}.procurement-order-code{color:var(--blue);letter-spacing:.04em;font-size:9px;font-weight:800}.procurement-order-main>b{text-overflow:ellipsis;white-space:nowrap;margin:4px 0;overflow:hidden}.procurement-order-main>small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.procurement-order-metric b,.procurement-order-metric small{display:block}.procurement-order-metric b{font-size:14px}.procurement-order-metric small{color:var(--muted);margin-top:2px;font-size:8px}.procurement-status{color:#536175;white-space:nowrap;background:#edf1f6;border-radius:999px;justify-self:start;align-items:center;gap:5px;min-height:26px;padding:0 8px;font-size:9px;font-weight:750;display:inline-flex}.procurement-status>span{background:currentColor;border-radius:50%;width:6px;height:6px}.procurement-status.is-success{color:#087150;background:#e8f8f1}.procurement-status.is-warning{color:#855e12;background:#fff2d3}.procurement-status.is-danger{color:#9d3030;background:#fff0f0}.procurement-empty{min-height:190px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:10px;padding:26px;display:grid}.procurement-empty-inline{color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:7px;padding:16px}.procurement-overview-side{gap:12px;display:grid}.procurement-overview-side .card{padding:0;overflow:hidden}.procurement-overview-side .card>a{color:var(--blue);align-items:center;gap:5px;margin:12px 15px 15px;font-size:10px;font-weight:750;display:inline-flex}.procurement-overview-side .card>p{color:var(--muted);padding:15px}.procurement-mini-alert{color:#805b17;background:#fffbf0;border-bottom:1px solid #f0e5c7;gap:9px;padding:12px 15px;display:flex}.procurement-mini-alert.is-critical{color:#9d3030;background:#fff3f3}.procurement-mini-alert span,.procurement-mini-alert b,.procurement-mini-alert small{min-width:0;display:block}.procurement-mini-alert small{color:inherit;opacity:.8;margin-top:3px}.procurement-rules{color:#264969;padding:17px!important}.procurement-rules svg{color:var(--blue)}.procurement-rules h2{margin:9px 0 5px;font-size:15px}.procurement-rules p{color:var(--muted);line-height:1.55}.procurement-dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030f208f;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.procurement-dialog{background:#fff;border-radius:11px;width:min(920px,100%);max-height:calc(100vh - 64px);overflow:auto;box-shadow:0 24px 70px #030f204d}.procurement-dialog>header,.procurement-detail>header{color:#fff;background:var(--navy);justify-content:space-between;align-items:center;gap:12px;min-height:74px;padding:16px 20px;display:flex}.procurement-dialog>header span,.procurement-dialog>header h2,.procurement-detail>header span,.procurement-detail>header h2{display:block}.procurement-dialog>header span,.procurement-detail>header span{color:#8fb9fa;letter-spacing:.08em;font-size:9px;font-weight:800}.procurement-dialog>header h2,.procurement-detail>header h2{margin-top:4px;font-size:18px}.procurement-dialog>header .icon-button,.procurement-detail>header .icon-button{color:#fff}.procurement-dialog form{padding:18px 20px 0}.procurement-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.procurement-form-grid label{min-width:0;color:var(--muted);font-size:10px;font-weight:700}.procurement-form-grid label>span{margin-bottom:5px;display:block}.procurement-form-grid input,.procurement-form-grid select,.procurement-form-grid textarea,.procurement-detail-actions input{width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;background:#fff;border-radius:7px;padding:9px 10px}.procurement-form-grid input,.procurement-form-grid select{min-height:40px}.procurement-form-grid textarea{resize:vertical}.procurement-form-grid .wide-field{grid-column:1/-1}.procurement-receipt-lines{border:1px solid var(--line);background:#f8fafc;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid}.procurement-receipt-lines>span{color:var(--ink);grid-column:1/-1;font-size:10px;font-weight:800}.procurement-receipt-lines label{background:#fff;border:1px solid #d9e3ec;border-radius:7px;padding:8px;position:relative}.procurement-receipt-lines label>span{padding-right:56px}.procurement-receipt-lines label>em{color:var(--muted);font-size:9px;font-style:normal;position:absolute;bottom:19px;right:17px}.procurement-receipt-lines input{padding-right:50px}.procurement-checkbox{border:1px solid var(--line);background:#f8fafc;border-radius:7px;align-items:center;gap:8px;min-height:40px;padding:8px 10px;display:flex;color:var(--ink)!important}.procurement-checkbox input{flex:none;width:17px;min-height:17px}.procurement-checkbox span{margin:0!important}.procurement-info,.procurement-calculation{color:#36536d;background:#f3f8fc;border:1px solid #cbdceb;border-radius:7px;align-items:flex-start;gap:9px;padding:11px 13px;display:flex}.procurement-info svg{color:var(--blue);flex:none}.procurement-calculation,.procurement-calculation b,.procurement-calculation small{display:block}.procurement-calculation small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.45}.procurement-extra-lines{border:1px solid var(--line);border-radius:8px;overflow:hidden}.procurement-extra-lines>header{background:#f7f9fc;justify-content:space-between;align-items:center;gap:9px;padding:9px 11px;display:flex}.procurement-extra-lines>header b,.procurement-extra-lines>header small{display:block}.procurement-extra-lines>header small{color:var(--muted);margin-top:2px;font-size:8px}.procurement-extra-lines>header button{color:var(--blue);cursor:pointer;background:#fff;border:1px solid #bdd4ee;border-radius:5px;align-items:center;gap:4px;padding:6px 8px;font-weight:750;display:inline-flex}.procurement-extra-lines>div{border-top:1px solid #edf0f4;grid-template-columns:minmax(160px,1fr) 100px 90px 120px 34px;gap:7px;padding:7px 9px;display:grid}.procurement-extra-lines>div input{min-height:36px}.procurement-extra-lines>div button{color:var(--danger);cursor:pointer;background:#fff0f0;border:0;border-radius:5px;place-items:center;display:grid}.procurement-dialog form>footer{border-top:1px solid var(--line);background:#f8fafc;justify-content:flex-end;align-items:center;gap:9px;margin:18px -20px 0;padding:13px 20px;display:flex}.procurement-dialog form>footer>div{margin-right:auto}.procurement-dialog form>footer small,.procurement-dialog form>footer b{display:block}.procurement-dialog form>footer small{color:var(--muted);font-size:9px}.procurement-detail{z-index:70;border-left:1px solid var(--line);background:#fff;width:min(520px,100vw);position:fixed;top:60px;bottom:0;right:0;overflow:auto;box-shadow:-20px 0 50px #030f2029}.procurement-detail>section,.procurement-detail-status,.procurement-detail-grid,.procurement-manual-share{border-bottom:1px solid var(--line);margin:0 18px;padding:16px 0}.procurement-detail-status{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.procurement-detail-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.procurement-detail-grid div{min-width:0}.procurement-detail-grid dt{color:var(--muted);font-size:9px}.procurement-detail-grid dd{margin:4px 0 0;font-weight:650}.procurement-detail section h3{margin-bottom:10px;font-size:12px}.procurement-detail section>p{color:var(--muted)}.procurement-item-row{border-bottom:1px dashed var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 0;display:grid}.procurement-item-row span,.procurement-item-row b,.procurement-item-row small{min-width:0;display:block}.procurement-item-row small{color:var(--muted);margin-top:3px;font-size:9px}.procurement-item-row em{color:var(--blue);font-style:normal;font-weight:700}.procurement-progress{background:#e7ebf1;border-radius:999px;height:8px;overflow:hidden}.procurement-progress span{border-radius:inherit;background:linear-gradient(90deg,#1370ee,#44b98d);height:100%;display:block}.procurement-line-progress{gap:8px;margin-bottom:11px;display:grid}.procurement-line-progress>div{grid-template-columns:minmax(150px,1fr) minmax(120px,1.5fr);align-items:center;gap:10px;display:grid}.procurement-line-progress b,.procurement-line-progress small{display:block}.procurement-line-progress small{color:var(--muted);margin-top:2px;font-size:9px}.procurement-detail section>.procurement-progress+p{color:var(--muted);margin:6px 0 10px;font-size:9px}.procurement-receipt-row{border-top:1px solid #edf0f4;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 0;display:grid}.receipt-check{color:#8b6417;background:#fff2d3;border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.receipt-check.is-confirmed{color:#087150;background:#e8f8f1}.receipt-check.is-rejected{color:#9d3030;background:#fff0f0}.procurement-receipt-row span b,.procurement-receipt-row span small{display:block}.procurement-receipt-row small{color:var(--muted);margin-top:3px;font-size:8px}.procurement-receipt-row em{color:var(--muted);font-size:9px;font-style:normal}.procurement-receipt-row>button{color:var(--blue);cursor:pointer;background:#f7fbff;border:1px solid #bed2ea;border-radius:6px;padding:6px 8px;font-size:9px;font-weight:800}.procurement-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.procurement-detail-actions label{color:var(--muted);flex:1 0 100%;font-size:9px}.procurement-detail-actions label span{margin-bottom:4px;display:block}.procurement-manual-share{color:#36536d;border-bottom:0;align-items:flex-start;gap:9px;display:flex}.procurement-manual-share>span{flex:1;min-width:0}.procurement-manual-share>button{min-height:34px;color:var(--blue);cursor:pointer;background:#f4f8fd;border:1px solid #bad1ef;border-radius:6px;flex:none;align-items:center;gap:5px;padding:0 9px;font-size:9px;font-weight:750;display:inline-flex}.procurement-manual-share>button:disabled{opacity:.55;cursor:wait}.procurement-manual-share span,.procurement-manual-share b,.procurement-manual-share small{display:block}.procurement-manual-share small{color:var(--muted);margin-top:3px}.receipt-dialog{width:min(760px,100%)}.procurement-evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.procurement-evidence-picker{text-align:center;cursor:pointer;background:#f5f9fd;border:1px dashed #93b7dc;border-radius:8px;place-items:center;min-height:95px;padding:12px;display:grid}.procurement-evidence-picker>span,.procurement-evidence-picker b,.procurement-evidence-picker small{display:block}.procurement-evidence-picker svg{color:var(--blue);margin:0 auto 6px}.procurement-evidence-picker small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:8px}.procurement-evidence-picker input{opacity:0;width:1px;min-height:1px;position:absolute}.procurement-signature-pad{border:1px solid var(--line);background:#f8fafc;border-radius:8px;margin-bottom:9px;overflow:hidden}.procurement-signature-pad>header{justify-content:space-between;align-items:center;gap:9px;padding:9px 11px;display:flex}.procurement-signature-pad>header b,.procurement-signature-pad>header small{display:block}.procurement-signature-pad>header small{color:var(--muted);margin-top:2px;font-size:8px}.procurement-signature-pad>header button{color:var(--blue);cursor:pointer;background:#fff;border:1px solid #bdd4ee;border-radius:5px;padding:5px 8px}.procurement-signature-pad>header button:disabled{opacity:.45;cursor:default}.procurement-signature-pad canvas{touch-action:none;cursor:crosshair;background:repeating-linear-gradient(0deg,#fff,#fff 39px,#eef2f6 40px);border-top:1px dashed #a9bed3;width:100%;height:120px;display:block}.procurement-table-wrap{overflow-x:auto}.procurement-table{border-collapse:collapse;width:100%}.procurement-table th,.procurement-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf0f4;padding:11px 13px}.procurement-table th{color:var(--muted);background:#f8fafc;font-size:9px}.procurement-table tr.is-low{color:#9d3030;background:#fff7f7}.procurement-table button{color:var(--blue);cursor:pointer;background:#f3f8ff;border:1px solid #b7d2f7;border-radius:5px;padding:5px 8px;font-weight:700}.procurement-table-actions{gap:5px;display:flex}.procurement-inline-form{background:#f4f8fd;border:1px solid #bdd4ee;border-radius:8px;grid-template-columns:auto 100px minmax(180px,1fr) auto auto;align-items:center;gap:8px;margin:12px;padding:11px;display:grid}.procurement-inline-form input{border:1px solid var(--line);border-radius:6px;min-height:38px;padding:0 9px}.procurement-alert-schedule{color:var(--muted);align-items:center;gap:6px;font-size:9px;display:inline-flex}.procurement-alert-list{display:grid}.procurement-alert{color:#805b17;background:#fffbf0;border-bottom:1px solid #f0e5c7;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:82px;padding:13px 16px;display:grid}.procurement-alert.is-critical{color:#9d3030;background:#fff5f5}.procurement-alert.is-info{color:#315c82;background:#f5f9fd}.procurement-alert.is-acknowledged{opacity:.6;filter:grayscale(.3)}.procurement-alert>span{background:#ffffffb3;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.procurement-alert b,.procurement-alert p,.procurement-alert small{display:block}.procurement-alert p{color:inherit;margin:3px 0}.procurement-alert small{opacity:.75}.procurement-alert button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;padding:7px 10px;font-weight:750}.procurement-alert em{font-size:9px;font-style:normal}.procurement-section>.procurement-info{margin:13px}.procurement-manager-badge{background:#e8f8f1;border-radius:999px;align-items:center;gap:5px;padding:6px 8px;display:inline-flex;color:#087150!important;letter-spacing:0!important}.procurement-catalog-layout{grid-template-columns:1.1fr .9fr;align-items:start;gap:12px;display:grid}.procurement-catalog-layout>.procurement-catalog-forms{grid-column:1/-1}.procurement-catalog-list,.procurement-supplier-list{display:grid}.procurement-catalog-list article,.procurement-supplier-list article{border-bottom:1px solid #edf0f4;align-items:center;gap:10px;min-height:58px;padding:10px 14px;display:flex}.procurement-catalog-list span,.procurement-catalog-list b,.procurement-catalog-list small,.procurement-supplier-list b,.procurement-supplier-list small{min-width:0;display:block}.procurement-catalog-list small,.procurement-supplier-list small{color:var(--muted);margin-top:3px;font-size:9px}.procurement-catalog-icon{width:34px;height:34px;color:var(--blue);background:var(--blue-soft);border-radius:8px;flex:0 0 34px;place-items:center;display:grid!important}.procurement-catalog-form-grid{grid-template-columns:1fr 1fr;gap:14px;padding:14px;display:grid}.procurement-catalog-form-grid form{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;align-content:start;gap:8px;padding:13px;display:grid}.procurement-catalog-form-grid h3{margin-bottom:2px;font-size:12px}.procurement-catalog-form-grid input,.procurement-catalog-form-grid select,.procurement-catalog-form-grid textarea{width:100%;min-height:38px;color:var(--ink);border:1px solid var(--line);font:inherit;background:#fff;border-radius:6px;padding:8px 9px}.procurement-catalog-form-grid textarea{resize:vertical}.procurement-file-compact{min-height:42px;color:var(--blue);cursor:pointer;background:#f3f8ff;border:1px dashed #9ebce1;border-radius:6px;align-items:center;gap:7px;padding:8px 10px;display:flex}.procurement-file-compact input{opacity:0;width:1px;min-height:1px;position:absolute}.success-banner{color:#176a4c;background:#eef9f4;border:1px solid #b6decf;border-radius:7px;margin:12px 14px 0;padding:10px 12px}.procurement-equipment-queue{display:grid}.procurement-equipment-queue>div{border-bottom:1px solid #edf0f4;grid-template-columns:minmax(0,1fr) 180px auto auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.procurement-equipment-queue>div>button{min-height:32px;color:var(--blue);cursor:pointer;background:#f4f8fd;border:1px solid #bad1ef;border-radius:6px;padding:0 9px;font-weight:750}.procurement-equipment-queue span b,.procurement-equipment-queue span small{display:block}.procurement-equipment-queue span small{color:var(--muted);margin-top:3px}@media (max-width:1080px){.procurement-layout{grid-template-columns:1fr}.procurement-overview-side{grid-template-columns:1fr 1fr}.procurement-order-card{grid-template-columns:4px minmax(180px,1fr) 80px auto 18px}.procurement-order-card .procurement-order-metric:nth-of-type(2){display:none}.procurement-form-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.procurement-page .page-header .primary-button{width:100%;min-height:46px}.procurement-tabs{border-left:0;border-right:0;border-radius:0;margin-left:-14px;margin-right:-14px;padding-left:14px}.procurement-kpis{grid-template-columns:1fr 1fr}.procurement-kpis>div:nth-child(2){border-right:0}.procurement-kpis>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.procurement-order-card{grid-template-rows:auto auto;grid-template-columns:4px minmax(0,1fr) auto;gap:8px;min-height:112px;padding:12px}.procurement-order-card .procurement-order-metric{display:none}.procurement-order-card>svg{grid-area:1/3}.procurement-order-card .procurement-status{grid-area:2/2}.procurement-overview-side,.procurement-catalog-layout,.procurement-catalog-form-grid{grid-template-columns:1fr}.procurement-catalog-layout>.procurement-catalog-forms{grid-column:auto}.procurement-dialog-backdrop{place-items:stretch stretch;padding:0}.procurement-dialog{border-radius:0;width:100%;min-height:100vh;max-height:100vh}.procurement-form-grid{grid-template-columns:1fr}.procurement-form-grid .wide-field{grid-column:auto}.procurement-receipt-lines{grid-template-columns:1fr}.procurement-receipt-lines>span{grid-column:auto}.procurement-line-progress>div{grid-template-columns:1fr;gap:5px}.procurement-dialog form>footer{z-index:3;flex-wrap:wrap;position:sticky;bottom:0}.procurement-dialog form>footer>div{width:100%;margin-right:0}.procurement-dialog form>footer .primary-button,.procurement-dialog form>footer .secondary-button{flex:1}.procurement-detail{top:58px}.procurement-evidence-grid,.procurement-inline-form{grid-template-columns:1fr}.procurement-extra-lines>div{grid-template-columns:1fr 1fr 1fr 34px}.procurement-extra-lines>div input:first-child{grid-column:1/-1}.procurement-alert{grid-template-columns:34px minmax(0,1fr)}.procurement-alert button,.procurement-alert em{grid-column:2;justify-self:start}.procurement-alert-schedule{display:none}.procurement-equipment-queue>div{grid-template-columns:1fr}.procurement-manual-share{flex-wrap:wrap}.procurement-manual-share>span{flex-basis:calc(100% - 30px)}.procurement-manual-share>button{flex:1;justify-content:center;min-height:42px}}
