:root{font-family:system-ui,sans-serif;color:#172033;background:#f4f7fb;font-size:18px}*{box-sizing:border-box}body{margin:0}.app-shell{min-height:100vh;display:grid;grid-template:64px 1fr / 260px 1fr}.app-header{grid-column:1 / -1;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:#fff;background:#172033}.header-user-settings{display:flex;align-items:center;gap:12px}.mobile-user-profile{display:none}.theme-control{display:flex;grid-template-columns:auto auto;align-items:center;gap:5px;font-size:.78rem}.theme-control select{width:auto;min-height:34px;padding:3px 28px 3px 8px;color:#172033;background:#fff}.menu-toggle{display:none;min-height:40px;padding:4px 10px;background:transparent;font-size:1.4rem}.app-nav{padding:18px 12px;background:#fff;border-right:1px solid #d0d5dd}.app-nav details{margin-bottom:10px}.app-nav summary{padding:10px;font-weight:700;cursor:pointer}.app-nav .nav-subgroup{margin:2px 0 10px 10px;border-left:2px solid #e4e7ec}.app-nav .nav-subgroup summary{padding:8px 12px;font-size:.92rem}.app-nav .nav-subgroup a{margin-left:8px}.app-nav .nav-subgroup-deep{margin-left:14px}.app-nav .nav-subgroup-deep summary{font-size:.86rem}.app-nav a{display:block;margin:2px 0;padding:10px 14px;color:#344054;border-radius:8px;text-decoration:none}.app-nav a.menu-current{color:#fff;background:#155eef}.sign-out{width:100%;margin-top:20px;color:#344054;background:#e9eef7}.app-content{min-width:0}.page{min-height:100vh;display:grid;place-items:center;padding:24px}.card{width:min(100%,440px);display:grid;gap:20px;padding:32px;background:#fff;border-radius:16px;box-shadow:0 12px 36px #20304a1a}label{display:grid;gap:4px;font-size:.78rem;line-height:1.2}label>:is(input,select,textarea,output){font-size:1rem}.check{grid-template-columns:auto 1fr;align-items:center}input,button{min-height:48px;padding:10px 12px;font:inherit}button{border:0;border-radius:8px;color:#fff;background:#155eef;cursor:pointer}[role=alert]{color:#b42318}.settings-page{min-height:100vh;padding:32px;max-width:1280px;margin:0 auto}.settings-header,.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.settings-header{margin-bottom:24px}.settings-header h1,.section-title h2{margin:0}.tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto}.tabs button{color:#344054;background:#e9eef7;white-space:nowrap}.tabs button.active{color:#fff;background:#155eef}.panel{display:grid;gap:24px;padding:28px;background:#fff;border-radius:16px;box-shadow:0 12px 36px #20304a12}.section-title p,.hint{margin:4px 0 0;color:#667085}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px;background:#f8fafc;border:1px solid #e4e7ec;border-radius:12px}.full{grid-column:1 / -1}fieldset{border:1px solid #d0d5dd;border-radius:8px;padding:16px}fieldset .check{display:inline-grid;margin:8px 18px 0 0}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #98a2b3;border-radius:8px;background:#fff;font:inherit}select{min-height:48px}textarea{resize:vertical}.secondary-button,.button-link{display:inline-grid;place-items:center;min-height:48px;padding:10px 16px;border:1px solid #155eef;border-radius:8px;color:#155eef;background:#fff;text-decoration:none}.danger-button{color:#b42318;background:#fee4e2}.notice,.error{padding:12px 16px;border-radius:8px}.notice{color:#05603a;background:#dcfae6}.error{color:#b42318;background:#fee4e2}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:12px;border-bottom:1px solid #e4e7ec;text-align:left;vertical-align:top}th{color:#475467;background:#f8fafc}.weekday-table,.job-list{display:grid;gap:10px}.weekday-row{display:grid;grid-template-columns:48px 90px minmax(110px,1fr) minmax(110px,1fr) 110px 140px;gap:10px;align-items:center}.holiday-work-setting{width:fit-content;margin:0 0 12px}.weekday-heading{color:#475467;font-size:.8rem}.job-row{display:grid;grid-template-columns:160px 1fr 130px 140px 80px;gap:10px}.format-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.sub-tabs{padding-bottom:12px;border-bottom:1px solid #e4e7ec}.category-switch,.row-actions{display:flex;flex-wrap:wrap;gap:8px}.category-switch{margin:16px 0}.category-switch button{color:#344054;background:#e9eef7}.category-switch button.active{color:#fff;background:#155eef}.row-actions button{min-height:38px;padding:6px 10px}.action-column{width:180px;text-align:right}.action-column .row-actions{justify-content:flex-end}.compact-job-table{table-layout:fixed;font-size:.78rem;line-height:1}.compact-job-table th,.compact-job-table td{height:26px;padding:1px 6px;line-height:1;vertical-align:middle}.compact-job-table tbody tr{height:26px}.compact-job-table tbody .row-actions{align-items:center;flex-wrap:nowrap;gap:3px;margin:0}.compact-job-table tbody .row-actions button{min-height:22px;height:22px;padding:0 6px;border-radius:4px;font-size:.7rem;line-height:1}.format-master-detail{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:18px;margin-top:16px}.format-master-list{display:grid;align-content:start;gap:8px}.format-master-list button{display:grid;gap:5px;color:#344054;background:#f2f4f7;text-align:left}.format-master-list button.active{color:#fff;background:#155eef}.format-master-list small{font-size:.75rem}.format-detail h4{margin-bottom:4px}.format-detail .format-detail-header{padding-bottom:10px;border-bottom:1px solid #d0d5dd}.format-detail .format-detail-header h3{margin:0;font-size:1.05rem}.disabled-action-tooltip{position:relative;display:inline-flex}.disabled-action-tooltip .tooltip-message{position:absolute;z-index:20;right:0;bottom:calc(100% + 7px);width:max-content;max-width:min(420px,80vw);padding:7px 10px;visibility:hidden;color:#fff;background:#344054;border-radius:6px;box-shadow:0 4px 12px #10182833;font-size:.75rem;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .12s}.disabled-action-tooltip:hover .tooltip-message,.disabled-action-tooltip:focus .tooltip-message,.disabled-action-tooltip:focus-within .tooltip-message{visibility:visible;opacity:1}.format-dialog{width:min(96vw,960px)}.format-dialog form,.history-dialog form{display:grid;gap:14px}.format-job-row{display:grid;grid-template-columns:minmax(260px,1fr) 130px 166px;align-items:center;gap:8px;margin-bottom:8px}.format-job-row>.row-actions{flex-wrap:nowrap}.user-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.selectable-table tbody tr{cursor:pointer}.selectable-table tbody tr:hover,.selectable-table tbody tr.selected{background:#eff4ff}.master-toolbar{display:flex;gap:12px;align-items:end;margin:14px 0}.master-toolbar label{display:grid;gap:4px}.master-help{margin:10px 0;padding:10px 12px;border-left:4px solid #4c78c2;background:#eef4ff}.master-split{display:grid;grid-template-columns:minmax(260px,35%) 1fr;gap:16px}.master-list{display:grid;align-content:start;gap:4px}.master-list>button{display:grid;gap:2px;padding:8px 10px;color:#344054;background:#f8fafc;border:1px solid #d0d5dd;text-align:left}.master-list>button.selected{color:#fff;background:#155eef}.master-list small{font-size:.75rem}.master-detail-grid{display:grid;grid-template-columns:minmax(140px,30%) 1fr;margin:0}.master-detail-grid dt,.master-detail-grid dd{min-width:0;margin:0;padding:6px 8px;border-bottom:1px solid #e4e7ec;overflow-wrap:anywhere}.master-detail-grid dt{font-weight:700;background:#f8fafc}.apartment-master-page .master-detail{align-content:start;gap:10px}.compact-room-detail dt,.compact-room-detail dd{padding:3px 7px;line-height:1.25}.master-edit-form h2,.master-edit-form .wide-field{grid-column:1 / -1}.resident-filters{grid-template-columns:repeat(4,minmax(160px,1fr))}.resident-contact{display:grid;gap:8px;margin-top:14px}.resident-contact button{justify-self:start}.resident-contact p{margin:0;padding:10px;border:1px solid #d0d5dd;border-radius:6px;overflow-wrap:anywhere}.account-toolbar{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.account-actions{flex-wrap:wrap;margin-top:16px}.permission-page .master-detail{align-content:start}.permission-groups{display:grid;gap:10px}.permission-groups fieldset{padding:10px 14px}.permission-check{margin:5px 14px 5px 0}.permission-check small{display:block;color:#667085;font-size:.72rem}.period-row{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:12px}.version-card{padding:10px 14px;border:1px solid #d0d5dd;border-radius:8px}.version-card h3{margin:0 0 6px}.version-card ul,.effective-list{columns:2;margin:0}.bulk-step{align-content:start}.bulk-step h2{margin:0}.bulk-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.mapping-save{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.bulk-counts{display:flex;flex-wrap:wrap;gap:10px}.bulk-counts>*{padding:8px 12px;background:#f2f4f7;border-radius:6px}.error-text{color:#b42318}.preview-list{display:grid;gap:8px;max-height:420px;overflow:auto}.preview-list article{padding:10px;border:1px solid #d0d5dd;border-radius:6px}.preview-list dl{display:grid;grid-template-columns:minmax(130px,30%) 1fr;margin:6px 0 0}.preview-list dt,.preview-list dd{margin:0;padding:3px 6px;border-top:1px solid #e4e7ec}.activation-card{width:min(560px,calc(100vw - 24px))}.password-field{display:grid;grid-template-columns:1fr auto;gap:6px}.compact-history{display:grid;gap:4px;padding-left:20px;font-size:.85rem}.totp-secret{padding:10px;background:#f2f4f7;border-radius:6px;overflow-wrap:anywhere;letter-spacing:.08em}.user-setting-detail dl{display:grid;grid-template-columns:130px 1fr;gap:10px 16px;margin-bottom:0}.user-setting-detail dt{color:#475467;font-weight:700}.user-setting-detail dd{margin:0}.subcard{padding:18px;border:1px solid #e4e7ec;border-radius:10px}.subcard h3{margin-top:0}.template-settings-layout{display:grid;grid-template-columns:minmax(280px,36%) minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}.template-mapping-form{display:grid;gap:14px}.template-mapping-form fieldset{display:grid;gap:10px;margin:0}.mapping-grid{display:grid;gap:10px}.mapping-grid-basic{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.template-mapping-table{min-width:760px}.template-mapping-table th,.template-mapping-table td{padding:5px;vertical-align:middle}.template-mapping-table input,.template-mapping-table select{min-height:34px;padding:5px 7px}.template-mapping-table td:first-child{white-space:nowrap}.cycle{display:inline-block;margin-left:6px;padding:2px 8px;color:#175cd3;background:#eff4ff;border-radius:999px;font-size:.8rem}@media(max-width:760px){.report-page{padding:8px}.report-card{gap:0;padding:10px}.report-fields{grid-template-columns:1fr 1fr;gap:0 8px}.report-fields label{grid-template-columns:88px 1fr;align-items:center;gap:4px}.report-fields label.full,.readonly-report-fields{grid-template-columns:1fr}.readonly-report-fields>div{grid-template-columns:120px 1fr;min-height:30px;padding:4px 6px}.job-section{gap:0}.job-input{padding:5px;gap:4px}.meter-input{grid-template-columns:1fr 1fr 1fr;font-size:.75rem}.meter-input label{grid-column:1}.app-shell{display:block;padding-top:56px}.app-header{position:fixed;inset:0 0 auto;height:56px;padding:0 10px;font-size:.78rem}.app-header>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-toggle{display:block}.desktop-user-settings{display:none}.mobile-user-profile{position:relative;display:block;margin-left:auto}.mobile-user-profile summary{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;cursor:pointer;font-size:1.25rem;list-style:none}.mobile-user-profile summary::-webkit-details-marker{display:none}.mobile-user-profile summary:hover,.mobile-user-profile[open] summary{background:#ffffff24}.profile-popup{position:fixed;z-index:45;top:52px;right:8px;width:min(300px,calc(100vw - 16px));padding:16px;color:#172033;background:#fff;border:1px solid #d0d5dd;border-radius:10px;box-shadow:0 12px 32px #10182855;font-size:.85rem}.profile-popup h2{margin:0 0 12px;font-size:1rem}.profile-popup dl{display:grid;grid-template-columns:90px 1fr;gap:8px;margin:0 0 14px}.profile-popup dt{color:#667085;font-weight:700}.profile-popup dd{margin:0;overflow-wrap:anywhere}.profile-popup .theme-control{display:grid;grid-template-columns:90px 1fr;font-size:.85rem}.profile-popup .theme-control select{width:100%}.login-user{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-settings{gap:5px}.theme-control{font-size:.7rem}.theme-control select{min-height:30px;padding:2px 22px 2px 5px}.app-nav{position:fixed;z-index:30;inset:56px auto 0 0;width:min(82vw,320px);transform:translate(-105%);transition:transform .2s}.app-nav.open{transform:translate(0)}.app-nav .desktop-only-menu{display:none}.nav-backdrop{position:fixed;z-index:25;inset:56px 0 0;background:#10182880}.settings-page{padding:16px}.settings-header,.section-title{align-items:flex-start;flex-direction:column}.panel{padding:18px}.form-grid{grid-template-columns:1fr;padding:14px}.template-settings-layout{grid-template-columns:1fr}.weekday-table{overflow-x:auto}.weekday-row{min-width:700px}.job-row{grid-template-columns:1fr 1fr;padding-bottom:12px;border-bottom:1px solid #d0d5dd}.format-master-detail{grid-template-columns:1fr}.master-page{display:none}.format-dialog{width:98vw;padding:12px}.format-job-row{grid-template-columns:minmax(190px,1fr) 110px 150px;min-width:500px}.job-list fieldset{overflow-x:auto}.user-filter-grid{grid-template-columns:1fr}.job-row input{grid-column:1 / -1}}.report-page{min-height:100vh;max-width:960px;margin:0 auto;padding:24px}.report-header,.report-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.report-title-actions{display:flex;align-items:center;gap:6px}.delete-report-button{min-height:34px;padding:4px 10px}.report-header{margin-bottom:20px}.report-header h1,.report-title h2{margin:0}.report-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 10px;background:#fff;border-radius:8px}.report-toolbar label{gap:2px}.report-toolbar :is(input,select,output){min-height:36px;height:36px;padding:4px 8px;font-size:.86rem}.self-report-toolbar{display:grid;grid-template-columns:1fr minmax(180px,260px);align-items:center;gap:8px;padding:6px 10px;background:#fff;border-radius:8px}.self-report-toolbar input[type=month]{min-height:34px;height:34px;padding:3px 8px}.week-navigation{display:flex;justify-content:center;gap:8px;margin:12px 0 4px}.week-navigation button{min-height:34px;padding:4px 12px}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:16px 0;overflow-x:auto}.week-strip button{display:grid;gap:4px;min-width:92px;padding:10px 6px;color:#344054;background:#fff;border:1px solid #d0d5dd}.week-strip button.selected{color:#fff;background:#155eef}.week-strip button:disabled{color:#98a2b3;background:#f2f4f7;cursor:default}.week-strip small{min-height:1.2em;font-size:.7rem}.report-card{display:grid;gap:20px;padding:24px;background:#fff;border-radius:16px;box-shadow:0 12px 36px #20304a12}.weekly-sheet,.monthly-sheet{gap:8px}.weekly-sheet .report-title p{margin:2px 0 0}.weekly-sheet .week-navigation{margin:2px 0}.report-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 14px}.report-fields>label:not(.full){grid-template-columns:8.8em minmax(0,1fr);align-items:center;gap:6px;white-space:nowrap}.report-fields>label:not(.full)>:is(input,select,output){width:100%;min-width:0}.report-field-label small{font-size:.72em}.remarks-history-actions{justify-content:flex-start}.template-workflow ol{display:flex;flex-wrap:wrap;gap:8px 28px;margin:8px 0 0;padding-left:24px}.template-workflow li{font-weight:700}.template-next-step{margin:12px 0}.template-upload-form{grid-template-columns:minmax(180px,1fr) 90px 150px minmax(260px,1.5fr);align-items:end}.template-reuse-form{display:grid;grid-template-columns:minmax(180px,260px) max-content;align-items:end;gap:8px}.template-reuse-form p{grid-column:1 / -1;margin:0}.report-fields output{display:grid;align-items:center;min-height:48px;padding:10px 12px;background:#f2f4f7;border-radius:8px}.readonly-report-fields{display:grid;gap:4px}.readonly-report-group{display:grid;gap:0;margin:0;overflow:hidden;background:#fafbfc;border:1px solid #dfe3e8;border-radius:6px}.readonly-report-group.basic-group{grid-template-columns:repeat(3,minmax(0,1fr))}.readonly-report-group.time-group{grid-template-columns:repeat(6,minmax(0,1fr))}.readonly-report-group>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-width:0;min-height:42px;padding:3px 7px;border-right:1px solid #e4e7ec}.readonly-report-group>div:last-child{border-right:0}.readonly-report-group dt{color:#667085;font-size:.68rem;font-weight:600;line-height:1.1;white-space:nowrap}.readonly-report-group dd{margin:0;font-size:.92rem;font-weight:600;line-height:1.2;overflow-wrap:anywhere}.readonly-report-group .minute-unit{font-size:.68rem;white-space:nowrap}.readonly-report-group.remarks-group>div{align-items:flex-start}.readonly-report-group.remarks-group dd{font-weight:400;white-space:pre-wrap}.status-chip{padding:6px 12px;color:#175cd3;background:#eff4ff;border-radius:999px}.save-state{margin:12px 0;text-align:right;color:#475467}.save-state.pending{color:#b54708}.save-state.saved{color:#067647}.job-section{display:grid;gap:10px;padding-top:12px;border-top:1px solid #e4e7ec}.compact-report-jobs{gap:2px;padding-top:4px}.compact-report-jobs h2{margin:2px 0;font-size:1rem}.work-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px}.work-section-header h2{margin:0;font-size:1rem}.work-section-actions{display:flex;align-items:center;gap:3px}.work-section-header button{min-height:28px;height:28px;padding:1px 9px;border-radius:5px;font-size:.78rem;line-height:1}.work-section-header .accordion-toggle{width:34px;padding:1px}.work-section-header .accordion-toggle:disabled{color:#98a2b3;background:#f2f4f7;cursor:default;opacity:.55}.compact-report-jobs .job-input{min-height:28px;padding:1px 6px;gap:3px;border-radius:4px;font-size:.78rem;line-height:1}.compact-report-jobs .job-input .check{min-height:26px;gap:3px}.compact-report-jobs .job-input .check input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0;padding:0}.compact-report-jobs .job-input input:not([type=checkbox]),.compact-report-jobs .job-input select{min-height:26px;height:26px;padding:1px 6px;font-size:.78rem}.compact-report-jobs .cycle{margin-left:3px;padding:1px 5px}.readonly-work-section{gap:2px}.readonly-work-list{display:grid;gap:2px}.readonly-work-item,.readonly-work-summary{margin:0;padding:5px 8px;border:1px solid #e4e7ec;border-radius:4px;background:#f8fafc;font-size:.82rem}.readonly-work-item summary{cursor:pointer;overflow-wrap:anywhere}.readonly-work-item dl{display:grid;gap:2px;margin:6px 0 0}.readonly-work-item dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;padding-top:3px;border-top:1px solid #e4e7ec}.readonly-work-item dt{font-weight:700}.readonly-work-item dd{margin:0;overflow-wrap:anywhere}.job-input{display:grid;grid-template-columns:1fr minmax(130px,240px);align-items:center;gap:14px;padding:12px;background:#f8fafc;border-radius:10px}.time-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.meter-input{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:8px}.work-row{display:grid;gap:12px;padding:16px;border:1px solid #e4e7ec;border-radius:10px}.work-section{min-width:0;gap:2px;padding-top:4px}.work-summary-row{min-width:0;margin:1px 0}.work-summary-button{display:block;width:100%;min-width:0;min-height:34px;padding:5px 10px;overflow-wrap:anywhere;color:#172033;background:#f8fafc;border:1px solid #d0d5dd;border-radius:6px;text-align:left;white-space:normal}.work-summary-button:hover{background:#eef4ff;border-color:#84adff}.work-detail-dialog,.work-registration-dialog{width:min(96vw,900px)}.work-detail-dialog .section-title,.work-registration-dialog .section-title{flex-flow:row nowrap;align-items:center}.work-detail-dialog .section-title h2,.work-registration-dialog .section-title h2{margin:0;font-size:1rem;line-height:1.3}.work-detail-dialog .dialog-actions,.work-registration-dialog .dialog-actions{flex:0 0 auto;white-space:nowrap}.new-row{background:#f8fafc}.history-actions,.party-row,.history-row{display:flex;align-items:center;gap:8px}.history-actions button{min-height:38px;padding:6px 10px;font-size:.8rem}.history-dialog{position:fixed;z-index:100;inset:50% auto auto 50%;width:min(92vw,640px);max-height:80vh;margin:0;padding:20px;transform:translate(-50%,-50%);overflow:auto;border:2px solid #344054;border-radius:14px;background:#fff;box-shadow:0 24px 80px #10182873}.history-dialog.format-dialog{width:min(98vw,1200px)}.history-dialog.format-dialog .job-list{gap:4px}.history-dialog.format-dialog fieldset{padding:10px}.history-dialog.format-dialog .format-job-row{min-height:28px;margin-bottom:2px;gap:6px}.history-dialog.format-dialog .format-job-row select{min-height:26px;height:26px;padding:1px 6px;border-radius:4px;font-size:.78rem;line-height:1}.history-dialog.format-dialog .format-job-row .row-actions{gap:3px}.history-dialog.format-dialog .format-job-row button{min-height:24px;height:24px;padding:0 6px;border-radius:4px;font-size:.7rem;line-height:1}.history-dialog .section-title{position:sticky;z-index:2;top:-20px;padding:12px 0 10px;background:#fff;border-bottom:1px solid #d0d5dd}.dialog-actions{display:flex;gap:6px}.dialog-actions button{min-height:38px;padding:6px 10px}.history-dialog::backdrop{background:#10182899}.history-row{padding:10px 0;border-bottom:1px solid #e4e7ec}.history-content{flex:1;color:#172033;background:#f8fafc;text-align:left}.danger,.danger-button{color:#b42318;background:#fee4e2}.weekly-sheet{overflow-x:auto}.weekly-grid{display:grid;grid-template-columns:minmax(180px,1.6fr) repeat(7,minmax(90px,1fr));min-width:860px;border:1px solid #d0d5dd}.weekly-grid>*{min-height:48px;padding:9px;border-right:1px solid #d0d5dd;border-bottom:1px solid #d0d5dd;white-space:pre-line}.report-command-row{display:flex;justify-content:flex-start;gap:6px;margin:8px 0 12px}.report-command-row button{min-height:36px;padding:5px 12px}.weekly-center,.weekly-value{display:grid;place-items:center;text-align:center}.compact-management-section{margin:2px 0}.compact-management-section summary,.compact-management-section summary h2{margin:0;line-height:1.2}.management-section summary{cursor:pointer}.management-section summary h2{display:inline}.weekly-item{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px;border-bottom:1px solid #e4e7ec}.print-only{display:none}.weekly-print-management{margin-top:3mm;break-inside:auto}.weekly-print-page-break{height:0}.weekly-print-management h2{margin:0 0 1mm;font-size:10pt;break-after:avoid;page-break-after:avoid}.weekly-print-management article{padding:1.2mm 0;border-top:.2mm solid #d0d5dd;break-inside:avoid}.weekly-print-management article>strong{font-size:7.5pt}.weekly-print-management dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5mm 3mm;margin:.8mm 0 0}.weekly-print-management dl div{display:grid;grid-template-columns:16mm 1fr;gap:1mm}.weekly-print-management dt{color:#475467;font-size:6.5pt}.weekly-print-management dd{margin:0;font-size:7pt;overflow-wrap:anywhere}.status-card{padding:18px;border:1px solid #e4e7ec;border-radius:12px}.status-card dl,.status-card nav{display:flex;gap:12px;flex-wrap:wrap}.status-card dl div{min-width:120px}.status-card dt{color:#667085}.status-card dd{margin:4px 0;font-weight:700}.monthly-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.monthly-totals div{display:grid;gap:4px;padding:10px;background:#f2f4f7;border-radius:8px}.monthly-totals small{color:#667085}.monthly-totals strong{font-size:1.1rem}.monthly-detail-table{width:100%;min-width:0;table-layout:fixed;font-size:.76rem;line-height:1.2}.monthly-detail-table th,.monthly-detail-table td{padding:5px 3px;vertical-align:middle}.monthly-detail-table th{overflow-wrap:normal;text-align:center;white-space:nowrap}.monthly-detail-table td:nth-child(n+1):nth-child(-n+9){text-align:center}.monthly-detail-table td:nth-child(1),.monthly-detail-table td:nth-child(4),.monthly-detail-table td:nth-child(5){white-space:nowrap}.monthly-detail-table td:last-child{overflow-wrap:anywhere}.monthly-date-column{width:78px}.monthly-weekday-column{width:28px}.monthly-status-column{width:66px}.monthly-clock-column{width:46px}.monthly-regular-column{width:72px}.monthly-minutes-column{width:48px}.monthly-late-column{width:42px}.monthly-cost-column{width:56px}.monthly-remarks-column{width:auto}.monthly-sheet tr.muted{color:#98a2b3}.status-list{display:grid;gap:8px;margin:16px 0}.approval-panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;padding:12px;border:1px solid #84adff;border-radius:8px;background:#f0f5ff}.diff-panel{margin:12px 0;padding:12px;border:1px solid #fdb022;border-radius:8px;background:#fffaeb}.diff-panel pre{overflow:auto;white-space:pre-wrap;font-size:.75rem}html[data-theme=dark]{color-scheme:dark;color:#f5f5f5;background:#000}html[data-theme=dark] body,html[data-theme=dark] #app,html[data-theme=dark] .app-shell,html[data-theme=dark] .app-content,html[data-theme=dark] .page,html[data-theme=dark] .settings-page,html[data-theme=dark] .report-page{color:#f5f5f5;background:#000}html[data-theme=dark] .app-header{color:#fff;background:#050505;border-bottom:1px solid #444}html[data-theme=dark] .app-nav,html[data-theme=dark] .card,html[data-theme=dark] .panel,html[data-theme=dark] .report-toolbar,html[data-theme=dark] .report-card,html[data-theme=dark] .history-dialog{color:#f5f5f5;background:#111;border-color:#555;box-shadow:none}html[data-theme=dark] .master-help{color:#e8efff;background:#17233a;border-color:#78a9ff}html[data-theme=dark] .self-report-toolbar{color:#f5f5f5;background:#111}html[data-theme=dark] .profile-popup{color:#f5f5f5;background:#111;border-color:#555;box-shadow:0 12px 32px #000b}html[data-theme=dark] .profile-popup dt{color:#c8c8c8}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] output{color:#fff;background:#1b1b1b;border-color:#777}html[data-theme=dark] input:disabled,html[data-theme=dark] select:disabled,html[data-theme=dark] textarea:disabled{color:#cfcfcf;background:#292929}html[data-theme=dark] .app-nav a,html[data-theme=dark] .sign-out,html[data-theme=dark] .tabs button,html[data-theme=dark] .category-switch button,html[data-theme=dark] .format-master-list button,html[data-theme=dark] .week-strip button,html[data-theme=dark] .secondary-button,html[data-theme=dark] .button-link,html[data-theme=dark] .work-summary-button{color:#e8efff;background:#202020;border-color:#78a9ff}html[data-theme=dark] .work-section-header .accordion-toggle:disabled{color:#777;background:#1a1a1a;border-color:#444;opacity:.55}html[data-theme=dark] .app-nav a.menu-current,html[data-theme=dark] .tabs button.active,html[data-theme=dark] .category-switch button.active,html[data-theme=dark] .format-master-list button.active,html[data-theme=dark] .week-strip button.selected{color:#fff;background:#245fc7}html[data-theme=dark] .form-grid,html[data-theme=dark] .job-input,html[data-theme=dark] .new-row,html[data-theme=dark] th,html[data-theme=dark] .history-content,html[data-theme=dark] .monthly-totals div,html[data-theme=dark] .report-fields output{color:#f5f5f5;background:#1a1a1a}html[data-theme=dark] table,html[data-theme=dark] th,html[data-theme=dark] td,html[data-theme=dark] fieldset,html[data-theme=dark] .subcard,html[data-theme=dark] .work-row,html[data-theme=dark] .status-card{border-color:#555}html[data-theme=dark] .hint,html[data-theme=dark] .section-title p,html[data-theme=dark] .weekday-heading,html[data-theme=dark] .user-setting-detail dt,html[data-theme=dark] .status-card dt,html[data-theme=dark] .monthly-totals small,html[data-theme=dark] .save-state{color:#c8c8c8}html[data-theme=dark] .readonly-report-group{background:#181818}html[data-theme=dark] .readonly-report-group,html[data-theme=dark] .readonly-report-group>div{border-color:#444}html[data-theme=dark] .readonly-report-group dt{color:#c8c8c8}html[data-theme=dark] .readonly-work-item,html[data-theme=dark] .readonly-work-summary{color:#f5f5f5;background:#1a1a1a;border-color:#555}html[data-theme=dark] .readonly-work-item dl>div{border-color:#555}html[data-theme=dark] .cycle,html[data-theme=dark] .status-chip{color:#b9d2ff;background:#17325f}html[data-theme=dark] .selectable-table tbody tr:hover,html[data-theme=dark] .selectable-table tbody tr.selected,html[data-theme=dark] .selectable-table tbody tr:focus{color:#fff;background:#1f4f8f;outline-color:#8cb8ff}html[data-theme=dark] .master-list>button,html[data-theme=dark] .master-detail-grid dt{color:#f5f5f5;background:#202020;border-color:#555}html[data-theme=dark] .permission-check small{color:#bbb}html[data-theme=dark] .version-card{border-color:#555}html[data-theme=dark] .master-list>button.selected{background:#245fc7}html[data-theme=dark] .history-dialog .section-title{background:#111;border-bottom-color:#555}html[data-theme=dark] .format-detail .format-detail-header{border-bottom-color:#555}html[data-theme=dark] .notice{color:#b8f5d2;background:#123d2a}html[data-theme=dark] .error,html[data-theme=dark] .danger,html[data-theme=dark] .danger-button{color:#ffb4ab;background:#521c1c}html[data-theme=dark] .diff-panel{color:#ffe4a3;background:#3b2c08}html[data-theme=dark] .theme-control select{color:#fff;background:#1b1b1b}@media print{@page{size:A4 portrait;margin:15mm 8mm 10mm}.app-header,.app-nav,.no-print,.weekly-sheet>.readonly-work-section{display:none!important}.print-only{display:block!important}body,.report-page,.report-card{color:#172033!important;background:#fff!important}html[data-theme=dark] .report-page *{color:#172033!important;background-color:#fff!important}.report-page{max-width:none;padding:0}.report-card{box-shadow:none}.weekly-sheet{display:block;overflow:visible;padding:0}.weekly-sheet .report-title h2{margin:0;font-size:12pt}.weekly-sheet .report-title p{margin:0 0 2mm;font-size:8pt}.weekly-grid{grid-template-columns:45mm repeat(7,minmax(0,1fr));min-width:0;width:100%;font-size:6.5pt;line-height:1.15}.weekly-grid>*{min-height:7mm;padding:1mm}.weekly-grid>:nth-child(8n+1){font-size:7pt}.weekly-grid .cycle{font-size:5.5pt}.management-section{break-inside:avoid}.weekly-print-management{break-inside:auto}.weekly-print-page-break{display:block!important;height:6mm;break-before:page;page-break-before:always}}@media(max-width:760px){.report-page{padding:14px}.report-header{align-items:flex-start}.report-toolbar,.report-fields,.template-upload-form{grid-template-columns:1fr}.compact-job-table th:nth-child(2),.compact-job-table td:nth-child(2){width:64px}.compact-job-table th:nth-child(3),.compact-job-table td:nth-child(3){width:40px;padding-right:2px;padding-left:2px}.compact-job-table .action-column{width:78px;padding-right:2px;padding-left:2px}.compact-job-table tbody .row-actions{gap:2px}.compact-job-table tbody .row-actions button{padding-right:4px;padding-left:4px}.report-fields>label:not(.full){grid-template-columns:8.8em minmax(0,1fr)}.readonly-report-group.time-group{grid-template-columns:repeat(2,minmax(0,1fr))}.readonly-report-group.time-group>div{border-bottom:1px solid #e4e7ec}.readonly-report-group.time-group>div:last-child{border-bottom:0}.readonly-report-group>div{min-height:38px;padding:3px 6px}.self-report-toolbar{grid-template-columns:1fr}.report-card{padding:18px}.job-input{grid-template-columns:1fr}.work-detail-dialog,.work-registration-dialog{width:calc(100vw - 12px);max-width:none;padding:12px}.work-detail-dialog .section-title,.work-registration-dialog .section-title{flex-flow:row nowrap;align-items:center}.monthly-detail-table{min-width:640px;font-size:.7rem}.monthly-detail-table th,.monthly-detail-table td{padding:4px 2px}}
