:root{color:#20353c;font-synthesis:none;--primary:#176b63;--line:#dce5e6;--muted:#687d83;--danger:#a63d32;background:#f3f6f6;font-family:Yu Gothic UI,Meiryo,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:var(--primary)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #e7b251}button{color:inherit}h1,h2,p{margin:0}h1{letter-spacing:.01em;font-size:25px;font-weight:700}h2{font-size:18px;font-weight:600}strong{font-weight:600}small{display:block}.muted,.hint{color:var(--muted);font-size:12px}.hint{margin:12px 0;line-height:1.7}.prewrap{white-space:pre-wrap}.primary,.button,.icon-button,.danger-button{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:39px;padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.button:hover{background:#eef6f3}.primary:hover{background:#12594f}.small{min-height:33px;padding:6px 10px;font-size:12px}.icon-button{min-width:37px;padding:2px 8px;font-size:22px}.danger-button{color:var(--danger);border-color:#e8c8c4}.link-button{color:var(--primary);text-underline-offset:3px;background:0 0;border:0;min-height:32px;padding:7px 3px;font-size:12px;text-decoration:underline}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag,.pill{color:#385e55;white-space:nowrap;background:#eaf2ef;border-radius:5px;padding:2px 6px;font-size:10px;line-height:1.5;display:inline-flex}.tag.warn{color:#8e5a10;background:#fff0d4}.pill{font-size:12px}.alert{background:#eef5f6;border:1px solid #d7e4e7;border-radius:9px;margin:0 0 15px;padding:12px 15px;font-size:13px;line-height:1.7}.alert.danger{color:#963b30;background:#fff1ee;border-color:#edc9c1}.alert.success{color:#315f4f;background:#edf7f2;border-color:#cee4d7}.alert strong{display:block}.alert p{margin:5px 0}.welcome{max-width:600px;margin:12vh auto;padding:25px}.welcome h1{margin:18px 0}.welcome .brand-mark{width:55px;height:48px;font-size:21px}.welcome p{color:var(--muted)}.app-shell{min-height:100vh}.app-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:15px;padding:18px 28px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--primary);color:#fff;letter-spacing:-.06em;border-radius:9px;justify-content:center;align-items:center;width:44px;height:40px;font-size:17px;font-weight:700;display:inline-flex}.brand strong{font-size:16px}.brand div>span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.account{align-items:center;gap:9px;font-size:12px;display:flex}.account a{margin-left:6px;font-size:11px}.app-body{grid-template-columns:178px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;min-height:calc(100vh - 130px);padding:24px 12px}.sidebar nav{flex-direction:column;gap:6px;display:flex}.sidebar nav button{text-align:left;color:#50666e;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 13px;font-size:13px;display:flex}.sidebar nav button.active{color:#1b6758;background:#e7f2ee;font-weight:600}.sidebar nav button:hover{background:#f1f6f4}.count{text-align:center;color:#fff;background:#c56b3c;border-radius:12px;min-width:21px;padding:2px 5px;font-size:10px}.sidebar-foot{color:#788c91;margin:35px 14px 0;font-size:11px;line-height:1.9}.main-area{min-width:0;padding:26px 25px 42px}.page-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;display:flex}.eyebrow{color:#77918c;letter-spacing:.11em;margin-bottom:5px;font-size:10px}.sync{color:var(--muted);align-items:center;gap:10px;font-size:11px;display:flex}.sync small{margin-top:3px;font-size:10px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px;display:flex}.week-control{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.week-label{flex-direction:column;gap:3px;display:flex;margin:0!important;font-size:12px!important}.week-label input{width:147px;min-height:28px;padding:4px 7px;font-size:12px}.week-label strong{font-size:13px;font-weight:600}.sub-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;display:flex}.inline-label{align-items:center;gap:7px;margin:0!important;font-size:12px!important;display:flex!important}.inline-label select{width:110px;min-height:31px;padding:6px 8px;font-size:12px}.setup-card{background:#e8f2ee;border:1px solid #d4e5db;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:17px 20px;display:flex}.setup-card strong{font-size:14px}.setup-card p{color:#5a766b;margin-top:5px;font-size:12px;line-height:1.7}.schedule-scroll{border:1px solid var(--line);background:#fff;border-radius:9px;overflow-x:auto}.schedule-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:990px;font-size:12px}.schedule-table th{text-align:center;border-bottom:1px solid var(--line);background:#f0f4f3;padding:11px 6px;font-weight:600}.schedule-table thead th:first-child{width:112px}.schedule-table thead th{font-size:12px}.schedule-table th small{color:#81918e;margin-top:4px;font-size:10px;font-weight:400}.schedule-table th.today{color:#205846;background:#dcefe5}.schedule-table tbody th{z-index:1;text-align:left;border-right:1px solid var(--line);background:#fff;padding:9px 10px;font-weight:500;position:sticky;left:0}.schedule-table tbody th small{color:#899992;font-size:10px;line-height:1.5}.schedule-table td{vertical-align:top;border-bottom:1px solid #e6eceb;border-right:1px solid #e6eceb;height:58px;padding:4px}.schedule-table td:last-child{border-right:0}.schedule-table tbody tr:last-child td,.schedule-table tbody tr:last-child th{border-bottom:0}.task{text-align:left;color:#29443d;overflow-wrap:anywhere;background:#e6f2ed;border:1px solid #0000;border-radius:5px;width:100%;margin-bottom:4px;padding:6px 7px;font-size:11px;line-height:1.4;display:block}.task:hover{filter:brightness(.97)}.task.blue{color:#304c65;background:#e7f0f9}.task.purple{color:#534168;background:#efeaf7}.task.orange{color:#775a36;background:#fff0df}.task.tentative{border:1px dashed #8ea69e}.task.completed{opacity:.65}.task-title{font-size:12px;font-weight:600;display:block}.task-work{margin:3px 0;display:block}.task-time,.task-workers{margin-top:3px;font-size:10px;display:block}.task .tag{margin:4px 3px 0 0;padding:1px 4px;font-size:9px}.add-cell{color:#92a8a0;background:0 0;border:0;border-radius:5px;width:100%;min-height:27px;padding:2px;font-size:16px;display:block}.add-cell:hover{color:#246654;background:#edf5f1}.leave-card{color:#65747b;text-align:left;background:#edf0f2;border:0;border-radius:5px;width:100%;margin-bottom:4px;padding:6px;font-size:12px;display:block}.leave-card small{font-size:10px}.grid-footer{color:#81918e;margin-top:11px;font-size:11px}.print-heading{display:none}.directory-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:15px;display:grid}.directory-card{border:1px solid var(--line);background:#fff;border-radius:11px;padding:20px;position:relative}.directory-card h2{margin-bottom:9px;font-size:17px}.directory-card p{margin:6px 0;font-size:13px}.directory-card .actions{margin:15px 0 7px}.color-dot{background:#69a98f;border-radius:3px;width:25px;height:4px;margin-bottom:15px;display:block}.color-dot.blue{background:#6c9ac1}.color-dot.purple{background:#a08abd}.color-dot.orange{background:#cf9a60}.simple-table-scroll{border:1px solid var(--line);background:#fff;border-radius:10px;overflow-x:auto}.simple-table{border-collapse:collapse;width:100%;min-width:660px;font-size:13px}.simple-table th{text-align:left;color:var(--muted);background:#f5f7f7;font-size:12px;font-weight:500}.simple-table td,.simple-table th{border-bottom:1px solid #e6eceb;padding:12px 14px}.simple-table tr:last-child td{border-bottom:0}.simple-table small{color:var(--muted);margin-top:4px;font-size:11px}.simple-table td .tag{margin-left:6px}.empty{text-align:center;color:#678178;background:#fff;border:1px dashed #cbdcd5;border-radius:12px;margin:15px 0;padding:35px 22px;font-size:14px;line-height:1.8}.empty p{margin-top:8px;font-size:12px}.event-list{gap:12px;display:grid}.event-card{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.event-card h2{margin:5px 0;font-size:15px;line-height:1.7}.event-card p{margin:6px 0;font-size:12px}.ack-people{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.ack{color:#89988e;background:#f8faf9;border:1px solid #e0e7e4;border-radius:5px;padding:3px 7px;font-size:11px}.ack.done{color:#35744d;background:#e4f2e9;border-color:#c6e0cd}.day-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.day-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:23px}.card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;font-size:13px;display:flex}.day-card h2{margin-bottom:10px;font-size:22px}.work-title{margin:10px 0;font-size:17px;line-height:1.6}.day-card p{margin:10px 0;line-height:1.7}.day-card .actions{margin:20px 0 10px}.leave-day{color:#627179;background:#eef1f2}.app-footer{border-top:1px solid var(--line);color:#7c918b;background:#fff;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 26px;font-size:10px;display:flex}.modal{color:#253c35;background:#fff;border:1px solid #d4e1dc;border-radius:15px;width:min(760px,100% - 28px);max-height:90dvh;margin:auto;padding:23px;overflow:auto;box-shadow:0 20px 80px #1c392333}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#16362c66}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;padding-bottom:15px;display:flex}.modal-head h2{font-size:20px}.form-grid{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.span2{grid-column:1/-1}label{color:#5d736a;margin-bottom:12px;font-size:12px;display:block}input,select,textarea{color:#253c35;background:#fff;border:1px solid #cedcd5;border-radius:7px;width:100%;min-height:39px;margin-top:5px;padding:9px 10px;font-size:14px;display:block}textarea{resize:vertical}.checkbox{align-items:flex-start;gap:8px;margin:12px 0;font-size:13px;line-height:1.6;display:flex}.checkbox input[type=checkbox]{width:17px;height:17px;min-height:17px;accent-color:var(--primary);flex-shrink:0;margin:2px 0}.checks-inline{flex-wrap:wrap;gap:15px;display:flex}.checks-sites{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 14px;display:grid}.section-label{justify-content:space-between;align-items:center;gap:10px;margin:15px 0 10px;font-size:13px;display:flex}.person-picker{border:1px solid var(--line);background:#f8faf9;border-radius:8px;grid-template-columns:1fr 1fr;gap:7px;padding:10px;display:grid}.person-option{color:#355448;background:#fff;border:1px solid #e0e9e4;border-radius:6px;align-items:center;gap:8px;min-height:54px;margin:0;padding:8px;font-size:13px;display:flex}.person-option input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--primary);flex-shrink:0;margin:0}.person-option small{color:#82968b;margin-top:2px;font-size:10px}.person-option.occupied{background:#fff4ed;border-color:#efdbcc}.person-option.occupied small{color:#a16c43}.modal-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;padding-top:16px;display:flex}.modal-actions>.muted{max-width:350px;margin-right:auto}.shift-list{border:1px solid var(--line);border-radius:8px;margin-bottom:15px}.shift-list>div{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:10px 13px;font-size:12px;display:flex}.shift-list>div:last-child{border-bottom:0}.shift-list strong{font-weight:500}.shift-list span{color:#5f796c}.detail-content dl{grid-template-columns:100px 1fr;margin:22px 0;font-size:13px;display:grid}.detail-content dt,.detail-content dd{border-bottom:1px solid #e5ece8;margin:0;padding:10px 5px;line-height:1.7}.detail-content dt{color:#7c9287}.date-input{width:160px;margin:0}@media (width>=1600px){.main-area{padding-left:35px;padding-right:35px}.schedule-table th:first-child{width:125px}.task{font-size:12px}.task-time{font-size:11px}}@media (width<=1050px){.app-body{grid-template-columns:150px minmax(0,1fr)}.main-area{padding:22px 17px}.sidebar{padding:20px 8px}.sidebar nav button{padding:11px 9px;font-size:12px}.app-header{padding:16px 20px}.toolbar{gap:12px}}@media (width<=720px){.app-body{display:block}.app-header{align-items:flex-start;padding:13px 14px}.brand strong{font-size:14px}.brand div>span{display:none}.brand-mark{width:37px;height:35px;font-size:15px}.account{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:150px;font-size:10px}.account a{font-size:10px}.sidebar{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:8px}.sidebar nav{flex-direction:row;gap:4px;overflow-x:auto}.sidebar nav button{white-space:nowrap;gap:5px;min-height:42px;padding:9px 11px;font-size:12px}.sidebar-foot{display:none}.main-area{padding:20px 12px 30px}.page-heading{align-items:flex-start;margin-bottom:18px}h1{font-size:22px}.sync{gap:5px;font-size:10px}.sync small{font-size:9px}.sync .button{min-height:34px;font-size:11px}.eyebrow{font-size:9px}.setup-card{padding:15px;display:block}.setup-card .primary{margin-top:12px}.day-cards{display:block}.day-card{margin-bottom:14px;padding:20px}.day-card h2{font-size:21px}.event-card{padding:16px;display:block}.event-card>.primary,.event-card>.button{margin-top:13px}.app-footer{padding:12px;font-size:10px}.modal{width:calc(100% - 18px);max-height:94dvh;padding:17px}.form-grid{grid-template-columns:1fr 1fr;gap:8px}.form-grid label,.modal label{font-size:12px}input,select,textarea{min-height:43px;font-size:16px}.person-picker{grid-template-columns:1fr;padding:8px}.person-option{min-height:51px}.person-option small{font-size:11px}.checks-sites{grid-template-columns:1fr}.modal-actions>.muted{width:100%;max-width:none}.detail-content dl{grid-template-columns:80px 1fr}.schedule-table{min-width:1000px}.button,.primary{min-height:42px}.sub-toolbar{gap:5px}.inline-label select{min-height:35px}.week-label input{font-size:14px}.week-control{gap:5px}.task-time,.task-work,.task-workers{font-size:11px}}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff}.app-header,.sidebar,.page-heading,.toolbar,.sub-toolbar,.alert,.setup-card,.app-footer,.grid-footer,.add-cell,.modal,.account{display:none!important}.app-body{display:block}.main-area{padding:0}.schedule-scroll{border:0;border-radius:0;overflow:visible}.print-heading{margin:0 0 12px;font-size:14px;font-weight:600;display:block}.schedule-table{width:100%;min-width:0;font-size:8px}.schedule-table thead{display:table-header-group}.schedule-table th,.schedule-table td{height:auto!important;padding:2px!important}.schedule-table th:first-child{width:67px!important}.schedule-table tbody th{position:static}.schedule-table tbody th small{display:none}.schedule-table thead th{font-size:9px}.schedule-table th small{font-size:7px}.task{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:1px 0;padding:2px 3px;font-size:8px}.task-title{font-size:9px}.task-work,.task-time,.task-workers{margin-top:1px;font-size:7px}.task .tag{margin-top:1px;padding:0 2px;font-size:6px}.leave-card{padding:2px;font-size:8px}.leave-card small{font-size:7px}.schedule-table tr{break-inside:avoid}.schedule-table td{border:1px solid #ddd}.simple-table{min-width:0;font-size:9px}}.segmented{background:#fff;border:1px solid #cadbd4;border-radius:9px;flex-shrink:0;gap:3px;padding:3px;display:inline-flex}.segmented button{color:#5b746b;white-space:nowrap;background:0 0;border:0;border-radius:6px;min-height:36px;padding:8px 15px;font-size:13px}.segmented button[aria-pressed=true]{color:#fff;background:#176b63;font-weight:600}.board-controls{border-bottom:1px solid var(--line);padding-bottom:12px}.site-filter select{width:240px}.project-summary{background:#eaf3ee;border:1px solid #d7e6dc;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;margin:0 0 16px;padding:18px 20px;display:flex}.project-summary h2{font-size:19px}.project-summary p{color:#6c8277;margin-top:7px;font-size:12px}.project-summary .color-dot{margin-bottom:10px}.row-action{text-align:left;min-height:28px;padding:4px 0;font-size:11px;font-weight:400;display:block}.schedule-table thead th:first-child{z-index:3;position:sticky;left:0}.schedule-table tbody th{z-index:2}.schedule-table th.sunday,.gantt-axis>.sunday{color:#b1645b;background:#faf1ed}.schedule-table th.saturday,.gantt-axis>.saturday{color:#567fa1;background:#edf4f8}.schedule-table td.today{background:#f1f9f3}.schedule-table thead th small{margin-top:3px}.monthly-table th:first-child{width:150px!important}.monthly-table .task-title{font-size:11px}.monthly-table .task-workers,.monthly-table .task-time{font-size:10px}.monthly-table .task{padding:5px}.monthly-table tbody th small{overflow-wrap:anywhere}.gantt-scroll{background:#fff;border:1px solid #d6e2dc;border-radius:10px;overflow:auto}.gantt-row{border-bottom:1px solid #e0e9e4;grid-template-columns:215px minmax(0,1fr);min-height:67px;display:grid}.gantt-row:last-child{border-bottom:0}.gantt-label{z-index:4;overflow-wrap:anywhere;background:#fff;border-right:1px solid #d7e2dc;padding:12px 13px;font-size:12px;line-height:1.5;position:sticky;left:0}.gantt-label>small{color:#768e80;margin-top:4px;font-size:10px}.gantt-header{min-height:56px}.gantt-header .gantt-label{background:#eef4f1;align-items:center;font-weight:600;display:flex}.gantt-axis,.gantt-track,.gantt-grid{display:grid}.gantt-axis>div{text-align:center;background:#f0f5f2;border-right:1px solid #e0e9e4;padding:8px 1px;font-size:12px}.gantt-axis small{margin-top:3px;font-size:10px;font-weight:400}.gantt-axis>.today{color:#215b45;background:#cfe8db}.gantt-track{isolation:isolate;align-items:center;min-height:66px;position:relative}.gantt-grid{z-index:-1;pointer-events:none;position:absolute;inset:0}.gantt-grid>div{border-right:1px solid #e7eeea}.gantt-grid>.sunday{background:#fdf6f2}.gantt-grid>.saturday{background:#f6f9fc}.gantt-grid>.today{background:#ecf7ef;box-shadow:inset 2px 0 #80bca1}.gantt-bar{text-align:left;color:#24523f;z-index:1;background:#deeee5;border:1px solid #87b9a5;border-left:4px solid #368d72;border-radius:5px;grid-row:1;min-width:0;min-height:45px;margin:8px 2px;padding:7px 5px;font-size:11px;line-height:1.5;display:block;position:relative;overflow:hidden}.gantt-bar span{font-weight:600}.gantt-bar span,.gantt-bar small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.gantt-bar small{margin-top:2px;font-size:10px}.gantt-bar:hover{filter:brightness(.96);outline-offset:-2px;outline:2px solid #78a18d}.gantt-bar.blue{color:#36546e;background:#e2eef9;border-color:#94b1cd #94b1cd #94b1cd #477da6}.gantt-bar.purple{color:#574268;background:#eee6f6;border-color:#b3a1c7 #b3a1c7 #b3a1c7 #8d71a9}.gantt-bar.orange{color:#705532;background:#fff0d9;border-color:#d5b68a #d5b68a #d5b68a #b78c52}.gantt-bar.tentative{border-style:dashed}.gantt-bar.completed{opacity:.55}.gantt-bar.leave-bar{color:#687a7c;text-align:center;background:#e9edef;border-color:#c5d0d3;border-left-width:1px;padding:5px 2px}.unassigned-panel,.phase-index,.workdays,.phase-preview{border:1px solid var(--line);background:#fff;border-radius:9px;margin-top:16px;padding:12px 15px;font-size:13px}.unassigned-panel{background:#fffaf0;border-color:#edddbc}.unassigned-panel summary,.phase-index summary,.workdays summary,.phase-preview summary{cursor:pointer;font-weight:600;line-height:1.6}.unassigned-list{margin-top:9px}.unassigned-list button{text-align:left;background:0 0;border:0;border-top:1px solid #eee3cc;justify-content:space-between;gap:10px;width:100%;padding:10px 0;font-size:12px;display:flex}.unassigned-list button>span{color:var(--primary);white-space:nowrap}.phase-index>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.phase-index>div:first-of-type{margin-top:10px}.phase-index small{color:var(--muted);margin-top:4px;font-size:11px}.date-picker-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:3px 10px;max-height:240px;padding-top:10px;display:grid;overflow:auto}.date-picker-grid .checkbox{min-height:31px;margin:3px 0}.date-picker-grid .sunday{color:#ad685a}.phase-preview .shift-list{max-height:260px;margin:12px 0 0;overflow:auto}.phase-preview{margin-bottom:15px}.schedule-table tbody th>strong{overflow-wrap:anywhere;display:block}@media (width<=720px){.board-controls>.actions{gap:10px}.segmented button{min-height:38px;padding:8px 14px}.site-filter{width:100%}.site-filter select{width:min(270px,70vw);font-size:14px}.project-summary{padding:14px;display:block}.project-summary .actions{margin-top:10px}.gantt-row{grid-template-columns:145px minmax(0,1fr)}.gantt-sheet{min-width:max(750px,calc(var(--days)*40px + 145px))}.gantt-label{padding:10px;font-size:12px}.unassigned-list button{display:block}.unassigned-list button span{margin-top:5px;display:block}.phase-index>div{flex-wrap:wrap}.phase-index .actions{margin-top:5px}.monthly-table th:first-child{width:125px!important}}@media print{.project-summary,.row-action,.unassigned-panel,.phase-index{display:none!important}.schedule-table.monthly-table{min-width:0!important}.monthly-table th:first-child{width:60px!important}.monthly-table .task-title{font-size:6px}.monthly-table .task-workers,.monthly-table .task-time{font-size:5px}.gantt-scroll{border:0;overflow:visible}.gantt-sheet{width:100%;min-width:0}.gantt-row{break-inside:avoid;grid-template-columns:90px minmax(0,1fr);min-height:35px}.gantt-label{padding:4px;font-size:8px;position:static}.gantt-label>small{margin-top:2px;font-size:6px}.gantt-axis>div{padding:4px 0;font-size:8px}.gantt-axis small{font-size:6px}.gantt-track{min-height:35px}.gantt-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-left-width:2px;min-height:25px;margin:4px 1px;padding:3px 1px;font-size:7px}.gantt-bar small{margin-top:1px;font-size:5px}.gantt-grid>div,.gantt-axis>div{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.gantt-sheet{min-width:max(800px,calc(var(--days)*52px + 215px))}@media (width<=720px){.gantt-sheet{min-width:max(800px,calc(var(--days)*52px + 145px))}}@media print{.gantt-sheet{min-width:0}}.material-table{min-width:1030px}.material-table td{vertical-align:top}.material-table td:nth-child(2){min-width:200px;max-width:340px}.material-table td:nth-child(2) small{white-space:pre-wrap}.material-table .actions{min-width:125px}.material-table td a{margin-top:7px;font-size:11px;display:inline-block}.voided{opacity:.5}.review-material{border-bottom:1px solid var(--line);margin-bottom:18px;padding:0 0 18px}.review-material p{margin:8px 0;font-size:13px;line-height:1.7}.ledger-site-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.ledger-site{text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:10px;padding:20px;display:flex}.ledger-site strong{font-size:17px}.ledger-site>span:not(.tag),.ledger-site small{color:var(--muted);font-size:12px}.ledger-site .tag{align-self:flex-start}.ledger-site:hover{background:#f9fcfa;border-color:#8cb2a2}.ledger-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.ledger-stats>div{border:1px solid var(--line);background:#fff;border-radius:9px;padding:17px 16px}.ledger-stats>div>span{color:var(--muted);font-size:11px}.ledger-stats strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:10px;font-size:21px;display:block}.ledger-stats small{color:var(--muted);letter-spacing:0;margin-top:8px;font-size:10px;font-weight:400}.ledger-stats strong small{margin-left:5px;font-size:13px;display:inline}.ledger-summary-grid{grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr);gap:17px;margin-bottom:22px;display:grid}.category-table{min-width:400px;font-size:12px}.category-table td{text-align:right;font-variant-numeric:tabular-nums}.category-table tbody th{color:#3e5d50;background:#fff}.category-table td,.category-table th{padding:9px 13px}.ledger-billing-summary{border:1px solid var(--line);background:#fff;border-radius:9px;padding:12px 17px}.ledger-billing-summary p{border-bottom:1px solid var(--line);color:#647b70;justify-content:space-between;gap:12px;padding:12px 0;font-size:11px;display:flex}.ledger-billing-summary p:last-child{border:0}.ledger-billing-summary strong{color:#304a3d;font-size:13px}.ledger-tabs{border-bottom:1px solid #d1dfd7;gap:4px;margin:20px 0 18px;display:flex;overflow-x:auto}.ledger-tabs button{white-space:nowrap;color:#6a7d73;background:0 0;border:0;border-radius:6px 6px 0 0;padding:12px 18px;font-size:13px}.ledger-tabs button[aria-pressed=true]{color:#23583f;background:#dfede4;border-bottom:3px solid #3c8064;font-weight:600}.ledger-panel .hint{line-height:1.8}.ledger-panel .simple-table td{font-variant-numeric:tabular-nums}@media (width<=1000px){.ledger-stats{grid-template-columns:1fr 1fr}.ledger-summary-grid{grid-template-columns:1fr}.category-table{min-width:0}}@media (width<=720px){.ledger-stats{gap:8px}.ledger-stats>div{padding:13px 11px}.ledger-stats strong{font-size:19px}.ledger-tabs button{padding:11px 12px;font-size:12px}.ledger-site-grid{display:block}.ledger-site{width:100%;margin-bottom:12px}.ledger-panel .toolbar>.primary{width:100%}}@media print{.ledger-tabs,.ledger-panel .button,.materials-panel .button{display:none!important}.ledger-stats{grid-template-columns:repeat(4,1fr)}.ledger-stats strong{font-size:15px}.ledger-summary-grid{grid-template-columns:1fr 1fr}.ledger-panel .simple-table,.materials-panel .simple-table{min-width:0;font-size:8px}.ledger-panel .simple-table td,.materials-panel .simple-table td{padding:5px}.material-table td:nth-child(2){min-width:0}}.login-card{border:1px solid var(--line);background:#fff;border-radius:16px;line-height:1.8}.login-card p{margin:16px 0}.works-login{background:#00b900;border-color:#00b900;min-height:48px;font-size:16px;display:flex}.login-card form{margin-top:15px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:20px;display:grid}.photo-grid article{border:1px solid var(--line);border-radius:9px;padding:10px;overflow:hidden}.photo-grid img{object-fit:cover;border-radius:6px;width:100%;height:170px;margin-bottom:8px;display:block}.photo-grid p{margin:8px 0;font-size:13px}.photo-grid small{color:var(--muted);font-size:11px}.photo-upload{border:2px dashed #a5c7bb;border-radius:9px;margin-top:12px;padding:14px}.segmented{margin-bottom:15px}.account form{margin:0}.ledger-facts{color:var(--muted);flex-wrap:wrap;gap:12px 26px;padding:2px 2px 0;font-size:12px;display:flex}.ledger-facts strong{color:#324f44;margin-left:7px}.ledger-next-actions{background:#fff8e9;border:1px solid #eadbb9;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:15px 18px;display:flex}.ledger-next-actions strong{color:#75531d;font-size:13px;display:block}.ledger-next-actions span{color:#7d6e53;margin-top:5px;font-size:12px;display:block}.ledger-overview-heading{justify-content:space-between;align-items:center;gap:12px;margin:4px 0 12px;display:flex}.ledger-overview-heading h3,.ledger-quick-entry h3{margin:0;font-size:15px}.ledger-overview-heading .hint{margin:5px 0 0}.ledger-quick-entry{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:18px;padding:20px}.ledger-quick-entry .actions{margin-top:15px}.ledger-stats>div:nth-child(3){background:#edf5f0;border-color:#c8dfd1}.ledger-panel .project-summary{margin-bottom:12px}.ledger-billing-summary strong{font-variant-numeric:tabular-nums}.ledger-panel .simple-table td:has(+td:last-child){font-variant-numeric:tabular-nums}@media (width<=720px){.ledger-next-actions{padding:13px}.ledger-next-actions .actions{width:100%}.ledger-next-actions button{flex:1;min-height:42px}.ledger-quick-entry{padding:15px}.ledger-quick-entry .actions{grid-template-columns:1fr;display:grid}.ledger-quick-entry button{width:100%;min-height:45px}.ledger-facts{gap:8px 16px}.ledger-tabs button{min-height:44px}.ledger-stats strong{overflow-wrap:anywhere;font-size:17px}.ledger-overview-heading .button{white-space:normal}}@media print{.ledger-next-actions,.ledger-quick-entry,.ledger-overview-heading .button{display:none!important}.ledger-facts{font-size:9px}.ledger-overview-heading h3{font-size:12px}}.gantt-track{grid-auto-rows:minmax(61px,auto)}.gantt-label small{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.daily-bar{min-width:0;margin:7px 1px}.workday-picker{border:1px solid var(--line);background:#f7faf8;border-radius:10px;margin:16px 0;padding:14px}.calendar-shortcuts{flex-wrap:wrap;gap:8px}.calendar-nav{justify-content:center;align-items:center;gap:10px;margin:14px 0;display:flex}.calendar-nav select{max-width:180px}.workday-calendar{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.calendar-weekday{text-align:center;color:#647b72;font-size:12px}.workday-calendar button{color:#294c40;background:#fff;border:1px solid #d8e4dd;border-radius:7px;min-height:40px}.workday-calendar button[aria-pressed=true]{color:#fff;background:#176b63;border-color:#176b63;font-weight:700}.workday-calendar button:disabled{opacity:.3}.workday-calendar button.sunday:not([aria-pressed=true]){color:#b45a4e}.bulk-list{border:1px solid var(--line);border-radius:9px;max-height:330px;margin-top:12px;overflow:auto}.bulk-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px;font-size:13px;display:flex}.bulk-row input{width:18px;min-height:18px;margin-top:4px}.bulk-row strong,.bulk-row small{display:block}.bulk-row small{color:var(--muted);margin-top:5px}.drag-mode .task,.drag-mode .daily-bar{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drag-mode .task:active,.drag-mode .daily-bar:active{cursor:grabbing}.drop-highlight{outline-offset:-3px;outline:3px solid #dc9b35;background-color:#fff5d7!important}.drag-ghost{pointer-events:none;z-index:10000;color:#fff;background:#176b63;border-radius:8px;max-width:235px;padding:10px 12px;font-size:12px;position:fixed;box-shadow:0 4px 20px #0003}.button[aria-pressed=true]{color:#fff;background:#176b63}.schedule-board .toolbar>.actions{flex-wrap:wrap}@media print{.drag-ghost,.workday-picker{display:none!important}}.follow-question{background:#eff8f3;border:2px solid #176b63;border-radius:9px;margin:18px 0;padding:12px 15px}.follow-question legend{padding:0 6px;font-weight:700}.schedule-filters{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:18px;padding:13px 16px}.filter-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-heading strong{font-size:13px}.filter-heading .tag{margin-left:9px}.filter-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;display:grid}.filter-fields label{min-width:0;margin-bottom:8px}.filter-fields select,.filter-fields input{min-height:37px;font-size:13px}.schedule-filters .checkbox{margin:7px 0;font-size:12px}.schedule-filters .hint{margin:4px 0 0}.filter-heading .muted{font-variant-numeric:tabular-nums}@media (width>=1700px){.filter-fields{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=720px){.schedule-filters{padding:11px}.filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 9px}.filter-fields input,.filter-fields select{min-height:43px;font-size:16px}.filter-fields label:first-child{grid-column:1/-1}}@media print{.schedule-filters{display:none!important}}.follow-question input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--primary);flex-shrink:0;margin:2px 0}.schedule-table tbody .trade-divider th{color:#255d49;text-align:left;background:#dcece5;padding:9px 12px;font-size:13px;position:static}.gantt-trade-divider{color:#255d49;background:#dcece5;padding:9px 14px;font-size:13px;font-weight:700}.gantt-label>.tag,.schedule-table th>.tag{margin-top:7px}.trade-divider{break-after:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.schedule-board .task,.schedule-board .daily-bar{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.drag-source{opacity:.4!important}.drag-ghost strong{white-space:nowrap;text-overflow:ellipsis;max-width:210px;margin-bottom:5px;display:block;overflow:hidden}.drag-ghost span{font-size:11px;display:block}.drag-instructions{color:#416e5e;margin:0 0 12px;font-size:12px;line-height:1.7}.touch-move-toggle,.touch-drag-help{display:none}.mouse-drag-help{display:inline}@media (pointer:fine){.schedule-board .task,.schedule-board .daily-bar{cursor:grab}.schedule-board .task:active,.schedule-board .daily-bar:active{cursor:grabbing}}@media (any-pointer:coarse){.touch-move-toggle{display:inline-flex}}@media (pointer:coarse){.touch-drag-help{display:inline}.mouse-drag-help{display:none}}@media print{.drag-instructions,.drag-notice{display:none!important}}.schedule-board.read-only .task,.schedule-board.read-only .daily-bar{cursor:pointer;touch-action:auto}.schedule-board.read-only .leave-card:disabled,.schedule-board.read-only .leave-bar:disabled{opacity:1;cursor:default}.milestone-flags{flex-wrap:wrap;gap:3px;margin-bottom:5px;display:flex}.milestone-chip{border:1px solid;border-radius:4px;padding:1px 4px;font-weight:700;line-height:1.5;white-space:nowrap!important;font-size:10px!important;display:inline-block!important}.milestone-chip.start{color:#175878;background:#e1f1fa;border-color:#6cabc8}.milestone-chip.finish{color:#883c19;background:#f9e8df;border-color:#d18c6a}.milestone-dates{margin-top:7px;font-size:10px;font-weight:500;line-height:1.7;display:block}.milestone-dates>span{white-space:normal;display:block}.milestone-dates .start{color:#175878}.milestone-dates .finish{color:#883c19}.milestone-legend{color:#61776d;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;font-size:11px;display:flex}.gantt-bar .milestone-flags{white-space:normal;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:4px;display:flex;overflow:visible}.gantt-bar .milestone-chip{text-overflow:clip;padding:0 2px;font-size:9px!important}.project-summary .milestone-dates{font-size:12px}.pinned-date-header{z-index:45;pointer-events:none;background:#f0f4f3;position:fixed;overflow:hidden;box-shadow:0 3px 7px #183a402b}.pinned-date-header .schedule-table{border-radius:0}.pinned-date-header .gantt-header{border-bottom:1px solid #c0d4cb}.board-display-tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.schedule-zoom{color:#61776d;align-items:center;gap:6px;font-size:11px;display:flex}.schedule-zoom .button{min-width:30px;padding:3px 8px;font-size:16px}.schedule-zoom .link-button{font-variant-numeric:tabular-nums;min-width:44px}.touch-zoom-hint{display:none}.schedule-scroll,.gantt-scroll{touch-action:pan-x pan-y pinch-zoom}.drag-mode .task,.drag-mode .daily-bar{touch-action:pinch-zoom}@media (width<=720px){.touch-zoom-hint{color:#61776d;margin-bottom:10px;font-size:11px;line-height:1.6;display:block}.board-display-tools{justify-content:space-between;width:100%}.schedule-zoom{gap:4px}.schedule-zoom .button{min-height:36px}.milestone-dates{font-size:10px}}@media print{.pinned-date-header,.touch-zoom-hint,.schedule-zoom{display:none!important}.schedule-table,.gantt-sheet{zoom:1!important}.milestone-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:7px!important}.milestone-dates{font-size:7px}.milestone-legend{font-size:8px}.milestone-legend>span:last-child{display:none}}.report-tabs{margin-bottom:20px}.report-day-toolbar,.report-overview,.report-work-heading,.report-submit-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.report-day-toolbar{margin-bottom:15px}.report-day-toolbar strong{font-size:18px}.report-day-toolbar small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.report-day-toolbar input{width:155px}.report-overview{background:#eaf4ee;border:1px solid #d2e5db;border-radius:10px;margin-bottom:12px;padding:15px 18px}.report-overview p{margin:9px 0 4px;font-size:14px}.report-overview small{color:var(--muted);font-size:11px}.report-overview .tag{margin-right:7px}.tag.report-approved{color:#24613c;background:#d3ecdc}.report-editor{border:0;min-width:0;padding:0}.report-work-card,.report-list-card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:14px;padding:20px}.report-work-heading{align-items:flex-start;margin-bottom:15px}.report-work-heading h2,.report-work-card>h2{font-size:19px;line-height:1.5}.report-work-heading .actions{flex-wrap:wrap}.report-facts{grid-template-columns:100px minmax(0,1fr);gap:10px 18px;margin:12px 0 0;font-size:14px;line-height:1.7;display:grid}.report-facts dt{color:var(--muted)}.report-facts dd{overflow-wrap:anywhere;margin:0}.report-facts dd small{color:#71857d;margin-top:3px;font-size:12px;display:block}.report-facts dd strong{margin-left:5px;font-size:12px}.report-missing{color:#97632c;background:#fff4db;border-radius:4px;padding:1px 5px;font-size:12px}.report-partner-row{grid-template-columns:minmax(140px,1fr) 90px auto;align-items:end;gap:10px;display:grid}.report-partner-row .link-button{margin-bottom:10px}.report-line-editor .hint{margin-top:12px}.report-note{margin:18px 0!important}.report-submit-bar{z-index:8;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:#f4fbf7;border:1px solid #c6ddd1;border-radius:12px;margin-top:18px;position:sticky;bottom:0;box-shadow:0 -4px 18px #173c2612}.report-submit-bar small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.report-submit-bar .primary{min-height:46px}.report-list-heading h2{font-size:18px}.report-list-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.report-list-card h3{margin:10px 0;font-size:17px;line-height:1.6}.report-list-card p{color:#60766b;font-size:13px;line-height:1.7}.report-list-card>small{color:var(--muted);margin-top:10px;font-size:12px;display:block}.report-list-card .actions{flex-wrap:wrap;margin-top:16px}.report-list-card .card-top{margin-bottom:8px}.daily-report-panel>.hint{margin:12px 0 18px}@media (width<=720px){.report-work-card,.report-list-card{padding:15px}.report-facts{grid-template-columns:70px minmax(0,1fr);gap:9px 12px;font-size:14px}.report-day-toolbar .actions{flex-wrap:wrap;gap:6px}.report-day-toolbar input{width:142px;min-height:40px;font-size:15px}.report-overview{padding:13px}.report-overview .actions{flex-wrap:wrap;width:100%}.report-work-heading h2{font-size:18px}.report-work-heading .actions{width:100%}.report-work-heading .actions .button{min-height:38px}.report-submit-bar{padding:12px 10px calc(12px + env(safe-area-inset-bottom));gap:10px}.report-submit-bar>.actions{flex-wrap:wrap;gap:8px;width:100%}.report-submit-bar .primary{flex:1;min-height:48px}.report-submit-bar strong{font-size:13px}.report-list-filters{grid-template-columns:1fr 1fr;gap:8px}.report-list-filters label:last-child{grid-column:1/-1}.report-partner-row{grid-template-columns:minmax(90px,1fr) 70px auto;gap:7px}.report-list-card .actions .primary{flex:1}.report-tabs{display:flex}.report-tabs button{flex:1}}@media print{.report-tabs,.report-day-toolbar .actions,.report-overview .actions,.report-submit-bar,.report-work-heading .actions,.report-list-filters,.report-list-card .actions{display:none!important}.report-work-card,.report-list-card{break-inside:avoid}.report-facts{font-size:10px}.report-work-card h2{font-size:13px}}
