*{box-sizing:border-box}:root{--app-header-block: 0px;--app-main-pad-y: 20px;--w-room-no: 35px;--w-name: 60px;--w-company: 90px;--w-department: 90px;--w-group-line: 110px;--w-check-in: 100px;--w-check-out: 100px;--w-contact: 100px;--w-bed-no: 45px;--w-first-check-in: 100px;--w-last-water: 60px;--w-current-water: 60px;--w-last-power: 60px;--w-current-power: 60px;--w-water-fee: 64px;--w-power-fee: 64px;--w-stay-days: 64px;--w-daily-avg-fee: 82px;--w-total-fee: 70px;--w-note: 80px;--w-match-status: 72px;--ui-font-size: 12px;--ui-cell-height: 30px;--ui-input-padding-y: 4px;--ui-input-padding-x: 5px;--ui-btn-padding-y: 6px;--ui-btn-padding-x: 10px;--color-primary: #2563eb;--color-primary-light: #3b82f6;--color-primary-dark: #1d4ed8;--color-primary-soft: #eff6ff;--color-bg: #f1f5f9;--color-surface: #ffffff;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text: #1e293b;--color-text-muted: #64748b;--radius-sm: 6px;--radius-md: 10px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 14px rgba(15, 23, 42, .07)}body{margin:0;font-family:Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.45;-webkit-font-smoothing:antialiased}body.welcome-active,body.auth-checking{overflow:hidden}body.auth-checking,body.welcome-active{background:#0c1929}body.auth-checking .app-shell{visibility:hidden!important}body.auth-checking .welcome-screen{display:flex!important;visibility:visible!important}.app-shell[hidden]{display:none!important}.welcome-screen{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:24px 20px;background:#0c1929;overflow:hidden}.welcome-screen[hidden]{display:none!important}.welcome-bg{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 15% 20%,rgba(59,130,246,.45),transparent 55%),radial-gradient(ellipse 70% 55% at 85% 75%,rgba(14,165,233,.35),transparent 50%),radial-gradient(ellipse 50% 40% at 50% 50%,rgba(99,102,241,.2),transparent 60%),linear-gradient(155deg,#0c1929,#0f2744 40%,#132f5c)}.welcome-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;animation:welcome-orb-float 18s ease-in-out infinite}.welcome-orb-1{width:320px;height:320px;top:-8%;left:-5%;background:#3b82f6}.welcome-orb-2{width:280px;height:280px;bottom:-10%;right:-5%;background:#06b6d4;animation-delay:-6s}.welcome-orb-3{width:200px;height:200px;top:40%;left:45%;background:#6366f1;animation-delay:-12s;opacity:.35}@keyframes welcome-orb-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(24px,-20px) scale(1.05)}66%{transform:translate(-16px,16px) scale(.95)}}.welcome-layout{position:relative;z-index:1;display:flex;align-items:stretch;width:min(920px,100%);min-height:min(520px,calc(100vh - 48px));border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px #ffffff14,0 32px 64px #00000073}.welcome-hero{flex:1 1 42%;display:flex;flex-direction:column;justify-content:center;padding:40px 36px;background:linear-gradient(160deg,#2563ebeb,#1d4ed8f2 45%,#0e7490e6);color:#fff;position:relative;overflow:hidden}.welcome-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(180deg,#000 30%,transparent 100%)}.welcome-hero>*{position:relative;z-index:1}.welcome-hero-badge{display:inline-block;margin-bottom:20px;padding:5px 12px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;background:#ffffff26;border:1px solid rgba(255,255,255,.25)}.welcome-hero-icon{width:72px;height:72px;margin-bottom:20px;color:#fffffff2}.welcome-hero-icon svg{width:100%;height:100%}.welcome-hero-title{margin:0 0 10px;font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.25}.welcome-hero-desc{margin:0 0 28px;font-size:15px;opacity:.88;line-height:1.5}.welcome-hero-features{margin:0;padding:0;list-style:none;display:grid;gap:12px}.welcome-hero-features li{display:flex;align-items:center;gap:10px;font-size:14px;opacity:.92}.welcome-hero-features li:before{content:"\2713";flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:800;background:#fff3}.welcome-card{flex:1 1 58%;display:flex;flex-direction:column;justify-content:center;padding:36px 40px 28px;background:#fffffff7;backdrop-filter:blur(20px)}.welcome-brand{text-align:center;margin-bottom:28px}.welcome-logo{width:52px;height:52px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);box-shadow:0 8px 20px #3b82f666}.welcome-logo svg{width:28px;height:28px}.welcome-title{margin:0 0 8px;font-size:20px;font-weight:800;letter-spacing:-.01em;line-height:1.35;color:#0f172a}.welcome-subtitle{margin:0;font-size:14px;color:#64748b}body.auth-checking .welcome-subtitle:after{content:"\6b63\5728\8fde\63a5\670d\52a1\5668\2026";display:block;margin-top:8px;font-size:13px;color:#3b82f6}.welcome-login-form{display:grid;gap:4px}.welcome-field{margin-bottom:4px}.welcome-field label{display:block;font-size:13px;font-weight:600;color:#475569;margin-bottom:6px}.welcome-input-wrap{position:relative;display:flex;align-items:center}.welcome-input-icon{position:absolute;left:14px;display:flex;color:#94a3b8;pointer-events:none;transition:color .2s ease}.welcome-input-wrap:focus-within .welcome-input-icon{color:#3b82f6}.welcome-input-wrap input{width:100%;padding:12px 14px 12px 44px;border:1.5px solid #e2e8f0;border-radius:12px;font-size:15px;color:#0f172a;background:#f8fafc;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.welcome-input-wrap input::placeholder{color:#94a3b8}.welcome-input-wrap input:hover{border-color:#cbd5e1;background:#fff}.welcome-input-wrap input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f626}.welcome-login-options{display:flex;flex-wrap:wrap;gap:14px 20px;margin:12px 0 4px}.welcome-login-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#64748b;cursor:pointer;user-select:none}.welcome-login-check input{width:16px;height:16px;margin:0;cursor:pointer;accent-color:#3b82f6}.welcome-login-check input:disabled{cursor:not-allowed;opacity:.5}.welcome-login-error{margin:8px 0 0;padding:10px 12px;font-size:13px;line-height:1.5;color:#b91c1c;font-weight:600;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;max-height:72px;overflow:auto;word-break:break-word}.welcome-login-error[hidden]{display:none!important}.welcome-login-btn{width:100%;margin-top:16px;padding:13px 16px!important;font-size:15px!important;font-weight:700!important;letter-spacing:.02em;color:#fff!important;border:none!important;border-radius:12px!important;background:linear-gradient(135deg,#3b82f6,#2563eb,#1d4ed8)!important;box-shadow:0 8px 24px #2563eb66;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.welcome-login-btn:hover{filter:brightness(1.06);box-shadow:0 12px 28px #2563eb80;transform:translateY(-1px)}.welcome-login-btn:active{transform:translateY(0);box-shadow:0 4px 16px #2563eb59}@media(max-width:768px){.welcome-layout{flex-direction:column;min-height:auto;max-height:calc(100vh - 32px);overflow-y:auto}.welcome-hero{flex:none;padding:28px 24px}.welcome-hero-features{display:none}.welcome-hero-title{font-size:22px}.welcome-hero-icon{width:56px;height:56px;margin-bottom:12px}.welcome-card{padding:28px 24px 22px}}.header{display:none!important}.header h1{margin:0;font-size:18px;font-weight:700;text-align:center;letter-spacing:.02em}.header-actions{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px}.header-user-btn{display:inline-flex;align-items:center;gap:6px;max-width:min(320px,42vw);padding:6px 12px;border:1px solid rgba(255,255,255,.45);border-radius:var(--radius-sm);background:#ffffff1f;color:#fff;font-size:13px;font-weight:600;line-height:1.3;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s ease,border-color .15s ease}.header-user-btn:hover{background:#ffffff38;border-color:#ffffffb3}.header-user-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.container{padding:12px;display:grid;gap:10px}.layout{grid-template-columns:188px 1fr;align-items:start;gap:10px}main.container.layout:has(#staffPanel:not([hidden])){align-items:stretch;grid-template-rows:minmax(0,1fr);height:calc(100vh - var(--app-header-block) - var(--app-main-pad-y));height:calc(100dvh - var(--app-header-block) - var(--app-main-pad-y));max-height:calc(100vh - var(--app-header-block) - var(--app-main-pad-y));max-height:calc(100dvh - var(--app-header-block) - var(--app-main-pad-y));overflow:hidden}main.container.layout:has(#staffPanel:not([hidden])) .sidebar{align-self:start;grid-template-columns:1fr}main.container.layout:has(#staffPanel:not([hidden]))>.content{min-height:0;overflow:hidden}.content{display:grid;gap:8px;min-width:0}.content:has(#staffPanel:not([hidden])){display:flex;flex-direction:column;gap:8px;min-height:0}.content:has(#staffPanel:not([hidden])) .toolbar-box{flex-shrink:0}.content:has(#staffPanel:not([hidden])) #staffPanel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.content:has(#staffPanel:not([hidden])) .staff-preview-wrap{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain}.content:has(#staffPanel:not([hidden])) .staff-query-row{flex-shrink:0}.sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px;display:grid;gap:8px;align-content:start;box-shadow:var(--shadow-sm)}.layout>.sidebar .menu-group{display:grid!important;gap:4px!important;padding:8px!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-sm)!important;background:#fafbfc!important}.layout>.sidebar .menu-title{display:block!important;text-align:center!important;font-weight:700;margin:0 0 4px!important;padding:0 2px!important;font-size:12px!important;color:#1e40af!important;letter-spacing:.03em!important;text-transform:none!important}.layout>.sidebar .btn.menu-btn{display:block!important;width:100%!important;max-width:none!important;text-align:left!important;margin:0!important;float:none!important;position:static!important;box-sizing:border-box!important;border-radius:var(--radius-sm)!important}.layout>.sidebar .btn.menu-btn.active{border-color:#93c5fd!important;background:var(--color-primary-soft)!important;color:#1e40af!important;box-shadow:inset 3px 0 0 var(--color-primary)!important}.layout>.sidebar .menu-module-toggle{display:grid!important;width:100%!important}.layout>.sidebar .sidebar-hint-panel{display:grid!important}.menu-group{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px;display:grid;gap:4px;background:#fafbfc}.menu-module-settlement{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fafbfc;overflow:hidden;box-shadow:var(--shadow-sm)}.menu-module-toggle{display:grid!important;grid-template-columns:1fr auto 1fr;width:100%!important;align-items:center;gap:8px;padding:10px 12px!important;margin:0!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,#f8fafc,#eff6ff)!important;color:#1e3a8a!important;font-size:13px!important;font-weight:700!important;text-align:center!important;box-shadow:none!important;cursor:pointer}.menu-module-toggle:hover{background:linear-gradient(180deg,#eff6ff,#dbeafe)!important}.menu-module-title{grid-column:2;letter-spacing:.04em;text-align:center}.menu-module-chevron{grid-column:3;justify-self:end;flex-shrink:0;font-size:10px;color:#3b82f6;transition:transform .2s ease;line-height:1}.menu-module-settlement.expanded .menu-module-chevron{transform:rotate(0)}.menu-module-settlement:not(.expanded) .menu-module-chevron{transform:rotate(-90deg)}.menu-module-body{display:grid;gap:8px;padding:8px;border-top:1px solid var(--color-border);background:#fafbfc;overflow:hidden;transition:max-height .28s ease,opacity .2s ease,padding .2s ease;max-height:1200px;opacity:1}.menu-module-settlement:not(.expanded) .menu-module-body,.menu-module-office:not(.expanded) .menu-module-body,.menu-module-functions:not(.expanded) .menu-module-body,.menu-module-special-equipment:not(.expanded) .menu-module-body{max-height:0;padding-top:0;padding-bottom:0;opacity:0;border-top-color:transparent;pointer-events:none;visibility:hidden}.menu-module-body .menu-group{background:#fff;border-color:#e2e8f0}.dorm-floor-toolbar{display:flex;flex-basis:100%;width:100%;align-items:center;gap:6px;padding:6px 8px;border:1px solid #bfdbfe;border-radius:var(--radius-sm);background:#eff6ff;box-sizing:border-box}.dorm-floor-toolbar[hidden]{display:none!important}.dorm-floor-group{display:inline-flex;align-items:center;gap:6px}.dorm-floor-group[hidden]{display:none!important}.dorm-floor-btn{min-width:56px;padding:6px 12px!important;font-weight:700;color:#1e40af;background:#fff;border:1px solid #93c5fd}.dorm-floor-btn:hover{background:#dbeafe}.dorm-floor-btn.active{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 1px 2px #2563eb40}.layout>.sidebar .btn.menu-btn.menu-dorm-btn.active{border-color:#93c5fd!important;background:var(--color-primary-soft)!important;color:#1e40af!important;box-shadow:inset 3px 0 0 var(--color-primary)!important}.layout>.sidebar .btn.menu-btn.menu-meter-btn.active{border-color:#93c5fd!important;background:var(--color-primary-soft)!important;color:#1e40af!important;box-shadow:inset 3px 0 0 var(--color-primary)!important}.meter-form-toolbar .meter-form-btn,.meter-form-toolbar .meter-gender-btn{min-width:72px}.meter-form-toolbar .meter-form-gender-group{display:inline-flex;gap:4px;margin-right:8px;padding-right:8px;border-right:1px solid var(--color-border)}.toolbar-row-actions{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.menu-module-office{margin-top:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fafbfc;overflow:hidden;box-shadow:var(--shadow-sm)}.menu-module-office .menu-module-toggle{background:linear-gradient(180deg,#f0fdfa,#ccfbf1)!important;color:#0f766e!important}.menu-module-office .menu-module-toggle:hover{background:linear-gradient(180deg,#ccfbf1,#99f6e4)!important}.menu-module-office .menu-module-chevron{color:#0d9488}.menu-module-office.expanded .menu-module-chevron{transform:rotate(0)}.menu-module-office:not(.expanded) .menu-module-chevron{transform:rotate(-90deg)}.menu-module-office .menu-module-body .menu-btn.active{border-color:#0d9488!important;background:#ecfdf5!important;color:#0f766e!important;box-shadow:inset 0 0 0 2px #5eead4!important}.menu-module-functions{margin-top:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fafbfc;overflow:hidden;box-shadow:var(--shadow-sm)}.menu-module-functions .menu-module-toggle{background:linear-gradient(180deg,#f8fafc,#f1f5f9)!important;color:#334155!important}.menu-module-functions .menu-module-toggle:hover{background:linear-gradient(180deg,#f1f5f9,#e2e8f0)!important}.menu-module-functions .menu-module-chevron{color:#64748b}.menu-module-functions.expanded .menu-module-chevron{transform:rotate(0)}.menu-module-functions:not(.expanded) .menu-module-chevron{transform:rotate(-90deg)}.menu-module-functions .menu-module-body .menu-btn.active{border-color:#64748b!important;background:#f1f5f9!important;color:#334155!important;box-shadow:inset 3px 0 #64748b!important}.menu-module-special-equipment{margin-top:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fafbfc;overflow:hidden;box-shadow:var(--shadow-sm)}.menu-module-special-equipment .menu-module-toggle{background:linear-gradient(180deg,#eff6ff,#dbeafe)!important;color:#1d4ed8!important}.menu-module-special-equipment .menu-module-toggle:hover{background:linear-gradient(180deg,#dbeafe,#bfdbfe)!important}.menu-module-special-equipment .menu-module-chevron{color:#2563eb}.menu-module-special-equipment.expanded .menu-module-chevron{transform:rotate(0)}.menu-module-special-equipment:not(.expanded) .menu-module-chevron{transform:rotate(-90deg)}.menu-module-special-equipment .menu-module-body .menu-btn.active{border-color:#2563eb!important;background:#eff6ff!important;color:#1d4ed8!important;box-shadow:inset 0 0 0 2px #93c5fd!important}.sidebar-hint-panel{margin-top:4px;padding-top:10px;border-top:1px solid var(--color-border);display:grid;gap:8px}.sidebar-hint-panel[hidden]{display:none!important}.sidebar-hint-label{font-size:12px;font-weight:700;color:var(--color-text-muted);text-align:left;line-height:1.2}.sidebar-hint-body{min-height:88px;padding:8px 10px;background:#fff;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:12px;font-weight:600;line-height:1.45;color:var(--color-text);white-space:normal;word-break:normal;overflow-wrap:break-word;text-align:left}.sidebar-hint-body:not(:empty){color:#b91c1c;background:#fef2f2;border-color:#fecaca}.menu-title{font-size:12px;font-weight:700;color:#1e40af;letter-spacing:.03em;text-align:center}.toolbar-box{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;box-shadow:var(--shadow-sm);min-height:52px;box-sizing:border-box}#mainToolbarBox[hidden],#mainTableWrap[hidden],#homePortalPanel[hidden]{display:none!important}#activeMonthWrap{display:inline-flex;align-items:center}#activeMonthWrap[hidden]{display:none!important}#mainSheetToolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}#mainSheetToolbar[hidden]{display:none!important}#officeSupplyToolbarWrap{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}#officeSupplyToolbarWrap[hidden]{display:none!important}.content:has(#officeSupplyPanel:not([hidden])) .toolbar-box{flex-shrink:0}.staff-toolbar-import[hidden]{display:none!important}.export-split-wrap{position:relative;display:inline-flex;align-items:center}.export-menu-toggle{min-width:78px;text-align:center}.export-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:200px;display:grid;gap:2px;padding:6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-md)}.export-menu[hidden]{display:none!important}.export-menu-item{text-align:left;width:100%;border-radius:4px;border-color:transparent;background:transparent}.export-menu-item:hover{background:var(--color-primary-soft);border-color:#bfdbfe;color:#1e40af}.batch-dates-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;border:1px dashed #cbd5e1;border-radius:var(--radius-sm);background:#f8fafc;font-size:12px}#batchDatesWrap[hidden]{display:none!important}.batch-dates-label{font-weight:600;color:var(--color-text-muted);white-space:nowrap}.batch-dates-wrap input[type=date]{max-width:128px}.batch-dates-ck{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;cursor:pointer;user-select:none}.batch-dates-ck input{margin:0;cursor:pointer}#staffToolbarImportWrap.staff-toolbar-import{display:flex;flex:1;min-width:0;flex-wrap:wrap;align-items:center;gap:8px 14px}.staff-import-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;flex:0 0 auto}.staff-import-warning{flex:1 1 200px;min-width:0;font-size:12px;font-weight:700;color:#9a3412;line-height:1.4}.staff-toolbar-import .staff-meta{font-size:12px;color:#334155}.staff-toolbar-import input[type=file]{font-size:12px;max-width:min(240px,36vw)}.db-status{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent;white-space:nowrap}.header-actions .db-status{margin-left:0;box-shadow:0 1px 2px #0f172a1f}.db-status-loading{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.db-status-ok{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.db-status-error{background:#fef2f2;color:#991b1b;border-color:#fecaca}.btn{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--ui-btn-padding-y) var(--ui-btn-padding-x);font-size:var(--ui-font-size);font-weight:600;color:var(--color-text);cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.btn:hover:not(.primary):not(.menu-btn){background:#f8fafc;border-color:#94a3b8}.btn:active{transform:translateY(0)}.btn.primary{border-color:var(--color-primary-dark);background-color:var(--color-primary);background-image:linear-gradient(180deg,var(--color-primary-light) 0%,var(--color-primary) 100%);color:#fff;box-shadow:0 1px 2px #2563eb40}.btn.primary:hover{background-color:var(--color-primary-dark);background-image:linear-gradient(180deg,#60a5fa 0%,var(--color-primary-dark) 100%);border-color:var(--color-primary-dark);color:#fff}.menu-btn{width:100%;text-align:left;font-weight:600}.menu-btn:hover:not(.active){background:#f1f5f9;border-color:var(--color-border)}.menu-btn.active{border-color:#93c5fd;background:var(--color-primary-soft);color:#1e40af;box-shadow:inset 3px 0 0 var(--color-primary)}input,select{border:1px solid var(--color-border-strong);background:#fff;padding:var(--ui-input-padding-y) 8px;font-size:var(--ui-font-size);border-radius:var(--radius-sm);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 2px #2563eb26}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 160px);box-shadow:var(--shadow-sm)}.table-wrap>table{border-collapse:collapse;width:max-content;table-layout:fixed}th,td{border:1px solid #e2e8f0;padding:0;font-size:var(--ui-font-size);text-align:center;height:var(--ui-cell-height)}th{position:sticky;top:0;z-index:2;background:#f1f5f9;color:var(--color-text);font-weight:700;padding:3px 4px;white-space:normal;word-break:break-all}#sheetMetaRow th{position:static;background:#f8fafc;font-size:14px;font-weight:700;height:34px;white-space:nowrap;border-top:0!important;border-left:0!important;border-right:0!important;border-bottom:1px solid var(--color-border-strong)!important}#sheetMetaRow .meta-left{text-align:left;padding-left:8px}#sheetMetaRow .meta-center{text-align:center}#sheetMetaRow .meta-right{text-align:right;padding-right:8px}td input{width:100%;border:0;background:#fff;height:100%;padding:var(--ui-input-padding-y) var(--ui-input-padding-x);font-size:var(--ui-font-size);text-align:center}td input:focus{outline:none;box-shadow:inset 0 0 0 2px #2563eb59;background:#eff6ff}td input[readonly]{cursor:default;background:#f2f4f7;color:#444}td input[readonly]:focus{outline:none;background:#f2f4f7}td input.settlement-date-inactive{cursor:default;background:#fff;color:inherit}td input.settlement-date-inactive:focus{outline:none;background:#fff}.settlement-date-wrap{position:relative;display:block;width:100%;height:100%;overflow:hidden;box-sizing:border-box}.settlement-date-text{display:block;width:100%!important;min-width:0;border:0;background:#fff;height:100%;padding:var(--ui-input-padding-y) 22px var(--ui-input-padding-y) var(--ui-input-padding-x);font-size:var(--ui-font-size);text-align:center}.settlement-date-text:focus{outline:none;box-shadow:inset 0 0 0 2px #2563eb59;background:#eff6ff}.settlement-date-native{position:absolute;right:0;top:0;width:22px;height:100%;margin:0;padding:0;border:0;border-left:1px solid var(--color-border, #e2e8f0);background:#fff;cursor:pointer;color:transparent;font-size:0;line-height:0}.settlement-date-native:focus{outline:none}.settlement-date-native::-webkit-datetime-edit,.settlement-date-native::-webkit-datetime-edit-fields-wrapper,.settlement-date-native::-webkit-datetime-edit-text,.settlement-date-native::-webkit-datetime-edit-month-field,.settlement-date-native::-webkit-datetime-edit-day-field,.settlement-date-native::-webkit-datetime-edit-year-field{display:none}.settlement-date-native::-webkit-inner-spin-button,.settlement-date-native::-webkit-clear-button{display:none;-webkit-appearance:none}.settlement-date-native::-webkit-calendar-picker-indicator{display:block;width:16px;height:16px;margin:auto;padding:0;opacity:1;cursor:pointer}#mainTableWrap.settlement-meter-cols-hidden .col-meter-hidden-group{display:none!important}#mainTableWrap.settlement-meter-cols-hidden .main-colgroup col:nth-child(n+12):nth-child(-n+21){width:0!important;min-width:0!important;max-width:0!important;padding:0!important;border:none!important;visibility:collapse}td input[type=number]{-moz-appearance:textfield;appearance:textfield}td input[type=number]::-webkit-outer-spin-button,td input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#mainTableWrap input[data-meter-field=lastWaterMeter],#mainTableWrap input[data-meter-field=lastPowerMeter]{color:#dc2626;font-weight:600}td.readonly{background:#f2f4f7;font-weight:600;padding:4px}td.calc{background:#fff7a6;font-weight:600;padding:4px}.table-wrap .main-colgroup col:nth-child(1){width:var(--w-room-no)!important;min-width:var(--w-room-no);max-width:var(--w-room-no)}.table-wrap .main-colgroup col:nth-child(2){width:var(--w-name)!important;min-width:var(--w-name);max-width:var(--w-name)}.table-wrap .main-colgroup col:nth-child(3){width:var(--w-company)!important;min-width:var(--w-company);max-width:var(--w-company)}.table-wrap .main-colgroup col:nth-child(4){width:var(--w-department)!important;min-width:var(--w-department);max-width:var(--w-department)}.table-wrap .main-colgroup col:nth-child(5){width:var(--w-group-line)!important;min-width:var(--w-group-line);max-width:var(--w-group-line)}.table-wrap .main-colgroup col:nth-child(6){width:var(--w-check-in)!important;min-width:var(--w-check-in);max-width:var(--w-check-in)}.table-wrap .main-colgroup col:nth-child(7){width:var(--w-check-out)!important;min-width:var(--w-check-out);max-width:var(--w-check-out)}.table-wrap .main-colgroup col:nth-child(8){width:var(--w-contact)!important;min-width:var(--w-contact);max-width:var(--w-contact)}.table-wrap .main-colgroup col:nth-child(9){width:var(--w-bed-no)!important;min-width:var(--w-bed-no);max-width:var(--w-bed-no)}.table-wrap .main-colgroup col:nth-child(10){width:var(--w-first-check-in)!important;min-width:var(--w-first-check-in);max-width:var(--w-first-check-in)}.table-wrap .main-colgroup col:nth-child(11){width:var(--w-last-water)!important;min-width:var(--w-last-water);max-width:var(--w-last-water)}.table-wrap .main-colgroup col:nth-child(12){width:var(--w-current-water)!important;min-width:var(--w-current-water);max-width:var(--w-current-water)}.table-wrap .main-colgroup col:nth-child(13){width:var(--w-last-power)!important;min-width:var(--w-last-power);max-width:var(--w-last-power)}.table-wrap .main-colgroup col:nth-child(14){width:var(--w-current-power)!important;min-width:var(--w-current-power);max-width:var(--w-current-power)}.table-wrap .main-colgroup col:nth-child(15){width:var(--w-water-fee)!important;min-width:var(--w-water-fee);max-width:var(--w-water-fee)}.table-wrap .main-colgroup col:nth-child(16){width:var(--w-power-fee)!important;min-width:var(--w-power-fee);max-width:var(--w-power-fee)}.table-wrap .main-colgroup col:nth-child(17){width:var(--w-stay-days)!important;min-width:var(--w-stay-days);max-width:var(--w-stay-days)}.table-wrap .main-colgroup col:nth-child(18){width:var(--w-daily-avg-fee)!important;min-width:var(--w-daily-avg-fee);max-width:var(--w-daily-avg-fee)}.table-wrap .main-colgroup col:nth-child(19){width:var(--w-total-fee)!important;min-width:var(--w-total-fee);max-width:var(--w-total-fee)}.table-wrap .main-colgroup col:nth-child(20){width:var(--w-note)!important;min-width:var(--w-note);max-width:var(--w-note)}.table-wrap .main-colgroup col:nth-child(21){width:var(--w-match-status)!important;min-width:var(--w-match-status);max-width:var(--w-match-status)}#mainTableWrap.settlement-meter-cols-hidden .main-colgroup col:nth-child(11){width:var(--w-match-status)!important;min-width:var(--w-match-status);max-width:var(--w-match-status)}td.col-match-status{text-align:center;font-size:11px;color:var(--color-text-muted);padding:0 4px;vertical-align:middle;white-space:nowrap}td.col-match-status.match-status-dup{color:#dc2626;font-weight:600}td.col-match-status.match-status-none{color:#b45309}td.col-match-status.match-status-skip{color:#64748b}td.col-match-status.match-status-ok{color:#15803d}.table-wrap tbody tr.settlement-row-match-warn td.col-staff-info{background-color:#fff7ed!important}.table-wrap tbody tr.settlement-row-match-warn td.col-staff-info input:not([readonly]),.table-wrap tbody tr.settlement-row-match-warn td.col-staff-info .settlement-date-text{background-color:#ffedd5}.table-wrap tbody tr.settlement-row-match-dup td.col-staff-info{background-color:#fef2f2!important}.table-wrap tbody tr.settlement-row-match-dup td.col-staff-info input:not([readonly]),.table-wrap tbody tr.settlement-row-match-dup td.col-staff-info .settlement-date-text{background-color:#fee2e2}.table-wrap tbody tr.settlement-row-match-warn td.col-match-status,.table-wrap tbody tr.settlement-row-match-dup td.col-match-status{font-weight:600}.staff-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:12px;min-width:0;max-width:100%;box-shadow:var(--shadow-sm)}.staff-panel textarea{width:100%;border:1px solid #aab2bc;background:#f8fafc;padding:8px;font-size:12px;border-radius:2px;font-family:inherit}.staff-actions{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.staff-query-row{margin-top:4px}.staff-panel>.staff-query-row.staff-actions{margin-top:0}.staff-query-label{font-size:12px;font-weight:700;color:#334155;white-space:nowrap}#staffQueryName{min-width:160px;flex:1;max-width:320px}.staff-meta{font-size:12px;color:#334155}.staff-actions input[type=file]{font-size:12px;border:1px solid #aab2bc;background:#f7f8fa;padding:4px 6px;border-radius:2px}.staff-preview-wrap{margin-top:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;max-height:min(720px,calc(100vh - 200px));width:100%;max-width:100%;min-width:0;min-height:0;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.staff-preview-table{border-collapse:collapse;table-layout:auto;width:max-content;min-width:100%}.staff-preview-table.staff-preview-matrix th,.staff-preview-table.staff-preview-matrix td{max-width:14rem}.staff-preview-table th,.staff-preview-table td{border:1px solid #c7cdd4;padding:4px 6px;font-size:12px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-preview-table th{position:sticky;top:0;background:#f1f5f9;z-index:1}tr.staff-virt-spacer{height:0}.staff-virt-spacer-cell{padding:0!important;border:none!important;line-height:0;font-size:0;vertical-align:top;background:transparent!important}.export-viewer{position:fixed;inset:0;z-index:1000;background:#323639;color:#e8eaed}.export-viewer[hidden]{display:none!important}.export-viewer-shell{display:flex;flex-direction:column;height:100%;min-height:0}.export-viewer-toolbar{flex:0 0 auto;display:flex;align-items:center;gap:12px;min-height:48px;padding:0 12px 0 16px;background:#3c4043;border-bottom:1px solid #202124;box-shadow:0 1px #ffffff0f}.export-viewer-toolbar-start{flex:1 1 0;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}.export-viewer-filename{font-size:13px;font-weight:500;color:#f1f3f4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(520px,42vw)}.export-viewer-hint{font-size:11px;color:#9aa0a6;white-space:nowrap}.export-viewer-toolbar-center{flex:0 0 auto;display:flex;align-items:center;gap:10px}.export-viewer-zoom-label{font-size:12px;color:#9aa0a6;min-width:40px;text-align:center}.export-viewer-zoom-group{display:inline-flex;align-items:center;gap:2px;padding:2px;background:#292a2d;border-radius:6px;border:1px solid #5f6368}.export-viewer-toolbar-end{flex:1 1 0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.export-viewer-tool-btn{appearance:none;border:1px solid #5f6368;background:#292a2d;color:#e8eaed;font-size:13px;line-height:1.2;padding:6px 14px;border-radius:4px;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.export-viewer-tool-btn:hover{background:#3c4043;border-color:#80868b}.export-viewer-tool-btn-primary{background:#8ab4f8;border-color:#8ab4f8;color:#202124;font-weight:600}.export-viewer-tool-btn-primary:hover{background:#aecbfa;border-color:#aecbfa}.export-zoom-btn.active{background:#5f6368;border-color:#9aa0a6;color:#fff}.export-viewer-stage{flex:1 1 auto;min-height:0;overflow:auto;padding:28px 24px 32px;background:#525659;display:flex;justify-content:center;align-items:flex-start}.export-viewer-paper{width:min(1100px,100%);min-height:min(75vh,900px);background:#fff;box-shadow:0 4px 24px #00000073,0 0 0 1px #00000014;border-radius:2px;overflow:hidden}.export-viewer-paper.luckysheet-mode{width:min(1280px,100%);max-width:100%;overflow:visible}.export-viewer-paper.luckysheet-mode .export-preview-content{min-height:min(74vh,880px)}.export-luckysheet-host{width:100%;min-height:min(74vh,880px);transform-origin:top center}.export-preview-loading{margin:0;padding:48px 16px;text-align:center;color:#64748b;font-size:14px}.export-viewer-stage .luckysheet{border:0!important}.export-preview-content{width:100%;min-height:min(75vh,900px);height:100%}.export-preview-frame{display:block;width:100%;min-height:min(75vh,900px);height:100%;border:0;background:#fff}.export-viewer-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:10px 16px;background:#3c4043;border-top:1px solid #202124}.export-viewer-footer-btn{appearance:none;border:1px solid #5f6368;background:transparent;color:#e8eaed;font-size:14px;padding:8px 20px;border-radius:4px;cursor:pointer;font-family:inherit}.export-viewer-footer-btn:hover{background:#292a2d}.export-viewer-footer-btn-primary{background:#8ab4f8;border-color:#8ab4f8;color:#202124;font-weight:600;min-width:96px}.export-viewer-footer-btn-primary:hover{background:#aecbfa;border-color:#aecbfa}.settings-panel{padding:12px 4px 20px;max-width:720px}.settings-title{margin:0;font-size:18px;font-weight:700}.settings-head{flex-wrap:wrap;gap:10px;margin-bottom:8px}.settings-meta{color:var(--color-text-muted);font-size:13px}.settings-hint{margin:0 0 16px;font-size:12px;color:var(--color-text-muted);line-height:1.5}.settings-subtitle{margin:0 0 8px;font-size:14px;font-weight:700}.settings-restore-wrap{margin:16px 0 20px;padding:12px 14px;border:1px solid #fecaca;border-radius:var(--radius-md);background:#fffbeb}.settings-restore-hint{margin:0 0 10px;font-size:12px;color:var(--color-text-muted);line-height:1.5}.settings-restore-hint code{font-size:11px}.settings-import-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.settings-import-actions input[type=file]{max-width:100%;font-size:12px}.settings-add-form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:20px}.settings-label{font-size:12px;color:var(--color-text-muted)}.settings-add-form input,.settings-add-form select{min-width:120px;padding:var(--ui-input-padding-y) var(--ui-input-padding-x);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--ui-font-size)}.settings-users-table{width:100%;border-collapse:collapse;font-size:var(--ui-font-size);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.settings-users-table th,.settings-users-table td{padding:8px 10px;border-bottom:1px solid var(--color-border);text-align:left}.settings-users-table th{background:var(--color-primary-soft);font-weight:700}.settings-users-table tr:last-child td{border-bottom:0}.settings-role-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.settings-role-badge.admin{background:#dbeafe;color:#1d4ed8}.settings-role-badge.user{background:#f1f5f9;color:#475569}.settings-perms-block{flex:1 1 100%;margin:4px 0 8px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg, #f8fafc)}.settings-perms-title{font-size:13px;font-weight:700;margin-bottom:4px}.settings-perms-hint{margin:0 0 8px;font-size:11px;color:var(--color-text-muted);line-height:1.4}.settings-perms-grid{display:grid;gap:6px}.settings-perms-row{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(120px,1fr);gap:8px;align-items:center}.settings-perms-row label{font-size:12px;color:var(--color-text)}.settings-perms-row select{min-width:0;width:100%;padding:var(--ui-input-padding-y) var(--ui-input-padding-x);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--ui-font-size)}.settings-perms-summary{font-size:11px;color:var(--color-text-muted);line-height:1.35;max-width:220px}.settings-edit-user-wrap{margin-bottom:16px;padding:12px;border:1px solid var(--color-primary, #3b82f6);border-radius:var(--radius-md);background:var(--color-primary-soft, #eff6ff)}body.auth-settlement-readonly #sheetBody input:not([type=hidden]),body.auth-settlement-readonly #sheetBody select,body.auth-settlement-readonly #sheetBody textarea,body.auth-settlement-readonly #staffPanel input:not([type=hidden]),body.auth-settlement-readonly #staffPanel select,body.auth-settlement-readonly #staffPanel textarea{pointer-events:none;background:#f8fafc}body.auth-settlement-readonly [data-action=copyToNextMonth],body.auth-settlement-readonly #saveBtn,body.auth-settlement-readonly #staffImportBtn,body.auth-settlement-readonly #staffToolbarImportWrap,body.auth-settlement-readonly #matchStaffDataBtn,body.auth-settlement-readonly #batchApplyDatesBtn{display:none!important}.export-layout-panel.is-readonly .export-layout-input,.export-layout-panel.is-readonly .export-layout-checkbox,.export-layout-panel.is-readonly textarea,.export-layout-panel.is-readonly select{pointer-events:none;background:#f8fafc}.login-modal{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:16px}.login-modal[hidden]{display:none!important}.login-modal-backdrop{position:absolute;inset:0;background:#0f172a73}.login-modal-card{position:relative;width:min(400px,100%);padding:20px 22px;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.login-modal-title{margin:0 0 14px;font-size:18px;font-weight:700}.login-form{display:grid;gap:8px}.login-form-hint{margin:0 0 4px;font-size:11px;color:var(--color-text-muted);line-height:1.45}.login-form label{font-size:12px;color:var(--color-text-muted)}.login-form input{padding:var(--ui-input-padding-y) var(--ui-input-padding-x);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:14px}.login-modal-error{margin:0;font-size:12px;color:#b91c1c}.login-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.toast-msg{position:fixed;right:20px;top:20px;z-index:1200;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;border-radius:6px;padding:10px 14px;font-size:13px;font-weight:700;box-shadow:0 8px 24px #0206171f}.toast-msg[hidden]{display:none!important}@media(max-width:1366px){:root{--w-name: 54px;--w-company: 84px;--w-department: 84px;--w-group-line: 82px;--w-contact: 94px}.layout{grid-template-columns:160px 1fr}.table-wrap{max-height:calc(100vh - 170px)}}@media(max-width:1024px){:root{--w-room-no: 30px;--w-name: 50px;--w-company: 78px;--w-department: 78px;--w-group-line: 76px;--w-check-in: 84px;--w-check-out: 84px;--w-contact: 86px;--w-bed-no: 40px;--w-first-check-in: 84px}.layout{grid-template-columns:1fr}.sidebar{grid-template-columns:1fr 1fr}main.container.layout:has(#staffPanel:not([hidden])){grid-template-columns:minmax(140px,180px) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}main.container.layout:has(#staffPanel:not([hidden])) .sidebar{grid-template-columns:1fr}.toolbar-box{gap:4px}.table-wrap{max-height:calc(100vh - 230px)}.export-print-layout{grid-template-columns:1fr}.export-print-panel{border-left:0;border-top:1px solid #d1d5db}}@media(max-width:768px){:root{--w-room-no: 28px;--w-name: 46px;--w-company: 72px;--w-department: 72px;--w-group-line: 70px;--w-check-in: 78px;--w-check-out: 78px;--w-contact: 78px;--w-bed-no: 36px;--w-first-check-in: 78px}.container{padding:6px;gap:6px}.sidebar{grid-template-columns:1fr}main.container.layout:has(#staffPanel:not([hidden])){grid-template-columns:minmax(120px,1fr) minmax(0,2fr);grid-template-rows:minmax(0,1fr)}main.container.layout:has(#staffPanel:not([hidden])) .sidebar{grid-template-columns:1fr}.toolbar-box{padding:6px}.db-status{margin-left:0}.table-wrap{max-height:calc(100vh - 260px)}.export-viewer-stage{padding:12px 8px 16px}.export-viewer-toolbar{padding:0 8px;gap:8px}.export-viewer-filename{font-size:12px;max-width:42vw}}.export-layout-panel{padding:12px 16px 24px;min-width:0;width:100%;max-width:100%;box-sizing:border-box}.export-layout-title{margin:0 0 6px;font-size:20px;font-weight:700}.export-layout-hint{margin:0 0 14px;font-size:13px;color:var(--color-text-muted);line-height:1.5}.export-layout-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.export-layout-tab.active{background:var(--color-primary, #2563eb);color:#fff;border-color:var(--color-primary, #2563eb)}.export-layout-body{display:flex;flex-direction:column;gap:18px}.export-layout-section{padding:12px 14px;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 8px);background:#fff}.export-layout-subtitle{margin:0 0 10px;font-size:15px;font-weight:700}.export-layout-note{margin:0 0 10px;font-size:12px;color:var(--color-text-muted)}.export-layout-field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px 12px}.export-layout-dept-title{margin:14px 0 8px;font-size:13px;font-weight:600;color:var(--color-text)}.export-layout-dept-title:first-of-type{margin-top:0}.export-layout-dept-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}.export-layout-dept-default{margin-top:12px}.export-layout-loading{margin:12px 0;font-size:13px;color:var(--color-text-muted)}.export-layout-field{display:flex;flex-direction:column;gap:4px;font-size:12px}.export-layout-field-inline{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.export-layout-field-label{color:var(--color-text-muted);min-width:4.5em}.export-layout-input{width:5.5em;padding:4px 6px;border:1px solid #cbd5e1;border-radius:4px;font-size:13px}.export-layout-field-unit{color:var(--color-text-muted);font-size:12px}.export-layout-row-height-fields{display:flex;flex-wrap:wrap;gap:12px 20px}.export-layout-boys-block{margin-top:14px;padding:12px 14px;border:1px solid #fed7aa;border-radius:var(--radius-md, 8px);background:#fff7ed}.export-layout-boys-title{margin:0 0 6px;font-size:14px;font-weight:700;color:#9a3412}.export-layout-boys-hint{margin:0 0 10px;font-size:12px;color:#78716c;line-height:1.45}.export-layout-preview-wrap{overflow:auto;max-width:100%;padding:8px;border:1px dashed #cbd5e1;border-radius:6px;background:#f8fafc}.export-layout-preview-inner{min-width:0;max-width:100%}.export-layout-preview-table{border-collapse:collapse;table-layout:fixed;font-size:11px;background:#fff}.export-layout-preview-table th,.export-layout-preview-table td{border:1px solid #000;padding:2px 4px;text-align:center;vertical-align:middle;overflow:hidden;white-space:nowrap}.export-layout-preview-table .preview-meta th,.export-layout-preview-table .preview-title th{background:#fff;font-weight:700}.export-layout-preview-table .preview-header th{background:#e5e7eb;font-weight:700}.export-layout-preview-table .preview-boys-sample td{background:#ffedd5}.export-layout-preview-table .preview-gap{background:#f3f4f6;border-left:0;border-right:0}.export-layout-preview-caption{margin:8px 0 0;font-size:12px;color:var(--color-text-muted)}.export-layout-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}.export-layout-save-hint{font-size:12px;color:#b45309}.layout>.sidebar .menu-btn-home{display:block!important;width:100%!important;margin:0 0 8px!important;padding:10px 12px!important;font-weight:700!important;font-size:13px!important;text-align:center!important;background:linear-gradient(180deg,#f8fafc,#eff6ff)!important;color:#1e40af!important;border:1px solid #bfdbfe!important;box-shadow:var(--shadow-sm)!important}.layout>.sidebar .btn.menu-btn.menu-btn-home{text-align:center!important}.layout>.sidebar .btn.menu-btn.menu-btn-home.active{border-color:transparent!important;background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important;box-shadow:inset 0 0 0 3px #ffffffe0,0 2px 10px #2563eb73!important}.layout>.sidebar .menu-btn-home:hover{filter:brightness(1.03)}.layout>.sidebar .menu-btn-home.active:hover{filter:brightness(1.06)}.layout>.sidebar .menu-btn-special-equipment{display:block!important;width:100%!important;margin:8px 0 0!important;padding:10px 12px!important;font-weight:700!important;font-size:13px!important;text-align:center!important;background:linear-gradient(180deg,#eff6ff,#dbeafe)!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important;box-shadow:var(--shadow-sm)!important}.layout>.sidebar .btn.menu-btn.menu-btn-special-equipment{text-align:center!important}.layout>.sidebar .btn.menu-btn.menu-btn-special-equipment.active{border-color:transparent!important;background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important;box-shadow:inset 0 0 0 3px #ffffffe0,0 2px 10px #2563eb73!important}.layout>.sidebar .menu-btn-special-equipment:hover{filter:brightness(1.03)}.layout>.sidebar .menu-btn-settings{display:block!important;width:100%!important;margin:8px 0 0!important;padding:10px 12px!important;font-weight:700!important;font-size:13px!important;text-align:center!important;background:linear-gradient(180deg,#f8fafc,#e2e8f0)!important;color:#334155!important;border:1px solid #cbd5e1!important;box-shadow:var(--shadow-sm)!important}.layout>.sidebar .btn.menu-btn.menu-btn-settings{text-align:center!important}.layout>.sidebar .btn.menu-btn.menu-btn-settings.active{border-color:transparent!important;background:linear-gradient(135deg,#475569,#334155)!important;color:#fff!important;box-shadow:inset 0 0 0 3px #ffffffe0,0 2px 10px #33415566!important}.layout>.sidebar .menu-btn-settings:hover{filter:brightness(1.03)}.special-equipment-toolbar-actions-wrap{display:inline-flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.special-equipment-toolbar-actions-wrap[hidden]{display:none!important}.special-equipment-sheet-tabs-row{display:flex;flex-basis:100%;flex-wrap:wrap;width:100%;align-items:center;gap:6px;padding:6px 8px;border:1px solid #bfdbfe;border-radius:var(--radius-sm);background:#eff6ff;box-sizing:border-box}.special-equipment-sheet-tabs-row[hidden]{display:none!important}.special-equipment-sheet-tabs{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1 1 auto;min-width:0}.special-equipment-sheet-btn{padding:6px 10px!important;font-size:12px;font-weight:600;color:#1e40af;background:#fff;border:1px solid #93c5fd;white-space:nowrap}.special-equipment-sheet-btn:hover{background:#dbeafe}.special-equipment-sheet-btn.active{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 1px 2px #2563eb40}.special-equipment-tabs-hint{font-size:12px;color:var(--color-text-muted)}main.container.layout:has(#officeSupplyPanel:not([hidden])),main.container.layout:has(#officeSupplyApplyPanel:not([hidden])),main.container.layout:has(#officeSupplyDistributionPanel:not([hidden])){align-items:stretch;grid-template-rows:minmax(0,1fr);height:calc(100vh - var(--app-header-block) - var(--app-main-pad-y));height:calc(100dvh - var(--app-header-block) - var(--app-main-pad-y));max-height:calc(100vh - var(--app-header-block) - var(--app-main-pad-y));max-height:calc(100dvh - var(--app-header-block) - var(--app-main-pad-y));overflow:hidden}main.container.layout:has(#officeSupplyPanel:not([hidden]))>.content,main.container.layout:has(#officeSupplyApplyPanel:not([hidden]))>.content,main.container.layout:has(#officeSupplyDistributionPanel:not([hidden]))>.content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.content:has(#officeSupplyPanel:not([hidden])) .toolbar-box,.content:has(#officeSupplyApplyPanel:not([hidden])) .toolbar-box,.content:has(#officeSupplyDistributionPanel:not([hidden])) .toolbar-box{flex-shrink:0}.content:has(#officeSupplyPanel:not([hidden])) #officeSupplyPanel,.content:has(#officeSupplyApplyPanel:not([hidden])) #officeSupplyApplyPanel,.content:has(#officeSupplyDistributionPanel:not([hidden])) #officeSupplyDistributionPanel{flex:1 1 auto;min-height:0;min-width:0;max-width:100%;width:100%;display:flex;flex-direction:column;overflow:hidden}.office-supply-host{flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column}.office-supply-host[hidden]{display:none!important}.office-supply-panel{flex:1 1 auto;min-height:0;min-width:0;max-width:100%;width:100%;display:flex;flex-direction:column;padding:10px 12px;background:#eef2f7;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.office-supply-month-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.office-supply-month-label input{padding:4px 8px;border:1px solid #cbd5e1;border-radius:4px}.office-supply-dirty{font-size:12px;color:#b45309;font-weight:600}.office-supply-readonly-tag{font-size:12px;color:#64748b;padding:4px 8px;background:#f1f5f9;border-radius:4px}.office-supply-import-label{cursor:pointer;margin:0}.office-supply-sheet-head{text-align:center;margin-bottom:8px;padding:8px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-shrink:0}.office-supply-sheet-title{margin:0 0 4px;font-size:18px;font-weight:700;color:#1e3a8a}.office-supply-sheet-note{margin:0;font-size:12px;color:#64748b}.office-supply-sheet-unit{margin:4px 0 0;font-size:12px;color:#475569}.office-supply-loading{margin:8px 0;color:#64748b;flex-shrink:0}.office-supply-empty-hint{margin:0 0 8px;padding:8px 10px;font-size:13px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-sm);flex-shrink:0}.office-supply-table-wrap{flex:1 1 0;min-height:120px;min-width:0;max-width:100%;width:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;overscroll-behavior:contain;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.office-supply-table{width:max-content;min-width:100%;min-height:100%;border-collapse:collapse;font-size:12px}.office-supply-table tr.os-total-row td{background:#f8fafc;font-weight:700}.office-supply-table tr.os-total-row .os-total-label{text-align:center}.office-supply-table tr.os-total-row .os-total-sum{text-align:right;padding-right:6px;color:#1e3a8a}.office-supply-table tr.os-fill-row td.os-fill-cell{padding:0;background:#fff;border:1px solid #e2e8f0;vertical-align:top;font-weight:400}.office-supply-table th,.office-supply-table td{border:1px solid #e2e8f0;padding:2px 4px;vertical-align:middle}.office-supply-table thead th{position:sticky;top:0;z-index:3;background:#eff6ff;color:#1e40af;font-weight:700;white-space:nowrap;padding:6px 4px;box-shadow:0 1px #cbd5e1}.office-supply-table input{width:100%;min-width:0;border:0;background:transparent;font-size:12px;padding:4px 2px;box-sizing:border-box}.office-supply-table input:focus{outline:2px solid #93c5fd;background:#fff}.office-supply-table input[readonly]{color:#334155}.office-supply-table .os-seq{width:40px;text-align:center;background:#f8fafc}.office-supply-table .os-seq--menu{cursor:context-menu;user-select:none;color:#475569;font-weight:600}.office-supply-table .os-seq--menu:hover{background:#e0f2fe;color:#0369a1}.os-row-context-menu{position:fixed;z-index:10050;min-width:148px;padding:4px 0;background:#fff;border:1px solid var(--color-border-strong, #cbd5e1);border-radius:var(--radius-sm, 6px);box-shadow:0 8px 24px #0f172a24}.os-row-context-menu button{display:block;width:100%;padding:8px 14px;border:none;background:transparent;text-align:left;font-size:13px;color:#0f172a;cursor:pointer}.os-row-context-menu button:hover{background:#f1f5f9}.os-row-context-menu button:disabled{color:#94a3b8;cursor:not-allowed}.os-row-context-menu button:disabled:hover{background:transparent}.os-row-context-menu button.os-row-menu-danger{color:#dc2626;border-top:1px solid #e2e8f0;margin-top:2px;padding-top:10px}.os-row-context-menu button.os-row-menu-danger:hover{background:#fef2f2}.os-name-context-menu{position:fixed;z-index:10051;min-width:132px;padding:4px 0;background:#fff;border:1px solid var(--color-border-strong, #cbd5e1);border-radius:var(--radius-sm, 6px);box-shadow:0 8px 24px #0f172a24}.os-name-context-menu button{display:block;width:100%;padding:8px 14px;border:none;background:transparent;text-align:left;font-size:13px;color:#0f172a;cursor:pointer}.os-name-context-menu button:hover{background:#f1f5f9}.os-name-context-menu button[data-os-name-fill=yellow]:before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-2px;background:#ff0;border:1px solid #ca8a04}.os-name-context-menu button[data-os-name-fill=blue]:before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-2px;background:#4472c4;border:1px solid #1e3a8a}.office-supply-table td.os-name-cell{padding:0}.office-supply-table td.os-name-fill-yellow{background:#ffeb3b}.office-supply-table td.os-name-fill-yellow input,.office-supply-table td.os-name-fill-yellow input:focus{background:#ffeb3b!important}.office-supply-table td.os-name-fill-blue{background:#4472c4}.office-supply-table td.os-name-fill-blue input,.office-supply-table td.os-name-fill-blue input:focus{background:#4472c4!important;color:#fff}.office-supply-table td.os-name-cell:not(.os-name-fill-yellow):not(.os-name-fill-blue){cursor:context-menu}.office-supply-table td.os-name-fill-yellow,.office-supply-table td.os-name-fill-blue{cursor:context-menu}.office-supply-table .os-name{min-width:160px}.office-supply-table .os-spec{min-width:120px}.office-supply-table .os-unit{width:48px}.office-supply-table .os-num{width:72px;text-align:right}.office-supply-table .os-note{min-width:100px}.office-supply-table .os-dept{min-width:64px;text-align:center}.office-supply-table .os-readonly{background:#f8fafc;text-align:right;padding-right:6px}.office-supply-table tfoot .office-supply-foot-cell{padding:8px 10px;background:#f8fafc;text-align:left;border:1px solid #e2e8f0}.office-supply-foot-inner{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;font-size:12px}.office-supply-foot-field{display:inline-flex;align-items:center;gap:6px;flex:1 1 200px;min-width:180px}.office-supply-foot-inp{flex:1 1 auto;min-width:100px;padding:4px 6px;border:1px solid #e2e8f0;border-radius:4px;font-size:12px;background:#fff}.office-dist-host-page{flex:1 1 auto;align-self:stretch;min-height:0;min-width:0;max-width:100%;width:100%;display:flex;flex-direction:column;overflow:hidden;padding:0}.office-dist-host-page[hidden]{display:none!important}.office-dist-panel{flex:1 1 auto;min-height:0;min-width:0;max-width:100%;width:100%;display:flex;flex-direction:column;align-items:stretch;padding:10px 12px;background:#eef2f7;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.office-dist-panel .office-supply-sheet-head,.office-dist-panel .office-supply-loading,.office-dist-panel .office-supply-empty-hint{flex-shrink:0}.office-dist-panel .office-dist-table-wrap{flex:1 1 0;width:100%;min-height:120px;min-width:0;max-width:100%;height:auto;max-height:none;overflow:auto;box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;overscroll-behavior:contain;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.office-dist-table-wrap.has-h-scroll{padding-bottom:14px}.office-dist-table{--os-dist-head-row1: 34px;width:max-content;min-width:100%;min-height:0;height:auto;border-collapse:collapse;font-size:12px}.office-dist-table th,.office-dist-table td{border:1px solid #e2e8f0;padding:2px 4px;vertical-align:middle}.office-dist-table thead tr:first-child th{position:sticky;top:0;z-index:4;background:#eff6ff;box-shadow:0 1px #cbd5e1}.office-dist-table thead tr:nth-child(2) th{position:sticky;top:var(--os-dist-head-row1);z-index:3;background:#eff6ff;box-shadow:0 1px #cbd5e1}.office-dist-table .os-dist-name-head,.office-dist-table .os-dist-name{min-width:160px;max-width:220px;text-align:left;white-space:normal;word-break:break-all}.office-dist-table .os-dist-dept-head{text-align:center;min-width:64px;font-size:12px;white-space:normal;word-break:break-all}.office-dist-table .os-dist-dept-sub{font-size:11px;font-weight:500;min-width:40px}.office-dist-table .os-dist-dept-sub-manual{background:#fffbeb}.office-dist-table .os-dist-stat{background:#f8fafc;text-align:center;font-weight:500}.office-dist-table .os-seq{min-width:40px;width:40px}.office-dist-table input.os-dist-manual-inp,.office-dist-table input.os-dist-actual-inp{width:100%;min-width:36px;max-width:72px;box-sizing:border-box;text-align:center;padding:2px 4px;border:1px solid #e2e8f0;border-radius:3px;font-size:12px}.office-dist-table input[readonly]{background:#f8fafc}.office-print-host-page{padding:8px 12px 16px;overflow:auto}.office-print-host-page[hidden]{display:none!important}.office-print-period-label{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--color-text-muted);margin-right:6px}.office-print-period-label #officePrintQuarterSelect{min-width:190px;max-width:260px}.office-print-table-wrap{overflow:auto;max-height:calc(100vh - 200px);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff}.office-print-table{width:100%;border-collapse:collapse;font-size:13px}.office-print-table th,.office-print-table td{border:1px solid #cbd5e1;padding:4px 6px;vertical-align:middle}.office-print-table thead th{position:sticky;top:0;z-index:2;background:#e5e7eb;font-weight:600;text-align:center}.office-print-table .op-inp{width:100%;min-width:0;border:none;background:transparent;font:inherit;text-align:center;padding:2px 4px}.office-print-table .op-name .op-inp{text-align:left}.office-print-table .op-inp[readonly]{background:#f8fafc}.office-print-table .op-num,.office-print-table .op-amount,.office-print-table .op-dept-total{text-align:center;white-space:nowrap}.office-print-table .op-seq{width:48px;text-align:center;background:#f8fafc}.office-print-table .op-seq--menu{cursor:context-menu;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;color:#475569;font-weight:600}.office-print-table .op-seq--menu:hover{background:#e0f2fe;color:#0369a1}.office-print-table .op-dept,.office-print-table .op-dept-total{vertical-align:middle}.office-print-table .op-dept{width:100px}.office-print-table .op-name{min-width:160px}.office-print-table .op-actions{width:44px;text-align:center}.office-print-table .op-total-row td{font-weight:600;background:#f1f5f9}.office-print-hint{margin:8px 0 0;font-size:12px;color:var(--color-text-muted)}.office-print-panel.is-refreshing .office-print-table-wrap{opacity:.55;pointer-events:none}.office-print-loading-tag{margin-left:8px;font-size:13px;font-weight:400;color:var(--color-text-muted)}.office-apply-month-range{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:0 4px;vertical-align:middle}.office-apply-month-range-label{font-size:13px;color:var(--color-text-muted);white-space:nowrap}.office-apply-month-range-sep{font-size:13px;color:var(--color-text-muted)}.office-apply-month-input{height:30px;padding:2px 6px;font-size:13px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text)}.office-apply-month-input:disabled{opacity:.65;cursor:not-allowed}.office-apply-dept-picker{display:inline-flex;align-items:center;gap:6px;margin-left:6px;padding:0 4px;vertical-align:middle}.office-apply-dept-picker-label{font-size:13px;color:var(--color-text-muted);white-space:nowrap}.office-apply-dept-select{min-width:9em;max-width:14em;height:30px;padding:2px 8px;font-size:13px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);cursor:pointer}.office-apply-dept-select:disabled{opacity:.65;cursor:not-allowed}.office-apply-copy-month{display:inline-flex;align-items:center;gap:6px;margin-left:6px;padding:0 4px;vertical-align:middle}.office-apply-copy-month-label{font-size:13px;color:var(--color-text-muted);white-space:nowrap}.office-apply-host-page{flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:8px 10px 10px;background:#eef2f7;border:1px solid var(--color-border);border-radius:var(--radius-md)}.office-apply-host-page[hidden]{display:none!important}.office-apply-section{flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column}.office-apply-loading{margin:12px 0;font-size:13px;color:var(--color-text-muted)}.office-apply-excel-wrap{flex:1 1 auto;min-height:0;min-width:0;max-width:100%;width:100%;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;overscroll-behavior:contain;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);position:relative}.office-apply-excel-wrap--watermark .oa-watermark{position:absolute;z-index:2;left:var(--wm-left, 0);width:var(--wm-width, 100%);display:grid;place-items:center;pointer-events:none;overflow:hidden;box-sizing:border-box;font-family:Microsoft YaHei,Segoe UI,PingFang SC,sans-serif;font-size:clamp(48px,8vw,92px);font-weight:700;letter-spacing:.22em;color:#4755691c;white-space:nowrap;line-height:1;text-align:center}.office-apply-excel-wrap--watermark .oa-watermark--office{top:var(--wm-office-top, 0);height:var(--wm-office-height, 0)}.office-apply-excel-wrap--watermark .oa-watermark--labor{top:var(--wm-labor-top, 0);height:var(--wm-labor-height, 0)}.office-apply-excel-wrap--watermark .office-apply-excel-table{position:relative;z-index:1}.office-apply-excel-wrap--watermark .office-apply-excel-table .oa-title-row th{z-index:6}.office-apply-excel-wrap--watermark .office-apply-excel-table .oa-meta-row td{z-index:5}.office-apply-excel-wrap--watermark .office-apply-excel-table .oa-head-row th{z-index:4}.office-apply-excel-table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;line-height:1.35}.office-apply-excel-table th,.office-apply-excel-table td{border:1px solid #cbd5e1;padding:2px 4px;vertical-align:middle;word-break:break-word}.office-apply-excel-table .oa-title-row th{position:sticky;top:0;z-index:4;font-size:18px;font-weight:700;text-align:center;height:40px;background:#fff;border-bottom:1px solid #94a3b8;box-shadow:0 1px #94a3b8;pointer-events:none}.office-apply-excel-table .oa-page2-header th,.office-apply-excel-table .oa-page2-header td{position:static;box-shadow:none;pointer-events:auto}@media print{.office-apply-excel-table tr.oa-page2-break{break-before:page;page-break-before:always}.office-apply-excel-table .oa-title-row th,.office-apply-excel-table .oa-meta-row td,.office-apply-excel-table .oa-head-row th{position:static;box-shadow:none}}.office-apply-excel-table .oa-meta-row td{position:sticky;top:40px;z-index:3;font-size:12px;height:32px;min-height:32px;padding:4px 6px;background:#fff;border:none;vertical-align:middle;line-height:1.35;overflow:hidden;box-shadow:0 1px #e2e8f0;pointer-events:none}.office-apply-excel-table .oa-meta-row .oa-meta-gap{border:none;background:#fff;padding:0}.oa-meta-cell-inner{display:flex;align-items:center;gap:6px;width:100%;min-height:24px;box-sizing:border-box}.oa-meta-cell-inner--left{justify-content:flex-start}.oa-meta-cell-inner--right{justify-content:flex-end}.oa-meta-label{flex:0 0 auto;white-space:nowrap;font-size:12px;line-height:1.35;color:#0f172a}.oa-meta-value{flex:1 1 auto;font-size:12px;line-height:1.35;color:#0f172a;min-height:22px;display:inline-flex;align-items:center}.office-apply-excel-table .oa-meta-dept .oa-meta-value{text-align:left}.office-apply-excel-table .oa-meta-month .oa-meta-value{flex:0 1 auto;text-align:right;justify-content:flex-end}.office-apply-excel-table .oa-head-row th{position:sticky;top:72px;z-index:2;font-weight:700;text-align:center;font-size:11px;background:#eff6ff;color:#1e40af;height:28px;box-shadow:0 1px #cbd5e1;pointer-events:none}.office-apply-excel-table .oa-gap,.office-apply-excel-table .oa-gap-head{width:8px;min-width:8px;max-width:8px;padding:0;background:#f8fafc;border-left:none;border-right:none}.office-apply-excel-table .oa-col-mark{width:42px}.office-apply-excel-table .oa-col-name{width:200px}.office-apply-excel-table .oa-col-qty{width:52px}.office-apply-excel-table .oa-col-unit{width:48px}.office-apply-excel-table .oa-col-price{width:56px}.office-apply-excel-table .oa-col-note{width:88px}.office-apply-excel-table .oa-col-gap{width:8px}.office-apply-excel-table .oa-name{text-align:left;font-size:11px;padding-left:4px}.office-apply-excel-table .oa-mark-empty{background:inherit}.office-apply-excel-table td.oa-name,.office-apply-excel-table td.oa-qty,.office-apply-excel-table td.oa-unit,.office-apply-excel-table td.oa-price,.office-apply-excel-table td.oa-note{padding:0}.office-apply-excel-table input.oa-inp-name{text-align:left;padding-left:4px}.office-apply-excel-table input.oa-inp-blank-side{background:#fff;border:1px dashed #94a3b8;border-radius:2px;box-sizing:border-box;cursor:text}.office-apply-excel-table input.oa-inp-blank-side::placeholder{color:#94a3b8;font-size:10px}.office-apply-excel-table input.oa-inp-blank-side:focus{border-color:#3b82f6;border-style:solid;outline:none;background:#fff}.office-apply-excel-table td.oa-editable-blank{background:#f8fafc}.office-apply-excel-table .oa-data-row.oa-category-divider td:not(.oa-gap){border-bottom:2px solid #000}.office-apply-excel-table .oa-data-row.oa-category-divider td.oa-gap{border-bottom:none}.office-apply-excel-table .oa-data-row:nth-child(2n) td:not(.oa-gap){background:#fafbfc}.office-apply-excel-table .oa-data-row:hover td:not(.oa-gap){background:#f0f9ff}.oa-check-label{display:flex;align-items:center;justify-content:center;cursor:pointer;margin:0}.oa-check-label input.oa-check{position:absolute;opacity:0;width:0;height:0}.oa-check-box{font-size:14px;line-height:1}.office-apply-excel-table input.oa-inp{width:100%;box-sizing:border-box;border:none;background:transparent;font-size:11px;padding:1px 2px;text-align:center;min-height:22px;display:block}.office-apply-excel-table input.oa-inp:focus{outline:1px solid #3b82f6;background:#fff}.oa-inp-num{text-align:center}.office-apply-excel-table .oa-data-row{height:24px}.office-apply-excel-table .oa-footer-row td{vertical-align:top;padding:8px;background:#fff}.oa-footer-ta{width:100%;min-height:72px;border:none;resize:vertical;font-size:11px;line-height:1.5;font-family:inherit;background:transparent}.oa-footer-reviewed{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;min-height:72px}.oa-footer-review-side--left{flex:0 0 auto;max-width:42%}.oa-footer-review-side--right{flex:1 1 auto;display:flex;justify-content:flex-end;min-width:0}.oa-footer-review-side--right .oa-footer-ta--review-part{width:100%;max-width:220px;text-align:right}.oa-footer-ta--review-part{min-height:72px;resize:vertical}@media print{.office-apply-excel-wrap{border:none;box-shadow:none;overflow:visible;max-height:none}.office-apply-excel-wrap--watermark .oa-watermark{color:#47556926;print-color-adjust:exact;-webkit-print-color-adjust:exact}}.apply-public-body{margin:0;height:100vh;height:100dvh;min-height:0;overflow:hidden;background:#eef2f7;display:flex;flex-direction:column}.apply-public-header{flex-shrink:0;padding:12px 14px;background:#fff;border-bottom:1px solid var(--color-border)}.apply-public-title{margin:0 0 4px;font-size:18px;font-weight:700}.apply-public-meta{margin:0;font-size:13px;color:var(--color-text-muted)}.apply-public-locked{margin:8px 0 0;padding:8px 10px;font-size:13px;color:#b45309;background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--radius-sm)}.apply-public-main{flex:1 1 auto;min-height:0;min-width:0;padding:10px;overflow:hidden;display:flex;flex-direction:column}.apply-public-sheet.office-apply-excel-wrap{flex:1 1 auto;min-height:0;width:100%;margin:0 auto;max-width:100%}.apply-public-footer{flex-shrink:0;padding:10px 14px 16px;background:#fff;border-top:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;gap:8px}.apply-public-save-btn{min-width:160px;padding:10px 20px;font-size:15px}.apply-public-hint{margin:0;font-size:12px;color:var(--color-text-muted);text-align:center}.office-apply-links-card{width:min(720px,100%);max-height:min(90vh,900px);overflow:auto}.office-apply-links-intro{margin:0 0 12px;font-size:12px;color:var(--color-text-muted);line-height:1.5}.office-apply-links-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.office-apply-links-subtitle{margin:0 0 8px;font-size:13px;font-weight:600}.office-apply-links-status{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px}.office-apply-links-status li{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid var(--color-border);background:#f8fafc}.office-apply-links-status li.is-submitted{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.office-apply-links-status li.is-pending{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.office-apply-links-list{display:grid;gap:12px}.office-apply-link-row{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#f8fafc}.office-apply-link-row h4{margin:0 0 6px;font-size:13px;grid-column:1 / -1}.office-apply-link-qr{width:88px;height:88px;background:#fff;border:1px solid var(--color-border);border-radius:4px}.office-apply-link-qr canvas{display:block;width:88px!important;height:88px!important}.office-apply-link-fields{display:flex;flex-direction:column;gap:6px;min-width:0}.office-apply-link-url{width:100%;font-size:11px;padding:4px 6px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.office-apply-link-actions{display:flex;gap:6px}.home-dashboard{position:relative;padding:16px 18px 22px;min-width:0;border-radius:14px;border:1px solid rgba(148,163,184,.35);background:linear-gradient(165deg,#f8fafc,#eef2ff 42%,#f0f9ff);overflow:hidden;box-shadow:inset 0 1px #ffffffd9}.home-dash-bg{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse 55% 45% at 8% 0%,rgba(59,130,246,.14),transparent 55%),radial-gradient(ellipse 50% 40% at 92% 8%,rgba(14,165,233,.12),transparent 50%),radial-gradient(ellipse 40% 35% at 50% 100%,rgba(99,102,241,.08),transparent 55%)}.home-dash-bg:after{content:"";position:absolute;inset:0;opacity:.35;background-image:linear-gradient(rgba(148,163,184,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.12) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(180deg,#000 0%,transparent 85%)}.home-dashboard>:not(.home-dash-bg){position:relative;z-index:1}.home-dash-header{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px;padding:18px 20px 18px 22px;background:#ffffffc7;backdrop-filter:blur(12px);border-radius:14px;border:1px solid rgba(255,255,255,.9);box-shadow:0 8px 32px #1e40af14}.home-dash-header:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,#3b82f6,#6366f1)}.home-dash-eyebrow{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6366f1}.home-dash-title{margin:0 0 6px;font-size:22px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(120deg,#1e3a8a,#2563eb 55%,#0ea5e9);-webkit-background-clip:text;background-clip:text;color:transparent}.home-dash-subtitle{margin:0;font-size:13px;color:#64748b}.home-dash-subtitle #homeDashStatMonth{font-weight:700;color:#1d4ed8}.home-dash-header-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.home-dash-live-pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;color:#047857;background:#10b9811f;border:1px solid rgba(16,185,129,.35)}.home-dash-live-pill:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px #10b98140;vertical-align:middle;animation:home-dash-pulse 2s ease-in-out infinite}@keyframes home-dash-pulse{0%,to{opacity:1}50%{opacity:.45}}.home-dash-clock{font-size:13px;font-weight:600;color:#475569;font-variant-numeric:tabular-nums;padding:6px 12px;border-radius:8px;background:#f1f5f9e6;border:1px solid rgba(226,232,240,.9)}.home-dash-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.home-dash-card{position:relative;padding:16px 18px;border-radius:14px;min-height:118px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#ffffffeb;border:1px solid rgba(255,255,255,.95);box-shadow:0 10px 28px #0f172a0f;transition:transform .2s ease,box-shadow .2s ease}.home-dash-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px #0f172a1a}.home-dash-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:14px 14px 0 0}.home-dash-card-male:before{background:linear-gradient(90deg,#f59e0b,#ea580c)}.home-dash-card-female:before{background:linear-gradient(90deg,#34d399,#059669)}.home-dash-card-total:before{background:linear-gradient(90deg,#38bdf8,#0284c7)}.home-dash-card-empty:before{background:linear-gradient(90deg,#c084fc,#7c3aed)}.home-dash-card-icon{position:absolute;top:12px;right:14px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;border-radius:12px;opacity:.95}.home-dash-card-male .home-dash-card-icon{color:#c2410c;background:#fb923c33}.home-dash-card-female .home-dash-card-icon{color:#047857;background:#34d39938}.home-dash-card-total .home-dash-card-icon{color:#0369a1;background:#38bdf838}.home-dash-card-empty .home-dash-card-icon{color:#6d28d9;background:#c084fc38}.home-dash-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-right:44px}.home-dash-card-label{font-size:14px;font-weight:700;color:#334155}.home-dash-card-tag{font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px;letter-spacing:.02em}.home-dash-card-male .home-dash-card-tag{color:#c2410c;background:#fb923c2e}.home-dash-card-female .home-dash-card-tag{color:#047857;background:#34d3992e}.home-dash-card-total .home-dash-card-tag{color:#0369a1;background:#38bdf82e}.home-dash-card-empty .home-dash-card-tag{color:#6d28d9;background:#c084fc2e}.home-dash-card-value{font-size:40px;font-weight:800;line-height:1;margin:10px 0 6px;letter-spacing:-.03em}.home-dash-card-male .home-dash-card-value{color:#ea580c}.home-dash-card-female .home-dash-card-value{color:#059669}.home-dash-card-total .home-dash-card-value{color:#0284c7}.home-dash-card-empty .home-dash-card-value{color:#7c3aed}.home-dash-card-foot{font-size:12px;color:#94a3b8}.home-dash-body{display:grid;grid-template-columns:minmax(160px,200px) minmax(0,1fr) minmax(200px,260px);gap:14px;align-items:stretch}.home-dash-panel{background:#ffffffd1;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);border-radius:14px;padding:14px 16px;min-width:0;box-shadow:0 8px 24px #1e40af0f}.home-dash-panel-title{margin:0 0 12px;font-size:14px;font-weight:700;color:#1e3a8a;display:flex;align-items:center;gap:8px}.home-dash-panel-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;font-size:12px;background:linear-gradient(135deg,#dbeafe,#e0e7ff);color:#1d4ed8}.home-dash-notice-list{margin:0;padding-left:0;list-style:none;font-size:12px;color:#64748b;line-height:1.65}.home-dash-notice-list li{position:relative;padding-left:14px;margin-bottom:8px}.home-dash-notice-list li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:#93c5fd}.home-dash-notice-list li:last-child{margin-bottom:0}.home-dash-chart{display:flex;align-items:flex-end;justify-content:space-around;gap:12px;min-height:228px;padding:10px 8px 4px;background:linear-gradient(180deg,rgba(241,245,249,.5) 0%,transparent 100%);border-radius:10px}.home-dash-bar-item{flex:1 1 0;max-width:80px;display:flex;flex-direction:column;align-items:center;gap:8px}.home-dash-bar-track{width:100%;height:168px;background:#e2e8f0a6;border-radius:10px 10px 4px 4px;display:flex;align-items:flex-end;overflow:hidden;padding:4px 4px 0}.home-dash-bar-fill{width:100%;border-radius:8px 8px 2px 2px;min-height:6px;transition:height .35s cubic-bezier(.34,1.2,.64,1);box-shadow:0 -2px 12px #2563eb40}.home-dash-bar-fill--m1{background:linear-gradient(180deg,#fdba74,#ea580c)}.home-dash-bar-fill--m2{background:linear-gradient(180deg,#fcd34d,#d97706)}.home-dash-bar-fill--m3{background:linear-gradient(180deg,#fde68a,#ca8a04)}.home-dash-bar-fill--m4{background:linear-gradient(180deg,#fbbf24,#b45309)}.home-dash-bar-fill--g1{background:linear-gradient(180deg,#6ee7b7,#059669)}.home-dash-bar-fill--g2{background:linear-gradient(180deg,#5eead4,#0d9488)}.home-dash-bar-fill--g3{background:linear-gradient(180deg,#a7f3d0,#047857)}.home-dash-bar-val{font-size:15px;font-weight:800;color:#1e3a8a}.home-dash-bar-label{font-size:11px;font-weight:600;color:#64748b;text-align:center}.home-dash-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:14px;font-weight:700;color:#1e3a8a}.home-dash-cal-nav .btn{width:32px;height:32px;padding:0;border-radius:8px;border-color:#e2e8f0;color:#475569;background:#f8fafc}.home-dash-cal-nav .btn:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.home-dash-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:11px;text-align:center}.home-dash-cal-head{font-weight:700;color:#94a3b8;padding:4px 0;font-size:10px}.home-dash-cal-pad{visibility:hidden}.home-dash-cal-day{padding:7px 0;border-radius:8px;color:#475569;transition:background .15s ease}.home-dash-cal-day:hover:not(.today){background:#f1f5f9}.home-dash-cal-day.today{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;font-weight:700;box-shadow:0 4px 12px #3b82f659}.home-dash-quick{margin-top:16px;padding-top:14px;border-top:1px dashed rgba(148,163,184,.5);display:grid;gap:8px}.home-dash-quick-btn{width:100%;text-align:left;display:flex;align-items:center;gap:10px;padding:10px 12px!important;border-radius:10px!important;border:1px solid #e2e8f0!important;background:#f8fafc!important;font-weight:600;color:#334155!important;transition:background .15s ease,border-color .15s ease,transform .15s ease}.home-dash-quick-btn:hover{background:#fff!important;border-color:#93c5fd!important;color:#1d4ed8!important;transform:translate(4px)}.home-dash-quick-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%}.home-dash-quick-dot-male{background:#f97316}.home-dash-quick-dot-female{background:#10b981}.home-dash-quick-dot-staff{background:#6366f1}.home-portal-dash .home-dash-header{margin-bottom:0}.content.home-portal-combined{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:16px;align-content:start;min-height:calc(100vh - var(--app-header-block) - var(--app-main-pad-y) - 24px)}.content.home-portal-combined #homePortalPanel{grid-column:1 / -1}.content.home-portal-combined #homeDashboardPanel{grid-column:1;grid-row:2}.content.home-portal-combined #officeDashboardPanel{grid-column:2;grid-row:2}.content.home-portal-combined #homePortalPanel.home-portal-dash{padding:18px 22px 20px;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:linear-gradient(120deg,#fff,#f8faff 45%,#eff6ff);box-shadow:0 4px 20px #1e40af12}.home-portal-top{display:flex;flex-direction:column;gap:18px}.home-portal-month{margin:10px 0 0;font-size:13px;font-weight:600;color:#2563eb;letter-spacing:.02em}.content.home-portal-combined #homePortalPanel .home-portal-cards{max-width:none;margin:0}.content.home-portal-combined #homePortalPanel .home-dash-bg{opacity:.55}.content.home-portal-combined #homePortalPanel .home-dash-header{padding:0;margin:0;background:transparent;border:none;box-shadow:none;backdrop-filter:none}.content.home-portal-combined #homePortalPanel .home-dash-header:before{display:none}.content.home-portal-combined #homePortalPanel .home-dash-title{font-size:24px}.content.home-portal-combined #homePortalPanel .home-dash-subtitle{max-width:520px;line-height:1.55}.content.home-portal-combined #homePortalPanel .home-dash-live-pill{color:#1d4ed8;background:#3b82f61a;border-color:#3b82f647}.content.home-portal-combined #homePortalPanel .home-dash-live-pill:before{background:#3b82f6;box-shadow:0 0 0 3px #3b82f638}.content.home-portal-combined>.home-dashboard.home-dash-embedded{min-height:0;max-height:calc(100vh - var(--app-header-block) - 210px);overflow:auto;border-radius:16px;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.5) transparent}.content.home-portal-combined .home-dash-embedded{padding:14px 16px 18px}.content.home-portal-combined .home-dash-embedded .home-dash-header{padding:14px 16px;margin-bottom:14px;border-radius:12px}.content.home-portal-combined .home-dash-embedded .home-dash-title{font-size:17px;letter-spacing:-.01em}.content.home-portal-combined .home-dash-embedded .home-dash-subtitle{font-size:11px;margin-top:2px}.content.home-portal-combined .home-dash-embedded .home-dash-clock{display:none}.content.home-portal-combined .home-dash-embedded .home-dash-live-pill{font-size:10px;padding:3px 9px}.content.home-portal-combined .home-dash-embedded .home-dash-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.content.home-portal-combined .home-dash-embedded .home-dash-card{min-height:82px;padding:11px 13px;border-radius:12px;box-shadow:0 4px 16px #0f172a0d}.content.home-portal-combined .home-dash-embedded .home-dash-card:hover{transform:translateY(-2px)}.content.home-portal-combined .home-dash-embedded .home-dash-card-icon{width:30px;height:30px;font-size:13px;top:10px;right:10px;border-radius:9px}.content.home-portal-combined .home-dash-embedded .home-dash-card-head{padding-right:34px}.content.home-portal-combined .home-dash-embedded .home-dash-card-label{font-size:12px}.content.home-portal-combined .home-dash-embedded .home-dash-card-tag{font-size:10px;padding:2px 6px}.content.home-portal-combined .home-dash-embedded .home-dash-card-value{font-size:24px;line-height:1.1;margin-top:2px}.content.home-portal-combined .home-dash-embedded .home-dash-card-foot{font-size:10px;margin-top:2px}.content.home-portal-combined .home-dash-embedded .home-dash-body{grid-template-columns:1fr;gap:12px}.content.home-portal-combined .home-dash-embedded .home-dash-panel{padding:12px 14px;border-radius:12px}.content.home-portal-combined .home-dash-embedded .home-dash-panel-title{font-size:13px;margin-bottom:10px}.content.home-portal-combined .home-dash-embedded .home-dash-notice,.content.home-portal-combined .home-dash-embedded .home-dash-mini-calendar{display:none}.content.home-portal-combined .home-dash-embedded .home-dash-chart{min-height:150px;padding:8px 6px 2px;border-radius:10px}.content.home-portal-combined .home-dash-embedded .home-dash-bar-track{height:110px}.content.home-portal-combined .home-dash-embedded .home-dash-bar-label{font-size:10px}.content.home-portal-combined .home-dash-embedded .home-dash-bar-val{font-size:12px}.content.home-portal-combined .home-dash-embedded .office-home-body{grid-template-columns:1fr}.content.home-portal-combined .home-dash-embedded .home-dash-quick{margin-top:0;padding-top:0;border-top:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.content.home-portal-combined .home-dash-embedded .home-dash-quick-btn{padding:8px 10px!important;font-size:12px!important;border-radius:9px!important}.content.home-portal-combined .home-dash-embedded .home-dash-quick-btn:hover{transform:none}.content.home-portal-combined .home-dash-embedded .office-home-dept-list{max-height:200px;gap:6px}.content.home-portal-combined .home-dash-embedded .office-home-dept-list li{padding:8px 10px;border-radius:9px;font-size:12px}.content.home-portal-combined #homeDashboardPanel.home-dash-embedded{background:linear-gradient(160deg,#fffbf7,#fff7ed 40%,#ffedd5);border:1px solid rgba(251,146,60,.28);box-shadow:0 8px 28px #ea580c17}.content.home-portal-combined #homeDashboardPanel.home-dash-embedded .home-dash-bg{background:radial-gradient(ellipse 70% 55% at 0% 0%,rgba(251,146,60,.18),transparent 58%),radial-gradient(ellipse 50% 45% at 100% 100%,rgba(234,88,12,.07),transparent 52%)}.content.home-portal-combined #homeDashboardPanel.home-dash-embedded .home-dash-header{background:#ffffffe0;border:1px solid rgba(251,146,60,.2)}.content.home-portal-combined #homeDashboardPanel.home-dash-embedded .home-dash-header:before{background:linear-gradient(180deg,#fb923c,#ea580c)}.content.home-portal-combined #homeDashboardPanel.home-dash-embedded .home-dash-title{background:linear-gradient(120deg,#9a3412,#ea580c);-webkit-background-clip:text;background-clip:text;color:transparent}.content.home-portal-combined #homeDashboardPanel.home-dash-embedded .home-dash-live-pill{color:#c2410c;background:#fb923c24;border-color:#fb923c59}.content.home-portal-combined #homeDashboardPanel.home-dash-embedded .home-dash-live-pill:before{background:#f97316;box-shadow:0 0 0 3px #fb923c40}.content.home-portal-combined #homeDashboardPanel.home-dash-embedded .home-dash-panel-title{color:#9a3412}.content.home-portal-combined #homeDashboardPanel.home-dash-embedded .home-dash-panel-icon{background:linear-gradient(135deg,#ffedd5,#fed7aa);color:#ea580c}.content.home-portal-combined #homeDashboardPanel.home-dash-embedded .home-dash-quick-btn:hover{border-color:#fdba74!important;color:#c2410c!important;background:#fff7ed!important}.content.home-portal-combined #officeDashboardPanel.home-dash-embedded{background:linear-gradient(160deg,#f0fdf9,#ecfdf5 40%,#d1fae5);border:1px solid rgba(52,211,153,.28);box-shadow:0 8px 28px #05966917}.content.home-portal-combined #officeDashboardPanel.home-dash-embedded .home-dash-bg{background:radial-gradient(ellipse 70% 55% at 100% 0%,rgba(52,211,153,.16),transparent 58%),radial-gradient(ellipse 50% 45% at 0% 100%,rgba(5,150,105,.07),transparent 52%)}.content.home-portal-combined #officeDashboardPanel.home-dash-embedded .home-dash-header{background:#ffffffe0;border:1px solid rgba(52,211,153,.22)}.content.home-portal-combined #officeDashboardPanel.home-dash-embedded .home-dash-header:before{background:linear-gradient(180deg,#34d399,#059669)}.content.home-portal-combined #officeDashboardPanel.home-dash-embedded .home-dash-title{background:linear-gradient(120deg,#065f46,#059669);-webkit-background-clip:text;background-clip:text;color:transparent}.content.home-portal-combined #officeDashboardPanel.home-dash-embedded .home-dash-panel-title{color:#065f46}.content.home-portal-combined #officeDashboardPanel.home-dash-embedded .home-dash-panel-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.content.home-portal-combined #officeDashboardPanel.home-dash-embedded .home-dash-quick-btn:hover{border-color:#6ee7b7!important;color:#047857!important;background:#ecfdf5!important}.content.home-portal-combined #officeDashboardPanel.home-dash-embedded .office-home-dept-list li.is-submitted{border-color:#6ee7b7;background:#ecfdf5f2}.content.home-portal-combined #officeDashboardPanel.home-dash-embedded .office-home-dept-list li.is-pending{border-color:#fde68a;background:#fffbebf2}.content:has(.home-dashboard:not([hidden])){display:flex;flex-direction:column;min-height:0}.content:has(.home-dashboard:not([hidden]))>.home-dashboard:not([hidden]){flex:1 1 auto;min-height:0;overflow:auto}main.container.layout:has(.home-dashboard:not([hidden]))>.content{min-height:calc(100vh - var(--app-header-block) - var(--app-main-pad-y) - 24px)}.content.home-portal-combined:has(.home-dashboard:not([hidden])){display:grid}.content.home-portal-combined:has(.home-dashboard:not([hidden]))>.home-dashboard.home-dash-embedded:not([hidden]){flex:unset}.home-portal-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:720px;margin:0 auto}.home-portal-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px 22px;border:1px solid rgba(255,255,255,.9);border-radius:16px;background:#ffffffeb;box-shadow:0 12px 32px #1e40af1a;cursor:pointer;text-align:left;transition:transform .2s ease,box-shadow .2s ease;font:inherit;color:inherit}.home-portal-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #1e40af29}.home-portal-card-settlement{border-top:4px solid #ea580c}.home-portal-card-office{border-top:4px solid #059669}.home-portal-card-icon{font-size:28px;line-height:1}.home-portal-card-title{font-size:20px;font-weight:800;color:#0f172a}.home-portal-card-desc{font-size:13px;color:#64748b;line-height:1.5}.home-portal-card-action{margin-top:4px;font-size:13px;font-weight:700;color:#2563eb}.home-portal-card-settlement .home-portal-card-action{color:#ea580c}.home-portal-card-office .home-portal-card-action{color:#059669}.home-portal-body{display:grid;gap:16px}.home-portal-intro-text{margin:0 0 12px;font-size:14px;line-height:1.75;color:#475569}.home-portal-intro-text strong{color:#1e3a8a;font-weight:700}.home-portal-feature-list{margin-top:4px}.home-portal-quick-hint{margin:-4px 0 16px;font-size:12px;color:#94a3b8}.home-portal-quick-groups{display:grid;gap:18px}.home-portal-quick-group-head{margin-bottom:10px}.home-portal-quick-group-tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.03em}.home-portal-quick-group-tag-settlement{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.home-portal-quick-group-tag-office{color:#0f766e;background:#ecfdf5;border:1px solid #99f6e4}.home-portal-quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}.home-portal-quick-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:88px;padding:14px 10px;border:1px solid #e2e8f0;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);cursor:pointer;font:inherit;color:inherit;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.home-portal-quick-item:hover{transform:translateY(-2px);border-color:#93c5fd;box-shadow:0 8px 20px #3b82f61f}.home-portal-quick-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;font-size:16px;font-weight:700;line-height:1}.home-portal-quick-icon-blue{background:#dbeafe;color:#1d4ed8}.home-portal-quick-icon-orange{background:#ffedd5;color:#ea580c}.home-portal-quick-icon-green{background:#d1fae5;color:#059669}.home-portal-quick-icon-purple{background:#ede9fe;color:#7c3aed}.home-portal-quick-icon-teal{background:#ccfbf1;color:#0f766e}.home-portal-quick-label{font-size:13px;font-weight:600;color:#334155;text-align:center;line-height:1.35}.office-home-loading{margin:0 0 12px;font-size:13px;color:var(--color-text-muted)}.office-home-body{grid-template-columns:minmax(0,1fr) minmax(200px,260px)}.office-home-dept-list{margin:0;padding:0;list-style:none;display:grid;gap:8px;max-height:280px;overflow:auto}.office-home-dept-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;font-size:13px;background:#f8fafc;border:1px solid #e2e8f0}.office-home-dept-list li.is-submitted{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.office-home-dept-list li.is-pending{border-color:#fde68a;background:#fffbeb;color:#b45309}.office-home-dept-status{font-size:12px;font-weight:700;flex-shrink:0}@media(max-width:768px){.home-portal-cards{grid-template-columns:1fr}.home-portal-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.office-home-body{grid-template-columns:1fr}}@media(max-width:1100px){.content.home-portal-combined{grid-template-columns:1fr;grid-template-rows:auto auto auto}.content.home-portal-combined #homeDashboardPanel,.content.home-portal-combined #officeDashboardPanel{grid-column:1;grid-row:auto;max-height:none}.home-dash-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.home-dash-body{grid-template-columns:1fr}}@media(max-width:600px){.home-dash-cards{grid-template-columns:1fr}}.menu-loading-hint{display:block;padding:8px 12px;font-size:12px;color:var(--color-text-muted)}main.container.layout:has(#specialEquipmentPanel:not([hidden])){align-items:stretch;grid-template-rows:minmax(0,1fr);height:calc(100vh - var(--app-header-block) - var(--app-main-pad-y));height:calc(100dvh - var(--app-header-block) - var(--app-main-pad-y));max-height:calc(100vh - var(--app-header-block) - var(--app-main-pad-y));max-height:calc(100dvh - var(--app-header-block) - var(--app-main-pad-y));overflow:hidden}main.container.layout:has(#specialEquipmentPanel:not([hidden]))>.content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.content:has(#specialEquipmentPanel:not([hidden])) .toolbar-box{flex-shrink:0}.content:has(#specialEquipmentPanel:not([hidden])) #specialEquipmentPanel{flex:1 1 auto;min-height:0;min-width:0;max-width:100%;width:100%;display:flex;flex-direction:column;overflow:hidden}.special-equipment-host{padding:0;overflow:hidden;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.special-equipment-host[hidden]{display:none!important}.special-equipment-top-chrome{display:block;flex:1 1 100%;width:100%;min-width:0}.special-equipment-top-chrome[hidden]{display:none!important}.toolbar-box:has(#specialEquipmentTopChrome:not([hidden])){flex-wrap:wrap;gap:0;padding:0;border:none;background:transparent;box-shadow:none;min-height:0}.toolbar-box:has(#specialEquipmentTopChrome:not([hidden]))>:not(#specialEquipmentTopChrome){display:none!important}.se-legal-banner--top{border-radius:12px;border:1px solid #e2e8f0;margin:0;background:#f8fafc}.se-legal-banner--nav-only{padding:6px 10px;gap:6px}.se-platform--content-only{border-radius:14px}.se-platform--content-only .se-shell-content{padding-top:14px}.se-platform{display:flex;flex-direction:column;flex:1;min-height:0;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.se-legal-banner{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:8px 14px;background:#fdf6f0;border-bottom:1px solid #f0e4d8;font-size:13px;color:#1f3b5c}.se-legal-banner strong{color:#0b2b4a}.se-tag{background:#d9534f;color:#fff;padding:1px 10px;border-radius:999px;font-size:11px;font-weight:600;flex-shrink:0}.se-banner-right{margin-left:auto;font-size:12px;color:#1f4a7a;flex-shrink:0}.se-shell-topnav{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0}.se-shell-nav-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:#2c3e50;font-size:12px;font-weight:500;text-align:left;cursor:pointer;font-family:inherit;white-space:nowrap;line-height:1.3}.se-shell-nav-btn:hover{background:#edf2f9;border-color:#dbe4f0}.se-shell-nav-btn.active{background:#e2ebf6;border-color:#c5d6ec;color:#0b2b4a;font-weight:600}.se-menu-badge{background:#d9534f;color:#fff;font-size:10px;padding:0 6px;border-radius:999px;font-weight:600}.se-shell-content{flex:1;min-width:0;min-height:0;padding:16px 18px 20px;overflow:auto;background:#fff}.se-shell-content:has(.special-equipment-sheet){overflow:hidden;display:flex;flex-direction:column}.special-equipment-sheet{flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column}.se-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:18px}.se-stats--equip{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.se-stats--equip{grid-template-columns:repeat(2,minmax(0,1fr))}}.se-stat-card{background:#f8faff;border:1px solid #eef3fa;border-radius:14px;padding:14px 16px}button.se-stat-card--equip{display:block;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}button.se-stat-card--equip:hover{border-color:#93c5fd;box-shadow:0 4px 14px #2563eb1f;transform:translateY(-1px)}button.se-stat-card--equip.is-active{border-color:#3b82f6;background:#eff6ff;box-shadow:0 4px 14px #2563eb29}.se-equip-detail{margin-bottom:16px}.se-equip-table-wrap{overflow-x:auto;overflow-y:visible;max-height:none;border:1px solid #e9eef6;border-radius:10px;background:#fff}.se-equip-table{width:100%;border-collapse:collapse;font-size:12px;min-width:1100px}.se-equip-table th,.se-equip-table td{padding:8px 10px;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:top;white-space:nowrap}.se-equip-table th{position:sticky;top:0;z-index:1;background:#f1f5fb;color:#0b2b4a;font-weight:700}.se-equip-table td:nth-child(4),.se-equip-table td:nth-child(9){white-space:normal;max-width:220px}.se-equip-note{min-width:120px;max-width:180px}.se-equip-note-inp{width:100%;min-width:100px;box-sizing:border-box;padding:4px 8px;border:1px solid #dbe3ef;border-radius:6px;font:inherit;font-size:12px;background:#fff}.se-equip-note-inp:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.se-equip-seq{cursor:context-menu;user-select:none;white-space:nowrap}.se-equip-status-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:700;vertical-align:middle}.se-equip-status-badge--scrap,.se-equip-status-badge--disabled{background:#fee2e2;color:#b91c1c}.se-equip-row--scrap,.se-equip-row--disabled{background:#fef2f2;color:#b91c1c}.se-equip-row--scrap td,.se-equip-row--disabled td{color:#b91c1c}.se-equip-row--scrap .se-equip-due-meta,.se-equip-row--disabled .se-equip-due-meta{color:#dc2626}.se-equip-row--scrap .se-equip-note-inp,.se-equip-row--disabled .se-equip-note-inp{color:#b91c1c;background:#fff5f5;border-color:#fecaca}.se-equip-row--scrap .se-equip-note-inp:focus,.se-equip-row--disabled .se-equip-note-inp:focus{border-color:#f87171;box-shadow:0 0 0 2px #ef444426}.se-equip-status-menu button.is-current{background:#eff6ff;color:#1d4ed8;font-weight:700}.se-equip-status-menu [data-se-equip-action=move-down]{border-bottom:1px solid #e2e8f0;margin-bottom:2px;padding-bottom:10px}.se-row-context-menu button.is-current{background:#eff6ff;color:#1d4ed8;font-weight:700}.se-row-context-menu [data-se-row-status=""]{border-bottom:1px solid #e2e8f0;margin-bottom:2px;padding-bottom:10px}.special-equipment-table tr.se-equip-row--scrap,.special-equipment-table tr.se-equip-row--disabled{background:#fef2f2;color:#b91c1c}.special-equipment-table tr.se-equip-row--scrap td,.special-equipment-table tr.se-equip-row--disabled td{color:#b91c1c}.special-equipment-table tr.se-equip-row--scrap .se-inp,.special-equipment-table tr.se-equip-row--disabled .se-inp{color:#b91c1c;background:#fff5f5;border-color:#fecaca}.special-equipment-table .se-equip-status-badge{margin-left:4px}.se-equip-due-meta{margin-top:2px;font-size:11px;color:#64748b}.se-equip-row--overdue .se-equip-due-meta{color:#b33636}.se-equip-row--soon .se-equip-due-meta{color:#a16207}.se-stat-label{font-size:12px;color:#5c7392;font-weight:500}.se-stat-number{font-size:28px;font-weight:700;color:#0b2b4a;margin-top:2px;line-height:1.2}.se-stat-number--alert{color:#d9534f}.se-stat-sub-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}.se-stat-sub{display:inline-block;margin-top:0;font-size:11px;background:#e5f3e6;color:#1a6e3a;padding:2px 10px;border-radius:999px;max-width:100%;word-break:break-word;font-weight:600}.se-stat-sub--ok{background:#e5f3e6;color:#1a6e3a}.se-stat-sub--disabled,.se-stat-sub--scrap{background:#fee2e2;color:#b91c1c}.se-stat-sub--clickable{cursor:pointer}.se-stat-sub--clickable:hover{filter:brightness(.96);box-shadow:0 0 0 1px #b91c1c40}.se-stat-sub--clickable.is-active-filter{box-shadow:0 0 0 2px #b91c1c73;font-weight:700}.se-equip-clear-filter-btn{margin-left:6px;vertical-align:middle}.se-stat-sub.danger{background:#fde8e8;color:#b33636}.se-stat-action{margin-top:10px;font-size:12px;font-weight:600;color:#2563eb}@media(max-width:720px){.se-stats--equip{grid-template-columns:1fr}}.se-two-col{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-bottom:16px}.se-three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}.se-card{background:#fafcff;border:1px solid #e9eef6;border-radius:14px;padding:16px 18px}.se-card-title{font-weight:600;color:#0b2b4a;font-size:15px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.se-card-title-note{font-size:12px;font-weight:400;color:#6a7f9b}.se-card-body{margin:0;font-size:13px;color:#3f5f82;line-height:1.7}.se-muted{font-size:13px;color:#6a7f9b;margin:0 0 8px}.se-risk-list{display:flex;flex-direction:column;gap:8px}.se-risk-item{display:flex;align-items:flex-start;gap:10px;background:#fff;padding:10px 12px;border-radius:10px;border:1px solid #eef3fa;border-left:4px solid #d9534f}.se-risk-item.medium{border-left-color:#f0ad4e}.se-level{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.se-level.high{background:#d9534f}.se-level.medium{background:#f0ad4e}.se-risk-text{font-size:13px;color:#1f344d;min-width:0}.se-risk-meta{margin-top:2px;font-size:12px;color:#6a7f9b}.se-task-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f9}.se-task-item:last-child{border-bottom:none}.se-task-name{font-weight:500;color:#1a304a;font-size:14px}.se-task-meta{font-size:12px;color:#6a7f9b;margin-top:2px}.se-task-status{font-size:12px;font-weight:600;padding:3px 12px;border-radius:999px;white-space:nowrap}.se-task-status.pending{background:#fff3db;color:#996f2b}.se-mini-btn{flex-shrink:0;padding:5px 12px!important;font-size:12px!important}.se-footer-note{margin-top:8px;padding:12px 16px;background:#f3f7fd;border-radius:12px;font-size:13px;color:#1f3b5c;border-left:5px solid #d9534f;line-height:1.7}.se-placeholder{max-width:560px}.se-placeholder-desc{margin:0 0 8px;font-size:13px;color:#3f5f82;line-height:1.7}.se-placeholder-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.se-empty-hint{text-align:center;padding:20px;color:#6a7f9b;font-size:13px}.se-law-block{background:#fafcff;border:1px solid #e9eef6;border-radius:12px;padding:14px 16px;margin-bottom:10px}.se-law-block h4{margin:0 0 8px;font-size:14px;color:#0b2b4a;display:flex;align-items:center;gap:8px}.se-law-block h4 span{font-size:11px;font-weight:600;background:#d9534f;color:#fff;padding:1px 8px;border-radius:999px}.se-law-block p{margin:0;font-size:13px;color:#3f5f82;line-height:1.7}@media(max-width:1024px){.se-two-col,.se-three-col{grid-template-columns:1fr}}@media(max-width:720px){.se-banner-right{margin-left:0;width:100%}.se-shell-topnav{width:100%}}.special-equipment-sheet-head{margin-bottom:12px;flex-shrink:0}.special-equipment-sheet-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px}.se-ledger-toolbar-slot,.se-overview-toolbar-slot{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.se-overview-toolbar-slot{margin-bottom:12px;width:100%}.se-ledger-toolbar-slot #activeMonthWrap,.se-overview-toolbar-slot #activeMonthWrap{display:inline-flex;align-items:center}.se-ledger-toolbar-slot #activeMonth,.se-overview-toolbar-slot #activeMonth{min-height:32px;padding:4px 8px;border:1px solid #c5d6ec;border-radius:8px;font-size:13px}.se-ledger-toolbar-slot .btn,.se-overview-toolbar-slot .btn{padding:6px 12px;font-size:12px}.special-equipment-sheet-title{margin:0;font-size:18px;font-weight:600;color:#0b2b4a}.se-sheet-switch{display:inline-flex;align-items:center;gap:8px;margin:0}.se-sheet-switch-label{font-size:12px;color:#6a7f9b;font-weight:500;white-space:nowrap}.se-sheet-switch-select{min-width:168px;max-width:min(280px,70vw);padding:6px 28px 6px 10px;border:1px solid #c5d6ec;border-radius:8px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236a7f9b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;-webkit-appearance:none;font-size:13px;color:#0b2b4a;font-family:inherit;cursor:pointer}.se-sheet-switch-select:hover,.se-sheet-switch-select:focus{border-color:#2b7be4;outline:none;box-shadow:0 0 0 3px #2b7be41f}.special-equipment-sheet-sub{margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.special-equipment-loading,.special-equipment-empty-block{padding:24px;text-align:center;color:var(--color-text-muted)}.special-equipment-soon{color:#dc2626;font-weight:600}.special-equipment-table td.special-equipment-soon{background:#fef2f2}.special-equipment-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.special-equipment-filter{display:flex;align-items:center;gap:12px}.special-equipment-filter select{padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;background:#fff}.special-equipment-table-wrap{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;max-height:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff}.special-equipment-table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.special-equipment-table th,.special-equipment-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--color-border-light);vertical-align:top;line-height:1.45;word-break:break-word}.special-equipment-table th{background:#f8fafc;font-weight:600;color:var(--color-text-muted);white-space:nowrap;position:sticky;top:0;z-index:1;box-shadow:inset 0 -1px 0 var(--color-border-light)}.special-equipment-table td{white-space:normal}.special-equipment-table .se-col-seq{width:56px;text-align:center;white-space:nowrap}.special-equipment-table td.se-col-seq--menu{cursor:context-menu;user-select:none}.special-equipment-table td.se-col-seq--menu:hover{background:#eff6ff;color:#1d4ed8}.special-equipment-edit-hint{margin:0 0 8px;font-size:12px;color:var(--color-text-muted);flex-shrink:0}.special-equipment-table th.se-col-seq,.special-equipment-table td.se-col-seq{text-align:center}.special-equipment-table input.se-inp{width:100%;min-width:0;border:0;background:transparent;font-size:12px;padding:4px 2px;box-sizing:border-box}.special-equipment-table input.se-inp:focus{outline:2px solid #93c5fd;background:#fff}.special-equipment-table td.se-col-seq{background:#f8fafc}.special-equipment-table td.se-col-readonly{background:#f8fafc;color:var(--color-text-muted)}.special-equipment-table td.se-col-readonly.special-equipment-soon{color:#dc2626;font-weight:600;background:#fef2f2}.special-equipment-footer-row input.se-footer-inp{font-size:12px}.special-equipment-table .se-col-date{white-space:nowrap}.special-equipment-table .se-col-org{min-width:180px}.special-equipment-table .se-col-soon{min-width:168px}.special-equipment-table .se-col-name{white-space:nowrap}.special-equipment-table tbody tr:hover{background:#f8fafc}.special-equipment-footer-row td{padding-top:0;padding-bottom:4px;color:var(--color-text-muted);font-size:12px;border-left:none!important;border-right:none!important;border-bottom:none!important;white-space:nowrap;vertical-align:bottom}.special-equipment-empty{text-align:center;padding:40px;color:var(--color-text-muted)}.special-equipment-expired{color:#dc2626;font-weight:600}.special-equipment-status{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.special-equipment-status.status-normal{background:#ecfdf5;color:#059669}.special-equipment-status.status-maintenance{background:#fef3c7;color:#d97706}.special-equipment-status.status-expired{background:#fee2e2;color:#dc2626}.special-equipment-status.status-disabled{background:#f1f5f9;color:#64748b}.special-equipment-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.special-equipment-dialog{background:#fff;border-radius:var(--radius-md);width:90%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.special-equipment-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-light)}.special-equipment-dialog-header h3{margin:0;font-size:16px}.special-equipment-dialog-header .btn-close{background:none;border:none;font-size:24px;line-height:1;color:var(--color-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.special-equipment-dialog-body{padding:20px;overflow-y:auto;max-height:calc(90vh - 120px)}.special-equipment-form-row{margin-bottom:16px}.special-equipment-form-row:last-child{margin-bottom:0}.special-equipment-form-row label{display:block;margin-bottom:6px;font-size:13px;font-weight:500}.se-form-input{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;box-sizing:border-box}.se-form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #3b82f626}.special-equipment-dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--color-border-light)}.se-daily-board{display:flex;flex-direction:column;gap:14px}.se-daily-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0 8px}.se-daily-date-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#475569}.se-daily-date{padding:6px 8px;border:1px solid #cbd5e1;border-radius:8px;font-size:13px}.se-daily-kind-tabs{display:inline-flex;flex-wrap:wrap;gap:6px}.se-daily-kind-btn.active{background:#1e3a5f;color:#fff;border-color:#1e3a5f}.se-daily-summary{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:#475569;padding-top:4px}.se-daily-summary strong{color:#0f172a;font-size:16px;margin-left:2px}.se-daily-filter-block{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.se-daily-filter-label{font-size:12px;color:#64748b;white-space:nowrap}.se-daily-toolbar-actions{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:auto}.se-daily-summary--cards{gap:10px 18px;margin-top:6px}.se-daily-stat--pass strong{color:#166534}.se-daily-stat--fail strong{color:#991b1b}.se-daily-progress{display:flex;align-items:center;gap:10px;margin-top:10px}.se-daily-progress-track{flex:1;height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden;min-width:80px}.se-daily-progress-fill{height:100%;background:linear-gradient(90deg,#2563eb,#16a34a);border-radius:999px;transition:width .2s ease}.se-daily-progress-text{font-size:12px;color:#64748b;white-space:nowrap}.se-daily-table-card{padding:0;overflow:hidden}.se-daily-table-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 14px 8px;font-weight:650;font-size:14px;color:#0f172a}.se-daily-table-wrap{overflow-x:auto;padding:0 0 8px}.se-daily-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.se-daily-table thead th{text-align:center;padding:10px;background:#f8fafc;color:#475569;font-weight:600;border-bottom:1px solid #e2e8f0;white-space:nowrap}.se-daily-table tbody td{padding:12px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:#0f172a}.se-daily-row{cursor:pointer;transition:background .12s ease}.se-daily-row:hover{background:#f8fafc}.se-daily-row.is-expanded{background:#f1f5f9}.se-daily-row--fail{box-shadow:inset 3px 0 #dc2626}.se-daily-row--partial{box-shadow:inset 3px 0 #d97706}.se-daily-row--pass{box-shadow:inset 3px 0 #16a34a}.se-daily-row--pending{box-shadow:inset 3px 0 #94a3b8}.se-daily-row--rest{box-shadow:inset 3px 0 #64748b}.se-daily-table col.se-daily-col-toggle{width:4%}.se-daily-table col.se-daily-col-name{width:18%}.se-daily-table col.se-daily-col-kind{width:8%}.se-daily-table col.se-daily-col-no{width:16%}.se-daily-table col.se-daily-col-loc{width:18%}.se-daily-table col.se-daily-col-sheet{width:16%}.se-daily-table col.se-daily-col-result{width:20%}.se-daily-col-toggle{color:#64748b;text-align:center;font-size:12px;padding-left:6px!important;padding-right:4px!important}.se-daily-col-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.se-daily-table thead th.se-daily-col-name{text-align:center}.se-daily-col-kind{color:#64748b;white-space:nowrap;text-align:center}.se-daily-col-no{color:#475569;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.se-daily-col-loc{color:#64748b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.se-daily-col-sheet{white-space:nowrap;text-align:center}.se-daily-sheet-btn{font-size:12px!important;padding:4px 8px!important;white-space:nowrap}.se-daily-col-result{white-space:nowrap;text-align:center}.se-daily-detail-hint{margin:10px 0 0;padding:8px 10px;font-size:12px;color:#475569;background:#f1f5f9;border-radius:8px}.se-daily-detail-title .se-daily-badge{margin-left:8px;vertical-align:middle}.se-daily-checklist-dialog{max-width:720px;width:calc(100vw - 32px)}.se-daily-checklist-body{max-height:min(70vh,560px);overflow:auto}.se-daily-checklist-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:6px 0 12px}.se-daily-col-who{width:72px}.se-daily-col-time{width:56px;color:#64748b;font-variant-numeric:tabular-nums}.se-daily-month-header-minimal{justify-content:flex-end!important;min-height:36px;padding-top:8px!important;padding-bottom:4px!important;border-bottom:0!important}.se-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.se-daily-table-empty{text-align:center;color:#64748b;padding:28px 12px!important}.se-daily-expand-row td{padding:0 10px 14px!important;background:#f8fafc;border-bottom:1px solid #e2e8f0;text-align:left}.se-daily-detail{margin:0 4px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.se-daily-detail-meta{font-size:12px;color:#64748b;margin-bottom:4px}.se-daily-detail-title{font-weight:650;font-size:13px;color:#0f172a;margin-bottom:8px}.se-daily-detail-empty{margin:0;font-size:13px;color:#64748b}.se-daily-detail-table{width:100%;border-collapse:collapse;font-size:12px}.se-daily-detail-table th,.se-daily-detail-table td{padding:6px 8px;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:top}.se-daily-detail-table th{background:#f8fafc;color:#64748b;font-weight:600}.se-daily-detail-seq{width:36px;color:#94a3b8}.se-daily-detail-name{font-weight:600;white-space:nowrap}.se-daily-detail-content{color:#475569}.se-daily-detail-mark{white-space:nowrap;font-weight:700;width:88px}.se-daily-detail-table tr.is-pass .se-daily-detail-mark{color:#166534}.se-daily-detail-table tr.is-fail .se-daily-detail-mark{color:#991b1b}.se-daily-detail-table tr.is-empty .se-daily-detail-mark{color:#94a3b8;font-weight:500}.se-daily-detail-mark-label{font-weight:500;font-size:11px;margin-left:2px}.se-daily-detail-remark{margin:10px 0 0;font-size:12px;color:#b45309}.se-daily-detail-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.se-daily-qr-dialog{max-width:360px}.se-daily-qr-body{text-align:center}.se-daily-qr-modal-host{display:inline-flex;align-items:center;justify-content:center;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;min-height:180px;min-width:180px}.se-daily-qr-modal-host canvas{display:block}.se-daily-qr-hint{margin:10px 0 0;font-size:12px;color:#64748b}.se-daily-list-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.se-daily-card{display:flex;gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;border-left:4px solid #94a3b8;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.se-daily-card:hover{box-shadow:0 4px 14px #0f172a14;border-color:#cbd5e1}.se-daily-card-actions,.se-daily-card-qr{cursor:default}.se-daily-card--pass{border-left-color:#16a34a}.se-daily-card--fail{border-left-color:#dc2626}.se-daily-card--partial{border-left-color:#d97706}.se-daily-card--pending{border-left-color:#94a3b8}.se-daily-card-main{flex:1;min-width:0}.se-daily-card-title{font-weight:650;font-size:15px;color:#0f172a}.se-daily-card-meta,.se-daily-card-sub{font-size:12px;color:#64748b;margin-top:4px}.se-daily-card-remark{color:#b45309}.se-daily-card-result{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.se-daily-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#f1f5f9;color:#475569}button.se-daily-result-btn{border:0;cursor:pointer;font:inherit;line-height:inherit;appearance:none;-webkit-appearance:none}button.se-daily-result-btn:hover{filter:brightness(.96);box-shadow:0 0 0 2px #2563eb33}button.se-daily-result-btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.se-daily-badge--pass{background:#dcfce7;color:#166534}.se-daily-badge--fail{background:#fee2e2;color:#991b1b}.se-daily-badge--partial{background:#ffedd5;color:#9a3412}.se-daily-badge--pending{background:#f1f5f9;color:#64748b}.se-daily-badge--rest{background:#e2e8f0;color:#334155}.se-daily-badge--disabled{background:#e2e8f0;color:#475569}.se-daily-card--rest{border-left-color:#64748b;background:#f8fafc}.se-daily-rest-banner{margin:8px 0 4px;padding:10px 12px;border-radius:10px;background:#f1f5f9;color:#334155;font-size:14px;font-weight:650}.se-daily-month-day.is-rest-day,.se-daily-month-cell.is-rest{background:#f1f5f9;color:#94a3b8}.se-daily-month-day.is-rest-day small{display:block;font-size:10px;font-weight:600;line-height:1.1}.se-daily-card-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.se-daily-card-qr{width:96px;height:96px;flex:0 0 96px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border-radius:8px;border:1px dashed #cbd5e1}.se-daily-card-qr canvas{max-width:100%;height:auto}.se-daily-qr-fallback{display:block;padding:6px;font-size:11px;line-height:1.35;color:#b45309;text-align:center}.se-daily-qr-fallback a{color:#1d4ed8}.se-daily-public-body{margin:0;min-height:100vh;background:linear-gradient(180deg,#eef2f7,#f8fafc 40%,#f1f5f9);color:#0f172a;font-family:PingFang SC,Microsoft YaHei,sans-serif}.se-daily-public-header{padding:18px 16px 8px;max-width:640px;margin:0 auto}.se-daily-public-title{margin:0;font-size:1.25rem;font-weight:700;line-height:1.35}.se-daily-public-meta{margin:8px 0 0;font-size:13px;color:#64748b;line-height:1.45}.se-daily-public-main{max-width:640px;margin:0 auto;padding:8px 16px 120px}.se-daily-public-loading,.se-daily-public-error,.se-daily-public-warn{padding:14px;border-radius:12px;background:#fff;border:1px solid #e2e8f0;font-size:14px}.se-daily-public-error{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.se-daily-public-warn{color:#9a3412;border-color:#fed7aa;background:#fff7ed;margin-bottom:10px}.se-daily-status{padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;margin-bottom:12px;background:#f1f5f9}.se-daily-status--pass{background:#dcfce7;color:#166534}.se-daily-status--fail{background:#fee2e2;color:#991b1b}.se-daily-status--partial{background:#ffedd5;color:#9a3412}.se-daily-status--pending{background:#f1f5f9;color:#475569}.se-daily-status--rest{background:#e2e8f0;color:#334155}.se-daily-list{display:flex;flex-direction:column;gap:10px}.se-daily-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.se-daily-item-head{display:flex;gap:10px;align-items:flex-start}.se-daily-item-seq{width:24px;height:24px;border-radius:50%;background:#1e3a5f;color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px}.se-daily-item-name{font-weight:650;font-size:15px}.se-daily-item-content{font-size:12px;color:#64748b;margin-top:2px}.se-daily-item-actions{display:flex;gap:8px;margin-top:10px}.se-daily-choice{flex:1;border:1px solid #cbd5e1;background:#f8fafc;border-radius:10px;padding:10px 8px;font-size:14px;font-weight:600;cursor:pointer}.se-daily-choice.is-pass.is-active{background:#16a34a;border-color:#16a34a;color:#fff}.se-daily-choice.is-fail.is-active{background:#dc2626;border-color:#dc2626;color:#fff}.se-daily-choice:disabled{opacity:.65;cursor:default}.se-daily-field{display:block;margin-top:14px;font-size:13px;color:#475569}.se-daily-field span{display:block;margin-bottom:6px;font-weight:600}.se-daily-field input,.se-daily-field textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:15px;font-family:inherit;background:#fff}.se-daily-tip{font-size:12px;color:#94a3b8;margin-top:12px;line-height:1.5}.se-daily-public-footer{position:sticky;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#f8fafcf5;border-top:1px solid #e2e8f0;backdrop-filter:blur(8px);display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.se-daily-save-btn,.se-daily-all-pass{min-width:140px;padding:12px 18px;font-size:15px}.se-daily-public-hint{width:100%;text-align:center;margin:0;font-size:12px;color:#94a3b8}.se-daily-view-dialog{max-width:640px;width:min(94vw,640px)}.se-daily-month-dialog{max-width:min(96vw,1100px);width:min(96vw,1100px)}.se-daily-view-meta{font-size:13px;color:#64748b;margin-bottom:10px;line-height:1.45}.se-daily-view-meta-note{display:inline-block;margin-left:10px;padding:1px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:650}.se-daily-month-table--export .se-daily-month-seq-head,.se-daily-month-table--export .se-daily-month-seq{position:sticky;left:0;z-index:2;width:44px;min-width:44px;text-align:center;background:#f8fafc;box-shadow:1px 0 #e2e8f0}.se-daily-month-table--export .se-daily-month-seq-head{z-index:3;top:0;background:#eef2f7}.se-daily-month-table--export .se-daily-month-name-head,.se-daily-month-table--export .se-daily-month-name{position:sticky;left:44px;z-index:2;min-width:88px;max-width:110px;text-align:left;padding:6px 8px;background:#f8fafc;box-shadow:1px 0 #e2e8f0;font-weight:650}.se-daily-month-table--export .se-daily-month-name-head{z-index:3;top:0;background:#eef2f7}.se-daily-month-table--export .se-daily-month-content-head,.se-daily-month-table--export .se-daily-month-content{position:sticky;left:132px;z-index:2;min-width:160px;max-width:200px;text-align:left;padding:6px 8px;background:#f8fafc;box-shadow:1px 0 #e2e8f0;font-weight:400;color:#475569}.se-daily-month-table--export .se-daily-month-content-head{z-index:3;top:0;background:#eef2f7;font-weight:650;color:#334155}.se-daily-month-day.is-out-month,.se-daily-month-cell.is-out-month{background:#fafafa;color:#cbd5e1}.se-daily-month-tip-row .se-daily-month-tip{padding:8px 10px;font-size:12px;color:#64748b;background:#f8fafc;text-align:left}.se-daily-month-sheet-title{font-size:15px;font-weight:700;color:#0f172a;margin-bottom:4px}.se-daily-month-sheet-sub{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 18px;font-size:12px;color:#475569;margin-bottom:12px}.se-daily-month-sheet-who{margin-left:auto;text-align:right;font-weight:600;color:#334155}.se-daily-month-scroll{overflow:auto;max-height:min(62vh,560px);border:1px solid #e2e8f0;border-radius:8px;background:#fff}.se-daily-month-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.se-daily-month-table th,.se-daily-month-table td{border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:0;vertical-align:middle}.se-daily-month-item-head,.se-daily-month-item{position:sticky;left:0;z-index:2;background:#f8fafc;min-width:168px;max-width:220px;text-align:left;padding:8px 10px;font-weight:600;color:#334155;box-shadow:1px 0 #e2e8f0}.se-daily-month-item-head{z-index:3;top:0;background:#eef2f7}.se-daily-month-item-seq{display:inline-block;width:1.4em;color:#94a3b8;font-variant-numeric:tabular-nums}.se-daily-month-item-name{font-weight:650;color:#0f172a}.se-daily-month-item-content{display:block;margin-top:2px;font-size:11px;font-weight:400;color:#94a3b8;line-height:1.35}.se-daily-month-day{position:sticky;top:0;z-index:1;min-width:28px;width:28px;height:30px;text-align:center;font-weight:600;color:#64748b;background:#eef2f7}.se-daily-month-cell{min-width:28px;width:28px;height:28px;text-align:center;font-size:13px;font-weight:700;line-height:1;background:#fff}.se-daily-month-cell.is-pass{color:#16a34a}.se-daily-month-cell.is-fail{color:#dc2626}.se-daily-month-cell.is-empty{color:transparent}.se-daily-month-day.is-selected-day,.se-daily-month-cell.is-selected-day{background:#eff6ff}.se-daily-month-inspector-row .se-daily-month-item{background:#f8fafc}.se-daily-month-situation-row .se-daily-month-situation{height:38px;min-height:38px;padding:8px 10px;text-align:left;vertical-align:middle;font-size:13px;font-weight:650;color:#0f172a;background:#fff;position:sticky;left:0}.se-daily-month-inspector-cell{font-size:10px;font-weight:500;color:#64748b;max-width:28px;overflow:hidden;text-overflow:clip;white-space:nowrap;letter-spacing:-.02em}.se-daily-view-empty{text-align:center;color:#94a3b8;padding:20px 8px!important}.se-daily-view-remark{margin-top:14px;padding:10px 12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;font-size:13px;color:#9a3412;line-height:1.45}.se-daily-month-empty-hint,.se-daily-month-tip{margin-top:10px;margin-bottom:0;font-size:12px}
