:root{--bg:#f4f7f3;--surface:#fff;--surface-hover:#f7faf6;--border:#e5e8e0;--border-strong:#d3d8cc;--ink:#1c2433;--ink-secondary:#4b5565;--ink-muted:#8b93a1;--accent:#148a71;--accent-hover:#0f7560;--accent-soft:#e7f4f0;--accent-soft-border:#c8e5dc;--blue:#1e3a6e;--blue-soft:#ecf2f9;--danger:#b4372f;--danger-soft:#faeeed;--danger-soft-border:#efd3d1;--warn:#9a6700;--warn-soft:#fcf4e4;--warn-soft-border:#f0e0bb;--ok:#2e6e5a;--ok-soft:#eaf3ef;--neutral-soft:#f0efeb;--pastel-green:#e8f4ea;--pastel-green-border:#cbe6cf;--pastel-cream:#fbf4e2;--pastel-cream-border:#eddcb8;--pastel-blue:#e6f0f8;--pastel-blue-border:#c9def0;--pastel-pink:#fbecef;--pastel-pink-border:#f2d1d9;--pastel-lilac:#eeeafa;--pastel-lilac-border:#d8cff0;--pastel-peach:#fdeede;--pastel-peach-border:#f4d8bb;--radius:12px;--radius-lg:16px;--radius-sm:8px;--shadow-sm:0 1px 2px #1c24330d;--shadow-md:0 3px 12px #1c243314;--font:"Noto Sans JP", -apple-system, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", sans-serif}*{box-sizing:border-box}html,body{background:radial-gradient(1200px 480px at 100% -10%, #148a710f, transparent 60%), radial-gradient(900px 420px at -5% 0%, #f0c87814, transparent 55%), var(--bg);color:var(--ink);font-family:var(--font);background-attachment:fixed;margin:0;padding:0;font-size:14px;line-height:1.6;overflow-x:hidden}#root{min-height:100vh}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.4}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-shell{width:100%;min-width:0;min-height:100vh;display:flex}.sidebar{--sidebar-width:244px;--sidebar-account-height:132px;width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100dvh;display:flex;position:sticky;top:0}.sidebar-resize-handle{cursor:col-resize;z-index:30;touch-action:none;width:7px;height:100%;position:absolute;top:0;right:-3px}.sidebar-resize-handle:after{content:"";background:0 0;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:3px}.sidebar-brand{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:20px 20px 16px;display:flex}.sidebar-brand img{object-fit:contain;border-radius:0;flex-shrink:0;width:auto;max-width:178px;height:40px}.sidebar-brand .brand-name{letter-spacing:.01em;color:var(--ink);font-size:17px;font-weight:700}.sidebar-brand .brand-name span{color:var(--accent)}.sidebar-brand .brand-sub{color:var(--ink-muted);margin-top:2px;font-size:11px}.sidebar-nav{flex:1;min-height:0;padding:12px 10px;overflow:hidden auto}.sidebar-nav a{border-radius:var(--radius-sm);color:var(--ink-secondary);align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:13.5px;font-weight:500;display:flex}.sidebar-nav a:hover{background:var(--surface-hover);color:var(--ink);text-decoration:none}.sidebar-nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar-nav .nav-icon{text-align:center;flex-shrink:0;width:20px;font-size:15px;line-height:1}.sidebar-nav .nav-divider{background:var(--border);height:1px;margin:10px 12px}.sidebar-nav .nav-group-label{letter-spacing:.04em;color:var(--ink-muted);text-transform:none;padding:12px 12px 5px;font-size:10.5px;font-weight:700}.sidebar-nav a.nav-office{background:var(--pastel-cream);border:1px solid var(--pastel-cream-border);color:var(--ink-secondary)}.sidebar-nav a.nav-office:hover{background:#f8eecf}.sidebar-nav a.nav-office.active{background:var(--pastel-cream);border-color:var(--warn);color:var(--warn)}.sidebar-nav a.nav-office .nav-lock{opacity:.7;margin-left:auto;font-size:11px}.sidebar-account-spacer{height:var(--sidebar-account-height,132px);pointer-events:none;flex-shrink:0}.sidebar-account-anchor{width:var(--sidebar-width,244px);z-index:40;flex-shrink:0;position:fixed;bottom:0;left:0}.sidebar-account{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;gap:10px;padding:12px 12px 14px;display:flex}.sidebar-account-user{align-items:center;gap:10px;min-width:0;display:flex}.avatar-fallback{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.sidebar-account-meta{min-width:0}.sidebar-account-label{color:var(--ink-muted);letter-spacing:.02em;font-size:10px;font-weight:600;line-height:1.15}.sidebar-account-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:13px;font-weight:700;line-height:1.2;overflow:hidden}.sidebar-account-facility{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:11.5px;line-height:1.2;overflow:hidden}.sidebar-account-actions{gap:6px;display:flex}.sidebar-account-btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-secondary);font-family:var(--font);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 8px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.sidebar-account-btn:hover{background:var(--surface-hover);color:var(--ink);text-decoration:none}.sidebar-account-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft-border)}.main-area{flex-direction:column;flex:1;min-width:0;max-width:calc(100vw - 220px);display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;justify-content:space-between;align-items:center;gap:16px;padding:14px 32px;display:flex;position:sticky;top:0}.topbar .facility-name{font-size:14px;font-weight:600}.topbar .facility-meta{color:var(--ink-muted);font-size:12px}.topbar-facility{align-items:center;gap:8px;min-width:0;display:inline-flex}.topbar-facility-icon{font-size:18px;line-height:1}.topbar-facility-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.auth-controls{align-items:center;gap:10px;min-width:0;display:inline-flex}.auth-user-meta{flex-direction:column;align-items:flex-end;min-width:0;display:flex}.auth-status{color:var(--accent);font-size:11px;font-weight:700}.auth-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--ink-secondary);font-size:12px;overflow:hidden}.page{width:100%;min-width:0;max-width:1160px;margin:0 auto;padding:28px 32px 64px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-title{letter-spacing:.01em;font-size:22px;font-weight:700}.page-desc{color:var(--ink-secondary);margin-top:4px;font-size:13px}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.section{min-width:0;margin-bottom:28px}.section-title{align-items:center;gap:8px;margin-bottom:12px;font-size:15px;font-weight:600;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;min-height:118px;padding:18px 20px;transition:border-color .12s,box-shadow .12s;display:flex}a.dash-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);text-decoration:none}.dash-card .dash-label{color:var(--ink-secondary);justify-content:space-between;align-items:center;font-size:12.5px;font-weight:600;display:flex}.dash-card .dash-value{color:var(--ink);font-size:20px;font-weight:700;line-height:1.3}.dash-card .dash-value.danger{color:var(--danger)}.dash-card .dash-value.ok{color:var(--ok)}.dash-card .dash-sub{color:var(--ink-muted);font-size:12px}.dash-card .dash-action{color:var(--accent);margin-top:auto;padding-top:6px;font-size:12.5px;font-weight:600}a.dash-card:hover .dash-action{text-decoration:underline}.hero-copy{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:18px 22px}.hero-copy .hero-main{color:var(--ink);font-size:15px;font-weight:700}.hero-copy .hero-sub{color:var(--ink-secondary);margin-top:4px;font-size:12.5px;line-height:1.7}.login-page{background:linear-gradient(135deg, #148a7114, #1e3a6e0f), var(--bg);place-items:center;min-height:100vh;padding:32px 16px;display:grid}.login-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(100%,760px);box-shadow:var(--shadow-md);padding:36px}.login-brand{align-items:center;gap:12px;margin-bottom:34px;display:flex}.login-brand img{object-fit:contain;border-radius:0;width:auto;max-width:200px;height:40px}.login-brand .brand-name{color:var(--ink);font-size:19px;font-weight:700}.login-brand .brand-name span{color:var(--accent)}.login-brand .brand-sub{color:var(--ink-muted);font-size:12px}.login-copy h1{letter-spacing:0;max-width:620px;font-size:30px;line-height:1.35}.login-copy p{max-width:640px;color:var(--ink-secondary);margin-top:14px;font-size:15px;line-height:1.9}.inline-code{background:var(--neutral-soft);color:var(--ink);border-radius:5px;align-items:center;margin:0 4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em;display:inline-flex}.login-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.setup-steps{gap:12px;margin-top:28px;display:grid}.setup-steps div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-hover);padding:13px 14px}.setup-steps strong{font-size:13.5px;display:block}.setup-steps span{color:var(--ink-secondary);margin-top:4px;font-size:12.5px;display:block}.login-features{flex-wrap:wrap;gap:8px;margin-top:30px;display:flex}.login-features span{background:var(--blue-soft);color:var(--blue);border:1px solid #d4e2f2;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.login-safety{border-top:1px solid var(--border);color:var(--ink-muted);margin-top:22px;padding-top:18px;font-size:12.5px}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:var(--accent-soft-border)}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-soft-border)}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-soft-border)}.badge.neutral{background:var(--neutral-soft);color:var(--ink-secondary);border-color:var(--border)}.badge.blue{background:var(--blue-soft);color:var(--blue);border-color:#d4e2f2}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font-family:var(--font);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13.5px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--surface-hover);border-color:var(--ink-muted)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger-outline{color:var(--danger);border-color:var(--danger-soft-border)}.btn.danger-outline:hover{background:var(--danger-soft)}.btn.sm{padding:5px 11px;font-size:12.5px}.btn.lg{padding:11px 22px;font-size:14.5px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-x:auto}table.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:var(--ink-secondary);border-bottom:1px solid var(--border);white-space:nowrap;background:#fbfaf8;padding:10px 14px;font-size:12px;font-weight:600;position:sticky;top:0}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 14px;line-height:1.5}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}.data-table tr.total-row td{border-top:2px solid var(--border-strong);background:#fbfaf8;font-weight:700}.leave-requests-table-wrap{overflow:auto visible}.leave-requests-table th,.leave-requests-table td{white-space:nowrap;vertical-align:middle;padding:6px 8px;font-size:12.5px;line-height:1.25}.leave-requests-table thead th{z-index:2;box-shadow:0 1px 0 var(--border);background:#fbfaf8;position:sticky;top:0}.leave-requests-row:hover{background:var(--surface-hover)}.leave-date-cell{font-variant-numeric:tabular-nums;min-width:72px}.leave-staff-cell strong{white-space:nowrap}.leave-impact-cell{text-overflow:ellipsis;white-space:nowrap;max-width:120px;color:var(--ink-secondary);font-size:12px;overflow:hidden}.leave-actions{flex-wrap:nowrap;gap:4px;display:flex}.leave-actions .btn.sm{padding:3px 8px;font-size:11.5px}.leave-muted{color:var(--ink-muted)}.leave-summary-bar{border:1px solid var(--border);background:#fbfaf8;border-radius:8px;flex-wrap:wrap;gap:12px 20px;margin-top:8px;padding:10px 14px;font-size:13px;display:flex}.leave-summary-bar strong{font-variant-numeric:tabular-nums}.demo-backfill-row{opacity:.92}.leave-approve-actions{flex-wrap:nowrap;align-items:center;gap:4px;display:flex}.leave-type-select{max-width:72px;padding:2px 4px;font-size:11.5px}.leave-balance-cell{text-overflow:ellipsis;max-width:180px;font-size:11.5px;overflow:hidden}.leave-requests-filter{z-index:3;background:var(--surface,#fff);position:sticky;top:0}.leave-balance-link{color:inherit;text-underline-offset:2px;text-decoration:underline}.leave-balance-link:hover{color:var(--accent)}.leave-balances-table-wrap{overflow-x:auto}.leave-balances-table th,.leave-balances-table td{white-space:nowrap;vertical-align:middle;padding:6px 8px;font-size:12px}.paid-leave-summary{margin-top:8px}.text-danger{color:var(--danger,#c0392b);font-weight:600}.text-warn{color:var(--warn,#b8860b)}.form-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:14px 18px;width:100%;max-width:100%;display:grid}.field{box-sizing:border-box;flex-direction:column;gap:5px;min-width:0;max-width:100%;display:flex}.field label{color:var(--ink-secondary);font-size:12.5px;font-weight:600}.field .hint{color:var(--ink-muted);font-size:11.5px}input[type=text],input[type=number],input[type=date],input[type=time],input[type=month],select,textarea{font-family:var(--font);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:8px 10px;font-size:13.5px}input[type=date],input[type=time],input[type=month]{appearance:none;max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft-border);border-color:var(--accent)}textarea{resize:vertical;min-height:72px}.checkbox-row{align-items:center;gap:8px;font-size:13.5px;display:flex}.checkbox-row input{width:auto}.form-section-title{color:var(--ink-secondary);border-bottom:1px solid var(--border);margin:22px 0 12px;padding-bottom:6px;font-size:13px;font-weight:700}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.filter-bar select,.filter-bar input{width:auto}.month-selector{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px;display:inline-flex}.month-selector button{cursor:pointer;color:var(--ink-secondary);background:0 0;border:none;border-radius:5px;padding:5px 10px;font-size:14px}.month-selector button:hover{background:var(--surface-hover);color:var(--ink)}.month-selector .month-label{text-align:center;min-width:92px;padding:0 8px;font-size:13.5px;font-weight:600}.empty-state{text-align:center;color:var(--ink-muted);padding:40px 24px;font-size:13.5px}.notice{border-radius:var(--radius-sm);border:1px solid;margin-bottom:16px;padding:12px 16px;font-size:13px}.notice.info{background:var(--blue-soft);color:var(--blue);border-color:#d4e2f2}.notice.warn{background:var(--warn-soft);border-color:var(--warn-soft-border);color:var(--warn)}.notice.danger{background:var(--danger-soft);border-color:var(--danger-soft-border);color:var(--danger)}.notice.ok{background:var(--ok-soft);border-color:var(--accent-soft-border);color:var(--ok)}.shortage-card{border:1px solid var(--danger-soft-border);background:var(--surface);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.shortage-card .sc-date{font-size:14.5px;font-weight:700}.shortage-card .sc-meta{color:var(--ink-secondary);margin-top:2px;font-size:12.5px}.shortage-card .sc-reason{color:var(--ink-muted);margin-top:6px;font-size:12px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-head{text-align:center;color:var(--ink-muted);padding:4px 0;font-size:12px;font-weight:600}.cal-cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;min-height:76px;padding:6px 8px;font-size:12px;transition:border-color .12s}.cal-cell:hover{border-color:var(--accent)}.cal-cell.selected{border-color:var(--accent);outline:2px solid var(--accent-soft-border)}.cal-cell.empty{cursor:default;background:0 0;border:none}.cal-cell.closed{background:var(--neutral-soft);color:var(--ink-muted);cursor:default}.cal-cell .cal-day{font-size:12.5px;font-weight:600}.cal-cell .cal-day.sat{color:var(--blue)}.cal-cell .cal-day.sun{color:var(--danger)}.cal-cell .cal-count{color:var(--ink-secondary);margin-top:3px}.cal-cell .cal-flag{margin-top:3px}.mobile-shell{background:var(--surface);box-sizing:border-box;--staff-header-height:64px;--staff-tabbar-height:72px;flex-direction:column;width:100%;min-width:0;max-width:430px;min-height:100vh;margin:0 auto;display:flex;overflow-x:clip}.mobile-shell *,.mobile-shell :before,.mobile-shell :after{box-sizing:border-box}.mobile-header,.staff-mobile-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:20;width:100%;min-width:0;max-width:100%;padding:12px 16px;position:sticky;top:0}.mobile-body{padding:16px 16px calc(96px + env(safe-area-inset-bottom,0px) + 24px);flex:1;width:100%;min-width:0;max-width:100%;overflow-x:clip}.mobile-tabbar{background:var(--surface);border-top:1px solid var(--border);z-index:30;width:100%;max-width:430px;padding-bottom:env(safe-area-inset-bottom,0px);pointer-events:auto;min-height:64px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.mobile-tabbar button{min-width:0;min-height:56px;font-family:var(--font);color:var(--ink-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 2px 10px;font-size:11px;font-weight:600;line-height:1.25;display:flex}.mobile-tabbar button span{white-space:normal;text-align:center;word-break:keep-all;overflow-wrap:anywhere;max-width:100%;padding:0 1px;display:block}.list-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:12px 0;display:flex}.print-only,.shift-print-doc{display:none}@media print{.sidebar,.topbar,.mobile-nav,.page-actions,.filter-bar,.no-print,.shift-toolbar,.shift-tabs,.shift-status-actions,.shift-assign-editor,.modal-backdrop,.shift-assign-overlay{display:none!important}.print-only{display:block!important}.page{max-width:none!important;margin:0!important;padding:0!important}.main-area{max-width:none!important}body{background:#fff}.shifts-root>:not(.shift-print-doc){display:none!important}.shift-print-doc{display:block!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.payslip-sheet{max-width:none!important;box-shadow:none!important;border:none!important}}@page{size:A3 landscape;margin:6mm}@page portraitPage{size:A4 portrait;margin:10mm}.shift-print-staff{page:portraitPage}.shift-print-doc{color:#16202e}.shift-print-title{border-bottom:1.5px solid #555;margin-bottom:8px;padding-bottom:5px}.shift-print-title h1{margin:0 0 2px;font-size:16pt}.shift-print-title p{color:#333;margin:0;font-size:10pt}.shift-print-table{border-collapse:collapse;table-layout:fixed;width:100%}.shift-print-table col.pcol-name{width:8.5%}.shift-print-table col.pcol-sum{width:3.4%}.shift-print-table th,.shift-print-table td{text-align:center;vertical-align:middle;word-break:keep-all;border:.5px solid #9aa3af;padding:2px;font-size:8.5pt;overflow:visible}.shift-print-table thead th{background:#eef1f5;font-size:8.5pt;font-weight:700}.shift-print-table .p-wd{font-size:7pt;font-weight:400;display:block}.shift-print-table .pcol-name{text-align:left;white-space:normal;font-size:9pt;font-weight:700}.shift-print-table .p-sun{background:#fbeeee}.shift-print-table .p-sat{background:#eef3fb}.shift-print-table .p-holiday{color:#9a3b00;background:#fff3e8}.shift-print-table .p-holiday-name{color:#9a3b00;white-space:nowrap;font-size:7pt;font-weight:700;display:block}.shift-print-table .p-closed{color:#7f838a;background:#f0f0f2}.shift-print-table .p-num{font-size:8.5pt}.shift-print-table .p-time{font-variant-numeric:tabular-nums;white-space:nowrap}.p-chip{border:.5px solid #0000002e;border-radius:3px;margin:1px 0;padding:1px 2px;line-height:1.15;display:block}.p-chip .p-t{overflow-wrap:anywhere;font-size:8.5pt;font-weight:700;display:block}.p-chip .p-c{font-size:8.5pt;font-weight:800;display:block}.p-leave{color:#555;font-size:8pt;display:block}.shift-print-legend{gap:12px;margin-top:6px;font-size:8.5pt;display:flex}.shift-print-legend i.p-key{vertical-align:-1px;border-radius:2px;width:11px;height:11px;margin-right:3px;display:inline-block}.shift-print-daily-table td,.shift-print-daily-table th{text-align:left;padding:4px 6px;font-size:10pt}.p-seg-row{flex-wrap:wrap;gap:5px;display:flex}.p-seg{border:.5px solid #0003;border-radius:4px;padding:1px 6px;font-size:9.5pt;font-weight:700}.p-seg-joint{color:#16503f;background:#cfe6dd}.p-seg-class{color:#16202e;background:#eef1f5}.p-seg-free{color:#0d5c4d;background:#c3efe4}.p-seg-support{color:#124f64;background:#c7e8f5}.shift-print-staff-table td,.shift-print-staff-table th{text-align:left;padding:5px 8px;font-size:11pt}.shift-print-staff-table tfoot td{background:#f2f4f7;font-weight:700}.payslip-compact td{padding:6px 10px;font-size:12.5px}.shift-band-early{background:var(--sc-early-bg,#cfe0f5);color:var(--sc-early-fg,#123f6d);border:1px solid var(--sc-early-bd,#7ba7dd)}.shift-band-middle{background:var(--sc-middle-bg,#cdead9);color:var(--sc-middle-fg,#14503a);border:1px solid var(--sc-middle-bd,#6cba90)}.shift-band-late{background:var(--sc-late-bg,#fbd9bd);color:var(--sc-late-fg,#8a4712);border:1px solid var(--sc-late-bd,#e3974f)}.shift-band-part{background:var(--sc-part-bg,#e5d5f4);color:var(--sc-part-fg,#4a2878);border:1px solid var(--sc-part-bd,#a983d8)}.shift-band-other{color:#414753;background:#e6e7ea;border:1px solid #b7bcc6}.shift-role-free{background:var(--sc-free-bg,#c3efe4);color:var(--sc-free-fg,#0d5c4d);border:1px solid var(--sc-free-bd,#4bbda3)}.shift-role-support{background:var(--sc-support-bg,#c7e8f5);color:var(--sc-support-fg,#124f64);border:1px solid var(--sc-support-bd,#52acce)}.shift-role-joint{background:var(--sc-joint-bg,#dcd6ef);color:var(--sc-joint-fg,#3c2f6e);border:1px solid var(--sc-joint-bd,#8f7fca)}.shift-leave-off{background:var(--sc-off-bg,#e2e2e2);color:var(--sc-off-fg,#4c4c4c);border:1px solid var(--sc-off-bd,#c3c3c3)}.shift-leave-paid{background:var(--sc-paid-bg,#f8d6e0);color:var(--sc-paid-fg,#8a2545);border:1px solid var(--sc-paid-bd,#e79cb2)}.shift-leave-training{background:var(--sc-training-bg,#f7e9b6);color:var(--sc-training-fg,#765a09);border:1px solid var(--sc-training-bd,#dcc766)}.shift-leave-substitute{background:var(--sc-substitute-bg,#d4e4f7);color:var(--sc-substitute-fg,#274b73);border:1px solid var(--sc-substitute-bd,#7aa6d6)}.shift-chip{white-space:nowrap;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:0;min-width:66px;margin:1px auto;padding:3px 6px;font-size:12.5px;font-weight:700;line-height:1.35;display:inline-flex}.shift-chip-time{letter-spacing:-.2px;white-space:nowrap;font-size:12px;font-weight:700}.shift-chip-class{font-size:13px;font-weight:800}.shift-chip-error{box-shadow:0 0 0 2px var(--danger,#c0392b)}.shift-chip-neutral{background:var(--neutral-soft,#eee);color:var(--ink-muted)}.shift-chip-warn{box-shadow:0 0 0 2px #cf9612}.shift-legend{vertical-align:-2px;border-radius:3px;width:13px;height:13px;margin-right:4px;display:inline-block}.shift-sql-warning{margin-bottom:16px}.page:has(.shifts-root){max-width:1520px;padding:14px 22px 16px}.shifts-root .page-header{align-items:center;margin-bottom:10px}.shifts-root .page-title{font-size:19px}.shifts-root .page-desc{display:none}.shifts-root .section{margin-bottom:10px}.shifts-root .section-title{margin-bottom:6px;font-size:14px}.shifts-root .filter-bar{row-gap:6px;margin-bottom:6px}.shift-explain-card{flex-direction:column;gap:8px;max-height:150px;display:flex;overflow-y:auto}.table-wrap.shift-board-wrap{scrollbar-width:none;height:auto;min-height:0;max-height:none;overflow:auto visible}.table-wrap.shift-board-wrap::-webkit-scrollbar{display:none}.shift-dual-hscroll{width:100%;max-width:100%}.shift-hscroll-rail{-webkit-overflow-scrolling:touch;background:#fffffff2;height:14px;overflow:auto hidden}.shift-hscroll-rail-top{border-bottom:1px solid var(--border)}.shift-hscroll-rail-bottom{border-top:1px solid var(--border)}.shift-hscroll-spacer{height:1px}.shift-staff-link{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;margin:0;padding:0;display:block}.shift-staff-link:hover,.shift-staff-link:focus-visible{color:var(--accent,#d97b29);outline:2px solid var(--accent,#d97b29);outline-offset:1px;text-decoration:underline}.shift-assign-overlay{z-index:90;background:#1c243352;justify-content:flex-end;align-items:stretch;padding:0;display:flex;position:fixed;inset:0}.shift-assign-drawer{background:var(--surface);width:min(460px,100%);max-height:100%;box-shadow:var(--shadow-md);border-radius:0;padding:18px 18px 24px;overflow:auto}@media (width<=720px){.shift-assign-overlay{justify-content:stretch;align-items:flex-end}.shift-assign-drawer{border-radius:16px 16px 0 0;width:100%;max-height:92vh}}.shift-board-wrap{width:100%;max-width:100%}.shift-board{width:max-content;min-width:100%}.shift-board th,.shift-board td{text-align:center;padding:7px;font-size:13px}.shift-board thead th{font-size:13px;font-weight:700}.shift-board .shift-board-name{text-align:left;white-space:normal;background:var(--surface,#fff);z-index:3;min-width:var(--shift-name-w,170px);max-width:var(--shift-name-w,170px);width:var(--shift-name-w,170px);box-shadow:1px 0 0 var(--border);position:sticky;left:0;overflow:hidden}.shift-board .shift-board-name strong{text-overflow:ellipsis;font-size:14px;line-height:1.2;display:block;overflow:hidden}.shift-name-sub{color:var(--ink-muted);text-overflow:ellipsis;white-space:normal;font-size:10px;line-height:1.2;display:block;overflow:hidden}.shifts-root{--shift-name-w:196px}.shifts-root[data-shift-name-width=compact]{--shift-name-w:160px}.shifts-root[data-shift-name-width=standard]{--shift-name-w:196px}.shifts-root[data-shift-name-width=wide]{--shift-name-w:228px}.shift-board thead th{background:var(--surface,#fff);z-index:8;position:sticky;top:0}.shift-cell{cursor:pointer;vertical-align:middle;min-width:84px;height:60px;overflow:visible}.shift-cell:hover{background:var(--accent-soft,#f4efe8)}.shift-cell-selected{outline:2px solid var(--accent,#d97b29);outline-offset:-2px}.shift-day-sun{color:#b0524d;background:#faeeee}.shift-day-sat{color:#1d4e89;background:#ecf3fb}.shift-day-closed{color:#8b8f96;background:#f0f0f2}td.shift-cell.shift-day-closed{background:#f4f4f6}.shift-cell.shift-day-sun,.shift-cell.shift-day-sat{background-clip:padding-box}.shift-flag{border-radius:50%;min-width:15px;font-size:10px;font-weight:700;line-height:15px;display:inline-block}.shift-flag-error{background:var(--danger,#c0392b);color:#fff}.shift-flag-warn{color:#6b5410;background:#f3d97b}.shift-violation-row{cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:flex-start;gap:8px;width:100%;padding:5px 6px;display:flex}.shift-violation-row:hover{background:var(--accent-soft,#f4efe8)}.gantt{overscroll-behavior-x:contain;flex-direction:column;gap:2px;width:100%;max-width:100%;display:flex;overflow-x:auto}.gantt-row{cursor:default;align-items:stretch;min-width:1040px;min-height:52px;display:flex}.gantt-row:not(.gantt-header):hover .gantt-track{background:#faf7f2}.gantt-name{background:var(--surface,#fff);z-index:3;box-shadow:1px 0 0 var(--border);flex:0 0 288px;align-items:stretch;font-size:13px;display:flex;position:sticky;left:0}.gantt-name-col{flex:auto;min-width:0;padding:6px 8px 4px 2px;overflow:hidden}.gantt-name-col strong{white-space:nowrap;font-size:14px}.gantt-worktime{text-align:center;color:var(--ink-secondary,#444);border-left:1px solid var(--border,#ddd);flex-direction:column;flex:0 0 78px;justify-content:center;padding:2px 4px;font-size:12.5px;font-weight:700;line-height:1.25;display:flex}.gantt-name-head{align-items:center;font-weight:700}.gantt-name-head .gantt-name-col{color:var(--ink-secondary);padding-top:8px;font-size:12px}.gantt-name-head .gantt-worktime{color:var(--ink-secondary)}.gantt-role{-webkit-line-clamp:2;max-height:2.5em;color:var(--ink-muted);-webkit-box-orient:vertical;font-size:11px;line-height:1.25;display:-webkit-box;overflow:hidden}.gantt-track{border-left:1px solid var(--border,#ccc);border-bottom:1px solid #e6e2da;flex:1;min-width:0;min-height:52px;position:relative;overflow:hidden}.gantt-daily-root{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;overflow:auto visible}.gantt-hscroll{max-width:100%;overflow:auto hidden}.gantt-header{z-index:4;background:var(--surface,#fff);position:sticky;top:0}.gantt-header-sticky{z-index:5;background:var(--surface,#fff);box-shadow:0 1px 0 var(--border,#ddd);position:sticky;top:0}.gantt-header-sticky .gantt-name{z-index:6;background:var(--surface,#fff);position:sticky;left:0}.gantt-header .gantt-track{border-bottom:2px solid var(--border,#bbb);min-height:30px}.gantt-track-axis{padding-left:2px;padding-right:2px}.gantt-hour{color:var(--ink-secondary,#666);white-space:nowrap;font-size:11px;font-weight:600;position:absolute;top:3px;transform:translate(-50%)}.gantt-hour-first{transform:translate(0)}.gantt-hour-last{transform:translate(-100%)}.gantt-hour:before{content:"";background:#1c243324;width:1px;height:999px;position:absolute;top:18px;left:50%}.gantt-hour-minor:before{background:#1c24330f}.gantt-bg{position:absolute;top:0;bottom:0}.gantt-bg-window{background:#d97b2914}.gantt-bg-opening{background:#1d4e8924}.gantt-bg-closing{background:#d97b2929}.gantt-bg-joint{background:#2e6e5a24;border-left:1px dashed #2e6e5a80}span.shift-legend.gantt-bg-window{background:#d97b2959;position:static}span.shift-legend.gantt-bg-joint{background:#2e6e5a52;position:static}.gantt-bar{border-radius:8px;align-items:flex-start;height:36px;padding:3px 7px;display:flex;position:absolute;top:7px;overflow:hidden;box-shadow:0 1px 3px #1c24332e}.gantt-bar-reserve{opacity:.85;border-style:dashed!important}.gantt-bar-free{background:var(--sc-free-bg,#b9ebde);color:var(--sc-free-fg,#0d5c4d);border-color:var(--sc-free-bd,#4bbda3)}.gantt-bar-joint{background:var(--sc-joint-bg,#dcd6ef);color:var(--sc-joint-fg,#3c2f6e);border-color:var(--sc-joint-bd,#8f7fca)}.gantt-bar-nurse{background:var(--sc-support-bg,#bfe4f3);color:var(--sc-support-fg,#124f64);border-color:var(--sc-support-bd,#52acce)}.gantt-bar-dedicated{box-shadow:0 0 0 2px #d9a520d9}.gantt-bar-label{white-space:nowrap;font-size:12px;font-weight:800}.gantt-placement-segment{text-align:center;white-space:nowrap;text-overflow:ellipsis;z-index:3;pointer-events:none;border:1px solid #fffc;border-radius:4px;height:16px;padding:0 5px;font-size:11px;font-weight:800;line-height:16px;position:absolute;top:25px;overflow:hidden;box-shadow:0 1px 2px #1c243333}.gantt-placement-joint{color:#fff;background:#26604ef2}.gantt-placement-class{color:var(--ink);background:#fffffff5;border-color:#1c243340}.gantt-placement-free{color:#0d5c4d;background:#9be2d2fa}.gantt-placement-support{color:#124f64;background:#a0d6ecfa}.gantt-break{pointer-events:none;z-index:4;background:repeating-linear-gradient(45deg,#46464647,#46464647 3px,#0000 3px 6px);border-radius:2px;height:12px;position:absolute;top:9px}.gantt-violation{border-radius:3px;height:9px;position:absolute;top:10px}.gantt-violation-error{background:#c0392bbf}.gantt-violation-warn{background:#d9a520bf}.gantt-coverage{border-top:2px solid var(--border);margin-top:8px;padding-top:4px}.gantt-coverage-header{min-height:24px}.gantt-coverage-row{min-height:34px}.gantt-coverage-bar{white-space:nowrap;text-overflow:ellipsis;border-radius:6px;min-height:24px;padding:4px 6px;font-size:10px;font-weight:700;position:absolute;top:5px;overflow:hidden}.gantt-coverage-ok{background:var(--ok-soft);color:var(--ok);border:1px solid var(--accent-soft-border)}.gantt-coverage-warning{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-soft-border)}.gantt-coverage-error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-soft-border)}.shift-slot-wrap{width:100%;max-width:100%;overflow-x:auto}.shift-slot-wrap .data-table{min-width:860px}@media (width>=901px) and (width<=1536px){.page{padding-left:24px;padding-right:24px}.shifts-root{--shift-name-w:140px}.shifts-root[data-shift-name-width=compact]{--shift-name-w:112px}.shifts-root[data-shift-name-width=standard]{--shift-name-w:140px}.shifts-root[data-shift-name-width=wide]{--shift-name-w:158px}.shift-cell{min-width:56px}.gantt-row{min-width:900px}.gantt-name{flex-basis:132px;font-size:11.5px}.gantt-bar-label{font-size:9.5px}}.modal-backdrop{z-index:80;background:#1c243352;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(720px,100%);max-height:min(760px,90vh);box-shadow:var(--shadow-md);padding:20px;overflow:auto}.share-text-preview{white-space:pre-wrap;font-family:var(--font);color:var(--ink-secondary);margin:8px 0 0;font-size:12.5px}.shift-personal-panel .shift-personal-sheet h2{margin-bottom:2px;font-size:17px}.grid-2{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 18px}.metric-card .metric-label{color:var(--ink-secondary);font-size:12.5px;font-weight:600}.metric-card .metric-value{margin-top:2px;font-size:22px;font-weight:700}.metric-card .metric-value.danger{color:var(--danger)}.metric-card .metric-value.ok{color:var(--ok)}.metric-card .metric-sub{color:var(--ink-muted);margin-top:2px;font-size:11.5px}.metric-card-clickable{cursor:pointer;transition:box-shadow .15s,transform .15s}.metric-card-clickable:hover{box-shadow:var(--shadow-md,0 4px 12px #00000014)}.metric-card-clickable:active{transform:translateY(1px)}.metric-card-clickable:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}.report-layout{grid-template-columns:250px 1fr;align-items:start;gap:20px;display:grid}.report-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:10px;position:sticky;top:76px}.report-nav .report-group{color:var(--ink-muted);letter-spacing:.04em;padding:10px 10px 4px;font-size:11px;font-weight:700}.report-nav .report-subgroup{color:var(--ink-secondary);padding:8px 10px 2px;font-size:10.5px;font-weight:700}.report-nav button{text-align:left;width:100%;font-family:var(--font);color:var(--ink-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13px;display:block}.report-nav button:hover{background:var(--surface-hover);color:var(--ink)}.report-nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.chip-row{flex-wrap:wrap;gap:8px;display:flex}a.chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-secondary);border-radius:999px;align-items:center;padding:6px 14px;font-size:12.5px;font-weight:600;display:inline-flex}a.chip:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.plain-list{flex-direction:column;display:flex}.plain-list .plain-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:9px 4px;font-size:13px;display:flex}.plain-list .plain-row:last-child{border-bottom:none}.plain-list .plain-time{color:var(--ink-muted);white-space:nowrap;font-size:11.5px}.mobile-nav{display:none}@media (width<=900px){.sidebar{display:none}.main-area{max-width:100vw}.page{padding:20px 16px 64px}.topbar{align-items:flex-start;padding:10px 16px}.auth-user-meta{display:none}.login-panel{padding:24px}.login-copy h1{font-size:24px}.mobile-nav{background:var(--surface);border-bottom:1px solid var(--border);z-index:19;-webkit-overflow-scrolling:touch;gap:6px;padding:8px 16px;display:flex;position:sticky;top:0;overflow-x:auto}.mobile-nav a{border:1px solid var(--border);color:var(--ink-secondary);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12.5px;font-weight:600}.mobile-nav a:hover{text-decoration:none}.mobile-nav a.active{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent)}.grid-2,.report-layout{grid-template-columns:1fr}.report-nav{position:static}}.shift-legend-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.shift-display-inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.shift-display-field{color:var(--ink-secondary);white-space:nowrap;align-items:center;gap:5px;font-size:11.5px;font-weight:600;display:inline-flex}.shift-display-field select{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:6px;padding:3px 6px;font-size:12px}.shift-place-chip{border:1px solid #0000;border-radius:6px;padding:1px 8px;font-size:12px;font-weight:700;display:inline-block}.shift-color-mode-row{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.shift-color-mode-chip{border:1px solid var(--border-strong,#cbd2dc);color:var(--ink-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.shift-color-mode-chip.active{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent)}.shift-color-mode-chip input{accent-color:var(--accent)}.shift-color-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.shift-color-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:10px;padding:6px 8px;display:flex}.shift-color-preview{text-align:center;white-space:nowrap;border:1.5px solid;border-radius:6px;min-width:74px;padding:4px 8px;font-size:13px;font-weight:800}.shift-color-inputs{flex-wrap:wrap;gap:8px;display:flex}.shift-color-field{align-items:center;gap:4px;display:inline-flex}.shift-color-field-label{color:var(--ink-muted);font-size:11px}.shift-color-field input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:5px;width:28px;height:26px;padding:0}.shift-color-hex{border:1px solid var(--border);width:78px;font-size:11.5px;font-family:var(--font-mono,monospace);border-radius:5px;padding:3px 5px}.shifts-root[data-shift-density=compact] .shift-board th,.shifts-root[data-shift-density=compact] .shift-board td{padding:4px 5px}.shifts-root[data-shift-density=compact] .shift-cell{height:48px}.shifts-root[data-shift-density=compact] .shift-chip{min-width:0;padding:2px 4px;font-size:11.5px}.shifts-root[data-shift-density=compact] .shift-chip-class{font-size:12px}.shifts-root[data-shift-density=ultra] .shift-board th,.shifts-root[data-shift-density=ultra] .shift-board td{padding:2px 3px}.shifts-root[data-shift-density=ultra] .shift-cell{height:38px}.shifts-root[data-shift-density=ultra] .shift-chip{gap:0;min-width:0;padding:1px 3px;font-size:10.5px;line-height:1.15}.shifts-root[data-shift-density=ultra] .shift-chip-time{font-size:10px}.shifts-root[data-shift-density=ultra] .shift-chip-class{font-size:11px}.shifts-root[data-shift-density=ultra] .shift-name-sub{display:none}@media (width<=900px){.shifts-root{--shift-name-w:100px}.shifts-root[data-shift-name-width=compact]{--shift-name-w:94px}.shifts-root[data-shift-name-width=standard]{--shift-name-w:108px}.shifts-root[data-shift-name-width=wide]{--shift-name-w:128px}.shift-board th,.shift-board td{padding:4px;font-size:12px}.shift-board .shift-board-name strong{font-size:12px}.shift-name-sub{font-size:9px}.shift-cell{min-width:48px;height:50px}.shift-chip{border-radius:5px;min-width:0;padding:2px 3px;font-size:11px}.shift-chip-time{font-size:10.5px}.shift-chip-class{font-size:11px}.shift-board .shift-board-summary{padding:4px 3px;font-size:10px}.table-wrap.shift-board-wrap{height:auto;max-height:none;overflow:auto visible}.shift-legend-row{align-items:flex-start}.shift-color-grid{grid-template-columns:1fr}}@media print{.shift-print-monthly,.shift-print-daily{width:408mm;max-width:none;min-height:285mm}.shift-print-staff{width:190mm;max-width:none}.shift-print-doc{box-sizing:border-box}}.home-hero{background:linear-gradient(135deg, var(--pastel-green), var(--pastel-cream));border:1px solid var(--pastel-green-border);border-radius:var(--radius-lg);margin-bottom:22px;padding:22px 26px}.home-hero h1{color:var(--ink);font-size:21px;font-weight:800}.home-hero p{color:var(--ink-secondary);margin-top:6px;font-size:13px;line-height:1.75}.flow-steps{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.flow-step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);flex-direction:column;align-items:flex-start;gap:6px;padding:12px 12px 12px 14px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.flow-step:hover{border-color:var(--accent);box-shadow:var(--shadow-sm,0 1px 4px #0000000f);text-decoration:none}.flow-step-no{color:var(--ink-muted);font-size:11px;font-weight:700;position:absolute;top:10px;right:12px}.flow-step-icon{font-size:20px;line-height:1}.flow-step-label{font-size:13px;font-weight:600}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.home-tile{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);min-height:132px;color:inherit;flex-direction:column;gap:8px;padding:20px;text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex;position:relative}a.home-tile:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);text-decoration:none;transform:translateY(-2px)}.home-tile .tile-icon{border-radius:13px;justify-content:center;align-items:center;width:46px;height:46px;font-size:24px;line-height:1;display:inline-flex}.home-tile .tile-title{color:var(--ink);font-size:15.5px;font-weight:700}.home-tile .tile-sub{color:var(--ink-muted);font-size:12px;line-height:1.55}.home-tile .tile-badge{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-soft-border);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700;position:absolute;top:14px;right:14px}.home-tile .tile-badge.ok{background:var(--ok-soft);color:var(--ok);border-color:var(--accent-soft-border)}.tile-green .tile-icon{background:var(--pastel-green);border:1px solid var(--pastel-green-border)}.tile-cream .tile-icon{background:var(--pastel-cream);border:1px solid var(--pastel-cream-border)}.tile-blue .tile-icon{background:var(--pastel-blue);border:1px solid var(--pastel-blue-border)}.tile-pink .tile-icon{background:var(--pastel-pink);border:1px solid var(--pastel-pink-border)}.tile-lilac .tile-icon{background:var(--pastel-lilac);border:1px solid var(--pastel-lilac-border)}.tile-peach .tile-icon{background:var(--pastel-peach);border:1px solid var(--pastel-peach-border)}.office-entry-row{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:8px;display:grid}.office-entry{border-radius:var(--radius-lg);border:1px dashed var(--warn-soft-border);background:var(--pastel-cream);color:inherit;align-items:center;gap:14px;padding:18px 20px;text-decoration:none;transition:box-shadow .12s,border-color .12s;display:flex}a.office-entry:hover{box-shadow:var(--shadow-md);border-color:var(--warn);text-decoration:none}.office-entry .tile-icon{border:1px solid var(--pastel-cream-border);background:#fff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:inline-flex}.office-entry .oe-title{font-size:15px;font-weight:700}.office-entry .oe-sub{color:var(--ink-secondary);margin-top:2px;font-size:11.5px}.office-entry .oe-lock{opacity:.6;margin-left:auto;font-size:18px}.save-error-banner{z-index:220;background:var(--danger);color:#fff;border-radius:var(--radius);align-items:center;gap:12px;max-width:min(720px,100vw - 32px);padding:10px 16px;font-size:13px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.save-error-banner .btn{color:#fff;background:#ffffff26;border-color:#0000;flex-shrink:0}.toast{z-index:200;background:var(--ink);color:#fff;border-radius:12px;align-items:center;gap:9px;max-width:380px;padding:13px 18px;font-size:13.5px;font-weight:600;animation:.22s ease-out toast-in;display:inline-flex;position:fixed;bottom:22px;right:22px;box-shadow:0 8px 28px #1c243340}.toast .toast-icon{font-size:16px}.toast-ok{background:#1f7a5f}.toast-info{background:var(--blue)}.toast-warn{background:#8a5a00}.toast-danger{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.office-gate{place-items:center;min-height:calc(100vh - 220px);padding:24px 8px;display:grid}.office-gate-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(100%,480px);box-shadow:var(--shadow-md);flex-direction:column;gap:10px;padding:30px 30px 26px;display:flex}.office-gate-icon{border-radius:16px;justify-content:center;align-items:center;width:58px;height:58px;font-size:30px;display:inline-flex}.office-gate-payroll .office-gate-icon{background:var(--pastel-green);border:1px solid var(--pastel-green-border)}.office-gate-accounting .office-gate-icon{background:var(--pastel-blue);border:1px solid var(--pastel-blue-border)}.office-gate-title{font-size:20px;font-weight:800}.office-gate-desc{color:var(--ink-secondary);font-size:13px;line-height:1.7}.office-gate-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.status-select{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:999px;width:auto;min-width:96px;padding:5px 8px;font-size:12.5px;font-weight:600}.status-select.st-active{background:var(--ok-soft);color:var(--ok);border-color:var(--accent-soft-border)}.status-select.st-on_leave{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-soft-border)}.status-select.st-retiring{background:var(--pastel-peach);color:#9a5a00;border-color:var(--pastel-peach-border)}.status-select.st-retired{background:var(--neutral-soft);color:var(--ink-secondary)}.status-select.st-hidden{background:var(--neutral-soft);color:var(--ink-muted)}.inline-select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:100%;min-width:88px;max-width:140px;color:var(--ink);padding:4px 6px;font-size:12.5px}.staff-table .inline-select{max-width:120px}.segmented{background:var(--neutral-soft);border:1px solid var(--border);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.segmented button{font-family:var(--font);color:var(--ink-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600}.segmented button.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.pc-cal-cell{flex-direction:column;gap:3px;min-height:90px;display:flex}.pc-cal-cell.ok{background:var(--ok-soft);border-color:var(--accent-soft-border)}.pc-cal-cell.short{background:var(--danger-soft);border-color:var(--danger-soft-border)}.pc-cal-cell.none{background:var(--surface)}.pc-cal-cell .pc-nums{color:var(--ink-secondary);margin-top:auto;font-size:11px}.pc-cal-cell .pc-verdict{font-size:11px;font-weight:700}.doc-matrix-cell{text-align:center;cursor:pointer}.doc-dot{border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:inline-flex}.doc-dot.ok{background:var(--ok-soft);color:var(--ok)}.doc-dot.missing,.doc-dot.expired{background:var(--danger-soft);color:var(--danger)}.doc-dot.expiring{background:var(--warn-soft);color:var(--warn)}.doc-dot.na{background:var(--neutral-soft);color:var(--ink-muted)}.soft-card{border-radius:var(--radius-lg);border:1px solid var(--pastel-green-border);background:var(--pastel-green);padding:18px 20px}.soft-card.info{background:var(--pastel-blue);border-color:var(--pastel-blue-border)}.soft-card.warn{background:var(--pastel-cream);border-color:var(--pastel-cream-border)}@media (width<=760px){.toast{max-width:none;bottom:12px;left:12px;right:12px}}.staff-table th.staff-sticky,.staff-table td.staff-sticky{z-index:1;background:var(--surface);position:sticky;left:0}.staff-table thead th.staff-sticky{z-index:2;background:#fbfaf8}.staff-table th.sortable:hover{color:var(--accent)}.staff-page-tabs{gap:8px;margin:0 0 16px;display:flex}.staff-bulk-invite-bar{border:1px solid var(--line);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;font-size:13px;display:flex}@media (width<=900px){.staff-col-account{display:none}}.staff-drawer-backdrop{z-index:120;background:#1c243357;justify-content:flex-end;display:flex;position:fixed;inset:0}.staff-drawer{background:var(--bg);flex-direction:column;width:min(760px,100%);height:100%;animation:.2s ease-out drawer-in;display:flex;box-shadow:-8px 0 28px #1c243338}@keyframes drawer-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.staff-page-sticky-head{z-index:5;background:var(--bg);margin-top:-8px;padding-top:8px;position:sticky;top:0}.staff-drawer-head{background:var(--surface);border-bottom:1px solid var(--border);z-index:2;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex;position:sticky;top:0}.staff-drawer-head-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.staff-drawer-close,.staff-editor-close{border:1px solid var(--border);width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;place-items:center;font-size:22px;line-height:1;display:inline-grid}.staff-drawer-close:hover,.staff-editor-close:hover{background:#f4f6f8}.staff-drawer-close:disabled,.staff-editor-close:disabled{opacity:.45;cursor:not-allowed}.staff-drawer-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:12px 16px 24px;overflow-y:auto}.staff-editor-sticky-bar{z-index:5;padding:12px 16px;padding-bottom:max(12px, env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin:16px -16px -24px;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 18px #1c24330f}.sticky-hscroll{position:relative}.sticky-hscroll-main{-webkit-overflow-scrolling:touch;overflow-x:auto}.sticky-hscroll-bar{z-index:4;border-top:1px solid var(--border);-webkit-overflow-scrolling:touch;background:#ffffffeb;height:14px;margin-top:-14px;position:sticky;bottom:0;overflow:auto hidden}.sticky-hscroll-bar::-webkit-scrollbar{height:12px}.nav-status-badge{color:var(--ink-muted);border:1px solid var(--border);white-space:nowrap;background:#f4f6f8;border-radius:999px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700}.doc-dropzone{border:1px dashed var(--border);color:var(--ink-muted);background:#fafbfc;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:12.5px;display:flex}.doc-dropzone.active{border-color:var(--accent);background:#fff7ef}@media (width<=760px){.staff-drawer{width:100%}}input[type=number].no-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number].no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].no-spinner{appearance:textfield}input.count-input{font-variant-numeric:tabular-nums}.week-card-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.placement-row-ok{background:#2e6e5a0d}.placement-row-shortage{background:#b4372f14}.placement-row-needs_review{background:#9a670014}.placement-row-missing_input{background:#1e3a6e0f}.placement-row-closed{color:var(--ink-muted);background:#8b93a114}@media print{body{color:#000;background:#fff!important}.sidebar,.topbar,.no-print,.toast{display:none!important}.app-shell,.main-area,.content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important}.page-header,.section,.card,.table-wrap{break-inside:avoid;box-shadow:none!important}.table-wrap{border:1px solid #ddd;overflow:visible!important}.data-table{font-size:10px;min-width:0!important}.btn,input,textarea,select{background:#fff!important;border:1px solid #aaa!important}}.staff-flow-page .staff-flow-panel{max-width:480px}.staff-flow-step-label{color:var(--ink-muted);margin-bottom:8px;font-size:12px}.staff-flow-note{color:var(--ink-secondary);margin:12px 0;font-size:13.5px;line-height:1.65}.staff-flow-note.subtle{color:var(--ink-muted);font-size:12.5px}.staff-signup-form{flex-direction:column;gap:12px;margin-top:16px;display:flex}.staff-signup-form label{flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.staff-signup-form .req{color:var(--danger);font-size:11px;font-weight:600}#clerk-captcha{width:100%;max-width:100%;min-height:0;margin:4px 0 8px;overflow:hidden}#clerk-captcha iframe,#clerk-captcha [data-cl-theme]{max-width:100%}.staff-verify-code{letter-spacing:.28em;text-align:center;padding:12px 10px;font-size:28px;font-weight:700}.hoiku-id-display{letter-spacing:.08em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:var(--radius);text-align:center;margin:16px 0;padding:16px;font-size:28px;font-weight:700}.join-confirm-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;margin:16px 0;padding:16px;display:flex}.join-confirm-card .join-label{color:var(--ink-muted);margin-bottom:2px;font-size:11.5px;display:block}.facility-select-panel{max-width:520px}.facility-select-list{flex-direction:column;gap:12px;margin:16px 0;padding:0;list-style:none;display:flex}.facility-select-list li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:14px}.facility-select-list li.is-active{border-color:var(--accent-soft-border);background:var(--accent-soft)}.facility-select-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.facility-select-meta{color:var(--ink-secondary);flex-wrap:wrap;gap:8px;margin-bottom:10px;font-size:12px;display:flex}.facility-select-sub{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.facility-select-sub h2{margin-bottom:8px;font-size:14px}.facility-select-sub ul{color:var(--ink-secondary);margin:0;padding-left:18px;font-size:13px}.facility-switcher{background:var(--pastel-blue);border:1px solid var(--pastel-blue-border);border-radius:var(--radius-sm);margin-bottom:4px;padding:10px 12px}.facility-switcher-current{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.facility-switcher-label{color:var(--ink-secondary)}.facility-switcher-badge{background:var(--ok-soft);color:var(--ok);border-radius:4px;padding:2px 6px;font-size:10.5px}.facility-switcher-type{color:var(--ink-muted);font-size:11.5px}.facility-switcher-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.facility-switcher-actions select{flex:1;min-width:140px}.membership-approval-panel{margin-bottom:20px}.membership-approval-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.membership-approval-list li{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.membership-approval-meta{color:var(--ink-secondary);flex-wrap:wrap;gap:12px;margin:6px 0 10px;font-size:12px;display:flex}.membership-approval-actions{flex-wrap:wrap;gap:8px;display:flex}.form-error{color:var(--danger);margin:4px 0;font-size:13px}.desktop-only{display:block}.mobile-only{display:none!important}@media (width<=760px){.desktop-only{display:none!important}.mobile-only{display:grid!important}}.onboarding-page,.signup-page{background:radial-gradient(1200px 600px at 10% -10%,#2e7d6e1f,#0000 55%),linear-gradient(#f7faf8 0%,#eef3f0 100%);min-height:100vh;padding:24px 16px 48px}.onboarding-layout{grid-template-columns:220px 1fr;align-items:start;gap:20px;max-width:1040px;margin:0 auto;display:grid}.onboarding-sidebar{border:1px solid var(--border);border-radius:var(--radius);background:#ffffffe6;padding:14px;position:sticky;top:16px}.onboarding-brand{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:14px;display:flex}.onboarding-brand img,.onboarding-brand .hoiku-brand-logo{object-fit:contain;width:auto;max-width:170px;height:36px}.onboarding-brand span{color:var(--ink-muted);font-size:12px}.onboarding-sidebar ol{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.onboarding-sidebar li{color:var(--ink-secondary);border-radius:8px;padding:6px 8px;font-size:12.5px}.onboarding-sidebar li.current{color:var(--ink);background:#2e7d6e1f;font-weight:600}.onboarding-sidebar li.done{color:var(--ok,#1b7a4a)}.onboarding-main,.signup-panel,.invite-accept-panel{border:1px solid var(--border);border-radius:var(--radius);background:#fffffff2;padding:20px;box-shadow:0 10px 30px #14281e0a}.wizard-step h2{margin:0 0 8px;font-size:1.35rem}.wizard-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.onboarding-progress{background:#e4ebe7;border-radius:999px;height:8px;margin:0 0 14px;overflow:hidden}.onboarding-progress>span{background:linear-gradient(90deg,#2e7d6e,#4aa38f);height:100%;display:block}.trial-banner{background:#eef7f3;border-bottom:1px solid #cfe3da;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:flex}.trial-banner.urgent{background:#fff4e8;border-bottom-color:#f0d2aa}.trial-banner-demo{opacity:.95}.staff-login-links{color:var(--ink-secondary);gap:12px;margin-top:22px;font-size:13.5px;display:grid}.staff-login-links a{font-weight:600}.join-code-display{background:#f4faf7;border:1px dashed #c9ddd4;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.join-code-share-panel.compact .join-code-display strong{letter-spacing:.08em;font-size:16px}.staff-invite-other-methods{border:1px solid var(--line,#e6e2da);background:#fff;border-radius:12px;margin:16px 0;padding:0 14px 14px}.staff-invite-other-methods>summary{cursor:pointer;padding:14px 2px;font-weight:700;list-style:none}.staff-invite-other-methods>summary::-webkit-details-marker{display:none}.staff-invite-other-methods .join-code-share-panel{box-shadow:none;border:0;padding:0}.staff-email-invite-panel,.staff-invite-history-panel{margin-bottom:16px}.staff-email-invite-form{gap:10px;display:grid}.staff-email-chip-list{flex-wrap:wrap;gap:8px;display:flex}.staff-email-chip{background:#eef6f1;border:1px solid #c9ddd4;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.staff-email-chip.invalid{color:#9b1c1c;background:#fdecec;border-color:#e8b4b4}.staff-email-chip button{cursor:pointer;background:0 0;border:0;font-size:14px;line-height:1}.staff-invite-result-list{gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.staff-invite-source{color:var(--ink-secondary,#667);margin-top:4px;font-size:11px;display:inline-block}.staff-email-invite-form textarea{resize:vertical;width:100%;min-height:84px}@media (width<=720px){.staff-email-invite-panel,.staff-invite-history-panel,.staff-invite-other-methods{margin-left:0;margin-right:0}}.join-invite-url{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.join-invite-url code{word-break:break-all;font-size:13px}.join-qr-section{margin-top:16px}.membership-approval-table-wrap{overflow-x:auto}.membership-approval-table{border-collapse:collapse;width:100%;font-size:13px}.membership-approval-table th,.membership-approval-table td{text-align:left;border-bottom:1px solid var(--line,#e6e2da);vertical-align:top;padding:8px 10px}.membership-same-name-list{gap:10px;margin:10px 0;padding:0;list-style:none;display:grid}.join-qr-box{flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px;display:flex}.staff-preview-banner{border-radius:10px}.facility-setup-guide{background:linear-gradient(135deg,#fff8f0 0%,#fff 55%,#f3f8ff 100%);border:1px solid #f0d9c2;border-radius:16px;margin:0 0 20px;padding:20px 22px}.facility-setup-guide h2{margin:0 0 6px;font-size:1.35rem}.facility-setup-guide h3{margin:0 0 6px;font-size:1.05rem}.setup-remaining{color:var(--ink-muted,#667);margin:0 0 14px;font-size:.92rem}.setup-next-action{margin:10px 0 14px}.setup-next-title{margin:0 0 4px;font-weight:700}.setup-next-desc{color:var(--ink-muted,#556);margin:0 0 12px}.setup-next-cta{flex-wrap:wrap;gap:10px;display:flex}.setup-guide-foot{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.setup-all-steps{margin:12px 0 0;padding-left:0;list-style:none}.setup-step-row{align-items:center;gap:8px;padding:6px 0;display:flex}.setup-step-row.is-complete{color:#2a7a4b}.btn.linkish{color:var(--accent,#d97706);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.staff-empty-hero{text-align:center;padding:36px 20px}.staff-empty-hero h2{margin-top:0}.staff-bulk-dialog{border:none;border-radius:16px;width:96vw;max-width:min(1100px,96vw);max-height:92vh;padding:0}.staff-bulk-dialog::backdrop{background:#14182073}.staff-bulk-dialog-inner{max-height:92vh;padding:18px 18px 22px;overflow:auto}.staff-bulk-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.staff-bulk-mode-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.staff-paste-textarea{resize:vertical;border:1px solid #d5dbe3;border-radius:10px;width:100%;min-height:220px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.staff-import-preview-scroll,.staff-quick-entry-scroll{scrollbar-gutter:stable;border:1px solid #e4e8ee;border-radius:10px;max-height:55vh;margin:10px 0 14px;overflow:auto}.staff-import-table,.staff-quick-table{border-collapse:collapse;width:100%;min-width:920px}.staff-import-table th,.staff-import-table td,.staff-quick-table th,.staff-quick-table td{vertical-align:top;border-bottom:1px solid #eef1f4;padding:8px;font-size:13px}.staff-import-table input,.staff-import-table select,.staff-quick-table input,.staff-quick-table select{width:100%;min-width:72px;min-height:36px}.staff-import-row.is-error{background:#fff1f1}.staff-import-row.is-warn{background:#fff9e8}.staff-import-row.is-ok{background:#f3fbf6}.severity-dot{border-radius:6px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-block}.severity-dot.is-ok{color:#176b3a;background:#d8f5e4}.severity-dot.is-warn{color:#8a5a00;background:#ffe9b5}.severity-dot.is-error{color:#9b1c1c;background:#ffd0d0}.inline-fields{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.dup-actions{border:none;gap:2px;margin:0;padding:0;display:grid}@media (width<=720px){.staff-import-table,.staff-quick-table{min-width:0}.staff-import-preview-scroll,.staff-quick-entry-scroll{max-height:none}.staff-bulk-dialog-inner{padding:14px}}:root{--bg:#f6f8fb;--surface:#fff;--surface-hover:#f8fafc;--surface-elevated:#fffffff5;--border:#e7ebf1;--border-strong:#d8dee8;--ink:#151922;--ink-secondary:#4c5566;--ink-muted:#8b95a7;--accent:#ff7a00;--accent-hover:#ed6f00;--accent-strong:#df6500;--accent-soft:#fff2e7;--accent-soft-border:#ffd9b7;--blue:#2474e5;--blue-soft:#edf5ff;--danger:#dc3f4a;--danger-soft:#fff0f1;--danger-soft-border:#ffd2d6;--warn:#b97900;--warn-soft:#fff7e7;--warn-soft-border:#f6dfae;--ok:#149c58;--ok-soft:#ebf9f1;--neutral-soft:#f1f4f8;--pastel-green:#edf9f2;--pastel-green-border:#d2efde;--pastel-cream:#fff7ec;--pastel-cream-border:#ffe2be;--pastel-blue:#eef6ff;--pastel-blue-border:#d8e9fb;--pastel-pink:#fff1f4;--pastel-pink-border:#f7d8df;--pastel-lilac:#f4f0ff;--pastel-lilac-border:#e3dafb;--pastel-peach:#fff1e7;--pastel-peach-border:#ffdcca;--radius:13px;--radius-lg:18px;--radius-sm:9px;--shadow-xs:0 1px 2px #171f2d0d;--shadow-sm:0 2px 5px #171f2d0f, 0 1px 2px #171f2d0a;--shadow-md:0 10px 28px #171f2d17, 0 2px 7px #171f2d0d;--shadow-lg:0 22px 60px #171f2d21, 0 4px 16px #171f2d0f;--focus:0 0 0 4px #ff7a001f}html,body{background:radial-gradient(900px 520px at 92% -14%, #ff7a000e, transparent 65%), linear-gradient(180deg, #fbfcfe 0%, var(--bg) 24%, #f5f7fa 100%);color:var(--ink);letter-spacing:.005em}body{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}::selection{color:var(--ink);background:#ff7a002e}.hoiku-brand-logo{object-fit:contain;object-position:left center;filter:none;flex:none;display:block}.hoiku-brand-logo-full{width:auto;max-width:178px;height:38px}.hoiku-brand-logo-full.hoiku-brand-logo-xs{max-width:110px;height:22px}.hoiku-brand-logo-full.hoiku-brand-logo-sm{max-width:148px;height:28px}.hoiku-brand-logo-full.hoiku-brand-logo-md{max-width:178px;height:38px}.hoiku-brand-logo-full.hoiku-brand-logo-lg{max-width:220px;height:48px}.hoiku-brand-logo-mark{object-position:center;width:36px;height:36px}.hoiku-brand-logo-mark.hoiku-brand-logo-xs{width:22px;height:22px}.hoiku-brand-logo-mark.hoiku-brand-logo-sm{width:28px;height:28px}.hoiku-brand-logo-mark.hoiku-brand-logo-md{width:36px;height:36px}.hoiku-brand-logo-mark.hoiku-brand-logo-lg{width:56px;height:56px}.hoiku-brand-fallback{color:var(--accent);letter-spacing:-.03em;white-space:nowrap;align-items:center;font-weight:800;line-height:1.1;display:inline-flex}.hoiku-brand-fallback-xs{font-size:11px}.hoiku-brand-fallback-sm{font-size:13px}.hoiku-brand-fallback-md{font-size:16px}.hoiku-brand-fallback-lg{font-size:20px}.nav-service-logo-mark .hoiku-brand-fallback{white-space:normal;text-align:center;justify-content:center;width:28px;min-height:28px;font-size:9px;line-height:1.15}.hoiku-brand-lockup{align-items:center;display:flex}.premium-shell{min-height:100dvh}.sidebar{border-right:1px solid var(--border);z-index:30;background:#fffffffa;box-shadow:8px 0 32px #161f2d06}.sidebar-brand{border-bottom:1px solid #edf0f4;gap:8px;min-height:64px;padding:14px 16px 12px}.sidebar-brand-home{align-items:center;min-width:0;min-height:42px;text-decoration:none;display:flex}.sidebar-brand-home:hover{text-decoration:none}.sidebar-brand-home .hoiku-brand-logo-full{width:auto;max-width:178px;height:40px}.sidebar-brand img{object-fit:contain;border-radius:0;width:auto;max-width:178px;height:40px;display:block}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#dce1e8 transparent;padding:12px 12px 18px}.sidebar-nav .nav-group-label{color:#a0a8b6;letter-spacing:.1em;text-transform:uppercase;padding:13px 12px 7px;font-size:10px;font-weight:800}.sidebar-nav a,.sidebar-nav a.nav-office{color:#363e4d;background:0 0;border:1px solid #0000;border-radius:11px;gap:12px;min-height:42px;margin:2px 0;padding:10px 12px;font-weight:650;transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s}.sidebar-nav a:hover,.sidebar-nav a.nav-office:hover{color:var(--ink);background:#fafbfc;border-color:#edf0f4;text-decoration:none;transform:translate(1px)}.sidebar-nav a.active,.sidebar-nav a.nav-office.active{color:var(--accent-strong);box-shadow:inset 3px 0 0 var(--accent), 0 5px 12px #ff7a000e;background:linear-gradient(135deg,#fff6ee 0%,#fff0e2 100%);border-color:#ffe3c7}.sidebar-nav .nav-icon{color:#596273;place-items:center;width:20px;height:20px;font-size:0;display:inline-grid}.sidebar-nav a.active .nav-icon,.sidebar-nav a.nav-office.active .nav-icon{color:var(--accent)}.sidebar-nav .nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-nav .nav-badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.sidebar-nav .nav-lock{color:#a1a9b7;place-items:center;margin-left:auto;display:inline-grid}.sidebar-nav .nav-divider{background:#eef1f5;margin:13px 10px}.nav-service-switcher{border-top:1px solid #e8edf3;border-bottom:0;margin:8px 6px 0;padding:10px 0 2px}.nav-service-grid{flex-direction:column;gap:6px;display:flex}.sidebar-nav a.nav-service{min-height:52px;box-shadow:none;background:#fff;border:1px solid #eef1f5;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"logo meta""copy meta";align-items:center;gap:2px 6px;padding:8px 10px;display:grid}.sidebar-nav a.nav-service:hover,.sidebar-nav a.nav-service.active{color:inherit;box-shadow:none;background:#fafbfc;border-color:#e6ebf1;transform:none}.sidebar-nav a.nav-service.is-current{background:#f6f8fb;border-color:#dfe5ed}.nav-service-logo{grid-area:logo;min-width:0}.nav-service-logo-full{display:block}.nav-service-logo-mark{display:none}.nav-service-logo .hoiku-brand-logo-full{max-width:100%;height:26px}.nav-service-logo .hoiku-brand-logo-mark{width:28px;height:28px}.nav-service-copy{flex-wrap:wrap;grid-area:copy;align-items:center;gap:4px;min-width:0;display:flex}.nav-service-sub{color:#7a8494;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.nav-service-using{color:#5b6573;font-size:10px;font-weight:750}.nav-service-meta{color:#8b95a4;grid-area:meta;margin-left:0;font-size:13px;font-weight:800}.sidebar-nav a.nav-service.is-current .nav-service-meta{color:#3f8f62}.sidebar-resize-handle:after{width:1px}.sidebar-resize-handle:hover:after,.sidebar-resize-handle.resizing:after{background:#ff7a00a6}.sidebar-account{background:#fffffffa;border-top:1px solid #edf0f4;gap:10px;padding:13px 14px 16px}.sidebar-account-user{padding:3px 4px}.avatar-fallback,.topbar-avatar-fallback{color:var(--accent-strong);box-shadow:var(--shadow-xs);background:linear-gradient(135deg,#fff1e3,#ffe5cc);border:1px solid #ffd9b7}.sidebar-account-label{font-size:10px}.sidebar-account-name{font-size:12.5px}.sidebar-account-facility{font-size:11px}.sidebar-account-actions{gap:7px}.sidebar-account-btn{color:#556071;background:#fff;border-color:#e4e8ee;border-radius:9px;min-height:33px;box-shadow:0 1px 1px #11182705}.sidebar-account-btn:hover{color:var(--ink);background:#f8fafc;border-color:#d6dde6}.main-area{background:0 0;max-width:calc(100vw - 200px)}.topbar{-webkit-backdrop-filter:saturate(1.35)blur(18px);background:#ffffffe0;border-bottom:1px solid #e0e5eceb;gap:18px;min-height:76px;padding:13px 28px;box-shadow:0 8px 28px #141c2a08}.premium-facility-switcher{min-height:42px;box-shadow:var(--shadow-xs);color:#3b4352;background:#fffffff0;border:1px solid #e0e5ec;border-radius:11px;flex:0 255px;padding:0 12px}.premium-facility-switcher select,.premium-facility-switcher button{box-shadow:none!important;background:0 0!important;border:0!important}.topbar-search{color:#919aa9;min-width:220px;max-width:560px;height:42px;box-shadow:inset 0 1px 1px #11182705, var(--shadow-xs);background:#fffffff5;border:1px solid #e1e6ed;border-radius:11px;flex:430px;align-items:center;gap:9px;padding:0 13px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;position:relative}.topbar-search:focus-within{box-shadow:var(--focus);background:#fff;border-color:#ff7a00a6}.topbar-search input[type=search]{width:100%;min-width:0;height:38px;box-shadow:none;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:13px}.topbar-search input::placeholder{color:#a0a8b5}.topbar-search input::-webkit-search-cancel-button{display:none}.topbar-search-results{box-shadow:var(--shadow-lg);z-index:80;background:#fffffffa;border:1px solid #e1e6ed;border-radius:13px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;right:0}.topbar-search-results button{color:#323a49;text-align:left;width:100%;min-height:42px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:28px 1fr 18px;align-items:center;gap:8px;padding:7px 9px;display:grid}.topbar-search-results button:hover{background:#f7f9fb}.search-result-icon{color:var(--accent);place-items:center;display:grid}.search-empty{color:var(--ink-muted);text-align:center;padding:14px;font-size:12.5px}.topbar-actions{align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.topbar .month-selector{height:40px;box-shadow:var(--shadow-xs);border-color:#e1e6ed}.topbar-icon-btn{color:#505968;border:1px solid #0000;border-radius:10px;place-items:center;width:40px;height:40px;transition:background .15s,color .15s,border-color .15s;display:grid}.topbar-icon-btn:hover{color:var(--accent);background:#f7f9fb;border-color:#e8ecf1;text-decoration:none}.topbar-user{align-items:center;gap:9px;min-width:0;padding-left:4px;display:flex}.topbar-avatar-fallback{border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.topbar-user-copy{flex-direction:column;min-width:0;line-height:1.35;display:flex}.topbar-user-copy strong{text-overflow:ellipsis;white-space:nowrap;color:#2d3441;max-width:130px;font-size:12px;overflow:hidden}.topbar-user-copy span{color:#949dab;font-size:10.5px}.page{max-width:1450px;padding:28px 30px 72px}.page-header{align-items:center;margin-bottom:20px}.page-title{letter-spacing:-.025em;color:#171c25;font-size:23px;font-weight:780}.page-desc{color:#717b8b;max-width:760px;font-size:12.5px}.section{margin-bottom:26px}.section-title{color:#232a36;letter-spacing:-.01em;margin-bottom:12px;font-size:14.5px;font-weight:750}.card,.dash-card,.table-wrap,.shortage-card,.hero-copy,.office-entry,.flow-step,.home-tile,.leave-summary-bar,.mobile-shell,[class$=-panel],[class$=-card]{border-color:var(--border)}.card,.dash-card,.table-wrap,.shortage-card,.hero-copy,.office-entry{box-shadow:var(--shadow-sm);background:#fffffffa}.card,.table-wrap,.dash-card,.shortage-card,.office-entry{border-radius:var(--radius)}.card:hover,a.dash-card:hover,a.office-entry:hover{box-shadow:var(--shadow-md)}.card-pad{padding:20px 22px}.btn{color:#343c49;background:linear-gradient(#fff,#fbfcfd);border-color:#dfe4eb;border-radius:9px;min-height:38px;padding:8px 15px;font-weight:680;transition:transform .12s,box-shadow .15s,border-color .15s,background .15s,color .15s;box-shadow:0 1px 2px #161e2c09}.btn:hover:not(:disabled){background:#fff;border-color:#cfd6df;transform:translateY(-1px);box-shadow:0 4px 12px #161e2c12}.btn:active:not(:disabled){box-shadow:var(--shadow-xs);transform:translateY(0)}.btn.primary{color:#fff;background:linear-gradient(#ff8a19 0%,#ff7600 100%);border-color:#f17500;box-shadow:0 7px 16px #ff7a0033,inset 0 1px #fff3}.btn.primary:hover:not(:disabled){color:#fff;background:linear-gradient(#ff8010,#ee6b00);border-color:#e66a00;box-shadow:0 9px 20px #ff7a003d}.btn.sm{min-height:31px;padding:5px 10px}.btn.lg{border-radius:11px;min-height:45px;padding:11px 20px}.btn:disabled{opacity:.48;filter:saturate(.65)}input[type=text],input[type=number],input[type=date],input[type=time],input[type=month],input[type=email],input[type=password],select,textarea{color:#252c38;background:#fff;border-color:#dce2e9;border-radius:9px;min-height:39px;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:inset 0 1px 2px #161e2c06}input:hover,select:hover,textarea:hover{border-color:#cfd7e1}input:focus,select:focus,textarea:focus{box-shadow:var(--focus);background:#fff;border-color:#ff7a00b3;outline:0}.field label{color:#535d6d;font-weight:700}.field .hint{color:#929baa}.form-section-title{color:#424b5a;border-color:#e8ecf1}.table-wrap{box-shadow:var(--shadow-sm);border:1px solid #e4e8ee;overflow:auto}table.data-table,.staff-table,.leave-requests-table,.leave-balances-table{border-collapse:separate;border-spacing:0}.data-table th,.staff-table th,.leave-requests-table th,.leave-balances-table th{color:#697385;background:#fafbfc;border-bottom-color:#e7ebf0;font-weight:720}.data-table td,.staff-table td,.leave-requests-table td,.leave-balances-table td{color:#343c49;border-bottom-color:#edf0f4}.data-table tbody tr,.staff-table tbody tr,.leave-requests-table tbody tr,.leave-balances-table tbody tr{transition:background .12s}.data-table tbody tr:hover,.staff-table tbody tr:hover,.leave-requests-row:hover,.leave-balances-table tbody tr:hover{background:#fbfcfe}.badge,.tile-badge{border-radius:999px;font-weight:720;box-shadow:inset 0 0 0 1px #ffffff47}.badge.ok{color:#109451;background:#e8f8ef;border-color:#d0eedc}.badge.warn{color:#a36b00;background:#fff6df;border-color:#f3dfae}.badge.danger{color:#cf3944;background:#fff0f1;border-color:#f5d0d4}.badge.blue{color:#216fd1;background:#edf5ff;border-color:#d8e8fb}.badge.neutral{color:#667184;background:#f1f4f7;border-color:#e2e7ed}.notice{border-radius:11px;padding:11px 14px;box-shadow:inset 0 1px #ffffff8c}.notice.info{color:#315f9a;background:#f1f7ff;border-color:#dceafb}.notice.warn{color:#8f670d;background:#fff8e9;border-color:#f3e1b7}.notice.danger{color:#a93b44;background:#fff2f3;border-color:#f3d3d6}.notice.ok{color:#267a50;background:#eef9f3;border-color:#d5eddf}.home-hero{box-shadow:var(--shadow-sm);background:radial-gradient(460px 180px at 93% 0,#ff8d2324,#0000 60%),linear-gradient(135deg,#fff 0%,#fffaf5 100%);border:1px solid #ffe2c3;border-radius:16px;margin-bottom:18px;padding:21px 24px;position:relative;overflow:hidden}.home-hero:after{content:"";pointer-events:none;border:32px solid #ff7a000b;border-radius:50%;width:180px;height:180px;position:absolute;top:-70px;right:-45px}.home-hero h1{z-index:1;letter-spacing:-.025em;font-size:21px;font-weight:800;position:relative}.home-hero p{z-index:1;color:#6b7483;max-width:830px;margin-top:6px;font-size:12.5px;position:relative}.flow-steps{gap:9px}.flow-step{min-height:78px;box-shadow:var(--shadow-xs);background:#fff;border:1px solid #e7ebf0;border-radius:12px;padding:12px 13px;transition:transform .14s,box-shadow .14s,border-color .14s}.flow-step:hover{box-shadow:var(--shadow-sm);border-color:#d9dfe7;text-decoration:none;transform:translateY(-1px)}.flow-step-no{color:#87909e;background:#f2f4f7}.flow-step-icon{color:var(--accent);font-size:0!important}.flow-step-icon:empty{display:none}.tile-grid{gap:12px}.home-tile{min-height:138px;box-shadow:var(--shadow-sm);border-radius:14px;padding:17px 18px;transition:transform .15s,box-shadow .15s,border-color .15s;background:#fff!important;border:1px solid #e5e9ef!important}.home-tile:before{content:"";background:var(--accent);opacity:.92;border-radius:14px 0 0 14px;width:3px;position:absolute;inset:0 auto 0 0}.home-tile:hover{box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-2px);border-color:#dce2e9!important}.home-tile .tile-icon{display:none}.home-tile .tile-title{color:#252c38;margin-top:8px;font-size:14.5px;font-weight:780}.home-tile .tile-sub{color:#778191;line-height:1.65}.office-entry-row{gap:12px}.office-entry{min-height:90px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e4e8ee;border-radius:13px;padding:16px 18px}.office-entry:hover{border-color:#d8dee7;text-decoration:none}.office-entry .tile-icon{display:none}.oe-title{color:#272f3c;font-weight:760}.oe-sub{color:#788292}.oe-lock{color:#a0a8b5;font-size:0}.chip{color:#4d5767;box-shadow:var(--shadow-xs);background:#fff;border-color:#e2e7ed}.chip:hover{color:var(--accent-strong);border-color:#cfd7e1;text-decoration:none}.ho-dashboard-topline{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.ho-dashboard-heading h1{letter-spacing:-.03em;font-size:22px;font-weight:800}.ho-dashboard-heading p{color:#7b8493;margin-top:4px;font-size:12.5px}.ho-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.ho-kpi-card{min-height:178px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e4e8ee;border-radius:14px;flex-direction:column;padding:17px 18px 15px;display:flex}.ho-kpi-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.ho-kpi-head strong{color:#252c37;font-size:14px}.ho-kpi-head span{color:#9099a7;margin-top:2px;font-size:10.5px;display:block}.ho-kpi-link{color:var(--blue);white-space:nowrap;font-size:11px;font-weight:720}.ho-kpi-link:hover{color:#155fbe;text-decoration:none}.ho-kpi-body{flex:1;align-items:center;gap:16px;padding:16px 0 10px;display:flex}.ho-kpi-stat-row{grid-template-columns:repeat(3,1fr);gap:0;width:100%;display:grid}.ho-kpi-stat{border-left:1px solid #edf0f4;padding:0 10px}.ho-kpi-stat:first-child{border-left:0;padding-left:0}.ho-kpi-stat span{color:#758092;font-size:10.5px;display:block}.ho-kpi-stat strong{color:#202733;margin-top:8px;font-size:24px;font-weight:800;line-height:1;display:block}.ho-kpi-stat strong small{margin-left:2px;font-size:11px;font-weight:720}.ho-kpi-stat strong.warn{color:var(--accent)}.ho-kpi-stat strong.ok{color:var(--ok)}.ho-ring{--ring-value:75%;background:conic-gradient(var(--accent) var(--ring-value), #eef1f5 0);border-radius:50%;flex:none;place-items:center;width:78px;height:78px;display:grid;position:relative}.ho-ring:after{content:"";background:#fff;border-radius:50%;width:62px;height:62px;position:absolute}.ho-ring-copy{z-index:1;text-align:center;line-height:1.18;position:relative}.ho-ring-copy span{color:#818a99;font-size:9px;display:block}.ho-ring-copy strong{color:#252c36;font-size:20px}.ho-kpi-list{flex:1;gap:6px;display:grid}.ho-kpi-list div{color:#697384;justify-content:space-between;gap:12px;font-size:11px;display:flex}.ho-kpi-list strong{color:#2d3541;font-weight:720}.ho-kpi-foot{border-top:1px solid #f0f2f5;margin-top:auto;padding-top:7px}.ho-kpi-foot a{color:var(--blue);align-items:center;gap:4px;font-size:11.5px;font-weight:700;display:inline-flex}.ho-kpi-foot a:hover{text-decoration:none}.ho-dashboard-grid{grid-template-columns:minmax(380px,.95fr) minmax(460px,1.25fr);gap:12px;margin-bottom:14px;display:grid}.ho-dashboard-panel{min-width:0;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e4e8ee;border-radius:14px;overflow:hidden}.ho-panel-head{border-bottom:1px solid #eef1f4;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:13px 17px;display:flex}.ho-panel-head h2{color:#252c37;font-size:14px;font-weight:780}.ho-panel-head a{color:var(--blue);font-size:11px;font-weight:700}.ho-panel-head a:hover{text-decoration:none}.ho-dashboard-table{border-collapse:collapse;width:100%;font-size:11px}.ho-dashboard-table th{color:#858e9c;text-align:left;background:#fafbfc;border-bottom:1px solid #edf0f4;padding:9px 12px;font-size:9.5px;font-weight:720}.ho-dashboard-table td{color:#4d5665;border-bottom:1px solid #f0f2f5;padding:9px 12px}.ho-dashboard-table tbody tr:last-child td{border-bottom:0}.ho-dashboard-table strong{color:#2d3440;font-weight:720}.ho-person-dot{color:#cf6500;vertical-align:middle;background:linear-gradient(135deg,#fff0e1,#ffe1c4);border:1px solid #ffdfbf;border-radius:50%;place-items:center;width:26px;height:26px;margin-right:8px;font-size:9px;font-weight:800;display:inline-grid}.ho-status-pill{color:#159354;background:#e9f8ef;border-radius:999px;padding:3px 9px;font-size:9.5px;font-weight:720;display:inline-flex}.ho-status-pill.blue{color:#2b70ca;background:#edf5ff}.ho-chart-wrap{padding:15px 18px 16px}.ho-chart-legend{color:#788292;flex-wrap:wrap;gap:20px;margin-bottom:13px;font-size:9.5px;display:flex}.ho-chart-legend span{align-items:center;gap:6px;display:inline-flex}.ho-legend-line{background:#9ca5b3;border-radius:999px;width:17px;height:2px}.ho-legend-line.orange{background:var(--accent);width:10px;height:5px}.ho-legend-line.dashed{background:0 0;border-top:2px dashed #8e98a7;height:0}.ho-chart{background:repeating-linear-gradient(#0000 0 44px,#eef1f4 45px);border-bottom:1px solid #e9edf2;border-left:1px solid #e9edf2;height:180px;position:relative}.ho-chart:before{content:"";background:#a6afbc;height:2px;position:absolute;top:38%;left:0;right:0}.ho-chart:after{content:"";border-top:1px dashed #747e8d;position:absolute;top:63%;left:0;right:0}.ho-chart-line{background:var(--accent);transform-origin:0;height:2px;position:absolute;top:54%;left:0;right:0;transform:rotate(-.3deg);box-shadow:0 0 0 1px #ff7a0008}.ho-chart-points{grid-template-columns:repeat(7,1fr);align-items:center;height:34px;display:grid;position:absolute;inset:43% 0 0}.ho-chart-points i{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 1px var(--accent);border:2px solid #fff;border-radius:50%;justify-self:center}.ho-chart-axis{color:#8b94a3;text-align:center;grid-template-columns:repeat(7,1fr);margin-top:7px;font-size:8.5px;display:grid}.ho-bottom-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ho-info-card{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e4e8ee;border-radius:14px;padding:15px 17px}.ho-info-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px;display:flex}.ho-info-card-head strong{font-size:13px}.ho-info-card-head strong em{color:var(--accent);font-style:normal}.ho-info-card-head a{color:var(--blue);font-size:10.5px;font-weight:700}.ho-info-card p{color:#788292;font-size:11px;line-height:1.7}.login-page{background:radial-gradient(520px 520px at 9% 12%,#ff7a0017,#0000 72%),radial-gradient(650px 500px at 92% 96%,#2474e50e,#0000 72%),linear-gradient(135deg,#fbfcfe 0%,#f6f8fb 100%);padding:36px 20px;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";pointer-events:none;border:1px solid #ff7a0014;border-radius:50%;position:absolute}.login-page:before{width:520px;height:520px;top:-290px;left:-310px;box-shadow:0 0 0 52px #ff7a0005,0 0 0 104px #ff7a0003}.login-page:after{width:420px;height:420px;bottom:-260px;right:-260px;box-shadow:0 0 0 48px #2474e503}.login-panel{z-index:1;width:min(100%,780px);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2;border:1px solid #e2e7eef0;border-radius:20px;padding:42px 46px;position:relative}.login-brand{margin-bottom:34px}.login-brand img,.login-brand .hoiku-brand-logo{object-fit:contain;width:auto;max-width:200px;height:40px;display:block}.login-brand .brand-name{display:none}.login-brand .brand-sub{color:#8e97a5}.login-copy h1{letter-spacing:-.035em;color:#171c25;max-width:650px;font-size:31px;font-weight:820}.login-copy p{color:#667182;font-size:14px;line-height:1.85}.login-actions{margin-top:27px}.login-features{gap:7px;margin-top:30px}.login-features span{color:#536071;background:#f8fafc;border-color:#e3e8ee;padding:6px 10px;box-shadow:inset 0 1px #fff}.login-safety{color:#9099a8;border-color:#edf0f4}.ho-loading-screen{background:radial-gradient(520px 360px at 50% 35%,#ff7a000f,#0000 68%),#f7f9fc;place-items:center;min-height:100vh;padding:24px;display:grid}.ho-loading-card{width:min(100%,420px);box-shadow:var(--shadow-lg);text-align:center;background:#fff;border:1px solid #e4e8ee;border-radius:18px;padding:34px 36px}.ho-loading-logo{place-items:center;width:56px;height:56px;margin:0 auto 18px;display:grid}.ho-loading-logo .hoiku-brand-logo-mark{width:56px;height:56px}.ho-loading-logo.is-animated .hoiku-brand-logo{transform-origin:50%;will-change:transform;animation:5.6s infinite ho-logo-spin-inertial}.ho-loading-card h1{color:#252c37;font-size:17px;font-weight:780}.ho-loading-card p{color:#858f9e;margin-top:8px;font-size:12px;line-height:1.7}.ho-loading-card .btn{margin-top:16px}.startup-issue-count{color:#536071;margin-top:12px;font-size:12px}.startup-issue-list{text-align:left;margin:14px 0 0;padding:0;list-style:none}.startup-issue-list li{color:#252c37;background:#f7f9fc;border:1px solid #e4e8ee;border-radius:10px;margin-top:8px;padding:10px 12px;font-size:12px;line-height:1.65}.startup-issue-list code{color:#c2410c;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.ho-loading-track{background:#eef1f4;border-radius:999px;width:190px;height:4px;margin:20px auto 0;overflow:hidden}.ho-loading-track span{border-radius:inherit;background:linear-gradient(90deg, #ff9a3d, var(--accent));width:42%;height:100%;animation:1.25s ease-in-out infinite alternate ho-loading;display:block}@keyframes ho-loading{0%{transform:translate(-30%)}to{transform:translate(170%)}}@keyframes ho-logo-spin-inertial{0%{animation-timing-function:cubic-bezier(.22,.01,.35,1);transform:rotate(0)}18%{animation-timing-function:cubic-bezier(.12,.6,.35,1);transform:rotate(95deg)}36%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(410deg)}48%{animation-timing-function:cubic-bezier(.45,.05,.55,.95);transform:rotate(455deg)}58%{animation-timing-function:cubic-bezier(.22,.01,.35,1);transform:rotate(360deg)}74%{animation-timing-function:cubic-bezier(.12,.6,.35,1);transform:rotate(80deg)}90%{animation-timing-function:cubic-bezier(.4,0,.55,1);transform:rotate(-28deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.ho-loading-logo.is-animated .hoiku-brand-logo,.ho-loading-track span{will-change:auto;animation:none}}.modal-backdrop{-webkit-backdrop-filter:blur(5px);background:#161c2761}.modal-card,.dialog,.popover,.dropdown-menu{box-shadow:var(--shadow-lg)!important;border-color:#e1e6ed!important;border-radius:16px!important}.filter-bar{box-shadow:var(--shadow-xs);background:#ffffffe0;border:1px solid #e7ebf0;border-radius:11px;gap:8px;padding:10px}.month-selector{box-shadow:var(--shadow-xs);background:#fff;border-color:#dfe4eb;border-radius:9px}.month-selector button{color:#687385;border-radius:7px}.month-selector button:hover{background:#f5f7fa}.month-selector .month-label{color:#323a47}.empty-state{color:#8a94a3;background:#fbfcfd;border:1px dashed #dfe5ec;border-radius:12px;place-items:center;min-height:150px;display:grid}.save-error-banner{box-shadow:var(--shadow-lg)!important;color:#9d3842!important;background:#fffffffa!important;border:1px solid #f0ced2!important;border-radius:13px!important}.mobile-shell{border-left:1px solid #edf0f4;border-right:1px solid #edf0f4;box-shadow:0 0 40px #161e2c0f}.mobile-header,.staff-mobile-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-bottom-color:#e8ecf1}.mobile-body{background:#f7f9fb}.mobile-tabbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border-top-color:#e1e6ec;box-shadow:0 -7px 22px #161e2c0e}.mobile-tabbar button.active{color:var(--accent)}@media (width<=1220px){.topbar-user-copy{display:none}.ho-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ho-dashboard-grid{grid-template-columns:1fr}}@media (width<=900px){.sidebar{display:none}.main-area{max-width:100vw}.topbar{gap:8px;min-height:64px;padding:10px 14px}.premium-facility-switcher{flex:0 190px;min-width:0}.topbar-search{flex:1;min-width:130px}.topbar-user,.topbar-icon-btn{display:none}.page{padding:20px 15px 80px}.mobile-nav{background:#fffffff5;box-shadow:0 5px 14px #161e2c0a}}@media (width<=680px){.topbar-search{display:none}.premium-facility-switcher{flex:1}.ho-kpi-grid{grid-template-columns:1fr}.ho-kpi-card{min-height:150px}.ho-dashboard-grid,.ho-bottom-grid{grid-template-columns:1fr}.login-panel{border-radius:17px;padding:30px 23px}.login-copy h1{font-size:26px}.page-title{font-size:21px}.filter-bar{padding:8px}}@media print{.topbar-search,.topbar-actions{display:none!important}}.premium-login-panel{width:min(100%,1080px);padding:0;overflow:hidden}.premium-login-grid{grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);min-height:590px;display:grid}.premium-login-main{flex-direction:column;justify-content:center;padding:52px 54px 46px;display:flex}.premium-login-brand{align-items:center;gap:9px;margin-bottom:54px;display:flex}.premium-login-brand .hoiku-brand-logo-full{max-width:210px;height:40px}.premium-eyebrow{letter-spacing:.08em;font-weight:800;color:var(--accent)!important;margin:0 0 10px!important;font-size:11px!important}.premium-login-main .login-copy h1{overflow-wrap:anywhere;max-width:520px;font-size:36px;line-height:1.28}.premium-login-sub{max-width:550px}.premium-login-primary,.premium-login-secondary{min-width:168px}.premium-login-primary{gap:10px}.premium-login-preview{background:radial-gradient(340px 260px at 95% 8%,#ff7a0029,#0000 70%),linear-gradient(145deg,#f8fafc 0%,#f2f5f9 100%);border-left:1px solid #e8ecf1;flex-direction:column;justify-content:center;gap:13px;padding:54px 42px;display:flex;position:relative}.premium-login-preview:before{content:"";pointer-events:none;border:1px solid #fffc;border-radius:26px;position:absolute;inset:32px}.preview-window-bar,.preview-kpi-row,.preview-progress-card,.preview-list-card{z-index:1;position:relative}.preview-window-bar{align-items:center;gap:6px;padding:0 2px 4px;display:flex}.preview-window-bar>span{background:#d7dde5;border-radius:50%;width:7px;height:7px}.preview-window-bar>span:first-child{background:#ff9b42}.preview-window-bar strong{color:#6d7787;margin-left:7px;font-size:10px;font-weight:750}.preview-kpi-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.preview-kpi-row>div,.preview-progress-card,.preview-list-card{background:#fffffff5;border:1px solid #e0e5ec;border-radius:14px;box-shadow:0 13px 30px #202a3a17,0 2px 6px #202a3a0a}.preview-kpi-row>div{flex-direction:column;min-height:128px;padding:16px;display:flex}.preview-kpi-row span,.preview-progress-head span{color:#7e8897;font-size:9.5px}.preview-kpi-row strong{color:#242b36;margin-top:14px;font-size:27px;line-height:1}.preview-kpi-row strong small{font-size:11px}.preview-kpi-row em{color:#c76a11;background:#fff4e7;border-radius:999px;align-self:flex-start;margin-top:auto;padding:3px 8px;font-size:8.5px;font-style:normal;font-weight:720}.preview-kpi-row em.ok{color:#168d50;background:#eaf8ef}.preview-progress-card{padding:16px 17px}.preview-progress-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.preview-progress-head strong{color:#292f3a;font-size:15px}.preview-progress-track{background:#edf0f4;border-radius:999px;height:6px;margin-top:12px;overflow:hidden}.preview-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#ff9739,var(--accent));width:68%;height:100%;display:block}.preview-progress-meta{color:#8a94a3;justify-content:space-between;gap:10px;margin-top:10px;font-size:8.5px;display:flex}.preview-list-card{padding:6px 14px}.preview-list-card>div{color:#687283;border-bottom:1px solid #eef1f4;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;min-height:43px;font-size:9.5px;display:grid}.preview-list-card>div:last-child{border-bottom:0}.preview-list-card svg{color:var(--accent)}.preview-list-card strong{color:#313946;font-size:9px}.preview-list-card strong.ok{color:#149657}.login-page>.login-panel:not(:has(.login-features)):not(.premium-login-panel){text-align:center;width:min(100%,470px);padding:38px 38px 34px}.login-page>.login-panel:not(:has(.login-features)):not(.premium-login-panel) .login-copy:before{content:"";background:linear-gradient(var(--accent),var(--accent)) 13px 15px / 22px 3px no-repeat, linear-gradient(var(--accent),var(--accent)) 10px 22px / 28px 3px no-repeat, linear-gradient(var(--accent),var(--accent)) 16px 29px / 20px 3px no-repeat, linear-gradient(145deg,#fff7ef,#ffe9d3);border:1px solid #ffdab7;border-radius:15px;width:48px;height:48px;margin:0 auto 18px;display:block;box-shadow:0 9px 22px #ff7a001f,inset 0 1px #fff}.login-page>.login-panel:not(:has(.login-features)):not(.premium-login-panel) .login-copy h1{letter-spacing:-.02em;font-size:18px}.login-page>.login-panel:not(:has(.login-features)):not(.premium-login-panel) .login-copy p{margin-left:auto;margin-right:auto;font-size:12.5px}.login-page>.login-panel:not(:has(.login-actions)):not(:has(.login-features)):not(.premium-login-panel):after{content:"";background-color:#eef1f4;background-image:linear-gradient(90deg,#0000 0 12%,#ff8b1c 35% 62%,#0000 86% 100%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:160% 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:999px;width:170px;height:4px;margin:21px auto 0;animation:1.15s ease-in-out infinite ho-state-shimmer;display:block}@keyframes ho-state-shimmer{0%{background-position:125% 0}to{background-position:-80% 0}}@media (width<=900px){.premium-login-grid{grid-template-columns:1fr}.premium-login-preview{display:none}.premium-login-main{min-height:600px;padding:42px 34px}}@media (width<=560px){.premium-login-main{min-height:100dvh;padding:34px 24px 28px}.premium-login-brand{margin-bottom:46px}.premium-login-main .login-copy h1{font-size:26px;line-height:1.35}.login-break-desktop{display:none}.premium-login-main .login-actions{grid-template-columns:1fr;display:grid}.premium-login-primary,.premium-login-secondary{width:100%;min-width:0}}.premium-dashboard-shell{position:relative}.premium-dashboard-utility{justify-content:flex-end;margin:-3px 0 8px;display:flex}.premium-dashboard-utility a{color:#697385;border-radius:9px;align-items:center;gap:6px;padding:6px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.premium-dashboard-utility a:hover{color:var(--accent-strong);box-shadow:var(--shadow-xs);background:#fff;text-decoration:none}.ho-kpi-progress-copy{min-width:98px}.ho-kpi-progress-copy span{color:#7b8594;font-size:10.5px;display:block}.ho-kpi-progress-copy strong{color:#222936;margin-top:8px;font-size:31px;font-weight:820;line-height:1;display:block}.ho-kpi-progress-copy small{margin-left:2px;font-size:12px;font-weight:720}.status-orange{color:var(--accent)!important}.ho-table-scroll{overflow-x:auto}.ho-table-empty{text-align:center;color:var(--ink-muted)!important;padding:30px 14px!important}.ho-live-chart{height:190px;padding-top:2px}.ho-live-chart svg{width:100%;height:100%;overflow:visible}.ho-grid-lines line{stroke:#edf0f4;stroke-width:.45px;vector-effect:non-scaling-stroke}.ho-required-line{fill:none;stroke:#9ca6b4;stroke-width:1.35px;vector-effect:non-scaling-stroke}.ho-scheduled-line{fill:none;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.ho-chart-dot{fill:var(--accent);stroke:#fff;stroke-width:.7px;vector-effect:non-scaling-stroke}.premium-dashboard-alert{margin-top:-4px}.premium-quick-section{margin-top:26px}.premium-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.premium-quick-card{min-height:76px;box-shadow:var(--shadow-xs);color:inherit;background:#fff;border:1px solid #e4e8ee;border-radius:12px;grid-template-columns:40px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:12px 13px;transition:transform .14s,box-shadow .14s,border-color .14s;display:grid}.premium-quick-card:hover{box-shadow:var(--shadow-sm);border-color:#d5dce5;text-decoration:none;transform:translateY(-1px)}.premium-quick-icon{width:38px;height:38px;color:var(--accent);background:linear-gradient(145deg,#fff6ed,#ffe9d4);border:1px solid #ffe0c1;border-radius:10px;place-items:center;display:grid;box-shadow:inset 0 1px #fff}.premium-quick-copy{flex-direction:column;min-width:0;display:flex}.premium-quick-copy strong{color:#2e3541;font-size:12.5px;font-weight:760}.premium-quick-copy small{color:#88919f;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10.5px;overflow:hidden}.premium-quick-card>svg{color:#a5adba}@media (width<=1100px){.premium-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.premium-dashboard-utility{display:none}.premium-quick-grid{grid-template-columns:1fr}.ho-kpi-body{align-items:flex-start}.ho-kpi-stat strong{font-size:22px}.ho-chart-wrap{padding-left:12px;padding-right:12px}}.ho-login-form{gap:13px;max-width:520px;margin-top:28px;display:grid}.ho-login-field{color:#303846;gap:7px;font-size:12px;font-weight:760;display:grid}.ho-login-input-wrap{color:#8b96a5;background:linear-gradient(#fff 0%,#fbfcfe 100%);border:1px solid #dce2e9;border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:0 14px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 5px 15px #1f29370e,inset 0 1px #ffffffeb}.ho-login-input-wrap:focus-within{border-color:#ff9b46;transform:translateY(-1px);box-shadow:0 0 0 4px #ff7a121c,0 10px 25px #1f293712}.ho-login-input-wrap input{color:#202733;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;font-size:14px;font-weight:560}.ho-login-input-wrap input::placeholder{color:#a8b1bd;font-weight:500}.ho-login-input-wrap input:disabled{cursor:wait;opacity:.72}.ho-login-error{color:#c43c44;background:#fff6f6;border:1px solid #ffd6d8;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.6}.ho-login-actions{margin-top:3px}.ho-login-confirm-backdrop,.ho-logout-confirm-backdrop{z-index:1400;-webkit-backdrop-filter:blur(8px);background:#1419216b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.ho-login-confirm,.ho-logout-confirm{text-align:center;background:linear-gradient(#fffffffc,#fcfdfffa);border:1px solid #fffc;border-radius:20px;width:min(430px,100%);padding:28px;box-shadow:0 28px 80px #11182738,0 6px 24px #11182717}.ho-login-confirm-icon,.ho-logout-confirm-icon{color:#ff7312;background:linear-gradient(145deg,#fff1e4,#ffe0c3);border-radius:16px;place-items:center;width:52px;height:52px;margin:0 auto 14px;display:grid;box-shadow:inset 0 1px #fff,0 8px 18px #ff731224}.ho-login-confirm h2,.ho-logout-confirm h2{color:#202733;margin:0;font-size:20px}.ho-login-confirm p,.ho-logout-confirm p{color:#747e8d;margin:9px 0 18px;font-size:13px;line-height:1.65}.ho-login-confirm-email{color:#303846;overflow-wrap:anywhere;background:#f7f9fb;border:1px solid #e7ebf0;border-radius:10px;margin:13px 0 22px;padding:10px 12px;font-size:13px;display:block}.ho-login-confirm-actions,.ho-logout-confirm-actions{grid-template-columns:1fr 1.45fr;gap:10px;display:grid}.topbar-actions-minimal{margin-left:auto}.sidebar-account-avatar{color:#fff;background:linear-gradient(145deg,#ff7a12,#ff9a46);border:1px solid #ff7a122e;flex:none;box-shadow:0 5px 14px #ff7a122e,inset 0 1px #ffffff61}.ho-dashboard-topline>a[href=\/notifications]{display:none!important}.membership-state-card{color:#8a95a4;text-align:center;background:linear-gradient(#fcfdff 0%,#f8fafc 100%);border:1px dashed #dfe5ec;border-radius:14px;place-items:center;min-height:128px;padding:26px;display:grid}.membership-state-card strong{color:#394250;margin-bottom:5px;font-size:14px;display:block}.membership-state-card p{color:#7f8997;margin:0 0 12px;font-size:12px;line-height:1.65}.accounting-empty-state{color:#84909f;text-align:center;background:linear-gradient(#fff,#fafbfd);border:1px dashed #dde4eb;border-radius:14px;place-items:center;min-height:118px;padding:24px;display:grid}.staff-flow-page{place-items:start center;width:100%;min-height:100dvh;padding:32px 16px 48px}.staff-flow-page .staff-flow-panel{text-align:left;width:min(100%,620px);max-width:620px;margin:0 auto;padding:32px;overflow:hidden}.signup-brand{align-items:center;gap:10px;margin-bottom:18px;display:flex}.signup-brand img,.signup-brand .hoiku-brand-logo{object-fit:contain;flex:none;width:auto;max-width:180px;height:36px}.staff-flow-panel .staff-flow-step-label,.staff-flow-panel>h1,.staff-flow-panel>.staff-flow-note{text-align:left}.staff-flow-panel>h1{letter-spacing:-.025em;margin-top:4px;font-size:28px}.staff-flow-panel>.staff-flow-note{color:#6f7989;margin-top:8px;font-size:14px;line-height:1.75}.staff-signup-form{text-align:left;gap:17px;width:100%;min-width:0;margin-top:22px;display:grid}.staff-signup-form>label:not(.staff-terms-label){gap:7px;min-width:0;display:grid}.staff-field-label{color:#27303c;flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;font-weight:750;line-height:1.45;display:inline-flex}.staff-field-label .req{color:#d8454d;background:#fff1f1;border-radius:999px;align-items:center;min-height:19px;padding:1px 6px;font-size:10px;font-weight:750;display:inline-flex}.staff-field-optional{color:#929baa;font-size:11px;font-weight:600}.staff-signup-form input:not([type=checkbox]){color:#202733;background:#fff;border:1px solid #dce2e9;border-radius:11px;outline:0;width:100%;min-width:0;min-height:48px;padding:10px 13px;font-family:inherit;font-size:15px;line-height:1.35;box-shadow:inset 0 1px 1px #11182706}.staff-signup-form input:not([type=checkbox]):focus{border-color:#ff9b46;box-shadow:0 0 0 4px #ff7a121a}.staff-signup-form input::placeholder{color:#abb3bf}.staff-signup-form .field-hint{color:#7c8695;overflow-wrap:anywhere;max-width:100%;font-size:11.5px;font-weight:500;line-height:1.55;display:block}.staff-terms-label{color:#4a5361;grid-template-columns:22px minmax(0,1fr);align-items:start;width:100%;min-width:0;padding:2px 0;line-height:1.75;gap:10px!important;font-size:12.5px!important;font-weight:550!important;display:grid!important}.staff-terms-label input[type=checkbox]{accent-color:#ff7a00;width:22px;height:22px;margin:1px 0 0}.staff-terms-label>span{overflow-wrap:anywhere;min-width:0}.staff-terms-label .req{white-space:nowrap;color:#d8454d;font-size:10.5px}.signup-submit{white-space:normal;text-align:center;width:100%;min-height:52px;padding:12px 16px;line-height:1.4}.signup-login-link{text-align:center;margin-top:18px!important}.mobile-sidebar-close,.mobile-sidebar-backdrop{display:none}.mobile-menu-trigger{color:#343c49;background:#fff;border:1px solid #e2e7ed;border-radius:11px;flex:0 0 44px;place-items:center;width:44px;height:44px;padding:0;display:grid;box-shadow:0 1px 3px #141c2a0f}.mobile-appbar-title{text-overflow:ellipsis;white-space:nowrap;color:#242b36;flex:1;min-width:0;font-size:14px;font-weight:760;overflow:hidden}.mobile-appbar-brand{flex:none;justify-content:flex-end;align-items:center;min-width:44px;max-width:148px;min-height:44px;text-decoration:none;display:flex}.mobile-appbar-logo-full{max-width:132px;height:26px}.mobile-appbar-logo-mark{display:none}@media (width<=900px){.mobile-nav.mobile-appbar{z-index:900;background:#fffffffa;border-bottom:1px solid #e8ecf1;align-items:center;gap:10px;min-height:56px;padding:8px 12px;display:flex;position:sticky;top:0;overflow:visible;box-shadow:0 4px 16px #161e2c0b}.sidebar{pointer-events:none;transition:transform .2s;inset:0 auto 0 0;transform:translate(-102%);box-shadow:18px 0 55px #1219242e;z-index:1100!important;width:min(86vw,320px)!important;max-width:320px!important;height:100dvh!important;display:flex!important;position:fixed!important}.sidebar.mobile-open{pointer-events:auto;transform:translate(0)}.sidebar-resize-handle{display:none!important}.mobile-sidebar-backdrop{opacity:0;pointer-events:none;z-index:1050;background:#1219235c;border:0;width:100%;height:100%;padding:0;transition:opacity .2s;display:block;position:fixed;inset:0}.mobile-sidebar-backdrop.open{opacity:1;pointer-events:auto}.mobile-sidebar-close{color:#4b5563;background:#fff;border:1px solid #e6eaf0;border-radius:10px;flex:0 0 36px;place-items:center;width:36px;height:36px;margin-left:auto;padding:0;font-family:inherit;font-size:25px;line-height:1;display:grid}.sidebar-brand{min-height:58px;padding:12px 14px}.nav-service-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sidebar-nav a.nav-service{flex-direction:column;justify-content:center;align-items:center;gap:0;min-width:44px;min-height:44px;padding:8px 6px;display:flex}.nav-service-logo-full{display:none}.nav-service-logo-mark{place-items:center;display:grid}.nav-service-copy,.nav-service-using,.nav-service-meta{display:none}.sidebar-nav{overscroll-behavior:contain;padding:10px 10px 18px}.sidebar-account-spacer{height:calc(var(--sidebar-account-height,132px))}.sidebar-account-anchor{width:auto;position:absolute;bottom:0;left:0;right:0}.sidebar-account{padding-bottom:max(14px, env(safe-area-inset-bottom))}.main-area{max-width:100vw!important}.topbar{gap:8px;min-height:60px;padding:9px 12px;position:relative;top:auto}.premium-facility-switcher{flex:auto;width:100%;max-width:none;min-height:44px}.page{padding:18px 14px 80px}}@media (width<=760px){.ho-login-form{max-width:none}.ho-login-input-wrap input{font-size:16px}.ho-login-confirm,.ho-logout-confirm{border-radius:16px;padding:22px 18px}.ho-login-confirm-actions,.ho-logout-confirm-actions{grid-template-columns:1fr}.staff-flow-page{padding:max(16px, env(safe-area-inset-top)) 16px max(36px, env(safe-area-inset-bottom))}.staff-flow-page .staff-flow-panel{border-radius:18px;width:100%;max-width:none;padding:22px 18px}.staff-flow-panel>h1{font-size:25px}.staff-flow-panel>.staff-flow-note{font-size:13px;line-height:1.7}.staff-signup-form{gap:15px;margin-top:20px}.staff-signup-form input:not([type=checkbox]){min-height:50px;font-size:16px}.staff-signup-form .field-hint{font-size:11px}.signup-submit{min-height:54px;font-size:15px}}@media (width<=520px){.mobile-appbar-title{font-size:13.5px}.mobile-appbar-brand{max-width:112px;display:flex}.staff-flow-page{padding-left:14px;padding-right:14px}.staff-flow-page .staff-flow-panel{padding:20px 16px}}@media (width<=340px){.mobile-appbar-logo-full{display:none}.mobile-appbar-logo-mark{width:28px;height:28px;display:block}.mobile-appbar-brand{max-width:44px}}.ho-login-form .ho-login-input-wrap input,.ho-login-form .ho-login-input-wrap input[type=email],.ho-login-form .ho-login-input-wrap input[type=password],.ho-login-form .ho-login-input-wrap input[type=text]{box-sizing:border-box;appearance:none;width:100%;box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important;min-height:0!important;padding:12px 0!important}.ho-login-submit,.ho-login-actions .btn.primary,a.btn.primary.ho-login-submit,a.ho-login-submit.btn.primary{box-sizing:border-box;appearance:none;border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:54px;display:inline-flex;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;background:linear-gradient(#ff8a19 0%,#ff7600 100%)!important;border-color:#f17500!important;text-decoration:none!important}a.btn.primary.ho-login-submit:hover,a.ho-login-submit.btn.primary:hover{color:#fff!important;-webkit-text-fill-color:#fff!important;background:linear-gradient(#ff8010,#ee6b00)!important}.staff-login-forgot{text-align:center;margin:16px 0 0;font-size:13px}.staff-login-forgot-inline{text-align:left;margin:8px 0 0}.staff-flow-info{color:#1f6b45;background:#eef6f1;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.staff-password-requirements{color:#5b6575;margin:0 0 14px;padding-left:1.2em;font-size:13px;line-height:1.7}.staff-reset-secondary-actions{flex-direction:column;align-items:stretch;gap:8px;margin-top:18px;display:flex}.staff-reset-link-btn{color:#2f3848;cursor:pointer;background:#fff;border:1px solid #d7dee8;border-radius:12px;width:100%;min-height:44px;font-size:14px;font-weight:600}.staff-reset-link-btn:disabled{opacity:.6;cursor:wait}.staff-reset-done-actions{flex-direction:column;gap:10px;display:flex}.ho-login-input-wrap-password{padding-right:56px;position:relative}.ho-password-toggle{color:#5b6575;cursor:pointer;background:0 0;border:0;padding:6px 8px;font-size:12.5px;font-weight:600;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.staff-login-invite-hint{color:#6f7989;text-align:center;margin:28px 0 0;font-size:12.5px;line-height:1.7}.staff-mobile-form{box-sizing:border-box;flex-direction:column;gap:18px;width:100%;min-width:0;max-width:100%;display:flex}.staff-mobile-form .field,.mobile-shell .field{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.staff-mobile-form .field label,.mobile-shell .field label{font-size:15px;font-weight:600}.mobile-shell .card,.mobile-shell .card.card-pad{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:16px}.mobile-shell input,.mobile-shell select,.mobile-shell textarea,.mobile-shell input[type=text],.mobile-shell input[type=email],.mobile-shell input[type=password],.mobile-shell input[type=number],.mobile-shell input[type=date],.mobile-shell input[type=time],.mobile-shell input[type=month],.staff-mobile-form input,.staff-mobile-form select,.staff-mobile-form textarea,.staff-mobile-form input[type=email],.staff-mobile-form input[type=password],.staff-mobile-form input[type=text],.staff-mobile-form input[type=number],.staff-mobile-form input[type=date],.staff-mobile-form input[type=time]{box-sizing:border-box;border:1px solid var(--border-strong,#dce2e9);appearance:none;background:#fff;border-radius:13px;width:100%;min-width:0;max-width:100%;min-height:48px;padding:12px 14px;font-size:16px;line-height:1.3;display:block}.staff-mobile-form textarea,.mobile-shell .staff-mobile-form textarea,.mobile-shell textarea{resize:vertical;min-height:100px}.field-grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%;min-width:0;max-width:100%;display:grid}.field-grid-2>.field{min-width:0;max-width:100%}.staff-mobile-header-row{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.staff-mobile-header-copy{flex:1;min-width:0}.staff-mobile-header-facility{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.3;overflow:hidden}.staff-mobile-header-page{color:var(--ink-muted,#6f7989);margin-top:2px;font-size:12px}.staff-mobile-header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.staff-mobile-icon-btn{width:44px;height:44px;color:var(--ink,#1f2937);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;display:inline-flex;position:relative}.staff-mobile-badge{background:var(--accent,#e87a2e);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:6px;right:6px}.staff-account-backdrop{z-index:80;padding:calc(var(--staff-header-height,64px) + env(safe-area-inset-top,0px) + 8px) 12px calc(var(--staff-tabbar-height,72px) + env(safe-area-inset-bottom,0px) + 12px);box-sizing:border-box;background:#14192159;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.staff-account-sheet{-webkit-overflow-scrolling:touch;box-sizing:border-box;background:#fff;border-radius:16px;gap:4px;width:min(430px,100%);max-width:100%;max-height:100%;padding:14px 16px 16px;display:grid;overflow:auto;box-shadow:0 18px 40px #0f172a33}.staff-account-sheet-head{border-bottom:1px solid #e8ecf1;gap:4px;margin-bottom:4px;padding:8px 8px 14px;display:grid}.staff-account-sheet-head strong{font-size:16px}.staff-account-sheet-head span{color:#6f7989;font-size:13px}.staff-account-sheet-item{text-align:left;width:100%;min-height:48px;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:12px 8px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.staff-account-sheet-item.subtle{color:#6f7989;font-weight:500}.staff-account-sheet-logout{padding:4px 0 8px}.staff-account-logout-btn{cursor:pointer;background:#fff;border:1px solid #d7dee8;border-radius:12px;width:100%;min-height:48px;font-size:15px;font-weight:600}.staff-pay-section{width:100%;min-width:0;max-width:100%}.staff-pay-title{margin:0 0 12px;font-size:15px}.staff-pay-tabs{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%;max-width:100%;margin-bottom:14px;display:grid}.staff-pay-tabs button{color:#5b6575;cursor:pointer;background:#fff;border:1px solid #dce2e9;border-radius:12px;min-height:44px;font-size:14px;font-weight:700}.staff-pay-tabs button.active{border-color:var(--accent,#e87a2e);color:var(--accent,#e87a2e);background:#fff4eb}.staff-pay-panel{width:100%;min-width:0;max-width:100%}.staff-mobile-demo-pick{margin-top:10px}.staff-mobile-demo-hint{color:var(--ink-muted,#6f7989);margin-top:4px;font-size:11px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.staff-preview-banner{margin:0 0 10px}.mobile-shell .card.card-pad{padding:16px}.staff-month-nav{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.staff-month-nav-btn{border:1px solid var(--border,#dce2e9);background:#fff;border-radius:12px;min-width:44px;min-height:44px;font-size:16px}.staff-month-nav-label{font-size:17px;font-weight:700}.facility-select-list{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.facility-select-card{box-sizing:border-box;text-align:left;background:#fff;border:1px solid #dce2e9;border-radius:16px;gap:4px;width:100%;min-width:0;min-height:72px;padding:16px 18px;display:grid}.facility-select-card strong{font-size:16px}.facility-select-card span{color:#6f7989;font-size:13px}.settings-page-with-save{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.settings-sticky-save{z-index:1200;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border,#e5e8e0);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #1c243314}.settings-sticky-save>span{color:var(--ink,#1c2433);font-size:14px;font-weight:600}.settings-sticky-save .btn.primary{background:var(--accent,#ff7a00);border-color:var(--accent,#ff7a00);color:#fff;min-width:132px;min-height:44px}.settings-section-lead{color:var(--ink-secondary,#4b5565);margin:0 0 14px;font-size:12.5px;line-height:1.55}.settings-setup-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.settings-check-list{gap:2px;display:grid}.settings-check-row{min-height:44px;color:var(--ink,#1c2433);align-items:center;gap:10px;padding:4px 2px;font-size:13.5px;display:flex}.settings-check-row.is-done{color:var(--ok,#2e6e5a)}.settings-check-row.is-warn{color:var(--warn,#9a6700)}.settings-check-row .hint,.settings-check-row a.hint{color:var(--ink-muted,#8b93a1);margin-left:auto;font-size:12px;text-decoration:none}.settings-check-row a.hint:hover{color:var(--accent,#ff7a00);text-decoration:underline}.settings-readonly-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 16px;display:grid}.mobile-nav.mobile-appbar .mobile-appbar-title{padding-right:8px}.ho-service-card-logo{align-items:center;min-height:36px;margin-bottom:10px;display:flex}.ho-service-card-logo .hoiku-brand-logo-full{object-fit:contain;aspect-ratio:auto;width:auto;max-width:168px;height:28px}.ho-service-card-logo-mark{display:none}.shift-month-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:8px 0 14px;display:flex}.shift-month-nav button{min-width:44px;min-height:44px}.shift-workflow-stepper{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0 0 14px;display:grid}.shift-workflow-step{background:#fff;border:1px solid #e6eaef;border-radius:10px;min-width:0;padding:8px}.shift-workflow-step strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.shift-workflow-step span{color:#6b7380;font-size:10.5px;line-height:1.4;display:block}.shift-window-sheet textarea{width:100%}.shift-workflow-panel{background:#fff;border:1px solid #e6eaef;border-radius:14px;margin:0 0 14px;padding:12px}.shift-month-nav-label{text-align:center;min-width:9.5rem;margin:0;font-size:18px;font-weight:780}.shift-month-nav-btn{min-width:44px;min-height:44px}.shift-workflow-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.shift-workflow-status{color:#5b6470;margin-top:2px;font-size:12.5px}.shift-workflow-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.shift-workflow-steps li{background:#fafbfc;border:1px solid #e6eaef;border-radius:10px;min-width:0;padding:8px}.shift-workflow-step-n,.shift-workflow-step-title{font-size:11px;font-weight:760;display:block}.shift-workflow-step-body{color:#6b7380;font-size:10.5px;line-height:1.4;display:block}.shift-workflow-deadline-title{margin-bottom:8px;font-size:13px;font-weight:700}.shift-workflow-deadline-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.shift-workflow-deadline-grid label{gap:4px;font-size:12px;display:grid}.shift-workflow-deadline-actions,.shift-ack-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.shift-ack-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.shift-ack-list{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.shift-ack-list li{justify-content:space-between;align-items:center;gap:8px;min-height:44px;display:flex}.ho-field{gap:4px;min-width:0;display:grid}.ho-field>span{color:#3b4352;font-size:12.5px;font-weight:650}.ho-field input,.ho-field select,.ho-field textarea{color:#1f2733;background:#fff;border:1px solid #d9dee6;border-radius:9px;width:100%;max-width:100%;height:42px;padding:0 12px;font-size:14px}.ho-field input:focus,.ho-field select:focus,.ho-field textarea:focus{border-color:#ff7a00b3;outline:none;box-shadow:0 0 0 3px #ff7a002e}.ho-field input:disabled,.ho-field select:disabled{color:#8a94a3;background:#f4f6f8}.shift-workflow-deadline-row{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.shift-workflow-deadline-row .ho-field{flex:0 220px}.shift-workflow-deadline-row .shift-workflow-deadline-actions{align-items:center;min-height:42px;margin-top:0}.shift-shortage-banner{gap:8px;display:grid}.shift-shortage-list{gap:6px;display:grid}.shift-shortage-item{background:#fff;border:1px solid #f0d4d7;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;display:flex}.shift-shortage-date{margin-right:8px;font-weight:750}.shift-shortage-count{margin-right:8px;font-weight:700}.shift-shortage-slot,.shift-shortage-note{color:#6b7380;font-size:12px}.ho-service-card-grid-top{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px;display:grid}.ho-service-card-compact{min-height:88px;max-height:130px;color:inherit;background:#fff;border:1px solid #e6eaef;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:grid}.ho-service-card-compact .ho-service-card-copy{gap:2px;min-width:0;display:grid}.ho-service-card-compact .ho-service-card-copy strong{font-size:13px}.ho-service-card-compact .ho-service-card-copy span{color:#5b6470;font-size:12px;line-height:1.35}.ho-service-card-go{color:#ff7a00;font-weight:700}.month-selector button{min-width:44px;min-height:44px}.month-selector .month-label{min-width:7.5rem;font-size:14px}.shift-dual-hscroll{position:relative}.shift-hscroll-rail{z-index:6;scrollbar-width:thin;scrollbar-color:#8b95a3 #eef1f5;background:#eef1f5;border:1px solid #d9dee6;height:14px;position:sticky}.shift-hscroll-rail-top{top:0}.shift-hscroll-rail-bottom{bottom:0}.shift-hscroll-rail.is-idle{border:0;height:0;overflow:hidden}.shift-hscroll-rail::-webkit-scrollbar{height:12px}.shift-hscroll-rail::-webkit-scrollbar-thumb{background:#8b95a3;border-radius:8px}.shift-hscroll-rail::-webkit-scrollbar-track{background:#eef1f5}.shift-day-wd{font-size:10px;font-weight:650;display:block}.shift-day-badge{white-space:nowrap;font-size:9px;font-weight:700;line-height:1.2;display:block}.shift-day-holiday{color:#9a3b00;background:#fff4ea}th.shift-day-holiday{border-bottom:2px solid #e07a2f}.shift-day-badge-holiday{color:#9a3b00}td.shift-cell.shift-day-holiday{background:#fff8f1}.shift-chip[data-source=manual]{box-shadow:inset 0 0 0 1px #1d4e89}.shift-chip[data-source=manual]:after{content:"手";color:#1d4e89;margin-left:2px;font-size:8px;font-weight:800;display:inline-block}@media (width<=1220px){.topbar{flex-wrap:wrap;row-gap:8px}.topbar-actions,.topbar-actions-minimal{order:3;margin-left:auto;display:flex!important}.topbar .month-selector{display:inline-flex!important}}@media (width<=900px){.topbar{z-index:900;background:#fff;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"facility facility facility""appbar appbar month";align-items:center;gap:8px;display:grid;position:sticky;top:0}.topbar-facility,.premium-facility-switcher{grid-area:facility;width:100%;max-width:none}.topbar .mobile-nav.mobile-appbar{min-height:44px;box-shadow:none;background:0 0;border:0;grid-area:appbar;align-items:center;gap:8px;margin:0;padding:0;position:static;top:auto;overflow:visible;display:flex!important}.topbar-search{display:none!important}.topbar-actions,.topbar-actions-minimal{order:unset;grid-area:month;justify-content:flex-end;width:auto;max-width:100%;margin-left:0;display:flex!important}}@media (width<=700px){.ho-service-card-logo-full{display:none}.ho-service-card-logo-mark{object-fit:contain;width:28px;height:28px;display:block}.ho-service-card-grid-top{grid-template-columns:1fr}.ho-service-card-compact{min-height:100px}.shift-workflow-stepper,.shift-workflow-steps{grid-template-columns:1fr 1fr}.shift-workflow-deadline-row{grid-template-columns:1fr;display:grid}.shift-workflow-deadline-row .ho-field{flex:auto}.shift-shortage-item{flex-direction:column;align-items:flex-start}}.field,.ho-field,.form-grid,.field-grid-2,.staff-mobile-form,.shift-workflow-deadline,.shift-workflow-deadline-row,.shift-workflow-deadline-row>*{box-sizing:border-box;min-width:0;max-width:100%}input[type=date],input[type=time],input[type=month],input[type=datetime-local]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0}input[type=month]::-webkit-date-and-time-value{text-align:left;min-width:0}input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;min-width:0}.shift-workflow-steps li{transition:border-color .15s,background .15s,box-shadow .15s;position:relative}.shift-workflow-steps li.shift-step-complete{background:#1f94580b;border-color:#1f945847}.shift-workflow-steps li.shift-step-current{background:#fff8f0;border-color:#ff8a1f;box-shadow:0 0 0 2px #ff8a1f1f}.shift-workflow-steps li.shift-step-future{opacity:.72}.shift-workflow-step-state{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:20px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:800;display:inline-flex}.shift-step-complete .shift-workflow-step-state{color:#167347;background:#1f94581a}.shift-step-current .shift-workflow-step-state{color:#b84e00;background:#ffe3c4}.shift-step-future .shift-workflow-step-state{color:var(--ink-muted);background:#78809114}.shift-workflow-feedback{margin-top:10px}.shift-rule-overview{border:1px solid var(--border,#e7ebf1);background:#fafbfc;border-radius:14px;margin:0 0 18px;padding:14px}.shift-rule-overview-head h3{margin:0;font-size:14px}.shift-rule-overview-head p{color:var(--ink-secondary);margin:4px 0 0;font-size:11.5px}.shift-rule-overview-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.shift-rule-overview-row{background:#fff;border:1px solid #e5e9ef;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:10px 11px;display:flex}.shift-rule-overview-row.is-on{background:#fffaf5;border-color:#ffd5ad}.shift-rule-overview-row.is-off{opacity:.72}.shift-rule-overview-copy{gap:2px;min-width:0;display:grid}.shift-rule-overview-copy strong{font-size:12.5px}.shift-rule-overview-copy span{color:var(--ink-secondary);font-size:10.5px;line-height:1.35}.shift-rule-overview-control{flex:none;justify-items:end;gap:4px;display:grid}.shift-rule-overview-control small{color:var(--ink-muted);font-size:10px;font-weight:700}.shift-rule-toggle{cursor:pointer;align-items:center;display:inline-flex}.shift-rule-toggle input{opacity:0;pointer-events:none;position:absolute}.shift-rule-toggle span{color:#6b7482;letter-spacing:.04em;background:#f1f3f6;border:1px solid #d9dee6;border-radius:999px;justify-content:center;align-items:center;min-width:45px;min-height:27px;padding:0 8px;font-size:10px;font-weight:900;display:inline-flex}.shift-rule-toggle input:checked+span{color:#c85a00;background:#fff0e1;border-color:#ffb36e}.shift-rule-toggle input:focus-visible+span{outline-offset:2px;outline:3px solid #ff7a0029}.shift-day-state{color:#596274;text-align:center;white-space:normal;background:#f5f7fa;border:1px solid #c8ced8;border-radius:7px;justify-content:center;align-items:center;min-width:48px;max-width:100%;padding:4px 6px;font-size:10.5px;font-weight:700;line-height:1.25;display:inline-flex}.shift-day-state.auto-substitute{color:#8b6510;background:#fff5cf;border-color:#e9ba3a}.shift-day-state.unassigned{color:#a23939;background:#fff1f1;border-color:#e9a4a4}.shift-day-state.saturday-adjust{color:#2f5f99;background:#eef5ff;border-color:#7aa2d4}.shift-day-state-sub{opacity:.85;font-size:9.5px;font-weight:600;display:block}.labor-standards-card{border:1px solid var(--line,#e4e7ec);background:#fff;border-radius:12px;margin:0 0 16px;padding:14px 16px}.labor-standards-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.labor-standards-headline{margin:10px 0;font-weight:700}.labor-standards-headline.needs-review,.labor-standards-status .needs-review dd{color:#a15c00}.labor-standards-status{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 16px;margin:0 0 12px;display:grid}.labor-standards-status dt{color:var(--ink-muted);font-size:11px}.labor-standards-status dd{margin:0;font-weight:700}.labor-glossary-list{margin:0;padding:0;list-style:none}.labor-glossary-list li{border-bottom:1px solid var(--line,#eee);padding:8px 0}.labor-glossary-detail{color:var(--ink-secondary);font-size:12.5px}.shift-workflow-step-btn{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:2px;padding:0;display:flex}.shift-workflow-step-btn:disabled{cursor:default}.shift-board thead th{z-index:8;background:var(--surface,#fff);vertical-align:bottom;height:52px;min-height:52px;box-shadow:0 1px 0 var(--border,#e5e7eb);padding-top:6px!important;padding-bottom:8px!important;position:sticky!important;top:0!important}.shift-board thead th.shift-board-name{z-index:10;left:0}.shift-board .shift-cell{isolation:isolate;vertical-align:top;padding-top:6px;position:relative;overflow:hidden}.shift-board tbody td.shift-board-name{z-index:3}.shift-board .shift-chip{z-index:1;position:relative}.shift-name-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;white-space:normal!important}@media (width<=700px){.shift-workflow-deadline-row{width:100%;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;display:grid!important}.shift-workflow-deadline-row .ho-field,.shift-workflow-deadline-row input{width:100%!important;min-width:0!important;max-width:100%!important}.shift-workflow-deadline-actions{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.shift-rule-overview-list{grid-template-columns:minmax(0,1fr)}.shift-rule-overview-row{align-items:flex-start}.shift-board{border-collapse:separate!important;border-spacing:0!important}.shift-board thead th{vertical-align:bottom;background:var(--surface,#fff);height:56px;min-height:56px;position:sticky!important;top:0!important}.shift-board tbody tr:first-child>td,.shift-board tbody tr:first-child>th{padding-top:6px!important}.shift-board tbody td{vertical-align:top}.shift-chip,.shift-place-chip{margin-top:2px}}:root{--ho-table-sticky-bg:var(--surface,#fff);--ho-table-max-h:min(72dvh, 760px)}.table-wrap{isolation:isolate;max-height:var(--ho-table-max-h);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;position:relative;overflow:auto}.data-table{border-collapse:separate!important;border-spacing:0!important}.data-table thead{z-index:30;position:sticky;top:0}.data-table thead th{z-index:31;box-shadow:0 1px 0 var(--border,#e5e8e0);background-clip:padding-box;background:var(--ho-table-sticky-bg)!important;position:sticky!important;top:0!important}.data-table thead th:first-child{z-index:33}.table-wrap.shift-board-wrap{isolation:isolate;scrollbar-width:auto!important;max-height:min(72dvh,720px)!important;overflow:auto!important}.shift-board{border-collapse:separate!important;border-spacing:0!important}.shift-board thead{z-index:50!important;position:sticky!important;top:0!important}.shift-board thead th{box-shadow:0 2px 0 var(--border,#e5e8e0);z-index:51!important;vertical-align:middle!important;background:var(--ho-table-sticky-bg)!important;height:58px!important;min-height:58px!important;padding-top:8px!important;padding-bottom:8px!important;position:sticky!important;top:0!important}.shift-board thead th.shift-board-name{left:0;z-index:55!important}.shift-board tbody,.shift-board tbody tr,.shift-board tbody td{z-index:1;position:relative}.shift-board tbody td.shift-board-name{background:var(--ho-table-sticky-bg);position:sticky;left:0;z-index:8!important}.shift-board .shift-cell{isolation:isolate;min-height:60px;vertical-align:middle!important;padding-top:7px!important;padding-bottom:7px!important;overflow:hidden!important}.shift-board .shift-chip,.shift-board .shift-day-state,.shift-board .shift-flag{z-index:2;position:relative}.gantt-daily-root{--gantt-left-w:288px;--gantt-track-min-w:820px;isolation:isolate;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;width:100%;max-width:100%;max-height:min(72dvh,760px);position:relative;overflow:auto!important}.gantt-daily-root .gantt-row{grid-template-columns:var(--gantt-left-w) minmax(var(--gantt-track-min-w), 1fr);align-items:stretch;width:max-content;min-width:100%;display:grid!important}.gantt-daily-root .gantt-name{z-index:35;background:var(--ho-table-sticky-bg);box-shadow:1px 0 0 var(--border,#e5e8e0);grid-column:1;position:sticky;left:0;width:var(--gantt-left-w)!important;min-width:var(--gantt-left-w)!important;max-width:var(--gantt-left-w)!important;flex:none!important}.gantt-daily-root .gantt-name-col{min-width:0;overflow:hidden}.gantt-daily-root .gantt-name-col strong,.gantt-daily-root .gantt-role{text-overflow:ellipsis;overflow:hidden}.gantt-daily-root .gantt-track{grid-column:2;width:auto;min-width:var(--gantt-track-min-w)!important}.gantt-daily-root .gantt-header-sticky{box-shadow:0 2px 0 var(--border,#e5e8e0);z-index:70!important;background:var(--ho-table-sticky-bg)!important;position:sticky!important;top:0!important}.gantt-daily-root .gantt-header-sticky .gantt-name{z-index:75!important;background:var(--ho-table-sticky-bg)!important}.gantt-daily-root .gantt-header-sticky .gantt-track{z-index:72;background:var(--ho-table-sticky-bg)!important}.gantt-daily-root .gantt-hour{z-index:2}.gantt-daily-root .gantt-coverage .gantt-row,.gantt-daily-root .gantt-coverage-row,.gantt-daily-root .gantt-coverage-header{grid-template-columns:var(--gantt-left-w) minmax(var(--gantt-track-min-w), 1fr)}@media (width>=901px) and (width<=1536px){.gantt-daily-root{--gantt-left-w:220px;--gantt-track-min-w:760px}.gantt-daily-root .gantt-name{width:var(--gantt-left-w)!important;min-width:var(--gantt-left-w)!important;max-width:var(--gantt-left-w)!important}}@media (width<=900px){:root{--ho-table-max-h:min(68dvh, 620px)}.table-wrap.shift-board-wrap{max-height:min(68dvh,620px)!important}.gantt-daily-root{--gantt-left-w:176px;--gantt-track-min-w:720px;max-height:min(68dvh,620px)}.gantt-daily-root .gantt-name{width:var(--gantt-left-w)!important;min-width:var(--gantt-left-w)!important;max-width:var(--gantt-left-w)!important}}@media print{.table-wrap,.table-wrap.shift-board-wrap,.gantt-daily-root{max-height:none!important;overflow:visible!important}.data-table thead,.data-table thead th,.shift-board thead,.shift-board thead th,.gantt-daily-root .gantt-header-sticky{position:static!important}}.table-wrap.shift-board-wrap{background:var(--surface,#fff);overscroll-behavior:contain!important;scrollbar-gutter:stable!important;scrollbar-width:auto!important;height:clamp(680px,76dvh,820px)!important;min-height:680px!important;max-height:820px!important;overflow:auto!important}.table-wrap.shift-board-wrap::-webkit-scrollbar{width:12px!important;height:0!important;display:block!important}.table-wrap.shift-board-wrap::-webkit-scrollbar-thumb{background:#b7bec8 padding-box padding-box;border:3px solid #0000;border-radius:999px}.table-wrap.shift-board-wrap::-webkit-scrollbar-track{background:0 0}.shift-board td[data-day-reason=part_time_contract_off] .shift-day-state{color:#475569!important;background:#f1f5f9!important;border-color:#cbd5e1!important}.shift-board td[data-day-reason=unavailable_weekday] .shift-day-state{color:#4b5563!important;background:#f3f4f6!important;border-color:#d1d5db!important}.shift-board td.shift-day-sat[data-day-reason=saturday_off] .shift-day-state,.shift-board td.shift-day-sat[data-day-reason=saturday_off] .shift-flag{display:none!important}.shift-board td[data-day-kind=unresolved] .shift-day-state.unassigned{color:#9a3412!important;background:#fff7ed!important;border-color:#fdba74!important}.shift-board td.shift-cell[data-full-time-nursery-teacher=true]:not(.shift-day-sat):not(.shift-day-sun):not(.shift-day-holiday):not(.shift-day-closed):not(:has(.shift-chip)):not(:has(.shift-day-state)):before{content:"未割当";color:#9a3412;white-space:nowrap;background:#fff7ed;border:1px solid #fdba74;border-radius:6px;justify-content:center;align-items:center;min-height:28px;padding:4px 7px;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.shift-day-state.paid-leave,.shift-board td[data-day-kind=annual_paid_leave] .shift-day-state{color:#8a2140!important;background:#ffd1dc!important;border-color:#e887a1!important}.shift-board thead th{z-index:62!important;background:var(--surface,#fff)!important;position:sticky!important;top:0!important}.shift-board thead th.shift-board-name{z-index:76!important}.shift-board thead[data-legacy-viewport-contract=true]{top:56px!important}.shift-board th.shift-board-name,.shift-board td.shift-board-name{background:var(--surface,#fff)!important;position:sticky!important;left:0!important}.shift-board td.shift-board-name{z-index:55!important}@media (width>=901px){.shift-board{--sum-warning:64px;--sum-hours:92px;--sum-sat:78px;--sum-late:62px;--sum-early:62px}.shift-board th:last-child,.shift-board td:last-child{width:var(--sum-warning)!important;min-width:var(--sum-warning)!important;max-width:var(--sum-warning)!important;position:sticky!important;right:0!important}.shift-board th:nth-last-child(2),.shift-board td:nth-last-child(2){right:var(--sum-warning)!important;width:var(--sum-hours)!important;min-width:var(--sum-hours)!important;max-width:var(--sum-hours)!important;position:sticky!important}.shift-board th:nth-last-child(3),.shift-board td:nth-last-child(3){right:calc(var(--sum-warning) + var(--sum-hours))!important;width:var(--sum-sat)!important;min-width:var(--sum-sat)!important;max-width:var(--sum-sat)!important;position:sticky!important}.shift-board th:nth-last-child(4),.shift-board td:nth-last-child(4){right:calc(var(--sum-warning) + var(--sum-hours) + var(--sum-sat))!important;width:var(--sum-late)!important;min-width:var(--sum-late)!important;max-width:var(--sum-late)!important;position:sticky!important}.shift-board th:nth-last-child(5),.shift-board td:nth-last-child(5){box-shadow:-8px 0 10px -10px #0f172a8c;right:calc(var(--sum-warning) + var(--sum-hours) + var(--sum-sat) + var(--sum-late))!important;width:var(--sum-early)!important;min-width:var(--sum-early)!important;max-width:var(--sum-early)!important;position:sticky!important}.shift-board th:nth-last-child(-n+5){z-index:72!important;background:var(--surface,#fff)!important}.shift-board td:nth-last-child(-n+5){z-index:52!important;background:var(--surface,#fff)!important}}.shift-workflow-deadline,.shift-workflow-deadline-row,.shift-workflow-deadline-row .ho-field{min-width:0!important;max-width:100%!important}.shift-workflow-deadline-row .ho-field{width:100%!important}.shift-workflow-deadline-row input[type=datetime-local],.shift-workflow-deadline-row input[type=date],.shift-workflow-deadline-row input[type=time],input[type=number]{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}.shift-workflow-deadline-row input[type=datetime-local],.shift-workflow-deadline-row input[type=date],.shift-workflow-deadline-row input[type=time]{width:100%!important;display:block!important}.shift-workflow-deadline-title,.shift-workflow-deadline-row .ho-field>span{text-align:center!important}.shift-workflow-deadline-actions{justify-content:center!important}.shift-workflow-step-btn,.shift-workflow-step-title,.shift-workflow-step-body,.shift-workflow-step-state{text-align:center!important}.shift-board .shift-board-name,.shift-board .shift-staff-link,.shift-board .shift-name-sub{overflow-wrap:anywhere;min-width:0}.shift-print-table .p-day-state{color:#475569;white-space:normal;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;min-height:22px;padding:2px 3px;font-size:8px;font-weight:700;line-height:1.15;display:inline-flex}.shift-print-table .p-day-state.is-unassigned{color:#9a3412;background:#fff7ed;border-color:#fdba74}@media (width<=900px){.table-wrap.shift-board-wrap{height:clamp(320px,58dvh,620px)!important;min-height:320px!important;max-height:620px!important;overflow:auto!important}.shift-board thead,.shift-board thead th{top:0!important}.shift-workflow-deadline-row{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important;display:grid!important}.shift-workflow-deadline-actions{flex-wrap:wrap!important;justify-content:center!important;min-width:0!important;max-width:100%!important;display:flex!important}.shift-workflow-deadline-row>*,.shift-workflow-deadline-row .ho-field,.shift-workflow-deadline-row input{min-inline-size:0!important;max-inline-size:100%!important}}@media print{.table-wrap.shift-board-wrap{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}}.shifts-root{--shift-day-mobile-w:92px;--shift-summary-mobile-w:76px}.shift-board .shift-board-name{min-width:var(--shift-name-w,196px)!important;width:var(--shift-name-w,196px)!important;max-width:var(--shift-name-w,196px)!important;overflow-wrap:normal!important;word-break:keep-all!important;overflow:hidden!important}.shift-board .shift-staff-link,.shift-board .shift-board-name>strong,.shift-board .shift-staff-link>strong{white-space:nowrap!important;text-overflow:ellipsis!important;overflow-wrap:normal!important;word-break:keep-all!important;max-width:100%!important;display:block!important;overflow:hidden!important}.shift-board .shift-name-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal!important;overflow-wrap:break-word!important;word-break:keep-all!important;max-width:100%!important;line-height:1.3!important;display:-webkit-box!important;overflow:hidden!important}.shift-board td[data-day-reason=part_time_contract_off] .shift-day-state{color:#475569!important;min-width:54px!important;box-shadow:none!important;background:#f1f5f9!important;border-color:#cbd5e1!important;padding:3px 6px!important}.shift-board td[data-day-reason=part_time_contract_off] .shift-day-state-sub{opacity:.85;font-size:9px!important}.shift-hscroll-rail-top{z-index:2!important;border-bottom:1px solid var(--border,#e5e7eb)!important;background:#fffffffa!important;height:12px!important;position:relative!important;top:auto!important}.table-wrap.shift-board-wrap>table.shift-board>thead>tr>th{vertical-align:middle!important;background:var(--surface,#fff)!important;z-index:70!important;height:58px!important;min-height:58px!important;position:sticky!important;top:0!important}.table-wrap.shift-board-wrap>table.shift-board>thead>tr>th.shift-board-name{z-index:82!important;left:0!important}.shift-floating-head-shell{display:none!important}@media (width<=900px){.shifts-root[data-shift-name-width=compact]{--shift-name-w:168px!important}.shifts-root[data-shift-name-width=standard]{--shift-name-w:190px!important}.shifts-root[data-shift-name-width=wide]{--shift-name-w:222px!important}.shift-board th:not(.shift-board-name):not(.shift-board-summary),.shift-board td.shift-cell{min-width:var(--shift-day-mobile-w)!important;width:var(--shift-day-mobile-w)!important;max-width:var(--shift-day-mobile-w)!important}.shift-board .shift-board-summary{min-width:var(--shift-summary-mobile-w)!important;width:var(--shift-summary-mobile-w)!important}.shift-board th,.shift-board td{padding:6px 7px!important;font-size:12px!important}.shift-board .shift-board-name strong,.shift-board .shift-staff-link strong{font-size:14px!important;line-height:1.35!important}.shift-board .shift-name-sub{margin-top:2px;color:var(--ink-muted,#8b93a1)!important;font-size:10px!important}.shift-cell{vertical-align:middle!important;height:64px!important}.shift-chip{min-width:64px!important;padding:4px 5px!important;line-height:1.2!important}.shift-chip-time,.shift-chip-class{white-space:nowrap!important;font-size:11px!important}.table-wrap.shift-board-wrap>table.shift-board>thead>tr>th{height:58px!important;min-height:58px!important}}@media (width<=430px){.shifts-root[data-shift-name-width=compact]{--shift-name-w:156px!important}.shifts-root[data-shift-name-width=standard]{--shift-name-w:176px!important}.shifts-root[data-shift-name-width=wide]{--shift-name-w:208px!important}.shifts-root{--shift-day-mobile-w:88px}}@media print{.shift-floating-head-shell,.shift-hscroll-rail-top,.shift-hscroll-rail-bottom{display:none!important}.table-wrap.shift-board-wrap{overflow:visible!important}}.shift-workflow-panel:has(.shift-workflow-steps>li:nth-child(n+2).shift-step-current) .shift-workflow-deadline{display:none!important}.shift-workflow-step-btn{text-align:center!important;place-items:center!important}.shift-workflow-step-title,.shift-workflow-step-body,.shift-workflow-step-state{width:100%;text-align:center!important}.shift-workflow-deadline-title{text-align:center}.auto-fulltime-note{color:var(--ink-secondary,#667085);margin-top:6px;display:block}.global-shift-settings-save{right:max(16px, env(safe-area-inset-right));bottom:max(18px, calc(env(safe-area-inset-bottom) + 18px));z-index:90;border:1px solid var(--border,#d8dee8);background:color-mix(in srgb, var(--surface,#fff) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:fixed;box-shadow:0 10px 30px #0f172a29}.global-shift-settings-save>span{min-width:0;color:var(--ink-secondary,#667085);white-space:nowrap;font-size:12px}@media (width<=760px){.global-shift-settings-save{left:16px;right:16px;bottom:max(82px, calc(env(safe-area-inset-bottom) + 74px));justify-content:center}.global-shift-settings-save .btn{flex:auto;justify-content:center;min-height:46px}.shift-workflow-deadline-row,.shift-workflow-deadline-row .ho-field>span{text-align:center}}@media print{.global-shift-settings-save{display:none!important}}.shift-workflow-deadline-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:end!important;gap:12px!important;display:grid!important}.shift-workflow-deadline-row .ho-field,.shift-workflow-deadline-row .ho-field input,.shift-workflow-deadline-row input[type=datetime-local]{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.shift-workflow-deadline-row input[type=datetime-local]{text-align:left!important;direction:ltr!important;font-size:16px!important;line-height:1.35!important}.shift-workflow-deadline-actions{grid-column:1/-1;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;display:flex!important}.shifts-root .card .table-wrap,.shifts-root .card .data-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%!important;overflow:auto visible!important}.shifts-root .card table:not(.shift-board) th,.shifts-root .card table:not(.shift-board) td{writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:break-word!important}.shift-workflow-panel:not(:has(.shift-workflow-steps>li:first-child.shift-step-current)) .shift-workflow-deadline{display:none!important}@media (width<=760px){.shift-workflow-deadline{padding:18px 14px!important}.shift-workflow-deadline-row{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important}.shift-workflow-deadline-row .ho-field{text-align:left!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important;display:grid!important}.shift-workflow-deadline-row .ho-field>span{text-align:left!important}.shifts-root .card table:not(.shift-board){table-layout:auto!important;min-width:680px!important}.shifts-root .card table:not(.shift-board) th,.shifts-root .card table:not(.shift-board) td{min-width:130px;white-space:normal!important}.shifts-root .card table:not(.shift-board) th:first-child,.shifts-root .card table:not(.shift-board) td:first-child{min-width:220px!important}.shifts-root input[type=number],.shifts-root input[type=datetime-local],.shifts-root input[type=date],.shifts-root input[type=time]{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;font-size:16px!important}}:where(.page,.card,.card-pad,.section,.modal,.dialog,form,.field,.field-row,.field-grid,.field-grid-2){min-width:0;max-width:100%}:where(input,select,textarea,button){box-sizing:border-box}:where(input[type=date],input[type=month],input[type=time],input[type=datetime-local]){box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:block}:where(input[type=date],input[type=month],input[type=time],input[type=datetime-local])::-webkit-date-and-time-value{text-align:left;min-width:0}:where(.field,.field-row,.field-grid,.field-grid-2)>:where(input,select,textarea,label,div){min-width:0;max-width:100%}.nav-service-grid{gap:4px;display:grid}.sidebar-nav a.nav-service{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:48px;display:grid}.nav-service-logo{justify-content:center;align-items:center;width:28px;min-width:28px;display:inline-flex}.nav-service-logo .hoiku-brand-logo,.nav-service-logo img{object-fit:contain;width:24px;height:24px}.nav-service-text,.nav-service-copy{min-width:0}.nav-service-text{gap:1px;display:grid}.nav-service-name{text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:13px;font-weight:700;line-height:1.35;display:block;overflow:hidden}.nav-service-copy{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.nav-service-sub{color:var(--ink-muted,#6f7989);font-size:10.5px;line-height:1.35}.nav-service-meta{flex:none;justify-self:end}@media (width<=760px){.page{min-width:0;max-width:100vw;overflow-x:clip}:where(.card,.card-pad,.section,form,.field,.field-row,.field-grid,.field-grid-2){width:100%;min-width:0;max-width:100%}:where(input[type=date],input[type=month],input[type=time],input[type=datetime-local]){font-size:16px}}.staff-bulk-dialog{border-radius:14px;height:min(96vh,1040px);width:min(1680px,99vw)!important;max-width:min(1680px,99vw)!important;max-height:96vh!important}.staff-bulk-dialog-inner{height:100%;max-height:96vh!important;padding:20px 22px 24px!important}.staff-bulk-header{z-index:30;box-shadow:0 1px 0 var(--border);background:#fff;padding:16px 0 12px;position:sticky;top:-20px}.staff-bulk-toolbar,.staff-import-duplicate-bar,.staff-quick-helpbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.staff-bulk-toolbar{border:1px solid var(--border);background:#fafbfc;border-radius:10px;margin:0 0 14px;padding:10px 12px}.staff-bulk-toolbar-actions,.staff-import-duplicate-actions,.staff-quick-help-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.staff-import-duplicate-bar{border:1px solid var(--warn-soft-border);background:var(--warn-soft);border-radius:10px;margin:10px 0 12px;padding:12px 14px}.staff-import-duplicate-bar strong{display:block}.staff-import-duplicate-copy{flex:1;min-width:240px}.staff-import-preview-scroll,.staff-quick-entry-scroll{border-radius:10px;max-height:62vh!important}.staff-import-table{table-layout:auto;min-width:1540px!important}.staff-import-table thead th,.staff-quick-table thead th{z-index:8;box-shadow:0 1px 0 var(--border);white-space:nowrap;background:#fbfaf8;position:sticky;top:0}.staff-import-table th,.staff-import-table td{padding:9px 10px!important}.staff-import-table th:first-child,.staff-import-table td:first-child{z-index:7;background:inherit;width:86px;min-width:86px;box-shadow:1px 0 0 var(--border);position:sticky;left:0}.staff-import-table thead th:first-child{z-index:12;background:#fbfaf8}.staff-import-table th:nth-child(2),.staff-import-table td:nth-child(2){min-width:188px}.staff-import-table th:nth-child(3),.staff-import-table td:nth-child(3){min-width:220px}.staff-import-table th:nth-child(4),.staff-import-table td:nth-child(4),.staff-import-table th:nth-child(6),.staff-import-table td:nth-child(6),.staff-import-table th:nth-child(7),.staff-import-table td:nth-child(7){min-width:126px}.staff-import-table th:nth-child(8),.staff-import-table td:nth-child(8){min-width:190px}.staff-import-table th:nth-child(9),.staff-import-table td:nth-child(9){min-width:250px}.staff-import-table th:nth-child(13),.staff-import-table td:nth-child(13){min-width:210px}.staff-import-day-checks{flex-wrap:wrap;align-items:center;gap:5px;min-width:230px;display:flex}.staff-import-day-checks label{white-space:nowrap;align-items:center;gap:3px;min-width:28px;display:inline-flex}.staff-import-day-checks input[type=checkbox]{width:auto!important;min-width:0!important;min-height:0!important}.staff-import-duplicate-match{color:var(--ink-secondary);background:#9a670017;border-radius:8px;gap:3px;margin-bottom:7px;padding:6px 8px;font-size:11.5px;line-height:1.45;display:grid}.staff-import-duplicate-match strong{color:var(--ink);font-size:12px}.dup-actions{flex-wrap:wrap;gap:5px!important;display:flex!important}.dup-actions label{border:1px solid var(--border);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:4px 7px;display:inline-flex}.dup-actions input[type=radio]{width:auto!important;min-width:0!important;min-height:0!important}.staff-import-row.is-skipped{opacity:.58}.staff-quick-entry-scroll{max-height:60vh!important}.staff-quick-table{min-width:1080px!important}.staff-quick-table th,.staff-quick-table td{vertical-align:middle!important;padding:9px 10px!important}.staff-quick-table th:first-child,.staff-quick-table td:first-child{min-width:190px}.staff-quick-table th:nth-child(2),.staff-quick-table td:nth-child(2){min-width:220px}.staff-quick-table th:nth-child(3),.staff-quick-table td:nth-child(3),.staff-quick-table th:nth-child(4),.staff-quick-table td:nth-child(4){min-width:125px}.staff-quick-table th:nth-child(5),.staff-quick-table td:nth-child(5){min-width:175px}.staff-quick-table th:nth-child(6),.staff-quick-table td:nth-child(6),.staff-quick-table th:nth-child(7),.staff-quick-table td:nth-child(7){min-width:190px}.staff-quick-pair{grid-template-columns:1fr 1fr;gap:6px;display:grid}.staff-quick-stack{gap:6px;display:grid}.staff-quick-detail-row td{background:#f8faf9;padding:12px 16px!important}.staff-quick-detail-grid{grid-template-columns:minmax(180px,1.2fr) minmax(220px,1.4fr) repeat(3,minmax(120px,.7fr));align-items:end;gap:10px;display:grid}.staff-quick-detail-grid label{color:var(--ink-secondary);gap:4px;font-size:12px;font-weight:600;display:grid}.staff-quick-condition-summary{color:var(--ink-secondary);gap:4px;font-size:11.5px;line-height:1.35;display:grid}.staff-quick-helpbar{background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:10px;margin:0 0 10px;padding:9px 11px}@media (width<=900px){.staff-bulk-dialog{border-radius:0;height:100dvh;margin:0;width:100vw!important;max-width:100vw!important;max-height:100dvh!important}.staff-bulk-dialog-inner{max-height:100dvh!important;padding:14px!important}.staff-bulk-header{top:-14px}.staff-import-table{min-width:1420px!important}.staff-quick-table{min-width:980px!important}.staff-quick-detail-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}.mobile-bottom-nav{display:none}@media (width<=900px){:root{--mobile-app-bg:#f4f5f7;--mobile-app-surface:#fffffff5;--mobile-app-border:#19223014;--mobile-app-shadow:0 10px 28px #181f2b14, 0 2px 8px #181f2b0a;--mobile-nav-height:72px}html,body{background:var(--mobile-app-bg)}body{overscroll-behavior-y:none}.premium-shell,.main-area{background:var(--mobile-app-bg)}.main-area{width:100%;max-width:100vw;padding-bottom:calc(var(--mobile-nav-height) + 34px + env(safe-area-inset-bottom,0px))}.topbar{padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px;box-shadow:none;-webkit-backdrop-filter:blur(18px)saturate(155%);background:#f4f5f7e0;border-bottom:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 10px;display:grid}.topbar-facility.premium-facility-switcher{border:1px solid var(--mobile-app-border);background:var(--mobile-app-surface);border-radius:18px;grid-column:1/-1;gap:10px;width:100%;min-width:0;min-height:54px;padding:7px 13px;box-shadow:0 4px 14px #181f2b0d}.topbar-facility.premium-facility-switcher>svg{color:#4a5565;flex:none;width:21px;height:21px}.topbar-facility.premium-facility-switcher select{min-width:0;height:40px;box-shadow:none;color:#202631;text-overflow:ellipsis;background-color:#0000;border:0;border-radius:12px;padding:0 34px 0 2px;font-size:16px;font-weight:700;width:100%!important}.topbar-facility.premium-facility-switcher select:focus{box-shadow:none;outline:none}.mobile-nav.mobile-appbar{justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:48px;padding:0 2px 0 4px;display:flex}.mobile-appbar-title{text-overflow:ellipsis;white-space:nowrap;color:#171c25;letter-spacing:-.025em;min-width:0;font-size:19px;font-weight:800;overflow:hidden}.mobile-appbar-notification{border:1px solid var(--mobile-app-border);color:#4f5968;background:#ffffffe6;border-radius:14px;flex:0 0 42px;place-items:center;width:42px;height:42px;text-decoration:none;display:grid;box-shadow:0 3px 10px #181f2b0a}.mobile-appbar-notification.active{color:var(--accent-strong);background:#fff3e8;border-color:#ffd9b7}.topbar-search{display:none!important}.topbar-actions.topbar-actions-minimal{justify-content:flex-end;min-width:0;display:flex}.topbar-actions.topbar-actions-minimal .month-selector{border:1px solid var(--mobile-app-border);background:#fffffff0;border-radius:16px;width:clamp(156px,43vw,184px);min-height:44px;padding:3px;box-shadow:0 3px 10px #181f2b0a}.topbar-actions.topbar-actions-minimal .month-selector button{color:#748091;background:0 0;border:0;border-radius:11px;width:34px;min-width:34px;height:36px;padding:0;font-size:23px}.topbar-actions.topbar-actions-minimal .month-selector button:active:not(:disabled){background:#f0f2f5}.topbar-actions.topbar-actions-minimal .month-label{color:#2a313d;white-space:nowrap;min-width:0;font-size:14px;font-weight:760}.page{max-width:none;padding:17px 16px calc(24px + env(safe-area-inset-bottom,0px))}.mobile-bottom-nav{z-index:80;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));height:var(--mobile-nav-height);-webkit-backdrop-filter:blur(22px)saturate(170%);background:#ffffffeb;border:1px solid #ffffffd1;border-radius:27px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;padding:6px;transition:opacity .18s,transform .18s;display:grid;position:fixed;box-shadow:0 18px 45px #19212e2b,0 3px 12px #19212e14}.mobile-bottom-tab{appearance:none;color:#7a8493;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:21px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:58px;margin:0;padding:5px 2px 4px;font-family:inherit;font-size:10px;font-weight:720;line-height:1;text-decoration:none;transition:color .16s,background .16s,transform .12s;display:flex}.mobile-bottom-tab:hover{text-decoration:none}.mobile-bottom-tab:active{transform:scale(.96)}.mobile-bottom-tab.active{color:var(--accent-strong);background:linear-gradient(145deg,#fff6ee 0%,#ffead8 100%)}.mobile-bottom-icon{color:currentColor;border-radius:10px;place-items:center;width:29px;height:29px;display:grid}.mobile-bottom-tab.active .mobile-bottom-icon{color:var(--accent)}.sidebar.mobile-open~.mobile-bottom-nav{opacity:0;pointer-events:none;transform:translateY(18px)}.sidebar.mobile-open{border-radius:0 26px 26px 0;box-shadow:22px 0 55px #161d282e}.sidebar.mobile-open .sidebar-nav a,.sidebar.mobile-open .sidebar-nav a.nav-office{border-radius:13px;min-height:46px;font-size:14px}.premium-dashboard{width:100%;min-width:0}.ho-dashboard-topline{align-items:flex-start;margin-bottom:15px}.ho-dashboard-heading h1{color:#171c25;letter-spacing:-.045em;font-size:clamp(27px,8vw,32px);font-weight:850}.ho-dashboard-heading p{color:#8992a0;margin-top:5px;font-size:13px;font-weight:520}.ho-dashboard-topline>.btn{display:none}.ho-service-card-grid-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0 0 17px;display:grid}.ho-service-card-compact{border:1px solid var(--mobile-app-border);background:#fffffffa;border-radius:21px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;min-height:108px;padding:15px;text-decoration:none;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 18px #181f2b0e}.ho-service-card-compact:hover{text-decoration:none}.ho-service-card-logo{background:#f7f8fa;border-radius:14px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.ho-service-card-logo-full{display:none!important}.ho-service-card-logo-mark{object-position:center;width:31px!important;height:31px!important;display:block!important}.ho-service-card-copy{width:100%;min-width:0}.ho-service-card-copy strong{color:#222833;letter-spacing:-.02em;font-size:15px;font-weight:800;line-height:1.35;display:block}.ho-service-card-copy span{display:none}.ho-service-card-go{color:#9aa3af;background:#f6f7f9;border-radius:10px;place-items:center;width:28px;height:28px;font-size:16px;display:grid;position:absolute;top:13px;right:13px}.ho-info-card,.ho-kpi-card,.premium-dashboard-alert,.soft-card,.card{border-color:var(--mobile-app-border);border-radius:20px}.ho-info-card,.ho-kpi-card{box-shadow:0 6px 20px #181f2b0e}.ho-info-card{background:#fffffffa;padding:16px 17px}.ho-info-card-head strong{font-size:16px;font-weight:820}.ho-info-card-head a,.ho-kpi-link{color:#2474e5;align-items:center;min-height:36px;font-weight:740;display:inline-flex}.ho-info-card p{color:#7e8795;margin-top:5px;font-size:12.5px}.ho-kpi-grid{gap:13px;grid-template-columns:1fr!important}.ho-kpi-card{background:#fffffffa;overflow:hidden}.ho-kpi-head{padding:17px 17px 11px}.ho-kpi-head>div>strong{letter-spacing:-.02em;font-size:17px;font-weight:830}.ho-kpi-head>div>span{color:#99a1ae;margin-top:2px;font-size:11.5px}.ho-kpi-body{padding-left:17px;padding-right:17px}.ho-kpi-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.ho-kpi-stat{min-width:0;padding:4px 10px}.ho-kpi-stat:first-child{padding-left:0}.ho-kpi-stat:last-child{padding-right:0}.ho-kpi-stat span{white-space:nowrap;font-size:11px}.ho-kpi-stat strong{letter-spacing:-.035em;margin-top:5px;font-size:25px}.ho-kpi-stat strong small{font-size:11px}.ho-kpi-foot{padding:10px 17px 14px}.ho-kpi-foot a{min-height:38px;font-size:13px;font-weight:760}.premium-quick-section{margin-top:20px}.premium-quick-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))!important}.premium-quick-card{border-color:var(--mobile-app-border);border-radius:18px;grid-template-columns:36px minmax(0,1fr);gap:10px;min-width:0;min-height:86px;padding:12px;box-shadow:0 4px 14px #181f2b0b}.premium-quick-icon{border-radius:12px;width:36px;height:36px}.premium-quick-copy strong{font-size:12.5px;line-height:1.35}.premium-quick-copy small,.premium-quick-card>svg{display:none}.page-header{align-items:flex-start;gap:10px;margin-bottom:16px}.page-title{letter-spacing:-.035em;font-size:24px;font-weight:830}.page-desc{color:#8a93a1;font-size:12.5px}.page-actions .btn,.page-actions button,.page-actions a{border-radius:13px;min-height:44px}input,select,textarea,button{max-width:100%}input,select,textarea{font-size:16px}}@media (width<=360px){.topbar{gap:8px;padding-left:10px;padding-right:10px}.topbar-actions.topbar-actions-minimal .month-selector{width:148px}.page{padding-left:12px;padding-right:12px}.mobile-bottom-nav{padding-left:4px;padding-right:4px;left:8px;right:8px}.mobile-bottom-tab{font-size:9.5px}.ho-service-card-compact{min-height:102px;padding:13px}}@media (prefers-reduced-motion:reduce){.mobile-bottom-nav,.mobile-bottom-tab{transition:none}}@media (width<=900px){.page>.page-header .page-title,.premium-dashboard .ho-dashboard-heading h1{display:none!important}.page>.page-header{margin-top:0}.page>.page-header>div:first-child:has(.page-title) .page-desc{margin-top:0}.premium-dashboard .ho-dashboard-heading p{margin-top:0}}html{scrollbar-gutter:stable;scrollbar-width:auto!important;scrollbar-color:#7d8795 #eef1f5!important;overflow:auto scroll!important}body{min-height:100vh;scrollbar-width:auto!important;scrollbar-color:#7d8795 #eef1f5!important;overflow-x:auto!important}#root *{scrollbar-width:auto!important;scrollbar-color:#7d8795 #eef1f5!important}html::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}body::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}#root ::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}html::-webkit-scrollbar-track{background:#eef1f5!important}body::-webkit-scrollbar-track{background:#eef1f5!important}#root ::-webkit-scrollbar-track{background:#eef1f5!important}html::-webkit-scrollbar-thumb{min-width:28px;min-height:28px;background:#7d8795 padding-box padding-box!important;border:3px solid #eef1f5!important;border-radius:999px!important}body::-webkit-scrollbar-thumb{min-width:28px;min-height:28px;background:#7d8795 padding-box padding-box!important;border:3px solid #eef1f5!important;border-radius:999px!important}#root ::-webkit-scrollbar-thumb{min-width:28px;min-height:28px;background:#7d8795 padding-box padding-box!important;border:3px solid #eef1f5!important;border-radius:999px!important}html::-webkit-scrollbar-thumb:hover{background:#626d7c padding-box padding-box!important}body::-webkit-scrollbar-thumb:hover{background:#626d7c padding-box padding-box!important}#root ::-webkit-scrollbar-thumb:hover{background:#626d7c padding-box padding-box!important}#root :where(.table-wrap,.sticky-hscroll-main,.sticky-hscroll-bar,.shift-hscroll-rail,.gantt-daily-root,.staff-import-preview-scroll,.staff-quick-entry-scroll,.staff-bulk-dialog-inner,.sidebar-nav){scrollbar-gutter:stable!important}#root .table-wrap.shift-board-wrap::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}#root .sticky-hscroll-main::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}#root .sticky-hscroll-bar::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}#root .shift-hscroll-rail::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}#root .gantt-daily-root::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}#root .staff-import-preview-scroll::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}#root .staff-quick-entry-scroll::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}#root .page{overflow-x:auto!important}#root .sticky-hscroll-bar{background:#eef1f5;border:1px solid #d9dee6;height:14px;min-height:14px;display:block;overflow:scroll hidden!important}#root .sticky-hscroll-bar.is-top{z-index:45;border-radius:8px 8px 0 0;margin:0 0 4px;position:sticky;top:0}#root .sticky-hscroll-bar.is-bottom{z-index:45;border-radius:0 0 8px 8px;margin:4px 0 0;position:sticky;bottom:0}@media (width<=900px){html::-webkit-scrollbar{width:11px!important;height:11px!important}body::-webkit-scrollbar{width:11px!important;height:11px!important}#root ::-webkit-scrollbar{width:11px!important;height:11px!important}#root .page{overflow-x:auto!important}}@media print{html,body,#root .page{overflow:visible!important}}.attendance-safe-loading{place-items:center;min-height:min(52vh,460px);padding:24px;display:grid}.attendance-safe-loading-card{text-align:center;background:#fff;border:1px solid #e6eaf0;border-radius:18px;align-content:center;place-items:center;gap:8px;width:min(100%,420px);min-height:180px;padding:28px 24px;display:grid;box-shadow:0 10px 28px #171f2d12}.attendance-safe-loading-mark{border:3px solid #ffe1c5;border-top-color:#ff7a00;border-radius:50%;width:34px;height:34px;margin-bottom:6px;animation:.8s linear infinite attendance-safe-spin}.attendance-safe-loading-card strong{color:#202733;font-size:15px}.attendance-safe-loading-card span{color:#7d8796;font-size:12.5px}@keyframes attendance-safe-spin{to{transform:rotate(360deg)}}@media (width<=900px){body.attendance-route-active{background:#f6f8fb!important}body.attendance-route-active .topbar{-webkit-backdrop-filter:none!important;background:#fff!important;box-shadow:0 2px 8px #171f2d0b!important}body.attendance-route-active .mobile-appbar{-webkit-backdrop-filter:none!important;background:#fff!important}.attendance-safe-route,.attendance-safe-route *{transition-duration:0s!important;animation-duration:0s!important}.attendance-safe-route .card,.attendance-safe-route .metric-card,.attendance-safe-route .table-wrap,.attendance-safe-route .filter-bar,.attendance-safe-route .notice{box-shadow:0 2px 8px #171f2d0b!important}.attendance-safe-route .table-wrap{contain:layout paint style;overflow:auto visible}.attendance-safe-route .data-table{min-width:max-content}.attendance-safe-route .filter-bar{overscroll-behavior-x:contain;overflow-x:auto}.attendance-safe-route .card-grid{contain:layout style}.attendance-safe-loading{min-height:46vh;padding:12px 0 24px}.attendance-safe-loading-card{border-radius:16px;padding:24px 18px}}@media (prefers-reduced-motion:reduce){.attendance-safe-loading-mark{animation:none}}
