:root{--bg:#f4f6f8;--ink:#192b3c;--muted:#617284;--accent:#145c54;--line:#dce3e8}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Malgun Gothic,sans-serif;font-size:15px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button,.button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:10px 16px;display:inline-block}button:hover,.button:hover{background:#0f4943;text-decoration:none}:focus-visible{outline-offset:3px;outline:3px solid #c27a00}.shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}aside{color:#fff;background:#182c3c;padding:30px 18px}.brand{letter-spacing:2px;padding:0 14px 28px;font-size:28px;font-weight:800}.brand span{letter-spacing:0;color:#c1d2dc;font-size:13px;font-weight:400;display:block}nav{flex-direction:column;gap:6px;display:flex}nav a{color:#d5e0e7;border-radius:6px;padding:11px 14px}nav a[aria-current=page]{color:#fff;background:#2d485b;font-weight:700}.aside-note{color:#b4c8d5;margin:40px 14px;font-size:12px}.workspace{min-width:0}header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:18px 32px;display:flex}header>div{align-items:center;gap:16px;display:flex}.quiet{color:var(--ink);border:1px solid var(--line);background:0 0;padding:5px 12px}.notice{color:#694600;background:#fff5dd;padding:12px 32px;font-size:13px}main{max-width:1400px;padding:30px 32px}.page-heading{margin-bottom:25px}h1{margin:6px 0 12px;font-size:28px;line-height:1.3}h2{margin:0 0 16px;font-size:18px}p{margin:8px 0 16px}.eyebrow{letter-spacing:1px;color:var(--accent);margin:0;font-size:12px;font-weight:700}.muted{color:var(--muted)}.panel{border:1px solid var(--line);background:#fff;border-radius:9px;margin-bottom:20px;padding:24px}.cards{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.metric{margin:10px 0;font-size:36px;display:block}.two-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.workflow{flex-wrap:wrap;gap:12px;display:flex}.workflow span{color:var(--accent);background:#eef5f3;border-radius:5px;padding:12px 18px;font-weight:600}.badge{background:#edf2f5;border-radius:20px;margin-left:8px;padding:4px 10px;font-size:12px}.empty{text-align:center;border:1px dashed var(--line);color:var(--muted);background:#f8fafb;margin-top:24px;padding:50px 16px}footer{color:var(--muted);padding:0 32px 24px;font-size:12px}.login{place-items:center;max-width:none;min-height:100vh;display:grid}.login .panel{width:min(420px,100%)}.stack{gap:18px;display:grid}label{gap:6px;font-weight:600;display:grid}input{border:1px solid #a6b6c1;border-radius:5px;width:100%;padding:10px}@media (max-width:760px){.shell{grid-template-columns:1fr}aside{padding:18px}.brand{padding:0 0 14px;font-size:22px}.brand span{margin-left:14px;display:inline}nav{flex-direction:row;gap:4px;overflow:auto}nav a{white-space:nowrap;padding:8px 12px}.aside-note{display:none}header{padding:12px 18px;font-size:13px}main{padding:22px 18px}.notice{padding:12px 18px}.cards{grid-template-columns:1fr;gap:0}.cards .panel{grid-template-columns:1fr auto;gap:4px;display:grid}.metric{grid-area:1/2/3;margin:0}.two-columns{grid-template-columns:1fr;gap:0}h1{font-size:24px}.panel{padding:20px}footer{padding:0 18px 22px}}aside{min-width:0}.shell{grid-template-columns:230px minmax(0,1fr)}@media (max-width:760px){.shell{grid-template-columns:minmax(0,1fr)}}.nav-label{color:#b4c8d5;margin:0 14px 10px;font-size:12px}.company-nav a{font-size:14px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-heading h2{margin:0}.site-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,500px),1fr));gap:20px;display:grid}.site-card{min-width:0}.site-card-title{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding-bottom:15px;display:flex}.site-card-title>div{flex:1;min-width:0}.site-card-title h2{overflow-wrap:anywhere;margin:3px 0 0}.site-card-title .badge{flex-shrink:0}.site-empty{margin-top:0}.table-scroll{max-width:100%;margin-bottom:10px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}caption{text-align:left;color:var(--muted);margin:8px 0;font-size:12px}th,td{border-bottom:1px solid var(--line);vertical-align:top;min-width:100px;padding:12px 14px}thead th{white-space:nowrap;color:#425565;background:#f3f6f8;font-size:13px;font-weight:600}tbody th{font-weight:500}td{font-variant-numeric:tabular-nums}td small{color:#9a5500;display:block}.compact th,.compact td{min-width:80px;padding:10px 12px}.table-note{color:var(--muted);margin:12px 0;font-size:12px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;display:grid}.kpi-grid>div{background:#f5f8fa;border-radius:6px;padding:14px}.kpi-grid dt{color:var(--muted);font-size:13px}.kpi-grid dd{margin:6px 0 0;font-size:25px;font-weight:700}.compact-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.compact-kpis dd{font-size:17px}.card-finance{flex-wrap:wrap;gap:16px;display:flex}.card-finance>div{flex:1;min-width:130px}.card-finance dt{color:var(--muted);font-size:12px}.card-finance dd{margin:4px 0;font-weight:600}.site-context{background:var(--bg);z-index:2;border-bottom:1px solid var(--line);margin-bottom:18px;padding:0 0 6px;position:sticky;top:0}.breadcrumb{color:var(--muted);gap:8px;margin-bottom:12px;font-size:12px;display:flex}.site-context-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.site-context-heading h1{margin:6px 0;font-size:24px}.site-context-heading>div{min-width:0}.site-context-heading .button{white-space:nowrap}.site-id{overflow-wrap:anywhere;color:var(--muted);margin:3px 0 12px;font-size:12px}.site-nav{flex-direction:row;gap:4px;max-width:100%;padding:6px 0 2px;display:flex;overflow-x:auto}.site-nav a{color:var(--ink);white-space:nowrap;border-radius:5px;flex-shrink:0;padding:10px 14px;font-size:14px}.site-nav a[aria-current=page]{background:var(--accent);color:#fff}.site-content{margin-top:20px}.site-content h3{margin:24px 0 10px;font-size:15px}.workflow-note{border-left:4px solid var(--accent)}.pagination{justify-content:center;gap:20px;margin:20px 0;display:flex}.master-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.master-tile{border:1px solid var(--line);border-radius:6px;padding:18px}.master-tile h3{margin:0 0 10px;font-size:15px}@media (max-width:760px){.nav-label{display:none}.site-context-heading{align-items:flex-start}.site-context-heading h1{font-size:20px}.site-context-heading .button{padding:6px 10px;font-size:12px}.site-context{padding-top:8px}.kpi-grid,.compact-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.company-nav{padding-bottom:4px}.section-heading>.muted{font-size:12px}.site-card-title{flex-wrap:wrap}.site-nav a{padding:9px 12px}.notice{overflow-wrap:anywhere}}.entry-form{border-top:1px solid var(--line);margin-top:20px;padding:20px 0}.entry-form h3{margin:0 0 12px;font-size:18px}.entry-form label{flex-direction:column;gap:6px;margin:12px 0;font-size:14px;display:flex}.entry-form input,.entry-form select,.entry-form textarea,.date-picker input{color:var(--ink);width:100%;font:inherit;background:#fff;border:1px solid #bccbd3;border-radius:5px;min-width:0;padding:10px}.entry-form input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.entry-form fieldset{border:1px solid var(--line);border-radius:6px;min-width:0;margin:12px 0;padding:16px}.entry-form legend{font-size:14px;font-weight:600}.entry-form fieldset:disabled{opacity:.65}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;display:grid}.worker-picker{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.worker-picker label{flex-direction:row;align-items:center}.worker-picker .labor-input{font-size:12px}.labor-input input{max-width:90px}.form-actions,.date-picker{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.date-picker label{gap:6px;display:grid}.recent-dates,.attachment-links{flex-wrap:wrap;gap:12px;margin:16px 0;font-size:13px;display:flex}.success{color:#245a35;background:#eef9f0;border:1px solid #8fbc9f;border-radius:6px;padding:14px}.work-item{background:#f8fafb}.entry-form button{margin-top:8px}@media (max-width:760px){.form-grid,.worker-picker{grid-template-columns:minmax(0,1fr)}.entry-form fieldset{padding:12px}.entry-form input[type=file]{font-size:12px}.entry-form .form-actions button{width:100%}}.board-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.board-date{border:1px solid var(--line);background:#fff;border-radius:9px;margin-bottom:20px;padding:18px 20px}.board-date input{max-width:200px}.board-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.board-stats>div{border:1px solid var(--line);background:#fff;border-radius:9px;padding:18px}.board-stats span,.board-stats small{color:var(--muted);display:block}.board-stats strong{margin:6px 0;font-size:29px;line-height:1.4;display:block}.board-stats small{font-size:11px}.board-quantities{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.family-quantity{background:#f7f9fa;border-radius:7px;min-width:0;padding:16px}.family-quantity h3{margin:0 0 12px;font-size:16px}.quantity-gauge{margin:12px 0 18px}.quantity-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.quantity-heading b{font-variant-numeric:tabular-nums}.quantity-heading small{color:var(--muted)}.gauge-line{align-items:center;gap:12px;margin:8px 0;display:flex}.gauge-track{background:#e2e8ed;border-radius:999px;flex:1;min-width:0;height:12px;overflow:hidden}.gauge-track span{background:#19796c;border-radius:999px;height:100%;display:block}.gauge-line strong{text-align:right;min-width:58px;font-size:13px}.quantity-gauge .table-note{margin:4px 0;font-size:11px}.operations-sites{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.operation-site{min-width:0}.operation-site h2{margin:4px 0;font-size:19px}.operation-site h3{color:#475c6c;margin:0 0 10px;font-size:14px}.day-status{color:#856022;background:#fff1d1;border-radius:5px;padding:6px 10px;font-size:12px}.day-status.complete{color:#236b48;background:#e9f5ef}.day-crew{background:#edf5f3;border-radius:6px;padding:14px}.day-crew strong{font-size:19px;display:block}.day-crew span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.operation-block{border-bottom:1px solid var(--line);padding:18px 0}.operation-block p{margin:6px 0;font-size:14px}.preserve-text{white-space:pre-wrap;overflow-wrap:anywhere}.plan-row{justify-content:space-between;align-items:start;gap:14px;display:flex}.plan-row>span{flex:1;min-width:0}.plan-row b{text-align:right;white-space:nowrap}.plan-row small,.event-row small,.issue-row small{color:var(--muted);font-size:11px;display:block}.event-row{gap:10px;display:flex}.event-tag{white-space:nowrap;background:#eff3f7;border-radius:4px;align-self:start;padding:2px 7px;font-size:11px}.issue-row{background:#f6f8fa;border-radius:5px;margin:8px 0;padding:10px 12px}.issue-row.injury{background:#fff0ed;border-left:3px solid #ba5845}.issue-row span{font-size:12px;display:block}.site-progress{margin:18px 0}.site-progress summary{cursor:pointer;font-size:13px}.operation-site .form-actions{justify-content:space-between;margin-top:20px;font-size:12px}@media (max-width:1100px){.board-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.board-quantities{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.board-heading{display:block}.board-heading>.button{margin-bottom:14px}.board-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.board-stats>div{padding:14px}.board-stats strong{font-size:24px}.board-quantities,.operations-sites{grid-template-columns:minmax(0,1fr)}.plan-row{flex-wrap:wrap}.board-date,.family-quantity{padding:14px}}.operations-sites{grid-template-columns:minmax(0,1fr)}.site-processes{border-top:1px solid var(--line);margin:20px 0 24px;padding-top:20px}.board-date select{font:inherit;background:#fff;border:1px solid #bccbd3;border-radius:5px;min-width:0;max-width:100%;padding:10px}.board-date label{max-width:100%}.operation-site>.operation-block{margin-top:4px}@media (max-width:760px){.board-date select{width:100%}.site-processes .section-heading>.muted{font-size:11px}}.project-stages{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.project-stage{min-width:0}.stage-heading{background:#e8eef2;border-radius:8px;margin-bottom:16px;padding:16px 18px}.stage-heading h2{margin:0}.stage-heading p{color:var(--muted);margin:5px 0 0;font-size:12px}.project-list{flex-direction:column;gap:16px;display:flex}.project-row{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:20px;display:block}.project-row:hover{border-color:var(--accent);text-decoration:none;box-shadow:0 3px 12px #192b3c12}.project-row-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-row h3{overflow-wrap:anywhere;margin:12px 0;font-size:17px}.project-row p{font-size:12px}.project-totals{background:#f4f8f7;border-radius:5px;gap:8px;margin:16px 0;padding:12px;display:grid}.project-totals>div{justify-content:space-between;gap:8px;display:flex}.project-totals dt{color:var(--muted);font-size:12px}.project-totals dd{margin:0;font-size:14px;font-weight:700}.project-progress>div{margin:18px 0}.project-progress .gauge-track{margin:8px 0}.project-progress small{color:var(--muted);font-size:11px}.project-open{color:var(--accent);margin-top:20px;font-size:12px;font-weight:600;display:block}.stage-empty{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:8px;padding:30px 14px;font-size:13px}@media (max-width:1050px){.project-stages{grid-template-columns:minmax(0,1fr)}.project-row{padding:18px}.project-stages .project-list{gap:14px}}.project-name{border:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere;background:#fff;border-radius:6px;padding:14px 16px;font-size:14px;font-weight:600;display:block}.project-name:hover{border-color:var(--accent);background:#edf5f3;text-decoration:none}.project-list{gap:8px}.history-filter{margin-bottom:20px}.history-filter select{font:inherit;border:1px solid #bccbd3;border-radius:5px;min-width:0;max-width:100%;padding:10px}.history-filter label{max-width:100%}.history-counts dd{font-size:23px}.report-day h3{margin:0;font-size:19px}.report-crew{color:var(--accent);margin:8px 0 0;font-size:14px;font-weight:600}.work-description{white-space:pre-wrap;min-width:240px}.report-editor{margin:24px 0}.report-editor>summary{border:1px solid var(--line);cursor:pointer;background:#e9f1ee;border-radius:7px;padding:16px 20px;font-weight:700}.report-editor[open]>summary{margin-bottom:16px}#report-editor{scroll-margin-top:230px}@media (max-width:760px){.history-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.history-filter select{width:100%}.report-day .section-heading{align-items:flex-start}}.material-picker{border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:360px;padding:10px;display:grid;overflow:auto}.material-option{background:#f5f8fa;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:10px;display:flex}.material-option small{color:var(--muted);display:block}.receipt-line{background:#f5f8fa;border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(160px,1fr) auto;align-items:center;gap:16px;margin:10px 0;padding:14px;display:grid}.receipt-record{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.receipt-record h3{margin:0}.forklift-summary{color:var(--accent)}.receipt-form h3{margin-top:24px}@media (max-width:760px){.material-picker{grid-template-columns:minmax(0,1fr)}.receipt-line{grid-template-columns:minmax(0,1fr) auto}.receipt-line>b{grid-column:1/-1}.receipt-line label{min-width:0}}.cost-actions>details{border-bottom:1px solid var(--line);padding:14px 0}.cost-actions summary{color:var(--accent);cursor:pointer;font-weight:700}.cost-payment-picker{border:1px solid var(--line);max-height:340px;padding:12px;overflow:auto}.cost-check{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.cost-check input{flex-shrink:0;width:20px;height:20px}.cost-check small{color:var(--muted);display:block}.login{background:linear-gradient(145deg,#edf3f1,#f4f6f8);padding:32px 18px}.login .login-panel{width:min(460px,100%);margin:0;padding:36px;box-shadow:0 12px 36px #192b3c0b}.login-brand{letter-spacing:3px;color:var(--accent);margin-bottom:24px;font-size:36px;font-weight:800}.login h1{margin-top:10px}.login .stack{margin-top:28px}.login-note{color:var(--muted);text-align:center;margin:22px 0 0;font-size:12px}.login-error{color:#922929;background:#fff3f3;border-radius:6px;margin:0;padding:10px 12px;font-size:14px}.login-status{color:#145c54;background:#edf5f3;border-radius:6px;padding:10px 12px;font-size:14px}.login button{width:100%;padding:12px;font-weight:700}.login button:disabled{cursor:not-allowed;background:#aab5b8}.login input:disabled{background:#f2f4f5}@media (max-width:480px){.login .login-panel{padding:26px 22px}.login-brand{margin-bottom:18px}}.login-help{text-align:center;margin:22px 0 0;font-size:13px}.login-secondary{text-align:center;border:1px solid var(--line);color:var(--accent);border-radius:6px;min-height:44px;margin-top:14px;padding:11px 16px;font-weight:600;display:block}.login-secondary:hover{border-color:var(--accent);background:#edf5f3;text-decoration:none}.material-page-heading{grid-template-columns:minmax(0,1fr) clamp(210px,42%,380px);align-items:center;column-gap:24px;display:grid}.material-page-heading>div{min-width:0}.material-page-description{grid-column:1/-1}.material-site-filter{align-items:flex-end;gap:8px;width:100%;min-width:0;max-width:100%;display:flex}.material-site-filter label{flex:1;min-width:0;font-size:13px}.material-site-filter select{font:inherit;background:#fff;border:1px solid #a6b6c1;border-radius:5px;width:100%;min-width:0;min-height:44px;padding:10px}.material-site-filter button{flex-shrink:0;min-height:44px;padding:10px 14px}.material-flow-table th:first-child{min-width:210px}.material-flow-table tbody th small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.material-flow-table td:nth-child(n+3),.material-flow-table thead th:nth-child(n+3){text-align:right}.material-flow-table td:nth-child(2){text-align:center}.material-flow-table td strong{color:var(--accent);font-size:17px}.material-flow-table td small{font-size:12px}.material-flow-table .material-warning{color:#a33232}.material-select-empty{margin:0}@media (max-width:480px){.material-page-heading{grid-template-columns:minmax(0,1fr);row-gap:10px}.material-site-filter{width:100%}}.material-view-tabs{flex-flow:wrap;gap:8px;margin-bottom:20px}.material-view-tabs a{color:var(--ink);border:1px solid var(--line);background:#fff;min-height:44px;padding:9px 16px}.material-view-tabs a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:#fff}.material-catalog-table th:first-child,.material-catalog-table td:nth-child(2){min-width:160px}.material-catalog-table td:nth-child(3),.material-catalog-table td:nth-child(4){text-align:right;white-space:nowrap}.material-catalog-table td:nth-child(5){text-align:center;min-width:80px}.material-catalog-table td:last-child{min-width:170px}.material-catalog-table td small{color:var(--muted);margin-top:4px;font-size:12px}.material-review{color:#8a5700;background:#fff3d8;border-radius:4px;padding:2px 7px;font-size:12px;display:inline-block}@media (max-width:480px){.material-view-tabs{gap:6px}.material-view-tabs a{padding:9px 12px;font-size:14px}}.catalog-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.catalog-groups a{color:var(--ink);border:1px solid var(--line);background:#fff;padding:18px 20px}.catalog-groups a:hover{border-color:var(--accent);text-decoration:none}.catalog-groups strong,.catalog-groups span,.catalog-groups small{display:block}.catalog-groups strong{color:var(--accent);font-size:18px}.catalog-groups span{margin-top:4px;font-weight:600}.catalog-groups small{color:var(--muted);white-space:normal;margin-top:6px;font-size:12px}.material-catalog-table td:last-child{max-width:240px}.material-catalog-table td small{white-space:normal}.material-catalog-table+*,[id^=catalog-]{scroll-margin-top:20px}@media (max-width:480px){.catalog-groups{grid-template-columns:minmax(0,1fr);gap:10px}.catalog-groups a{padding:14px 16px}}.catalog-groups-reviewed{grid-template-columns:repeat(3,minmax(0,1fr))}.material-crosscheck-summary{color:var(--ink);background:#edf5f3;border:1px solid #cddfd9;border-radius:8px;margin-bottom:20px;padding:18px 20px}.material-crosscheck-summary>strong{color:var(--accent);font-size:17px}.material-crosscheck-summary p{margin:6px 0;font-size:13px}.material-crosscheck-summary>small{color:var(--muted);font-size:12px}.material-crosscheck{white-space:normal;overflow-wrap:anywhere;min-width:190px;max-width:290px;font-size:12px}.material-crosscheck summary{cursor:pointer;color:var(--accent);padding:4px 0;font-weight:600}.material-crosscheck-variant_difference summary,.material-crosscheck-uncertain summary{color:#865800}.material-crosscheck p{margin:8px 0;font-size:12px}.material-crosscheck ul{margin:8px 0;padding-left:18px}.material-crosscheck li{margin-bottom:6px}.material-reference{background:#f1f6f5;border-radius:5px;margin:10px 0;padding:10px}.material-reference strong{font-size:12px}.material-reference small{margin-top:4px;display:block}.material-catalog-table{min-width:1070px}.material-catalog-table td:nth-child(6){min-width:220px;max-width:290px}.excluded-materials>summary{cursor:pointer;color:var(--muted);font-weight:600}.excluded-materials[open]>summary{margin-bottom:16px}@media (max-width:1100px){.catalog-groups-reviewed{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.catalog-groups-reviewed{grid-template-columns:minmax(0,1fr)}.material-crosscheck-summary{padding:16px}}.site-management-form,.contract-management-form{margin-top:12px;padding-top:12px}.management-editor{border-top:1px solid var(--line);padding:18px 0;scroll-margin-top:240px}.management-editor>summary{color:var(--accent);cursor:pointer;padding:8px 0;font-weight:700}.management-editor>summary small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.contract-lines{gap:16px;display:grid}.contract-line{border:1px solid var(--line);background:#f7f9fa;border-radius:7px;min-width:0;padding:18px}.contract-line-inactive{background:#f1f3f5}.contract-line-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.contract-management-form h3{margin:0}.management-feedback .notice{margin-top:16px}.management-feedback:empty{display:none}#contracts,#site-information{scroll-margin-top:240px}.site-management-form fieldset,.contract-management-form fieldset{min-width:0}.contract-line input:disabled,.contract-line select:disabled{color:#4e6270;background:#edf0f2}.contract-management-form .section-heading button{margin-top:0}@media (max-width:760px){.contract-line{padding:12px}.management-editor>summary{overflow-wrap:anywhere}.site-management-form .form-actions button,.contract-management-form .form-actions button{width:100%}}.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}.today-work-start{border-top:4px solid var(--accent)}.today-work-start h2{font-size:21px}.today-work-start .board-date{margin:0}.today-work-start .date-picker>label{flex:1;min-width:180px}.today-work-start select{width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #bccbd3;border-radius:5px;padding:10px}.today-work-start .form-actions{align-self:flex-end;gap:8px;margin:0}.today-work-start button:disabled{opacity:.45;cursor:not-allowed}.today-work-card-action{padding:12px 0 20px}.today-work-card-action .button{font-weight:700}.today-work-form{border:0;margin:16px 0;padding:0}.today-work-section{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;margin-bottom:20px;padding:24px}.today-work-step-heading{align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.today-work-step-heading>span{background:var(--accent);color:#fff;text-align:center;border-radius:50%;flex-shrink:0;width:32px;height:32px;font-weight:700;line-height:32px}.today-work-step-heading h2{margin:0;font-size:20px}.today-work-step-heading p{margin:6px 0 0;font-size:14px}.today-work-form h3{margin:0;font-size:15px}.today-work-form>section>fieldset{border:0;padding:0}.today-work-task-list{gap:14px;display:grid}.today-work-task{border:1px solid var(--line);background:#f7f9fa;border-radius:7px;min-width:0;padding:18px}.today-work-task-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.today-work-task details summary{color:var(--muted);cursor:pointer;font-size:13px}.today-work-worker-toolbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.today-work-worker-toolbar>label{flex:1;min-width:180px}.today-work-worker-toolbar button{margin-top:23px}.today-work-worker-results{grid-template-columns:repeat(2,minmax(0,1fr));max-height:440px;overflow:auto}.today-work-worker-result{border:1px solid var(--line);border-radius:6px;min-width:0;padding:12px}.today-work-worker-result>label:first-child{flex-direction:row;align-items:center;gap:10px;margin:0}.today-work-worker-result>label span{overflow-wrap:anywhere}.today-work-worker-result small{font-size:12px;font-weight:400;display:block}.today-work-worker-result .labor-input{flex-direction:row;align-items:center;margin:10px 0 0;font-weight:400}.today-work-worker-result .labor-input input{max-width:110px;margin-left:auto}.today-work-worker-registration{background:#f1f7f5;border:1px solid #cddfd9;border-radius:7px;margin-top:16px;padding:16px}.today-work-assignment{border-bottom:1px solid var(--line);padding:14px 0}.today-work-assignment:last-child{border:0}.today-work-assignment .worker-picker{margin-top:8px}.today-work-assignment label{flex-direction:row;align-items:center;gap:8px}.today-work-quantity-card{border:1px solid var(--line);background:#f7f9fa;border-radius:7px;grid-template-columns:minmax(0,1fr) minmax(200px,.5fr);align-items:center;column-gap:24px;margin-bottom:14px;padding:18px;display:grid}.today-work-quantity-card>p{grid-column:1/-1;margin:0}.today-work-quantity-card>div>p{margin:6px 0 0;font-size:13px}.today-work-empty{border:1px dashed var(--line);color:var(--muted);background:#f7f9fa;border-radius:6px;padding:20px}.today-work-actions{border-top:1px solid var(--line);padding-top:8px}.today-work-feedback:empty{display:none}.today-work-form .notice{overflow-wrap:anywhere;padding:12px 16px}.today-work-form input:disabled,.today-work-form select:disabled{background:#edf0f2}.today-work-date{padding:12px 0}.today-work-feedback{scroll-margin-top:250px}@media (max-width:760px){.today-work-section{padding:18px}.today-work-task{padding:14px}.today-work-worker-results{grid-template-columns:minmax(0,1fr)}.today-work-worker-toolbar{gap:4px}.today-work-worker-toolbar button{margin-top:0}.today-work-quantity-card{grid-template-columns:minmax(0,1fr);padding:14px}.today-work-form .form-actions button,.today-work-start .form-actions>.button,.today-work-start .form-actions>button,.today-work-start .form-actions{width:100%}.today-work-task-header button{padding:7px 10px}.today-work-step-heading{gap:10px}.today-work-step-heading h2{font-size:18px}.today-work-card-action{flex-wrap:wrap;align-items:center}}.drive-compact{margin:12px 0;padding:12px 16px}.drive-compact>summary{cursor:pointer;font-size:12px;font-weight:600}.drive-compact p{margin:8px 0;font-size:12px}.worker-identity{vertical-align:top;overflow-wrap:anywhere;flex-direction:column;gap:3px;min-width:0;max-width:100%;display:inline-flex}.worker-identity-name{color:var(--ink);flex-wrap:wrap;align-items:center;gap:7px;font-weight:600;display:flex}.worker-group-badge{color:#145c54;white-space:nowrap;background:#e5f1ed;border-radius:4px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.worker-identity-note{color:#455e70;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;font-weight:400}.worker-identity-code{color:var(--muted);font-size:11px;font-weight:400}.worker-identity-list,.worker-selected-identities,.report-crew-identities{flex-wrap:wrap;gap:10px 16px;margin:10px 0;padding:0;list-style:none;display:flex}.worker-identity-list>li,.worker-selected-identities>li,.report-crew-identities>li{min-width:0;max-width:100%}.day-crew .worker-identity{margin:0;font-size:14px;display:inline-flex}.day-crew .worker-identity-name{color:var(--ink);font-size:14px;display:flex}.day-crew .worker-group-badge{margin:0;font-size:11px;display:inline-block}.day-crew .worker-identity-note,.day-crew .worker-identity-code{margin:0}.today-work-worker-toolbar>label:has(select){flex:.6;min-width:150px}.worker-management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.worker-management-card{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;min-width:0;padding:18px}.worker-management-card>.worker-identity{font-size:17px}.worker-management-card .worker-status{margin:10px 0;font-size:12px}.worker-profile-editor>summary{color:var(--accent);cursor:pointer;padding:8px 0;font-size:13px}.worker-profile-editor .entry-form{margin:8px 0 0;padding-top:8px}.worker-profile-editor fieldset{padding:12px}.worker-profile-editor .form-grid{grid-template-columns:minmax(0,1fr)}.worker-profile-editor .muted{font-size:12px}.worker-management-card .notice,.worker-management-card .success{overflow-wrap:anywhere}.worker-group-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.worker-group-tabs a{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:6px;padding:9px 16px}.worker-group-tabs a[aria-current=page]{background:var(--accent);color:#fff;border-color:var(--accent)}@media (max-width:760px){.worker-management-grid{grid-template-columns:minmax(0,1fr)}.worker-management-card{padding:14px}.worker-group-tabs{gap:6px}.worker-group-tabs a{padding:8px 12px}.today-work-worker-toolbar>label:has(select){flex:1}.worker-profile-editor button{width:100%}}.worker-group-tabs{flex-direction:row}.worker-management-grid{align-items:start}.worker-headcount{background:#f1f7f5;border:1px solid #cddfd9;border-radius:8px;min-width:0;margin:12px 0 18px;padding:16px}.worker-headcount-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 12px;display:flex}.worker-headcount-heading span{color:var(--muted);font-size:13px}.worker-headcount-heading strong{color:var(--accent);white-space:nowrap;font-size:20px}.worker-headcount-groups{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;margin:0;display:grid}.worker-headcount-group{background:#fff;border:1px solid #dce7e3;border-radius:6px;min-width:0;padding:10px 12px}.worker-headcount-group dt{color:#4c635d;font-size:13px}.worker-headcount-group dd{font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:21px;font-weight:700}.worker-headcount-compact{background:0 0;border:0;margin:10px 0;padding:0}.worker-headcount-compact .worker-headcount-heading{margin-bottom:8px}.worker-headcount-compact .worker-headcount-heading strong{font-size:17px}.worker-headcount-compact .worker-headcount-groups{flex-wrap:wrap;gap:6px;display:flex}.worker-headcount-compact .worker-headcount-group{align-items:baseline;gap:9px;padding:5px 9px;display:flex}.worker-headcount-compact .worker-headcount-group dt{font-size:12px}.worker-headcount-compact .worker-headcount-group dd{margin:0;font-size:15px}.board-worker-headcount>.worker-headcount{background:0 0;border:0;margin:0;padding:0}.board-worker-headcount .table-note{margin-bottom:0}.day-crew .worker-headcount-heading span{margin:0}.day-crew .worker-headcount-heading strong{font-size:17px}.today-work-assignment .worker-headcount-heading{margin-top:10px}@media (max-width:760px){.worker-headcount{padding:12px}.worker-headcount-group{padding:9px}.worker-headcount-heading{gap:6px}.worker-headcount-compact{padding:0}.worker-headcount-heading strong{font-size:18px}}.shared-data-refresh{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 20px;display:flex}.shared-data-refresh .notice{width:100%;margin:0}.shared-data-refresh button{margin:0}.account-controls{flex-wrap:wrap;justify-content:flex-end;min-width:0}.account-controls a,.account-controls button{white-space:nowrap}@media (max-width:760px){header{align-items:flex-start;gap:12px}.account-controls{gap:8px}}
