/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}}.access-code-card .company-form{grid-template-columns:1fr}.access-code-card input{max-width:520px}.portal-shell{background:#171b1a;place-items:center;min-height:100vh;padding:22px;display:grid}.portal-card{background:var(--panel);border-radius:20px;width:min(680px,100%);padding:30px;box-shadow:0 30px 90px #0008}.portal-brand{align-items:center;gap:14px;display:flex}.portal-brand h1{letter-spacing:.08em;margin:0;font-size:30px}.portal-lead{color:var(--muted);margin:20px 0;font-size:13px;line-height:1.7}.portal-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.portal-choice{border:1px solid var(--line);color:var(--ink);border-radius:14px;flex-direction:column;gap:6px;padding:19px;text-decoration:none;display:flex}.portal-choice:hover{border-color:var(--orange)}.portal-choice span,.portal-choice small{color:var(--muted);font-size:10px}.portal-choice strong{font-size:15px}.employee-choice{background:#fff5ec;border-color:#efc8ae}.guide-link{text-align:center;color:var(--orange);margin:20px 0 0;font-size:11px;font-weight:800;display:block}.security-copy{text-align:center;color:var(--muted);margin:14px 0 0;font-size:9px}.guide-shell{background:var(--paper);min-height:100vh}.guide-shell>header{color:#fff;background:#171b1a;align-items:center;height:76px;padding:0 24px;display:flex;position:relative}.guide-shell>header>a{color:#bbb;font-size:11px;text-decoration:none}.guide-shell .brand{padding:0;position:absolute;left:50%;transform:translate(-50%)}.guide-content{max-width:760px;margin:auto;padding:42px 20px 70px}.guide-content h1{margin:0;font-size:30px}.guide-lead{color:var(--muted);font-size:13px}.guide-grid{grid-template-columns:1fr 1fr;gap:12px;margin:25px 0;display:grid}.guide-grid article{background:var(--panel);border:1px solid var(--line);border-radius:13px;gap:13px;padding:17px;display:flex}.guide-grid em{background:var(--orange);color:#fff;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-style:normal;font-weight:800;display:grid}.guide-grid h2{margin:2px 0 7px;font-size:14px}.guide-grid p,.guide-rules li{color:var(--muted);margin:0;font-size:10px;line-height:1.7}.guide-rules{color:#fff;background:#202523;border-radius:14px;margin-bottom:18px;padding:20px}.guide-rules h2{margin-top:0;font-size:15px}.guide-rules li{color:#d0d6d3;margin:5px 0}.guide-start{text-align:center;text-decoration:none;display:block}@media (width<=600px){.portal-actions,.guide-grid{grid-template-columns:1fr}.portal-card{padding:22px}}.accountant-kpis{grid-template-columns:repeat(4,1fr)}.month-picker{flex-direction:column;gap:6px;font-size:10px;font-weight:800;display:flex}.month-picker input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px}.accountant-note{color:#fff;background:#202523;border-radius:12px;flex-direction:column;gap:6px;margin-bottom:14px;padding:16px 18px;display:flex}.accountant-note strong{font-size:13px}.accountant-note span{color:#cbd1ce;font-size:10px;line-height:1.6}.export-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;display:grid}.export-card{justify-content:space-between;align-items:center;gap:12px;padding:17px;display:flex}.export-card h2{margin:0 0 5px;font-size:14px}.export-card span{color:var(--muted);font-size:10px}.export-card a{white-space:nowrap;font-size:10px;text-decoration:none}@media (width<=900px){.export-grid,.accountant-kpis{grid-template-columns:1fr 1fr}}@media (width<=560px){.export-grid{grid-template-columns:1fr}}.spending-kpis{grid-template-columns:repeat(4,1fr)}.spending-kpis+section select,.billing-panel select{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px}.billing-panel a{color:var(--orange);font-size:10px}@media (width<=800px){.spending-kpis{grid-template-columns:1fr 1fr}}.billing-kpis{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px;display:grid}.billing-kpis article{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:15px;display:flex}.billing-kpis small{color:var(--muted);font-size:9px}.billing-kpis strong{font-size:19px}.danger-card{color:#a23a32;background:#fff1ee!important;border-color:#e7b6ae!important}.billing-panel{margin-bottom:14px}.billing-panel td button{color:var(--orange);background:0 0;border:0;font-size:10px}.wide-modal{width:min(680px,100%)}@media (width<=900px){.billing-kpis{grid-template-columns:repeat(2,1fr)}}@media print{.master-top,.page-title,.floating-sites,.modal-backdrop{display:none!important}.master-content{padding:0}.billing-kpis,.billing-panel:first-of-type{display:none}.panel{border:0}}.floating-sites{z-index:15;background:var(--orange);color:#fff;border-radius:999px;padding:12px 17px;font-size:12px;font-weight:800;text-decoration:none;position:fixed;bottom:16px;right:16px;box-shadow:0 8px 24px #0003}.site-tabs{gap:7px;margin-bottom:14px;display:flex;overflow:auto}.site-tabs button{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:20px;padding:8px 13px;font-size:11px}.site-tabs button.active{background:var(--ink);color:#fff}.next-work-board{color:#fff;background:#202523;border-radius:14px;margin-bottom:14px;overflow:hidden}.next-work-board .panel-head{border-color:#3b413f}.next-work-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;display:grid}.next-work-grid article{background:#2b312f;border:1px solid #3b413f;border-radius:10px;flex-direction:column;gap:5px;padding:14px;display:flex}.next-work-grid span,.next-work-grid small{color:#aeb5b1;font-size:9px}.next-work-grid strong{font-size:14px}.next-work-grid p{color:#ddd;margin:2px 0;font-size:10px}.record-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.record-card{background:var(--panel);border:1px solid var(--line);border-radius:13px;overflow:hidden}.record-card img{object-fit:cover;width:100%;height:160px}.record-body{padding:15px}.record-body header,.record-body footer{justify-content:space-between;gap:8px;display:flex}.record-body header span,.record-body header em,.record-body footer span,.record-body footer small{font-size:9px}.record-body header em{color:var(--orange);background:#fff0e6;border-radius:12px;padding:4px 7px;font-style:normal}.record-body h2{margin:10px 0;font-size:15px}.record-body p{color:var(--muted);font-size:10px;line-height:1.6}.record-meta{margin:3px 0}.record-body footer{border-top:1px solid var(--line);color:var(--muted);margin-top:12px;padding-top:10px}@media (width<=900px){.record-grid,.next-work-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.record-grid,.next-work-grid{grid-template-columns:1fr}}.action-link{align-items:center;font-size:12px;text-decoration:none;display:inline-flex}.payroll-controls{align-items:end;gap:18px;margin-bottom:14px;padding:16px;display:flex}.payroll-controls label{flex-direction:column;gap:6px;font-size:10px;font-weight:700;display:flex}.payroll-controls input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px}.payroll-controls>div{flex-direction:column;flex:1;gap:3px;display:flex}.payroll-controls small,.payroll-controls span{color:var(--muted);font-size:9px}.payroll-controls strong{font-size:12px}.paid-check{align-items:center;gap:5px;margin-top:5px;font-size:9px;display:flex}.paid-check input{accent-color:var(--green)}@media (width<=700px){.payroll-controls{flex-direction:column;align-items:stretch}}.shortage-row{background:#fff5f2}.shortage{margin-top:3px;font-size:9px;display:block;color:#b4473c!important}.receipt-link{color:var(--orange);margin-top:5px;font-size:9px;display:block}.expense-list select{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px}.title-actions{flex-wrap:wrap}.master-login{background:#171b1a;place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--panel);border-radius:18px;flex-direction:column;gap:14px;width:min(420px,100%);padding:30px;display:flex;box-shadow:0 28px 80px #0007}.login-logo{background:var(--orange);color:#fff;border-radius:12px;place-items:center;width:48px;height:48px;font:800 24px Arial;display:grid}.login-card h1{margin:0;font-size:23px}.login-card>p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px;line-height:1.7}.login-card label{flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}.login-card input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:12px}.login-card>a{text-align:center;color:var(--muted);font-size:11px;text-decoration:none}.payroll-panel{margin-bottom:14px}.payroll-panel .panel-head>span{color:var(--muted);font-size:10px}.payroll-table{min-width:960px}.payroll-table td:first-child{align-items:center;display:flex}.payroll-person{flex-direction:column;gap:2px;display:flex}.payroll-person small{color:var(--muted);font-size:8px;font-weight:400}.transfer-total{color:var(--orange);font-size:13px}.time-card{border:1px solid var(--line);background:#f7f5ef;border-radius:11px;flex-direction:column;gap:13px;padding:15px;display:flex}.time-card h2{margin:0;font-size:14px}.time-card label{flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}.time-card input,.time-card select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px}.labor-result{flex-wrap:wrap;gap:8px;display:flex}.labor-result span{color:#bac2be;background:#202523;border-radius:8px;flex-direction:column;gap:3px;padding:9px 10px;font-size:9px;display:flex}.labor-result strong{color:#fff;font-size:14px}.title-actions{gap:8px;display:flex}.title-actions>button:not(.primary){border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:10px 14px;font-weight:700}.finance-section{margin:8px 0 18px}.section-title{justify-content:space-between;align-items:end;margin:24px 2px 12px;display:flex}.section-title h2{margin:0;font-size:18px}.section-title>span{color:var(--muted);font-size:10px}.profit-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.profit-card{background:var(--ink);color:#fff;border:1px solid #303633;border-radius:14px;padding:17px}.profit-card-head{justify-content:space-between;display:flex}.profit-card-head>div{flex-direction:column;gap:3px;display:flex}.profit-card-head strong{font-size:15px}.profit-card-head span{color:#aeb5b1;font-size:9px}.profit-card-head em{border-radius:20px;height:max-content;padding:5px 8px;font-size:11px;font-style:normal}.positive{color:#82ddbd;background:#174a3c}.negative{color:#ffaaa1;background:#5b2926}.big-profit{flex-direction:column;margin:22px 0 15px;display:flex}.big-profit small{color:#9da5a1;font-size:9px}.big-profit strong{margin-top:4px;font:700 26px Arial}.profit-card dl{border-top:1px solid #3b413f;margin:0;padding-top:10px}.profit-card dl div{justify-content:space-between;padding:4px 0;font-size:10px;display:flex}.profit-card dt{color:#aeb5b1}.profit-card dd{margin:0}.profit-card footer{color:#8c9691;margin-top:12px;font-size:9px}.expense-list{margin-bottom:14px}.expense-list .panel-head>span{color:var(--muted);font-size:10px}.expense-cards{grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;display:grid}.expense-cards article{border:1px solid var(--line);border-radius:10px;grid-template-columns:88px 1fr;min-height:100px;display:grid;overflow:hidden}.expense-cards img,.no-photo{object-fit:cover;background:#ebe8e0;width:88px;height:100%}.no-photo{color:var(--muted);place-items:center;font-size:9px;display:grid}.expense-cards article>div:last-child{flex-direction:column;padding:10px;display:flex}.expense-cards span,.expense-cards small{color:var(--muted);font-size:9px}.expense-cards strong{margin:4px 0;font-size:16px}.expense-cards p{margin:0 0 5px;font-size:10px;line-height:1.4}.empty-state{text-align:center;color:var(--muted);grid-column:1/-1;padding:24px;font-size:11px}.delete-btn{color:#b4473c!important}.expense-toggle{border:1px solid var(--line);background:#f7f5ef;border-radius:10px;align-items:center;padding:13px;flex-direction:row!important;display:flex!important}.expense-toggle input{width:20px;height:20px}.expense-toggle span{flex-direction:column;display:flex}.expense-fields{background:#fff8f0;border:1px solid #efd3bd;border-radius:11px;flex-direction:column;gap:14px;padding:15px;display:flex}.expense-fields h2{margin:0;font-size:14px}.photo-upload input{opacity:0;pointer-events:none;position:absolute}.photo-upload span{border:1px dashed var(--orange);color:var(--orange);text-align:center;background:#fff;border-radius:9px;padding:15px}.error-note{color:#a23a32;background:#fff0ef;border:1px solid #e6b2ad;border-radius:9px;margin-bottom:14px;padding:11px 14px;font-size:12px}@media (width<=900px){.profit-grid,.expense-cards{grid-template-columns:1fr 1fr}}@media (width<=600px){.profit-grid,.expense-cards{grid-template-columns:1fr}.title-actions{flex-direction:column}.section-title>span{display:none}.expense-cards article{grid-template-columns:100px 1fr}.expense-cards img,.no-photo{width:100px}}.nav-item{text-decoration:none}.master-shell,.employee-shell{background:var(--paper);min-height:100vh}.master-top,.employee-head{color:#fff;background:#171b1a;justify-content:space-between;align-items:center;height:78px;padding:0 34px;display:flex}.master-top .brand,.employee-head .brand{padding:0}.master-top nav{gap:8px;display:flex}.master-top a,.employee-head>a{color:#aeb5b1;border-radius:8px;padding:10px 13px;font-size:12px;text-decoration:none}.master-top a:hover,.master-top a.current{color:#fff;background:#2a302e}.master-content{max-width:1180px;margin:auto;padding:35px 28px 60px}.page-title{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.page-title h1,.employee-content h1{margin:0 0 7px;font-size:29px}.page-title span{color:var(--muted);font-size:12px}.success-note{color:var(--green);background:#eaf5ef;border:1px solid #b9ddca;border-radius:9px;margin:0 0 14px;padding:11px 14px;font-size:12px}.master-card{margin-bottom:14px}.master-card .panel-head>span,.member-card .panel-head>span{color:var(--muted);font-size:10px}.company-form{grid-template-columns:2fr 1.5fr .7fr auto;align-items:end;gap:12px;padding:20px;display:grid}.company-form label,.employee-form label{flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}.company-form input,.company-form select,.employee-form input,.employee-form select,.employee-form textarea{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px}.company-form button{height:41px}.inactive{opacity:.45}.role-badge,.status-on,.status-off{border-radius:20px;padding:5px 9px;font-size:9px;font-weight:800;display:inline-block}.role-役員{color:#fff;background:#262b29}.role-管理者{color:var(--orange);background:#fff0e6}.role-社員,.status-on{color:var(--green);background:#e8f2ed}.status-off{color:#777;background:#eee}.row-actions{text-align:right;white-space:nowrap}.row-actions button{color:var(--orange);background:0 0;border:0;margin-left:9px;font-size:10px}.form-help{color:var(--muted);margin:0;font-size:10px}.employee-head{height:70px;padding:0 18px}.employee-content{max-width:600px;margin:auto;padding:40px 18px 70px}.employee-lead{color:var(--muted);margin:0 0 24px;font-size:13px}.employee-form{background:var(--panel);border:1px solid var(--line);border-radius:15px;flex-direction:column;gap:17px;padding:22px;display:flex}.employee-form textarea{resize:vertical;min-height:105px}.employee-row{grid-template-columns:1fr 1fr;gap:13px;display:grid}.employee-form small{color:var(--muted);font-weight:400}.employee-submit{padding:14px;font-size:15px}.employee-info{border-left:4px solid var(--orange);background:#fff4e9;border-radius:0 10px 10px 0;margin-top:14px;padding:14px 16px}.employee-info strong{font-size:12px}.employee-info p{color:#664f42;margin:6px 0 0;font-size:11px;line-height:1.6}@media (width<=760px){.master-top{align-items:flex-start;height:auto;padding:14px}.master-top nav{flex-direction:column}.master-content{padding:24px 12px}.page-title{align-items:flex-start;gap:16px}.page-title h1{font-size:23px}.company-form{grid-template-columns:1fr}.member-card table{min-width:760px}.master-top .brand small{display:none}}@media (width<=480px){.employee-row{grid-template-columns:1fr}.employee-content{padding-top:28px}}.contract-filter-tabs{background:#ece9e1;border-radius:13px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0 12px;padding:5px;display:grid}.contract-filter-tabs button{min-height:42px;color:var(--muted);background:0 0;border:0;border-radius:10px;font-weight:900}.contract-filter-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 3px 10px #00000012}.foreman-site-card-head>span:first-child{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.contract-badge{border-radius:999px;align-items:center;min-height:23px;padding:3px 8px;font-size:11px;font-style:normal;font-weight:900;display:inline-flex}.contract-badge.contract{color:#bf4d1c;background:#fff0e8;border:1px solid #f0ba9f}.contract-badge.regular{color:#17634e;background:#e7f3ef;border:1px solid #9ecbbb}.regular-project-summary{gap:12px;display:grid}.regular-project-hero,.personnel-history-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.regular-sales-split{background:#edf6f2;border-radius:13px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;display:grid}.regular-sales-split div{gap:4px;min-width:0;display:grid}.regular-sales-split span{color:var(--muted);font-size:11px}.regular-sales-split strong{overflow-wrap:anywhere;font-size:15px}.regular-member-rates article{grid-template-columns:minmax(0,1fr) auto auto}.personnel-member-chips{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.personnel-member-chips span{background:#f0eee8;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.personnel-history-list{gap:9px;display:grid}.personnel-history-list article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px}.personnel-history-list article.has-issue{background:#fff8f7;border-color:#df8b7f}.personnel-history-list header{justify-content:space-between;gap:10px;margin-bottom:9px;display:flex}.personnel-history-list header span{color:var(--muted);font-size:11px}.personnel-history-list dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 10px;display:grid}.personnel-history-list dl div{gap:2px;min-width:0;display:grid}.personnel-history-list dt{color:var(--muted);font-size:10px}.personnel-history-list dd{overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:800}.personnel-history-list button{width:100%;min-height:42px}.attendance-edit-modal{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overflow-y:auto}.checkbox-line{align-items:center;gap:9px;flex-direction:row!important;display:flex!important}.checkbox-line input{flex:none;height:22px;width:22px!important}.attendance-kpis-five{grid-template-columns:repeat(5,minmax(0,1fr))}.attendance-kpis article.attention{background:#fff8f7;border-color:#df8b7f}.attendance-member-summary{padding:0;overflow:hidden}.attendance-member-summary>summary{cursor:pointer;padding:16px;font-weight:900}.attendance-member-grid{gap:8px;padding:0 16px 14px;display:grid}.attendance-member-grid article{background:#f7f5ef;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:11px;display:grid}.attendance-member-grid article div{min-width:0;display:grid}.attendance-member-grid small,.attendance-member-grid span{color:var(--muted);font-size:11px}.attendance-source-ok,.attendance-source-error{margin:0;padding:12px 16px;font-size:11px;font-weight:800}.attendance-source-ok{color:#17634e;background:#e8f2ed}.attendance-source-error{color:#a23a32;background:#fff0ef}@media (width<=700px){.regular-project-hero,.personnel-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.regular-sales-split{grid-template-columns:1fr}.foreman-site-list dl,.personnel-history-list dl,.attendance-kpis-five{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-kpis-five article:first-child{grid-column:1/-1}.attendance-day .table-wrap{overflow:visible}.attendance-day table,.attendance-day tbody{width:100%;min-width:0;display:block}.attendance-day thead{display:none}.attendance-day tr{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1fr 1fr;gap:0;margin:9px 10px;display:grid;overflow:hidden}.attendance-day td{overflow-wrap:anywhere;border:0;border-bottom:1px solid #ece9e1;gap:3px;padding:9px 10px;display:grid}.attendance-day td:before{content:attr(data-label);color:var(--muted);font-size:9px;font-weight:800}.attendance-day td:first-child,.attendance-day td:nth-child(2),.attendance-day td:nth-child(3),.attendance-day td:nth-child(9),.attendance-day td:nth-child(10){grid-column:1/-1}.attendance-day .row-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.attendance-day .row-actions:before{grid-column:1/-1}.attendance-day .row-actions button{min-height:42px}.attendance-member-grid article{grid-template-columns:1fr 1fr}.attendance-member-grid article div{grid-column:1/-1}}.duplicate-project-choice{background:#fff7f1;border:2px solid #e99a62;border-radius:18px;gap:14px;margin-top:16px;padding:16px;display:grid}.duplicate-project-choice>strong{color:#9a3f12;font-size:1.05rem}.duplicate-project-choice>p{margin:0;line-height:1.6}.duplicate-project-list{gap:10px;display:grid}.duplicate-project-list article{background:#fff;border:1px solid #dfd8cf;border-radius:14px;gap:10px;padding:14px;display:grid}.duplicate-project-list h3{margin:-7px 0 0;font-size:1rem}.duplicate-project-name-label{color:var(--muted);font-size:.8rem}.duplicate-project-list dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;display:grid}.duplicate-project-list dl div{min-width:0}.duplicate-project-list dt{color:var(--muted);font-size:.8rem}.duplicate-project-list dd{overflow-wrap:anywhere;margin:2px 0 0}@media (width<=520px){.duplicate-project-list dl{grid-template-columns:1fr}.duplicate-project-list button,.duplicate-project-choice>button{width:100%;min-height:48px}}:root{--ink:#181c1b;--muted:#707772;--paper:#f4f2ec;--panel:#fffdfa;--line:#dedbd2;--orange:#e9672f;--green:#24745a}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#171b1a;flex-direction:column;height:100vh;padding:28px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 8px 32px;display:flex}.brand-mark,.mini-mark{background:var(--orange);color:#fff;place-items:center;font-weight:800;display:grid}.brand-mark{border-radius:11px;width:42px;height:42px;font-size:20px}.brand div{flex-direction:column;display:flex}.brand strong{letter-spacing:.08em;font-size:18px}.brand small{color:#9da5a1;letter-spacing:.18em;margin-top:2px;font-size:11px}.sidebar nav{flex-direction:column;gap:5px;display:flex}.nav-item{color:#aeb5b1;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;padding:12px 13px;font-size:14px;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#2a302e}.nav-item.active{box-shadow:inset 3px 0 var(--orange)}.nav-dot{border:1px solid;border-radius:50%;width:7px;height:7px}.active .nav-dot{background:var(--orange);border-color:var(--orange)}.sidebar-bottom{margin-top:auto}.role-card{background:#202624;border:1px solid #363c3a;border-radius:12px;flex-direction:column;gap:4px;padding:14px;display:flex}.role-card small,.sidebar-bottom>p{color:#848e89;letter-spacing:.1em;font-size:10px}.role-card strong{font-size:15px}.role-card span{color:#aeb5b1;font-size:11px}.sidebar-bottom>p{text-align:center;margin:16px 0 0}.workspace{min-width:0;padding:31px 38px 50px}.topbar{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:.18em;color:var(--orange);margin:0 0 5px;font-size:10px;font-weight:800}.topbar h1{letter-spacing:-.03em;margin:0 0 5px;font-size:25px}.topbar span{color:var(--muted);font-size:12px}.top-actions{align-items:center;gap:10px;display:flex}.role-select{color:var(--muted);border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:7px 9px;font-size:11px}.role-select select{background:0 0;border:0;margin-left:5px;font-weight:700}.primary{background:var(--orange);color:#fff;border:0;border-radius:9px;padding:11px 16px;font-weight:700;box-shadow:0 5px 13px #e9672f28}.notice{background:#fff4e9;border:1px solid #f2d1b9;border-radius:11px;align-items:center;gap:10px;margin-bottom:17px;padding:11px 14px;display:flex}.notice>span{background:var(--orange);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:800;display:grid}.notice p{color:#664f42;flex:1;margin:0;font-size:12px}.notice button,.panel-head button{color:var(--orange);background:0 0;border:0;font-size:11px;font-weight:700}.kpi-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:13px;display:grid}.kpi-grid article{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;min-height:112px;padding:16px 17px;display:flex}.kpi-grid article>small{color:var(--muted);font-size:11px;font-weight:700}.kpi-grid article>strong{letter-spacing:-.03em;margin:10px 0 5px;font-family:Arial,sans-serif;font-size:24px}.kpi-grid em{margin-left:4px;font-size:11px;font-style:normal}.kpi-grid article>span{color:var(--muted);font-size:10px}.kpi-grid .profit{background:var(--ink);color:#fff;border-color:var(--ink)}.good{color:var(--green)!important}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:13px;margin-bottom:13px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 19px;display:flex}.panel-head h2,.ai-head h2{margin:0;font-size:16px}.site-list{padding:0 18px}.site-row{border-bottom:1px solid #ebe8e0;align-items:center;gap:13px;padding:15px 0;display:flex}.site-row:last-child{border:0}.site-icon{color:#515854;background:#ece9df;border-radius:8px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.site-main{flex:1;min-width:0}.site-main>div:first-child{align-items:center;gap:8px;display:flex}.site-main strong{font-size:13px}.site-main span,.site-main small{color:var(--muted);font-size:9px}.progress{background:#ebe8e0;border-radius:3px;height:4px;margin:9px 0 4px;overflow:hidden}.progress i{background:var(--orange);height:100%;display:block}.site-money{text-align:right;flex-direction:column;display:flex}.site-money small{color:var(--muted);font-size:9px}.site-money strong{margin:3px 0;font-size:14px}.site-money span{color:var(--green);font-size:9px}.ai-panel{color:#fff;background:#202523;border-color:#202523;flex-direction:column;padding:18px;display:flex}.ai-head{align-items:center;gap:10px;display:flex}.ai-head>span{width:36px;height:36px;color:var(--orange);border:1px solid #4b5350;border-radius:10px;place-items:center;font-weight:800;display:grid}.ai-head div{flex:1}.ai-head i{color:#74c5a7;font-size:9px;font-style:normal}.ai-answer{background:#2b312f;border:1px solid #39403e;border-radius:11px;gap:9px;min-height:103px;margin:18px 0 13px;padding:13px;display:flex}.mini-mark{border-radius:6px;flex:none;width:23px;height:23px;font-size:10px}.ai-answer p{color:#d7ddda;margin:1px 0;font-size:11px;line-height:1.8}.quick-asks{flex-wrap:wrap;gap:5px;display:flex}.quick-asks button{color:#b8c0bc;background:0 0;border:1px solid #414946;border-radius:20px;padding:6px 8px;font-size:9px}.ask-form{gap:7px;margin-top:auto;padding-top:12px;display:flex}.ask-form input{color:#fff;background:#171b1a;border:1px solid #414946;border-radius:8px;flex:1;min-width:0;padding:10px;font-size:11px}.ask-form button{background:var(--orange);color:#fff;border:0;border-radius:8px;padding:0 13px;font-size:11px;font-weight:700}.activity-panel{overflow:hidden}.activity-panel>.panel-head>span{color:var(--muted);font-size:10px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;color:var(--muted);letter-spacing:.06em;background:#f7f5ef;font-size:9px}th,td{border-bottom:1px solid #ece9e1;padding:10px 18px}tbody tr:last-child td{border:0}.avatar{color:#555d59;background:#ece9df;border-radius:6px;place-items:center;width:23px;height:23px;margin-right:8px;font-weight:800;display:inline-grid}.modal-backdrop{z-index:20;background:#1118;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border-radius:15px;width:min(520px,100%);box-shadow:0 24px 70px #0004}.modal .panel-head button{color:var(--muted);font-size:22px}.entry-form{grid-template-columns:1fr 1fr;gap:14px;padding:20px;display:grid}.entry-form label{flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.entry-form input,.entry-form select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px}.full{grid-column:1/-1}@media (width<=1000px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.ai-panel{min-height:330px}}@media (width<=720px){.app-shell{display:block}.sidebar{height:auto;padding:14px 16px;position:relative}.brand{padding:0}.sidebar nav{flex-direction:row;margin-top:14px;overflow:auto}.nav-item{white-space:nowrap}.sidebar-bottom{display:none}.workspace{padding:20px 14px}.topbar{display:block}.top-actions{justify-content:space-between;margin-top:14px}.topbar h1{font-size:21px}.kpi-grid{grid-template-columns:1fr 1fr}.notice button,.site-money{display:none}.entry-form{grid-template-columns:1fr}.full{grid-column:auto}th,td{padding:10px 12px}}@media (width<=430px){.kpi-grid{grid-template-columns:1fr}.role-select{display:none}.workspace{padding-inline:10px}}button,.action-link,a.primary{-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .1s,filter .1s,box-shadow .1s,background-color .15s}button:active,.action-link:active,a.primary:active{filter:brightness(.88);transform:translateY(2px)scale(.98);box-shadow:inset 0 2px 5px #0003!important}button:focus-visible,.action-link:focus-visible,a.primary:focus-visible{outline-offset:2px;outline:3px solid #e9672f55}button:disabled{cursor:wait;opacity:.62;filter:saturate(.65)}.code-status{border-radius:999px;font-weight:800;padding:6px 10px!important;font-size:10px!important}.code-status.configured{background:#e8f2ed;color:var(--green)!important}.code-status.not-configured{background:#fff0ef;color:#a23a32!important}.code-draft{color:#8a4a24;background:#fff4e9;border:1px solid #f2d1b9;border-radius:9px;padding:10px 12px;font-size:11px}.code-result{margin:0}.registration-shell{background:#171b1a;min-height:100vh;padding:28px 14px}.registration-card{background:var(--panel);border-radius:18px;flex-direction:column;gap:18px;width:min(820px,100%);margin:auto;padding:28px;display:flex;box-shadow:0 28px 80px #0007}.registration-head{align-items:flex-start;gap:15px;display:flex}.registration-head h1{margin:0 0 6px;font-size:24px}.registration-head p:not(.eyebrow){color:var(--muted);margin:0;font-size:11px;line-height:1.6}.registration-card>section{border:1px solid var(--line);border-radius:12px;padding:17px}.registration-card h2{margin:0 0 14px;font-size:14px}.registration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.registration-grid label{flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.registration-grid input,.registration-grid select,.registration-grid textarea{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;padding:11px}.registration-grid textarea{resize:vertical;min-height:80px}.registration-grid .wide{grid-column:1/-1}.registration-actions{justify-content:flex-end;gap:10px;display:flex}.registration-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:12px 16px;font-weight:700}.registration-actions .primary{background:var(--orange);border:0}.privacy-note{color:#8a4a24;background:#fff4e9;border-radius:8px;margin:12px 0 0;padding:10px;font-size:10px}.registration-complete{text-align:left}@media (width<=600px){.registration-card{padding:18px}.registration-head{flex-direction:column}.registration-grid{grid-template-columns:1fr}.registration-grid .wide{grid-column:auto}.registration-actions{flex-direction:column-reverse}.registration-actions button{width:100%}}.status-pending{color:#a55428;background:#fff4e9;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:800;display:inline-block}.member-kana{color:var(--muted);margin:3px 0 0 31px;font-size:8px;display:block}.roster-modal{max-height:90vh;overflow:auto}.roster-profile{padding:20px}.roster-profile dl{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.roster-profile dl>div{border:1px solid var(--line);border-radius:9px;padding:10px}.roster-profile dl>.wide{grid-column:1/-1}.roster-profile dt{color:var(--muted);margin-bottom:5px;font-size:9px}.roster-profile dd{overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:700}.approval-box{background:#fff4e9;border:1px solid #f2d1b9;border-radius:10px;flex-direction:column;gap:10px;margin-top:16px;padding:14px;display:flex}.approval-box p,.approval-box small{color:#664f42;margin:0;font-size:10px;line-height:1.6}.approval-box button{align-self:flex-start}@media (width<=600px){.roster-profile dl{grid-template-columns:1fr}.roster-profile dl>.wide{grid-column:auto}.approval-box button{width:100%}}.qualification-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.qualification-title h2{margin-bottom:3px}.qualification-title p{color:var(--muted);margin:0;font-size:10px}.qualification-title button{border:1px solid var(--orange);color:var(--orange);background:#fff;border-radius:8px;padding:8px 11px;font-size:10px;font-weight:800}.qualification-list{flex-direction:column;gap:12px;margin-top:14px;display:flex}.qualification-entry{border:1px solid var(--line);background:#f7f5ef;border-radius:10px;padding:14px}.qualification-entry>strong{margin-bottom:11px;font-size:11px;display:block}.certificate-upload input{opacity:0;pointer-events:none;position:absolute}.certificate-upload span{border:1px dashed var(--orange);color:var(--orange);text-align:center;background:#fff;border-radius:8px;padding:12px;font-size:10px}.roster-profile h3{margin:18px 0 9px;font-size:12px}.roster-profile h3:first-child{margin-top:0}.roster-qualifications{flex-direction:column;gap:8px;display:flex}.roster-qualifications article{border:1px solid var(--line);border-radius:9px;justify-content:space-between;gap:12px;padding:11px;display:flex}.roster-qualifications article>div:first-child{flex-direction:column;gap:3px;display:flex}.roster-qualifications strong{font-size:12px}.roster-qualifications span,.roster-qualifications small{color:var(--muted);font-size:9px}.certificate-links{align-items:center;gap:6px;display:flex}.certificate-links a{color:var(--orange);background:#fff4e9;border-radius:7px;padding:7px 9px;font-size:9px;font-weight:800;text-decoration:none}@media (width<=600px){.qualification-title,.roster-qualifications article{flex-direction:column;align-items:stretch}.certificate-links a{text-align:center;flex:1}}.company-settings-card>.form-help{padding:16px 20px 0}.company-details-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.company-details-form h3{border-bottom:1px solid var(--line);margin:10px 0 0;padding:12px 0 7px;font-size:13px}.company-details-form h3:first-child{margin-top:0}.company-asset-upload{border:1px dashed var(--line);background:#fafaf8;border-radius:10px;padding:12px}.company-asset-upload span{color:var(--green);font-size:10px}@media (width<=760px){.company-details-form{grid-template-columns:1fr}.company-details-form .full{grid-column:auto}}.billing-company-profile{justify-content:space-between;gap:24px;margin-bottom:14px;padding:18px 20px;display:flex}.billing-company-profile>div{flex-direction:column;gap:4px;display:flex}.billing-company-profile strong{font-size:16px}.billing-company-profile span{color:var(--muted);font-size:10px}@media (width<=760px){.billing-company-profile{flex-direction:column;gap:12px}}.refresh-button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;align-items:center;gap:6px;padding:10px 13px;font-weight:800;display:inline-flex}.refresh-button>span{color:inherit!important;font-size:10px!important}.refresh-button.spinning{color:var(--orange)}.refresh-button.spinning:first-letter{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.employee-head-actions{align-items:center;gap:8px;display:flex}.employee-head-actions .refresh-button{color:#fff;background:#2a302e;border-color:#414846}.employee-ai{color:#fff;background:#202523;border-radius:14px;margin-bottom:16px;padding:17px}.employee-ai .ai-answer{white-space:pre-line;min-height:auto}.employee-ai .ask-form button:disabled{opacity:.6}.price-tools{grid-template-columns:1.45fr .75fr;gap:14px;margin-bottom:14px;display:grid}.price-import>div:last-child{flex-direction:column;gap:12px;padding:20px;display:flex}.price-import p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.price-import input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px}.price-search{border:1px solid var(--line);border-radius:8px;min-width:240px;padding:9px 11px}.registration-error-top{z-index:5;position:sticky;top:8px;box-shadow:0 8px 24px #0002}@media (width<=760px){.price-tools{grid-template-columns:1fr}.price-search{width:100%;min-width:0}.employee-head-actions .refresh-button span{display:none}}.employee-head{z-index:20;position:sticky;top:0}.project-list-button{background:var(--orange);border-radius:10px;justify-content:center;align-items:center;padding:10px 14px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 5px 14px #f26a2e55;color:#fff!important}.employee-project-list{scroll-margin-top:86px}.project-list-help{color:var(--muted);margin:0;padding:0 18px 14px;font-size:11px}.employee-project-cards{gap:10px;padding:0 14px 16px;display:grid}.employee-project-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px}.employee-project-card.assigned{border:2px solid var(--orange);background:#fffaf6}.employee-project-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px;display:flex}.employee-project-card-head>div{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.employee-project-card-head strong{font-size:16px}.assigned-badge,.project-status{border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900}.assigned-badge{background:var(--orange);color:#fff}.project-status{color:#666;background:#eee}.project-status.active{color:var(--green);background:#e8f2ed}.employee-project-card dl{gap:8px;margin:0 0 13px;display:grid}.employee-project-card dl div{grid-template-columns:68px 1fr;gap:8px;display:grid}.employee-project-card dt{color:var(--muted);font-size:10px;font-weight:800}.employee-project-card dd{margin:0;font-size:12px;font-weight:700}.employee-project-card>button{border:1px solid var(--line);background:#f7f5f0;border-radius:9px;width:100%;padding:10px;font-weight:800}@media (width<=480px){.employee-head{padding:0 10px}.employee-head .brand-mark{width:34px;height:34px}.employee-head .brand strong{font-size:15px}.employee-head-actions{gap:5px}.project-list-button{padding:9px 11px}.employee-head-actions button{padding:9px}.employee-head-actions>button:last-child{font-size:0}.employee-head-actions>button:last-child:after{content:"退出";font-size:10px}}.modal-backdrop{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-items:start;overflow-y:auto}.modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 40px);overflow-y:auto}.modal>.panel-head{z-index:2;background:var(--panel);position:sticky;top:0}.account-registration-card{max-width:560px}.foreman-requests{border-color:#efc8ae;margin-bottom:14px}.foreman-requests>.panel-head>span{color:var(--orange);font-size:10px;font-weight:800}.approval-list{gap:9px;padding:12px;display:grid}.approval-list article{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.approval-list article>div{flex-direction:column;gap:4px;display:flex}.approval-list strong{font-size:13px}.approval-list small{color:var(--muted);font-size:9px}.approval-list button{border:1px solid var(--orange);color:var(--orange);background:#fff;border-radius:8px;padding:9px 12px;font-weight:800}.approval-list button.primary{color:#fff;background:var(--orange)}.roster-status{color:#a55428;background:#fff4e9;border:0;border-radius:20px;padding:6px 9px;font-size:9px;font-weight:800}.roster-status.complete{color:var(--green);background:#e8f2ed}@media (width<=600px){.modal-backdrop{padding:8px}.modal{border-radius:12px;width:100%;max-height:calc(100dvh - 16px)}.entry-form{padding-bottom:max(24px, env(safe-area-inset-bottom))}.approval-list article{flex-direction:column;align-items:stretch}.approval-list button{width:100%}}.attendance-controls{flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:14px;padding:16px;display:flex}.attendance-controls label{flex-direction:column;gap:6px;font-size:10px;font-weight:800;display:flex}.attendance-controls input,.attendance-controls select{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:180px;padding:10px}.attendance-close{background:#e8f2ed;border-radius:10px;flex-direction:column;gap:3px;min-width:230px;margin-left:auto;padding:10px 13px;display:flex}.attendance-close.closed{background:#fff4e9}.attendance-close small,.attendance-close span{color:var(--muted);font-size:9px}.attendance-close strong{font-size:13px}.attendance-kpis{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.attendance-kpis article{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:7px;padding:15px;display:flex}.attendance-kpis small{color:var(--muted);font-size:9px}.attendance-kpis strong{font-size:19px}.attendance-board{margin-bottom:18px}.attendance-board>.panel-head>span{color:var(--muted);font-size:10px}.attendance-days{flex-direction:column;display:flex}.attendance-day{border-top:1px solid var(--line)}.attendance-day:first-child{border-top:0}.attendance-day>header{background:#f7f5ef;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.attendance-day>header strong{font-size:12px}.attendance-day>header span{color:var(--orange);font-size:10px;font-weight:800}.attendance-day table{min-width:900px}.attendance-empty{text-align:center;color:var(--muted);padding:30px;font-size:11px}@media (width<=700px){.attendance-controls{flex-direction:column;align-items:stretch}.attendance-controls input,.attendance-controls select{width:100%;min-width:0}.attendance-close{min-width:0;margin-left:0}.attendance-kpis{grid-template-columns:1fr 1fr}}.attendance-quality{margin-top:16px;padding:18px}.attendance-quality-head,.attendance-quality-meta{justify-content:space-between;align-items:center;gap:16px;display:flex}.attendance-quality-head h2{margin:2px 0 0}.attendance-quality-head h2 strong{font-size:1.45em}.attendance-quality-bar{background:#7f7f7f2e;border-radius:999px;height:10px;margin:14px 0 10px;overflow:hidden}.attendance-quality-bar span{border-radius:inherit;background:currentColor;height:100%;transition:width .25s;display:block}.attendance-quality-meta{opacity:.86;font-size:13px}.attendance-row-warning td{background:#ff99000e}.attendance-issue,.attendance-ok{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.attendance-issue{background:#ff990024;border:1px solid #ff990059}.attendance-ok{background:#3cb4641f;border:1px solid #3cb46447}.attendance-edit-issues{background:#ff99001c;border:1px solid #ff990047;border-radius:12px;flex-direction:column;gap:4px;margin:0 0 14px;padding:12px 14px;font-size:13px;display:flex}.attendance-preview{background:#7f7f7f14;border-radius:12px;flex-wrap:wrap;gap:8px 14px;padding:12px 14px;display:flex}.attendance-preview span{opacity:.7;width:100%;font-size:12px}.attendance-preview strong{font-size:13px}@media (width<=700px){.attendance-quality-head,.attendance-quality-meta{flex-direction:column;align-items:flex-start}.attendance-quality-head button{width:100%}.attendance-quality-meta{gap:4px}}.document-print-overlay{z-index:200;background:#eef1f4;padding:24px;position:fixed;inset:0;overflow:auto}.print-close{z-index:210;border-radius:10px;padding:10px 14px;position:fixed;top:16px;right:16px}.business-document{color:#111;background:#fff;width:min(920px,100%);min-height:1120px;margin:0 auto;padding:52px 58px;position:relative;box-shadow:0 14px 44px #00000024}.document-head{border-bottom:2px solid #111;justify-content:space-between;gap:32px;padding-bottom:24px;display:flex}.document-title p{letter-spacing:.22em;margin:0 0 30px;font-size:28px;font-weight:800}.document-title h1{margin:0;font-size:22px}.document-company{text-align:right;flex-direction:column;align-items:flex-end;gap:5px;max-width:360px;display:flex}.document-company strong{font-size:20px}.document-company span{font-size:12px}.document-logo{object-fit:contain;max-width:170px;max-height:64px;margin-bottom:8px}.document-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:24px 0;font-size:13px;display:grid}.document-greeting{margin:28px 0 18px}.document-total{border-bottom:3px double #111;justify-content:space-between;align-items:end;margin-bottom:28px;padding:12px 4px;display:flex}.document-total small{font-size:14px}.document-total strong{font-size:30px}.document-items{border-collapse:collapse;width:100%}.document-items th,.document-items td{border:1px solid #bbb;padding:9px 10px}.document-items th{background:#f4f4f4}.document-items th:nth-child(n+2),.document-items td:nth-child(n+2){text-align:right}.document-items td:first-child{text-align:left}.document-items tfoot th{font-weight:800}.document-notes,.document-payment{border:1px solid #ccc;margin-top:30px;padding:16px}.document-notes p,.document-payment p{margin:5px 0 14px}.document-seal{object-fit:contain;opacity:.9;width:92px;height:92px;position:absolute;bottom:70px;right:60px}@media (width<=700px){.document-print-overlay{padding:8px}.business-document{min-height:auto;padding:28px 20px}.document-head{flex-direction:column}.document-company{text-align:left;align-items:flex-start}.document-meta{grid-template-columns:1fr}.document-items{font-size:11px}.document-items th,.document-items td{padding:6px 4px}}@media print{body *{visibility:hidden!important}.document-print-overlay,.document-print-overlay *{visibility:visible!important}.document-print-overlay{background:#fff;padding:0;position:absolute;inset:0;overflow:visible}.business-document{width:100%;min-height:0;box-shadow:none;margin:0;padding:12mm 14mm}.no-print{display:none!important}@page{size:A4;margin:0}}.photo-upload{position:relative}.photo-upload input{width:1px;height:1px;bottom:0;left:0;pointer-events:auto!important}.photo-upload span{cursor:pointer}.project-stage-tabs,.project-stage-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 16px;display:grid}.project-stage-tabs button,.project-stage-summary a{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:14px;text-decoration:none;display:flex}.project-stage-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.project-stage-tabs span,.project-stage-summary span{color:var(--orange);font-size:12px;font-weight:900}.project-filter-grid{grid-template-columns:2fr 1fr 1fr}.project-master-list,.payable-list{gap:13px;display:grid}.project-master-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.project-card-title{justify-content:space-between;gap:15px;display:flex}.project-card-title h2{margin:8px 0 3px;font-size:18px}.project-card-title p{color:var(--muted);margin:0;font-size:11px}.project-meta{grid-template-columns:2fr 1fr;gap:10px;margin:14px 0;display:grid}.project-meta div{background:#f5f3ee;border-radius:9px;padding:10px}.project-meta dt{color:var(--muted);font-size:9px}.project-meta dd{margin:4px 0 0;font-size:12px;font-weight:800}.cost-breakdown{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.cost-breakdown div{border:1px solid var(--line);border-radius:9px;flex-direction:column;gap:4px;padding:10px;display:flex}.cost-breakdown span{color:var(--muted);font-size:9px}.cost-breakdown strong{font-size:13px}.cost-breakdown .total{background:#f0eee8}.cost-breakdown .profit{background:var(--ink);color:#fff}.cost-breakdown .profit span{color:#bbb}.payable-card{padding:18px}.payment-form{background:#f5f3ee;border-radius:12px;margin-top:14px}.assignment-day{border-top:1px solid var(--line);padding:14px}.assignment-grid{gap:8px;display:grid}.assignment-grid form{grid-template-columns:1fr 2fr auto;align-items:center;gap:8px;display:grid}.assignment-grid strong{flex-direction:column;display:flex}.assignment-grid small{color:var(--muted);font-size:9px}.assignment-grid select,.assignment-grid button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px}.my-assignment-strip{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:auto 1fr 1fr;align-items:center;gap:8px;margin-bottom:14px;padding:12px;display:grid}.my-assignment-strip div{background:#f5f3ee;border-radius:8px;flex-direction:column;padding:9px;display:flex}.my-assignment-strip span{color:var(--muted);font-size:9px}.my-assignment-strip b{font-size:12px}.receipt-preview{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;max-height:280px;display:block}.highway-panel{margin-top:14px}.operations-shell .employee-content{max-width:980px}@media (width<=700px){.project-stage-tabs,.project-stage-summary{grid-template-columns:repeat(3,1fr)}.project-stage-tabs button,.project-stage-summary a{flex-direction:column;gap:4px;padding:11px 8px}.project-filter-grid,.cost-breakdown{grid-template-columns:1fr 1fr}.project-card-title{flex-direction:column}.assignment-grid form{grid-template-columns:1fr}.my-assignment-strip{grid-template-columns:1fr 1fr}.my-assignment-strip>strong{grid-column:1/-1}.payable-card{padding:12px}.employee-head{height:auto;min-height:70px;padding-block:8px}.employee-head-actions{flex-wrap:wrap;justify-content:flex-end}.employee-head-actions .project-list-button{padding:8px;font-size:10px}}.allocation-editor{border:1px solid var(--line);background:#f7f5ef;border-radius:13px;gap:12px;padding:14px;display:grid}.allocation-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.allocation-head h3{margin:0 0 3px}.allocation-head small{color:var(--muted)}.allocation-mode{border:1px solid var(--line);border-radius:9px;display:flex;overflow:hidden}.allocation-mode button{background:#fff;border:0;border-radius:0;padding:8px 12px}.allocation-mode button.active{background:var(--ink);color:#fff}.allocation-row{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:1.3fr .7fr;gap:10px;padding:12px;display:grid}.input-suffix{align-items:center;gap:6px;display:flex}.input-suffix input{flex:1;min-width:0}.input-suffix span{font-size:11px}.allocation-link{border-top:1px dashed var(--line);padding-top:9px}.allocation-link summary{cursor:pointer;color:var(--orange);font-size:11px;font-weight:800}.allocation-link .entry-form{padding:12px 0 0}.allocation-remove{color:#a23a32;text-align:left;background:0 0;border:0;grid-column:1/-1;padding:4px}.allocation-check{border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.allocation-check strong{font-size:14px}.allocation-check span{font-size:10px}.allocation-check b{margin-left:auto;font-size:11px}.allocation-check.ok{color:var(--green);background:#eaf5ef}.allocation-check.error{color:#a23a32;background:#fff0ef}@media (width<=700px){.allocation-head{flex-direction:column;align-items:stretch}.allocation-mode button{flex:1}.allocation-row{grid-template-columns:1fr}.allocation-check{flex-direction:column;align-items:flex-start}.allocation-check b{margin-left:0}.allocation-editor>button{min-height:44px}.payable-card .entry-form{grid-template-columns:1fr}}.cost-detail-grid{gap:8px;margin-top:14px;display:grid}.cost-detail-grid details{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.cost-detail-grid summary{cursor:pointer;padding:12px 14px;font-size:12px;font-weight:900}.cost-detail-grid .table-wrap{border-top:1px solid var(--line)}.cost-detail-grid table{min-width:620px}.cost-detail-grid td{font-size:10px}.employee-optional{border:1px solid var(--line);background:#f7f5ef;border-radius:10px}.employee-optional summary{cursor:pointer;padding:13px;font-size:12px;font-weight:900}.employee-optional>div{border-top:1px solid var(--line);flex-direction:column;gap:14px;padding:14px;display:flex}.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}.employee-shell{padding-bottom:92px}.role-bottom-nav{z-index:80;width:min(100%,980px);padding:7px max(8px, env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom));background:#141816f5;border-top:1px solid #ffffff20;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 24px #0002}.role-bottom-nav button{color:#aeb4b1;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:54px;padding:6px 2px;font-size:10px;font-weight:800;display:flex}.role-bottom-nav button span{font-size:16px;line-height:1}.role-bottom-nav button.active{color:#fff;background:#f26a2e}.role-home{gap:15px;display:grid}.assignment-hero{grid-template-columns:1fr 1fr;gap:10px;display:grid}.assignment-hero>div{color:#fff;background:#171c1a;border-radius:15px;flex-direction:column;justify-content:space-between;min-height:112px;padding:17px;display:flex}.assignment-hero span{color:#b9c0bd;font-size:11px}.assignment-hero strong{font-size:20px;line-height:1.3}.quick-action-grid,.management-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-action-grid button,.quick-action-grid a,.management-category-grid button,.management-category-grid a{border:1px solid var(--line);min-height:94px;color:var(--ink);text-align:left;background:#fff;border-radius:14px;flex-direction:column;justify-content:center;gap:5px;padding:16px;text-decoration:none;display:flex}.quick-action-grid .primary-action{background:var(--orange);border-color:var(--orange);color:#fff}.quick-action-grid span,.management-category-grid span{font-size:16px;font-weight:900}.quick-action-grid small,.management-category-grid small{color:var(--muted);font-size:10px}.quick-action-grid .primary-action small{color:#ffe0cf}.foreman-home-note{background:#fff4e9;border-radius:12px;flex-direction:column;gap:4px;padding:13px 15px;display:flex}.foreman-home-note span{color:var(--muted);font-size:10px}.simple-expense .entry-form{grid-template-columns:1fr 1fr}.more-link-grid{grid-template-columns:repeat(2,1fr);gap:9px;padding:14px;display:grid}.more-link-grid a,.more-link-grid button,.big-action-link{border:1px solid var(--line);min-height:48px;color:var(--ink);background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:13px;font-weight:800;text-decoration:none;display:flex}.foreman-people-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.foreman-people-summary article{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:7px;min-height:120px;padding:16px;display:flex}.foreman-people-summary span{color:var(--muted);font-size:10px}.foreman-people-summary strong{font-size:25px}.foreman-people-summary small{font-size:10px;line-height:1.6}.foreman-people-summary .attention{background:#fff7f1;border-color:#e6a47d}.foreman-money-snapshot{margin-top:14px}.cost-breakdown.compact{grid-template-columns:repeat(4,1fr)}.site-picker{z-index:8;border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex;position:sticky;top:78px}.site-picker span{font-size:10px;font-weight:900}.site-picker select{border:1px solid var(--line);background:#fff;border-radius:9px;flex:1;min-width:0;padding:11px}.project-focus{border:1px solid var(--line);background:#fff;border-radius:15px;padding:18px}.project-focus>header{justify-content:space-between;align-items:start;gap:10px;display:flex}.project-focus h2{margin:4px 0 14px}.margin-alert,.margin-safe{border-radius:999px;padding:8px 10px;font-weight:900}.margin-alert{color:#a23a32;background:#fff0ef}.margin-safe{color:var(--green);background:#eaf5ef}.project-today-row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.project-today-row>div{background:#f5f3ee;border-radius:10px;flex-direction:column;gap:5px;padding:12px;display:flex}.project-today-row span{color:var(--muted);font-size:9px}.project-today-row strong{font-size:12px}.project-action-row{grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px;display:grid}.project-action-row button,.project-action-row a{border:1px solid var(--line);color:var(--ink);text-align:center;background:#fff;border-radius:9px;padding:11px 5px;font-size:10px;font-weight:800;text-decoration:none}.cost-detail{border-top:1px solid var(--line);margin-top:13px}.cost-detail>summary,.past-editor>summary{cursor:pointer;padding:14px 2px;font-size:11px;font-weight:900}.detail-list>div,.simple-list article{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:11px 14px;display:flex}.detail-list span{font-size:10px}.simple-list article div{flex-direction:column;gap:3px;display:flex}.simple-list small{color:var(--muted)}.master-details{border:1px solid var(--line);background:#f5f3ee;border-radius:14px;margin:14px 0;display:block}.master-details>summary{cursor:pointer;padding:16px;font-size:12px;font-weight:900}.master-details>div{padding:0 10px 10px}.management-category-grid{margin-bottom:16px}.management-category-grid a,.management-category-grid button{min-height:82px}.member-details{margin-top:14px}@media (width<=700px){.employee-content{padding:18px 12px}.employee-head-actions>button:last-child{display:none}.assignment-hero,.project-today-row{grid-template-columns:1fr 1fr}.assignment-hero strong{font-size:17px}.foreman-people-summary{grid-template-columns:1fr 1fr}.foreman-people-summary article:last-child{grid-column:1/-1;min-height:auto}.cost-breakdown.compact,.project-action-row{grid-template-columns:1fr 1fr}.simple-expense .entry-form{grid-template-columns:1fr}.site-picker{top:68px}.master-content{padding-left:12px;padding-right:12px}.management-category-grid{grid-template-columns:1fr 1fr}.management-category-grid a,.management-category-grid button{min-height:76px;padding:13px}.master-top nav{grid-template-columns:repeat(5,1fr);display:grid!important;overflow:visible!important}.master-top nav a{text-align:center;font-size:9px;padding:9px 2px!important}.table-wrap{max-width:100%;overflow-x:auto}}.master-return{color:#fff;border:1px solid #515956;border-radius:9px;justify-content:center;align-items:center;padding:10px 12px;font-size:11px;font-weight:900;text-decoration:none;display:inline-flex}.saved-entry-list{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.saved-entry-list summary{cursor:pointer;font-size:12px;font-weight:900}.saved-entry-list article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:11px 0;display:grid}.saved-entry-list article div{flex-direction:column;min-width:0;display:flex}.saved-entry-list article strong,.saved-entry-list article small{overflow-wrap:anywhere}.saved-entry-list article small{color:var(--muted);font-size:9px}.saved-entry-list article b{font-size:11px}.saved-entry-list article a{color:var(--orange);font-size:10px;font-weight:900}@media (width<=700px){.employee-content{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.employee-head-actions .master-return{order:3;width:100%;padding:7px 9px}.operations-shell .employee-head-actions>button:last-child{display:inline-flex}.saved-entry-list article{grid-template-columns:minmax(0,1fr) auto}.saved-entry-list article a{grid-column:1/-1;align-items:center;min-height:38px;display:flex}.entry-form button.primary{min-height:52px;scroll-margin-bottom:calc(120px + env(safe-area-inset-bottom))}.modal-card{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);-webkit-overflow-scrolling:touch;overflow-y:auto}.employee-role-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom))}}.project-card>header small{color:var(--muted);margin-top:-8px;font-size:11px;display:block}.project-alerts{flex-wrap:wrap;gap:7px;margin:10px 0;display:flex}.project-alerts span{color:#a23a32;background:#fff0ef;border:1px solid #e6b2ad;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900}.project-alerts .safe{color:var(--green);background:#eaf5ef;border-color:#b9ddca}.project-card-hero,.monthly-project-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.metric{border:1px solid var(--line);background:#f7f5ef;border-radius:11px;flex-direction:column;gap:6px;min-width:0;padding:13px;display:flex}.metric span{color:var(--muted);font-size:9px}.metric strong{overflow-wrap:anywhere;font-size:16px;line-height:1.25}.metric.danger{color:#a23a32;background:#fff0ef;border-color:#e6b2ad}.budget-category-list{gap:7px;margin:14px 0;display:grid}.budget-category-list>div{border:1px solid var(--line);border-radius:10px;grid-template-columns:1.1fr repeat(3,1fr);align-items:center;gap:8px;padding:11px;display:grid}.budget-category-list>div>strong{font-size:12px}.budget-category-list>div>span{flex-direction:column;font-size:11px;font-weight:800;display:flex}.budget-category-list small{color:var(--muted);font-size:8px;font-weight:500}.budget-category-list .negative{color:#a23a32}.labor-progress{color:#fff;background:#171c1a;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:12px;font-size:10px;display:flex}.labor-progress strong{color:#ff9868}.budget-editor>div{gap:12px;display:grid}.budget-editor .entry-form,.cost-detail>.entry-form{border:1px solid var(--line);background:#f7f5ef;border-radius:12px}.budget-history{background:#f7f5ef;border-radius:10px;padding:12px}.budget-history h3{font-size:12px}.budget-history p{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;margin:0;padding:9px 0;font-size:11px;display:flex}.budget-history small{width:100%;color:var(--muted);display:block}.month-control{margin-bottom:10px}.month-control label,.month-select{justify-content:space-between;align-items:center;gap:10px;font-size:11px;font-weight:800;display:flex}.month-control input,.month-select input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px}.my-monthly-card{margin-bottom:14px;padding-bottom:15px}.monthly-status{color:var(--muted);background:#f0eee8;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900}.monthly-status.closed{color:var(--green);background:#eaf5ef}.monthly-self-grid{grid-template-columns:1fr 1fr;gap:8px;padding:14px;display:grid}.monthly-self-grid>div{background:#f7f5ef;border-radius:10px;flex-direction:column;gap:5px;padding:11px;display:flex}.monthly-self-grid span{color:var(--muted);font-size:9px}.monthly-self-grid strong{font-size:14px}.monthly-self-grid .full{color:#fff;background:#171c1a;grid-column:1/-1}.monthly-self-grid .full span{color:#b9c0bd}.my-monthly-card>.form-help{padding:0 14px}.danger{color:#a23a32!important;background:#fff0ef!important}@media (width<=700px){.project-card-hero,.monthly-project-summary{grid-template-columns:1fr 1fr}.budget-category-list>div{grid-template-columns:1fr repeat(3,minmax(0,1fr));padding:9px 7px}.budget-category-list>div>strong{font-size:11px}.budget-category-list>div>span{font-size:9px}.labor-progress{flex-direction:column;align-items:flex-start}.project-focus.project-card{padding:13px}.project-card-hero .metric strong{font-size:14px}.cost-detail>.entry-form{grid-template-columns:1fr}.monthly-self-grid{padding:12px}}.company-code-field input{letter-spacing:.08em}.legacy-login-choice{border:1px solid var(--line);background:#f7f5ef;border-radius:10px}.legacy-login-choice summary{cursor:pointer;padding:12px;font-size:12px;font-weight:800}.legacy-login-choice label{padding:0 12px 12px}.new-project-entry{background:#fff8f3;border:1px solid #f2b28f;border-radius:14px;margin-bottom:12px;overflow:hidden}.new-project-entry>summary{color:#b84315;cursor:pointer;align-items:center;min-height:54px;padding:15px 17px;font-weight:900;display:flex}.new-project-entry .entry-form{border-top:1px solid #f2d2c0}.foreman-stage-tabs button{flex-direction:column;gap:2px;display:flex}.foreman-stage-tabs small{opacity:.72;font-size:12px}.foreman-site-list{gap:9px;margin:12px 0 16px;display:grid}.foreman-site-list>button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:13px;gap:8px;padding:14px;display:grid}.foreman-site-list>button.active{border:2px solid var(--orange);box-shadow:0 7px 20px #df6b2e1a}.foreman-site-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.foreman-site-card-head strong{font-size:17px}.foreman-site-card-head i{background:#f0eee8;border-radius:999px;flex:none;padding:4px 7px;font-size:12px;font-style:normal;font-weight:800}.foreman-site-list dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;display:grid}.foreman-site-list dl div{background:#f7f5ef;border-radius:8px;min-width:0;padding:8px}.foreman-site-list dt{color:var(--muted);font-size:12px}.foreman-site-list dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:14px;font-weight:800}.foreman-site-list>button>small{color:var(--muted);font-size:12px}.foreman-site-list>button>small.has-warning{color:#a23a32;font-weight:900}.project-card-setup{border:2px solid var(--orange);background:#fff8f3;border-radius:14px;margin:14px 0;padding:16px}.project-card-setup h3{margin:3px 0 5px;font-size:18px}.project-card-setup p{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.6}.planned-project-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:-4px 0 14px;display:grid}.planned-project-summary>div{color:#fff;background:#171c1a;border-radius:9px;flex-direction:column;gap:4px;min-width:0;padding:10px;display:flex}.planned-project-summary span{color:#bdc4c0;font-size:12px}.planned-project-summary strong{overflow-wrap:anywhere;font-size:15px}.payroll-panel-help{max-width:min(360px,48%);color:var(--muted);text-align:right;overflow-wrap:anywhere;font-size:10px;line-height:1.55}.persistent-master-return{white-space:nowrap}.management-foreman-links{flex-wrap:wrap;gap:8px;margin:-6px 0 18px;display:flex}.management-foreman-links a{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:10px 14px;font-size:11px;font-weight:900;text-decoration:none;display:inline-flex}@media (width<=700px){.master-content{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.floating-sites{right:10px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:70;max-width:calc(100vw - 20px);padding:10px 14px}.payroll-panel .panel-head,.payroll-deductions .panel-head,.advance-panel .panel-head{flex-wrap:wrap;align-items:flex-start;gap:8px}.payroll-panel-help{white-space:normal;text-align:left;word-break:normal;overflow-wrap:anywhere;flex:0 0 100%;max-width:100%}.payroll-mobile-table{table-layout:fixed;min-width:0!important}.payroll-mobile-table thead{display:none}.payroll-mobile-table tbody{gap:10px;padding:10px;display:grid}.payroll-mobile-table tr{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:1fr 1fr;gap:0 12px;padding:10px;display:grid}.payroll-mobile-table td,.payroll-mobile-table td:first-child{overflow-wrap:anywhere;border-bottom:1px solid #ece9e1;grid-template-columns:minmax(82px,.85fr) minmax(0,1.15fr);align-items:center;gap:8px;min-width:0;padding:8px 0;display:grid}.payroll-mobile-table td:before{content:attr(data-label);min-width:0;color:var(--muted);font-size:10px;font-weight:800;line-height:1.4}.payroll-mobile-table td:first-child,.payroll-mobile-table td:last-child,.payroll-mobile-table .mobile-table-actions{grid-column:1/-1}.payroll-mobile-table td:last-child{border-bottom:0}.payroll-mobile-table td strong{word-break:keep-all;overflow-wrap:normal;min-width:0}.payroll-mobile-table a{min-height:40px;color:var(--orange);align-items:center;font-weight:800;display:inline-flex}.close-history-table tr,.advance-table tr{grid-template-columns:1fr}.close-history-table td,.advance-table td{grid-column:1/-1}.deduction-grid .entry-form{grid-template-columns:1fr 1fr}.deduction-grid .entry-form input{width:100%;min-width:0;font-size:16px}.deduction-grid .entry-form>div{background:#f7f5ef;border-radius:9px;flex-direction:column;gap:5px;padding:10px;display:flex}.persistent-master-return{top:calc(8px + env(safe-area-inset-top));z-index:120;max-width:148px;position:fixed;right:8px;box-shadow:0 5px 18px #0003;width:auto!important;color:var(--ink)!important;border-color:var(--line)!important;background:#fff!important;order:0!important;padding:9px 10px!important}.employee-head:has(.persistent-master-return){padding-right:156px}.management-foreman-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.management-foreman-links a{white-space:nowrap;min-width:0;padding:10px 4px;font-size:10px}.foreman-site-list dl{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card-setup{padding:13px}.project-card-setup .entry-form{grid-template-columns:1fr;padding:0}}@media (width<=480px){.deduction-grid .entry-form,.payroll-mobile-table tr{grid-template-columns:1fr}.payroll-mobile-table td{grid-column:1/-1}}@media (width<=760px){.master-top{flex-direction:column;align-items:stretch;gap:10px;height:auto;padding:14px 0 10px}.master-top .brand{padding:0 14px}.master-top nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-direction:row;gap:6px;padding:0 14px 4px;overflow:auto hidden}.master-top nav::-webkit-scrollbar{display:none}.master-top nav a{white-space:nowrap;flex:none}}
