:root{--page:#f3f8fb;--page-accent:#eef7ff;--surface:#fff;--surface-soft:#f7fafc;--surface-muted:#eff5f8;--sidebar-surface:#ffffffd1;--ink:#243242;--ink-soft:#435267;--ink-muted:#5a6b7b;--rule:#dce6ee;--rule-strong:#cad8e2;--accent:#24b8a8;--accent-strong:#0f766e;--accent-soft:#e3faf6;--accent-blue:#2e7cf6;--accent-blue-soft:#eaf2ff;--st-warn:#8a5200;--st-warn-soft:#fff2df;--st-danger:#b3261e;--st-danger-soft:#fff0ee;--st-ok:#176b4f;--st-ok-soft:#e8f8f0;--st-info:#1b5fd0;--st-info-soft:#eaf2ff;--font-sans:"Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;--focus-ring:#2e7cf6b8;--focus-ring-soft:#2e7cf62e;--control-sm:40px;--control-md:44px;--control-lg:48px;--radius-xs:10px;--radius-sm:14px;--radius-md:20px;--radius-lg:28px;--shadow-sm:0 1px 2px #1b2f440d;--shadow-md:0 16px 40px #24436214;--shadow-lg:0 24px 70px #2443621f}*{box-sizing:border-box}html{font-family:var(--font-sans);line-height:1.6}body{background:radial-gradient(circle at top left, #24b8a814, transparent 28%), radial-gradient(circle at right top, #2e7cf614, transparent 24%), linear-gradient(180deg, #f7fbfe 0%, var(--page) 44%, #edf4f8 100%);color:var(--ink);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;outline:none}:where(a[href],button,input,select,textarea,summary,[role=button],[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;box-shadow:0 0 0 5px var(--focus-ring-soft)}:where(input,select,textarea):focus-visible{border-color:#2e7cf6ad}button{touch-action:manipulation}.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}.eyebrow{color:var(--accent-strong);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem;font-size:.74rem;font-weight:700}.button{min-height:var(--control-md);cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.66rem 1rem;font-size:.88rem;font-weight:700;transition:transform .12s,box-shadow .12s,background-color .12s,border-color .12s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:var(--accent-strong);box-shadow:0 10px 24px #0f766e33}.button-secondary{color:var(--ink);border-color:var(--rule);background:#ffffffeb}.button-danger{color:var(--st-danger);background:#fff;border-color:#b3261e57}.button-danger-fill{color:#fff;background:var(--st-danger);border-color:var(--st-danger);box-shadow:0 10px 24px #b3261e33}.legal-page{min-height:100dvh;color:var(--ink);background:linear-gradient(#e8f7f6c7,#f8fbfff2),#f7fafc;padding:2.5rem 1rem}.legal-shell{background:#fffffff5;border:1px solid #cad8e2d1;border-radius:8px;width:min(880px,100%);margin:0 auto;padding:clamp(1.25rem,4vw,2.5rem);box-shadow:0 22px 60px #3f546c1f}.legal-eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .45rem;font-size:.78rem;font-weight:900}.legal-shell h1{margin:0;font-size:clamp(1.9rem,5vw,2.8rem);line-height:1.15}.legal-lead{color:var(--ink-soft);margin:1rem 0 1.8rem;font-size:1rem;line-height:1.8}.legal-shell section{border-top:1px solid #cad8e2b8;padding:1.25rem 0}.legal-shell h2{margin:0 0 .55rem;font-size:1.05rem}.legal-shell p,.legal-shell li{color:var(--ink-soft);font-size:.94rem;line-height:1.78}.legal-shell p{margin:.45rem 0 0}.legal-shell ul{margin:.6rem 0 0;padding-left:1.2rem}.legal-updated{color:var(--ink-muted);margin-top:1.4rem;font-size:.84rem;font-weight:800}.legal-back-link{border:1px solid var(--rule);min-height:42px;color:var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;margin-top:1rem;padding:.6rem 1rem;font-weight:900;text-decoration:none;display:inline-flex}.legal-link-list{flex-wrap:wrap;gap:.75rem 1.1rem;margin-top:1.5rem;font-weight:850;display:flex}.legal-link-list a{color:var(--accent);text-underline-offset:.18em;text-decoration:underline}.break-anywhere{overflow-wrap:anywhere;word-break:break-word}.button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.admin-app{color:#243242;--admin-radius:18px;--admin-radius-sm:14px;--admin-shadow:0 12px 34px #1f364e0e;--admin-card-border:#cad8e294;background:radial-gradient(circle at 16% 0,#24b8a814,#0000 28%),linear-gradient(#fbfdff 0%,#f5f8fb 100%);grid-template-columns:236px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{z-index:20;overscroll-behavior:contain;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfdffd1;border-right:1px solid #cad8e280;flex-direction:column;align-self:start;gap:.72rem;height:100dvh;max-height:100dvh;padding:1rem .75rem .85rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-panel{border-radius:var(--admin-radius);box-shadow:none;background:#ffffffbd;border:1px solid #cad8e275;padding:.82rem .86rem}.brand{flex-direction:column;gap:.2rem;margin-bottom:.7rem;display:flex}.brand-logo-image{width:100%;height:auto;display:block}.sidebar-brand-logo{width:100%;max-width:170px}.brand-mark{letter-spacing:-.03em;font-size:1.35rem;font-weight:800;display:block}.brand-copy{color:var(--ink-muted);overflow-wrap:anywhere;font-size:.92rem}.workspace-badge{color:var(--accent-strong);background:#e3faf6db;border-radius:999px;align-items:center;gap:.4rem;padding:.38rem .62rem;font-size:.74rem;font-weight:700;display:inline-flex}.viewer-card{flex-direction:column;gap:.3rem;display:flex}.viewer-card-label{color:var(--ink-muted);margin:0;font-size:.8rem;font-weight:600}.viewer-card strong{overflow-wrap:anywhere;font-size:.96rem}.viewer-card span{color:var(--ink-soft);overflow-wrap:anywhere;font-size:.82rem}.viewer-role-list{flex-wrap:wrap;gap:.45rem;margin-top:.35rem;display:flex}.viewer-card-summary{color:var(--ink-muted);margin:.35rem 0 0;font-size:.8rem;font-weight:700}.viewer-role-pill{background:var(--surface);border:1px solid var(--rule);color:var(--ink-soft);border-radius:999px;align-items:center;padding:.28rem .54rem;font-size:.72rem;font-weight:700;display:inline-flex}.sidebar-staff-link{border-radius:var(--admin-radius);color:var(--ink);background:#fff;border:1px solid #2e7cf62e;flex-direction:column;gap:.12rem;padding:.78rem .9rem;display:flex}.sidebar-staff-link span{color:var(--ink-muted);font-size:.74rem;font-weight:800}.sidebar-staff-link strong{color:var(--accent-blue);font-size:.9rem;font-weight:850}.sidebar-section-title{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;margin:.18rem 0 0 .35rem;font-size:.7rem;font-weight:700}.sidebar-nav{flex-direction:column;gap:.28rem;display:flex}.nav-link{border-radius:var(--admin-radius-sm);color:var(--ink-soft);border:1px solid #0000;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:.56rem;padding:.64rem .68rem;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s;display:grid}.nav-link:hover{background:#ffffffc7;border-color:#cad8e28c}.nav-link.is-active{box-shadow:inset 3px 0 0 var(--accent-blue), 0 10px 24px #2e7cf60f;color:var(--ink);background:#fff;border-color:#2e7cf62e}.nav-link-staff{color:var(--ink);background:#f3fbf9;border-color:#24b8a833}.nav-link-staff .nav-icon{color:var(--accent-strong);background:#fff}.nav-link-staff strong{color:var(--accent-strong)}.nav-icon{width:26px;height:26px;color:var(--accent-blue);background:#f4f7fa;border-radius:10px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.nav-copy{flex-direction:column;min-width:0;display:flex}.nav-copy strong{font-size:.9rem}.nav-copy small{color:var(--ink-muted);font-size:.74rem}.admin-content{flex-direction:column;min-width:0;display:flex}.topbar{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfdffd6;border-bottom:1px solid #cad8e280;padding:.68rem 1.6rem .58rem;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:flex-start;gap:1rem;width:min(1560px,100%);margin:0 auto;display:flex}.topbar-main{flex-direction:column;gap:.1rem;display:flex}.topbar-kicker{color:var(--accent-strong);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:850}.topbar-title{letter-spacing:-.03em;margin:0;font-size:1.02rem;font-weight:800}.topbar-subtitle{color:var(--ink-muted);margin:0;font-size:.8rem}.topbar-actions{flex-wrap:wrap;gap:.55rem;display:flex}.chip-link-home{color:var(--accent-blue);background:var(--st-info-soft);border-color:#2e7cf62e}.chip-link,.status-badge{border:1px solid var(--rule);white-space:nowrap;word-break:keep-all;background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;min-height:30px;padding:.28rem .72rem;font-size:.76rem;font-weight:700;display:inline-flex}.chip-link,.status-badge.tone-neutral{color:var(--ink-soft)}.status-badge.tone-warn{color:var(--st-warn);background:var(--st-warn-soft);border-color:#d288222e}.status-badge.tone-danger{color:var(--st-danger);background:var(--st-danger-soft);border-color:#d8615833}.status-badge.tone-info{color:var(--st-info);background:var(--st-info-soft);border-color:#2e7cf62e}.status-badge.tone-ok{color:var(--st-ok);background:var(--st-ok-soft);border-color:#1f8c672e}.main-content{padding:1.35rem 1.6rem 2rem}.main-frame{width:min(1560px,100%);margin:0 auto}.main-frame>:not(.page-head)+:not(.page-head){margin-top:1.05rem}.main-frame.is-narrow{width:min(1320px,100%)}.page-head{border-bottom:0;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;padding-bottom:.15rem;display:flex}.page-title{letter-spacing:-.04em;margin:0;font-size:clamp(1.55rem,2.4vw,2rem);font-weight:800}.page-description{max-width:48rem;color:var(--ink-muted);margin:.3rem 0 0;font-size:.92rem}.page-actions{flex-wrap:wrap;gap:.55rem;display:flex}.download-action{flex-direction:column;align-items:flex-start;gap:.35rem;display:inline-flex}.section-actions,.inline-action-form,.compact-inline-form{flex-wrap:wrap;align-items:center;gap:.55rem;display:inline-flex}.section-actions{justify-content:flex-end}.compact-inline-form input,.compact-inline-form select{border:1px solid var(--rule);min-height:38px;color:var(--ink);background:#fff;border-radius:999px;padding:.62rem .9rem}.shift-period-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.shift-period-switch-form,.shift-period-create-form{background:#ffffffd1;border:1px solid #7e96b047;border-radius:18px;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.38rem;display:inline-flex}.shift-period-create-form{background:#2f77f412}.shift-period-switch-form>label,.shift-period-create-form label,.shift-period-form-title{color:var(--ink-muted);white-space:nowrap;align-items:center;gap:.35rem;font-size:.78rem;font-weight:850;display:inline-flex}.shift-period-toolbar input,.shift-period-toolbar select{border:1px solid var(--rule);min-height:40px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:.5rem .72rem;font-weight:780}.shift-period-switch-form select{min-width:260px;max-width:min(46vw,380px)}.shift-period-create-form input{width:88px}.shift-period-create-form select{min-width:82px}.shift-period-toolbar .button{white-space:nowrap;min-height:40px}.dashboard-grid,.two-column-grid,.three-column-grid,.metric-grid{gap:1rem;display:grid}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr)}.two-column-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-column-grid{grid-template-columns:300px minmax(0,1fr) 320px}.employee-detail-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:1.15rem;display:grid}.employee-detail-sidebar,.employee-detail-main{flex-direction:column;gap:1.1rem;min-width:0;display:flex}.employee-detail-overview-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:1.1rem;display:grid}.section-card,.metric-card,.hero-card,.table-card,.form-card,.profile-card,.sign-panel,.empty-state{background:#ffffffeb;border:1px solid #cad8e2d9;border-radius:18px;box-shadow:0 10px 26px #2443620f}.admin-app .section-card,.admin-app .metric-card,.admin-app .table-card,.admin-app .form-card,.admin-app .profile-card,.admin-app .empty-state{border-color:var(--admin-card-border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);background:#ffffffe6}.admin-app .button{border-radius:999px;min-height:36px;padding:.56rem .88rem}.admin-app .button-primary{background:var(--accent-blue);box-shadow:none}.admin-app .button-secondary{background:#ffffffd6}.admin-app .task-row,.admin-app .list-row,.admin-app .linked-row,.admin-app .access-user-card,.admin-app .comparison-panel,.admin-app .decision-action-grid .access-role-form,.admin-app .workspace-card,.admin-app .template-download-card,.admin-app .template-import-note,.admin-app .role-checkbox-pill{border-radius:var(--admin-radius-sm);box-shadow:none}.admin-app .section-card>div>.table-card,.admin-app .section-card>div>.form-card{box-shadow:none;background:#f8fbfd9e;border-color:#dce6eeb8}.section-card,.table-card,.form-card,.profile-card,.sign-panel,.empty-state{padding:1.15rem}.section-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.section-head h3,.empty-state h3{letter-spacing:-.02em;margin:0;font-size:1.18rem;font-weight:800}.section-head p,.empty-state p,.metric-note,.data-note{color:var(--ink-muted);margin:.25rem 0 0;font-size:.9rem}.metric-card{min-height:116px;padding:.92rem 1rem;position:relative;overflow:hidden}.metric-card:before{content:"";background:var(--accent-blue);width:4px;position:absolute;inset:0 auto 0 0}.metric-card.tone-warn:before{background:var(--st-warn)}.metric-card.tone-danger:before{background:var(--st-danger)}.metric-card.tone-ok:before{background:var(--st-ok)}.metric-label{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.metric-value{letter-spacing:-.04em;margin:.3rem 0 .15rem;font-size:1.72rem;font-weight:800}.metric-card.tone-warn .metric-value{color:var(--st-warn)}.metric-card.tone-danger .metric-value{color:var(--st-danger)}.metric-card.tone-ok .metric-value{color:var(--st-ok)}.hero-card{color:#fff;background:radial-gradient(circle at 100% 0,#ffffff2e,#0000 22%),linear-gradient(135deg,#2f7df4 0%,#24b8a8 100%);padding:1.25rem;position:relative;overflow:hidden}.hero-card:after{content:"";background:#ffffff1a;border-radius:999px;width:220px;height:220px;position:absolute;inset:auto -6% -35% auto}.hero-card h2,.hero-card h3,.hero-card p{z-index:1;margin:0;position:relative}.hero-card h2{letter-spacing:-.04em;font-size:1.72rem;font-weight:800}.hero-card p{color:#ffffffe0;max-width:42rem;margin-top:.45rem}.hero-cta{z-index:1;flex-wrap:wrap;gap:.7rem;margin-top:1rem;display:flex;position:relative}.task-list,.plain-list,.linked-list{flex-direction:column;gap:.6rem;display:flex}.admin-priority-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:0;display:grid}.admin-priority-card{border-radius:var(--admin-radius);min-height:132px;box-shadow:var(--admin-shadow);background:linear-gradient(#fffffff0,#f8fbfde6);border:1px solid #cad8e28a;flex-direction:column;justify-content:space-between;gap:.65rem;padding:1rem 1.05rem;transition:border-color .14s,transform .14s,box-shadow .14s;display:flex;position:relative}.admin-priority-card:hover{border-color:#2e7cf642;transform:translateY(-1px);box-shadow:0 16px 38px #1f364e14}.admin-priority-card span{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:850}.admin-priority-card strong{color:var(--ink);letter-spacing:-.025em;font-size:1.1rem;font-weight:850;line-height:1.35}.admin-priority-card small{color:var(--ink-muted);font-size:.84rem;font-weight:650;line-height:1.5}.admin-priority-card.tone-warn{background:linear-gradient(#fffdf9f5,#fffaf2e6);border-color:#d2882233}.admin-priority-card.tone-danger{background:linear-gradient(#fffbfaf5,#fff7f6e6);border-color:#d8615833}.admin-priority-card.tone-ok{background:linear-gradient(#fafffcf5,#f4fbf7e6);border-color:#1f8c672e}.admin-priority-card.tone-info{background:linear-gradient(#fafdfff5,#f5f9ffe6);border-color:#2e7cf62e}.admin-priority-card.tone-neutral{background:linear-gradient(#fffffff0,#f8fbfde6)}.admin-flow-links{flex-wrap:wrap;gap:.6rem;margin-top:.95rem;display:flex}.action-summary{border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);background:#ffffffeb;border:1px solid #cad8e2c7;border-left-width:5px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.12rem;display:grid}.action-summary.tone-info{border-left-color:var(--st-info);background:linear-gradient(#fffffff5,#f5f9ffe6)}.action-summary.tone-warn{border-color:#d2882252;border-left-color:var(--st-warn);background:linear-gradient(#fffefafa,#fff9eeeb)}.action-summary.tone-danger{border-color:#d861584d;border-left-color:var(--st-danger);background:linear-gradient(#fffcfbfa,#fff4f2eb)}.action-summary.tone-ok{border-color:#1f8c673d;border-left-color:var(--st-ok);background:linear-gradient(#fffffffa,#f4fbf7eb)}.action-summary h3{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1.08rem;font-weight:850}.action-summary p{color:var(--ink-soft);margin:.32rem 0 0;font-size:.9rem}.action-summary-chips,.action-summary-actions{flex-wrap:wrap;gap:.48rem;display:flex}.action-summary-chips{margin-top:.72rem}.action-summary-actions{justify-content:flex-end}.task-row,.list-row,.linked-row{background:#f8fbfdb8;border:1px solid #dce6eec7;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:.85rem;padding:.86rem .95rem;display:flex}.task-row>div,.list-row>div,.linked-row>div{min-width:0}.task-row .task-copy h4,.linked-row h4,.list-row h4,.profile-card h3{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:.98rem;font-weight:800}.linked-row p,.list-row p,.task-row p,.table-cell-note{overflow-wrap:anywhere}.task-row .task-copy p,.linked-row p,.list-row p{color:var(--ink-muted);margin:.28rem 0 0;font-size:.86rem}.workspace-inline-heading{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.access-card-grid,.workspace-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.workspace-card{border:1px solid var(--rule);background:var(--surface-soft);border-radius:16px;flex-direction:column;gap:.85rem;padding:.95rem;display:flex}.workspace-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.workspace-card-role{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .2rem;font-size:.78rem;font-weight:800}.workspace-card-head h4{margin:0;font-size:1rem;font-weight:800}.workspace-card-head p:last-child{color:var(--ink-muted);margin:.28rem 0 0;font-size:.86rem}.workspace-card-tasks{flex-direction:column;gap:.55rem;display:flex}.workspace-card-tasks .task-row{padding:.72rem .78rem}.workspace-card-actions{justify-content:flex-end;display:flex}.access-user-card{border:1px solid var(--rule);background:var(--surface-soft);border-radius:16px;padding:.95rem}.access-user-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.access-user-head h3{margin:0;font-size:.98rem;font-weight:800}.access-user-head p{color:var(--ink-muted);margin:.2rem 0 0;font-size:.84rem}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:.85rem;display:grid}.comparison-panel{border:1px solid var(--rule);background:#ffffffeb;border-radius:16px;padding:.82rem .9rem}.comparison-panel.is-after{background:var(--st-info-soft);border-color:#2e7cf633}.comparison-label{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:800}.comparison-panel h4{margin:.35rem 0 0;font-size:.98rem;font-weight:800}.comparison-panel p{color:var(--ink-muted);margin:.24rem 0 0;font-size:.84rem}.comparison-note{color:var(--st-danger);font-weight:700}.access-inline-meta{margin-top:.75rem}.access-inline-meta p{color:var(--ink-muted);margin:0;font-size:.82rem}.access-role-form{margin-top:.85rem}.decision-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.9rem;display:grid}.decision-action-grid .access-role-form{border:1px solid var(--rule);background:#ffffffdb;border-radius:16px;margin-top:0;padding:.8rem}.operation-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.operation-step{border:1px solid var(--rule);background:#fff;border-radius:18px;min-height:138px;padding:.95rem;position:relative;overflow:hidden}.admin-app .operation-step{border-radius:var(--admin-radius);box-shadow:var(--admin-shadow)}.operation-step:before{content:"";background:var(--rule);width:5px;position:absolute;inset:0 auto 0 0}.operation-step-kicker{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.operation-step strong{letter-spacing:-.05em;margin-top:.52rem;font-size:1.55rem;font-weight:850;display:block}.operation-step span{color:var(--ink-muted);margin-top:.35rem;font-size:.84rem;line-height:1.55;display:block}.operation-step.tone-danger{background:#fff7f6;border-color:#d8615838}.operation-step.tone-danger:before{background:var(--st-danger)}.operation-step.tone-warn{background:#fffaf2;border-color:#d2882238}.operation-step.tone-warn:before{background:var(--st-warn)}.operation-step.tone-info{background:#f5f9ff;border-color:#2e7cf62e}.operation-step.tone-info:before{background:var(--st-info)}.operation-step.tone-ok{background:#f4fbf7;border-color:#1f8c672e}.operation-step.tone-ok:before{background:var(--st-ok)}.operation-step.tone-neutral:before{background:#7b8b9abd}.template-downloads{gap:.9rem;display:grid}.template-download-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.template-download-card{border:1px solid var(--rule);background:#fff;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;min-height:184px;padding:.95rem;display:grid;position:relative}.template-download-step{width:34px;height:34px;color:var(--accent-strong);background:var(--accent-soft);border-radius:12px;justify-content:center;align-items:center;font-size:.88rem;font-weight:850;display:inline-flex}.template-download-copy{min-width:0}.template-download-copy h4{letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:850}.template-download-copy p{color:var(--ink-muted);margin:.32rem 0 0;font-size:.86rem;line-height:1.55}.template-download-copy small{color:var(--ink-soft);margin-top:.55rem;font-size:.78rem;font-weight:700;line-height:1.5;display:block}.template-download-card .button{grid-column:1/-1;align-self:end}.template-import-note{background:var(--st-info-soft);border:1px solid #2e7cf629;border-radius:18px;justify-content:space-between;align-items:center;gap:.85rem;padding:.85rem .95rem;display:flex}.template-import-note strong{font-size:.9rem;display:block}.template-import-note p{color:var(--ink-muted);margin:.22rem 0 0;font-size:.84rem}.template-import-note code{white-space:nowrap}.role-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.role-checkbox-pill{border:1px solid var(--rule);color:var(--ink-soft);background:#fff;border-radius:14px;align-items:center;gap:.55rem;padding:.65rem .75rem;font-size:.84rem;font-weight:700;display:flex;position:relative}.role-checkbox-pill input{width:16px;height:16px;margin:0}.checkbox-card{border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:16px;align-items:flex-start;gap:.7rem;padding:.8rem .85rem;display:flex}.checkbox-card input{width:17px;height:17px;margin-top:.15rem}.checkbox-card span{gap:.2rem;display:grid}.checkbox-card small{color:var(--ink-muted);font-size:.8rem;font-weight:650;line-height:1.5}.role-help{margin-left:auto;position:relative}.role-help-trigger{width:22px;height:22px;color:var(--ink-muted);cursor:help;background:#f7fafc;border:1px solid #76889e59;border-radius:999px;place-items:center;font-size:.78rem;line-height:1;display:inline-grid}.role-help-panel{z-index:20;border:1px solid var(--rule);width:min(280px,72vw);color:var(--ink);opacity:0;pointer-events:none;background:#fff;border-radius:12px;padding:.75rem .85rem;font-size:.8rem;font-weight:700;line-height:1.65;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + .55rem);right:-.3rem;transform:translateY(4px);box-shadow:0 16px 36px #1b2f4424}.role-help:hover .role-help-panel,.role-help:focus-within .role-help-panel{opacity:1;transform:translateY(0)}.task-row.tone-danger{background:#fff7f6;border-color:#d861583d}.task-row.tone-warn{background:#fffaf2;border-color:#d288223d}.task-row.tone-info{background:#f5f9ff;border-color:#2e7cf638}.task-row.tone-ok{background:#f4fbf7;border-color:#1f8c6738}.table-card{overflow:hidden}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:.78rem .7rem}.data-table thead th{z-index:1;background:var(--surface-soft);color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:800;position:sticky;top:0}.data-table tbody tr:hover td{background:#f8fbfd}.data-table tr:last-child td{border-bottom:none}.table-cell-note{color:var(--ink-muted);margin:.25rem 0 0;font-size:.82rem}.table-cell-note.is-alert{color:var(--st-danger);font-weight:700}.desktop-only{display:table}.mobile-only{display:none}.table-actions{flex-wrap:wrap;gap:.5rem;display:flex}.search-bar,.field input,.field select,.field textarea{border:1px solid var(--rule);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:.74rem .85rem;box-shadow:inset 0 1px 1px #24436205}.field input[readonly]{background:var(--surface-soft);color:var(--ink-soft)}.field{flex-direction:column;gap:.45rem;display:flex}.field label{color:var(--ink-soft);font-size:.88rem;font-weight:700}.field-note{color:var(--ink-muted);margin:0;font-size:.84rem}.field-error{color:var(--st-danger);margin:0;font-size:.8rem;font-weight:700}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.form-grid .field.span-2{grid-column:span 2}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.audit-filter-form{gap:1rem;display:grid}.audit-filter-grid{align-items:end}.audit-filter-actions{margin-top:0}.audit-diff-details{color:var(--ink-muted);margin-top:.35rem;font-size:.78rem;font-weight:650}.audit-diff-details summary{cursor:pointer;color:var(--accent-blue);font-weight:800;display:inline-flex}.audit-diff-details ul{margin:.35rem 0 0;padding-left:1rem}.audit-diff-details li{overflow-wrap:anywhere;margin:.16rem 0}.kv-list{gap:.6rem;display:grid}.kv-row{border-bottom:1px dashed var(--rule-strong);grid-template-columns:minmax(6.5rem,38%) minmax(0,1fr);align-items:flex-start;gap:1rem;padding-bottom:.78rem;display:grid}.kv-row:last-child{border-bottom:none;padding-bottom:0}.kv-row dt{min-width:0;color:var(--ink-muted);font-size:.88rem}.kv-row dd{text-align:right;min-width:0;max-width:none;color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:600}.employee-app{min-height:100dvh;padding:1rem 1rem 1.5rem}.employee-header{justify-content:space-between;align-items:flex-end;gap:1rem;max-width:1120px;margin-bottom:.8rem;margin-left:auto;margin-right:auto;padding:1rem 1rem 0;display:flex}.employee-heading{flex-direction:column;min-width:0;display:flex}.employee-title{letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:1.58rem;font-weight:800}.employee-subtitle{color:var(--ink-muted);overflow-wrap:anywhere;margin:.24rem 0 0;font-size:.9rem}.employee-header-actions{flex-wrap:wrap;gap:.65rem;display:flex}.employee-content{flex-direction:column;gap:1rem;width:100%;max-width:1120px;margin:0 auto;display:flex}.bottom-tab-nav{padding:.55rem .55rem calc(.55rem + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#ffffffeb;border:1px solid #cad8e2cc;border-radius:24px;justify-content:space-around;gap:.55rem;display:none;position:fixed;bottom:.9rem;left:.9rem;right:.9rem}.bottom-tab-link{text-align:center;min-width:0;min-height:46px;color:var(--ink-soft);white-space:nowrap;word-break:keep-all;border-radius:18px;flex:1;justify-content:center;align-items:center;padding:.72rem .45rem;font-size:.86rem;font-weight:700;display:inline-flex}.bottom-tab-link:hover{background:var(--surface-soft)}.bottom-tab-link.is-active{color:var(--st-info);background:var(--st-info-soft);box-shadow:inset 0 -3px 0 var(--st-info)}.shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.shortcut-item{border:1px solid var(--rule);background:linear-gradient(180deg, #fff 0%, var(--surface-soft) 100%);text-align:center;min-height:82px;box-shadow:var(--shadow-sm);border-radius:16px;justify-content:center;align-items:center;padding:.85rem .75rem;font-weight:700;display:flex}.staff-timecard-page{flex-direction:column;gap:1rem;width:min(100%,600px);margin:0 auto;display:flex}.attendance-language-switcher{color:var(--ink-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;font-size:.78rem;font-weight:800;display:flex}.language-chip{color:var(--ink-muted);box-shadow:var(--shadow-sm);background:#ffffffdb;border:1px solid #cad8e2f2;border-radius:999px;padding:.42rem .7rem;text-decoration:none}.language-chip.is-active{color:var(--accent-strong);background:#e3faf6e6;border-color:#0f766e47}.attendance-month-switcher{z-index:12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f4fafaeb;border:1px solid #cad8e294;border-radius:18px;margin:-.32rem -.42rem 0;display:grid;position:sticky;top:.75rem;overflow:hidden;box-shadow:0 12px 28px #24436214}.attendance-month-switcher summary{min-height:42px;color:var(--ink);cursor:pointer;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;padding:.5rem .72rem;font-weight:850;list-style:none;display:grid}.attendance-month-switcher summary::-webkit-details-marker{display:none}.attendance-month-switcher summary:after{content:"⌄";color:var(--ink-muted);font-size:.82rem;font-weight:900;line-height:1;transition:transform .16s}.attendance-month-switcher[open] summary:after{transform:rotate(180deg)}.attendance-month-switcher summary span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attendance-month-switcher summary em{min-height:24px;color:var(--ink-muted);white-space:nowrap;background:#ffffffd1;border-radius:999px;justify-content:center;align-items:center;padding:.16rem .48rem;font-size:.7rem;font-style:normal;line-height:1.15;display:inline-flex}.attendance-month-switcher[open] nav{gap:.65rem;padding:0 .42rem .42rem;display:grid}.attendance-month-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.attendance-month-primary.is-single{grid-template-columns:minmax(0,1fr)}.attendance-month-chip{min-width:0;color:var(--ink-muted);box-shadow:var(--shadow-sm);background:#ffffffe6;border:1px solid #cad8e2e6;border-radius:14px;flex-direction:column;gap:.12rem;padding:.72rem .82rem;text-decoration:none;display:flex}.attendance-month-chip.needs-review{background:linear-gradient(#fff4f2fa 0%,#fffffff5 100%);border-color:#d861583d}.attendance-month-chip span{letter-spacing:.02em;font-size:.72rem;font-weight:800}.attendance-month-chip strong{overflow-wrap:anywhere;color:var(--ink);font-size:.98rem;line-height:1.2}.attendance-month-chip em{width:fit-content;color:var(--ink-muted);background:#eff5f8eb;border-radius:999px;margin-top:.18rem;padding:.16rem .46rem;font-size:.68rem;font-style:normal;font-weight:850;line-height:1.2}.attendance-month-chip.needs-review em{background:var(--st-danger-soft);color:var(--st-danger)}.attendance-month-chip.is-active{background:#e3faf6e6;border-color:#0f766e52}.attendance-month-compact{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.78rem;font-weight:800;display:flex}.attendance-month-compact-link{min-height:34px;color:var(--ink-soft);background:#ffffffc7;border:1px solid #cad8e2db;border-radius:999px;align-items:center;gap:.35rem;padding:.34rem .68rem;text-decoration:none;display:inline-flex}.attendance-month-link-loading{color:var(--accent-strong);font-size:.7rem;font-weight:850}.attendance-month-confirmation{background:#fffffff0;border:1px solid #cad8e2d9;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex;box-shadow:0 10px 26px #2443620f}.attendance-month-confirmation.is-quiet{box-shadow:var(--shadow-sm);border-radius:16px;padding:.82rem .95rem}.attendance-month-confirmation.is-quiet .eyebrow,.attendance-month-confirmation.is-quiet h3{display:none}.attendance-month-confirmation.is-quiet p{font-size:.8rem}.attendance-month-confirmation.is-quiet .attendance-month-confirmation-action{min-width:auto}.attendance-month-confirmation.is-quiet .button{min-height:38px;padding:.48rem .78rem;font-size:.82rem}.attendance-month-confirmation h3{color:var(--ink);margin:.12rem 0 .35rem;font-size:1.05rem}.attendance-month-confirmation p{color:var(--ink-muted);margin:.25rem 0 0;font-size:.84rem;line-height:1.55}.attendance-month-confirmation-action{text-align:right;flex-direction:column;align-items:flex-end;gap:.65rem;min-width:150px;display:flex}.staff-timecard-card,.staff-record-card,.staff-secondary-panel{background:#fffffff0;border:1px solid #cad8e2d9;border-radius:20px;box-shadow:0 14px 34px #24436212}.staff-timecard-card{padding:1.25rem}.staff-timecard-head,.staff-section-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.staff-timecard-head>div,.staff-section-head>div{min-width:0}.staff-timecard-head .status-badge{margin-top:.15rem}.staff-timecard-head h2,.staff-section-head h3{color:var(--ink);letter-spacing:0;margin:0;font-weight:850}.staff-timecard-head h2{overflow-wrap:anywhere;word-break:normal;line-break:auto;text-wrap:balance;font-size:clamp(1.45rem,3vw,1.76rem);line-height:1.24}.staff-section-head h3{font-size:1.05rem}.staff-section-head p{color:var(--ink-muted);margin:.15rem 0 0;font-size:.86rem}.live-clock{text-align:center;background:linear-gradient(#f8fbfd 0%,#eef6fb 100%);border-radius:22px;margin:1.35rem 0 1.1rem;padding:1.1rem .8rem}.live-clock p{color:var(--ink-muted);margin:0 0 .2rem;font-size:.92rem;font-weight:700}.live-clock time{color:var(--ink);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:clamp(2.55rem,13vw,4.45rem);font-weight:850;line-height:1;display:block}.staff-cheer-message{border:1px solid #0000;border-radius:20px;margin:-.25rem 0 1rem;padding:.95rem 1rem}.staff-cheer-message strong{color:var(--ink);margin-bottom:.2rem;font-size:1rem;font-weight:850;display:block}.staff-cheer-message p{color:var(--ink-soft);margin:0;font-size:.9rem;font-weight:650}.staff-cheer-message.tone-start{background:linear-gradient(135deg,#effaf3,#e8fbf7);border-color:#1f8c672e}.staff-cheer-message.tone-break{background:linear-gradient(135deg,#fff8ea,#fff2df);border-color:#d288222e}.staff-cheer-message.tone-end{background:linear-gradient(135deg,#eef6ff,#f2f7ff);border-color:#2e7cf629}.staff-clock-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.staff-clock-panel{grid-column:1/-1;gap:.75rem;display:grid}.staff-clock-actions{grid-template-columns:1fr;gap:.7rem;display:grid}.staff-clock-actions:has(.staff-clock-form:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}.staff-clock-form{flex-direction:column;gap:.65rem;min-width:0;margin:0;display:flex}.staff-clock-note{color:var(--ink-muted);background:#f5f9ff;border:1px solid #2e7cf629;border-radius:18px;gap:.35rem;padding:.72rem .8rem;font-size:.82rem;font-weight:800;display:grid}.staff-clock-note textarea{resize:vertical;border:1px solid var(--rule);width:100%;min-height:64px;color:var(--ink);font:inherit;background:#fff;border-radius:14px;padding:.65rem .75rem}.staff-clock-button{color:#fff;cursor:pointer;border:0;border-radius:22px;width:100%;min-height:92px;font-size:1.05rem;font-weight:850;transition:transform .12s,box-shadow .12s,filter .12s;box-shadow:0 18px 30px #24436224}.staff-clock-button-content{justify-content:center;align-items:center;gap:.55rem;display:inline-flex}.staff-clock-button.is-processing{box-shadow:0 0 0 4px #fffc,0 18px 30px #24436224}.staff-clock-button:disabled{cursor:wait;filter:saturate(.86);opacity:.72;transform:none}.staff-clock-button:not(:disabled):hover{filter:saturate(1.05);transform:translateY(-1px)}.staff-clock-button.tone-start{background:#0f766e}.staff-clock-button.tone-break{background:#9a5a00}.staff-clock-button.tone-end{background:#c2453b}.staff-clock-complete{background:var(--st-ok-soft);color:var(--st-ok);text-align:center;border-radius:20px;grid-column:1/-1;margin:0;padding:1.2rem;font-weight:800}.staff-clock-processing{background:var(--accent-blue-soft);min-height:48px;color:var(--st-info);border:1px solid #2e7cf62e;border-radius:18px;align-items:center;gap:.62rem;padding:.78rem .9rem;font-size:.88rem;font-weight:850;line-height:1.5;display:flex}.staff-clock-spinner{border:2px solid;border-top-color:#0000;border-radius:999px;flex:none;width:1.05rem;height:1.05rem;animation:.76s linear infinite staff-clock-spin}.staff-location-select{border:1px solid var(--rule);background:var(--surface-soft);color:var(--ink-muted);border-radius:18px;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .75rem .65rem .95rem;font-size:.88rem;font-weight:800;display:flex}.staff-location-select select{border:1px solid var(--rule);max-width:13rem;min-height:42px;color:var(--ink);background:#fff;border-radius:14px;flex:1;padding:.55rem .7rem;font-weight:800}.staff-location-select select:disabled,.staff-commute-toggle input:disabled,.staff-location-notice textarea:disabled,.staff-clock-note textarea:disabled{cursor:wait;opacity:.72}.staff-commute-toggle,.staff-commute-status{color:var(--ink-soft);background:#fff8ea;border:1px solid #d2882233;border-radius:18px;align-items:center;gap:.65rem;padding:.72rem .85rem;font-size:.86rem;font-weight:800;display:flex}.staff-commute-toggle input{width:18px;height:18px;accent-color:var(--st-warn)}.staff-commute-status{flex-wrap:wrap;justify-content:space-between}.staff-commute-status strong{color:var(--ink)}.staff-commute-status span{color:var(--ink-muted);font-size:.78rem}.staff-location-notice{color:var(--ink-soft);background:#fff8ea;border:1px solid #d288222e;border-radius:18px;gap:.55rem;padding:.72rem .8rem;font-size:.82rem;font-weight:700;line-height:1.55;display:grid}.staff-location-notice p{margin:0}.staff-location-message{color:var(--st-warn)}.staff-location-notice label{gap:.35rem;display:grid}.staff-location-notice textarea{resize:vertical;border:1px solid var(--rule);width:100%;min-height:58px;color:var(--ink);font:inherit;background:#fff;border-radius:14px;padding:.65rem .75rem}@keyframes staff-clock-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.staff-clock-spinner{animation:none}}.staff-clock-dialog-backdrop{z-index:80;background:#121e2d5c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.staff-clock-dialog{border:1px solid var(--rule);background:#fff;border-radius:18px;gap:1rem;width:min(100%,480px);max-height:min(720px,100dvh - 2rem);padding:1rem;display:grid;overflow-y:auto;box-shadow:0 26px 60px #24436238}.staff-clock-dialog h3{margin:0;font-size:1.05rem;font-weight:850}.staff-clock-dialog p{color:var(--ink-muted);margin:.35rem 0 0;font-size:.88rem;line-height:1.6}.staff-clock-dialog label{color:var(--ink-muted);gap:.4rem;font-size:.86rem;font-weight:800;display:grid}.staff-clock-dialog input{border:1px solid var(--rule);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:14px;padding:.55rem .7rem;font-weight:850}.staff-clock-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.staff-clock-dialog-actions .button{min-height:var(--control-md)}.staff-record-card{padding:1rem}.staff-record-editor{padding:0;overflow:hidden}.staff-record-editor>summary{cursor:pointer;padding:1rem;list-style:none}.staff-record-editor>summary::-webkit-details-marker{display:none}.staff-record-editor[open]>summary{border-bottom:1px solid var(--rule)}.staff-record-editor[open] .staff-record-display{display:none}.staff-record-editor>.attendance-day-plan-panel,.staff-record-editor>.attendance-google-calendar-form,.staff-record-editor>.attendance-leave-request-form{margin:1rem 1rem 0}.staff-record-editor>.staff-record-edit-form{border-top:1px solid var(--rule);margin-top:.8rem}.staff-record-editor>.staff-record-delete-form{margin-top:.85rem}.staff-text-link{color:var(--accent-strong);text-underline-offset:.18em;font-size:.9rem;font-weight:850;text-decoration:underline}.staff-record-list{flex-direction:column;margin-top:.75rem;display:flex}.staff-record-row{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;padding:.86rem 0;display:flex}.staff-record-row:first-child{border-top:0}.staff-record-row span{color:var(--ink-muted);font-weight:700}.staff-record-row strong{color:var(--ink);font-size:1.05rem}.staff-record-edit-form{flex-direction:column;margin:0;padding:.2rem 1rem 1rem;display:flex}.staff-record-edit-row{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;min-height:58px;display:flex}.staff-record-edit-row:first-of-type{border-top:0}.staff-record-edit-row span{color:var(--ink-muted);font-weight:800}.staff-record-edit-row input,.staff-record-edit-row select{border:1px solid var(--rule);width:min(12rem,48vw);min-height:42px;color:var(--ink);text-align:right;background:#fff;border-radius:14px;padding:.55rem .7rem;font-size:1rem;font-weight:850}.staff-record-edit-check input{width:20px;min-height:20px;accent-color:var(--st-warn);padding:0}.staff-record-edit-actions{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:.9rem;margin-top:.9rem;padding-top:.9rem;display:flex}.staff-record-edit-actions p{color:var(--ink-muted);margin:0;font-size:.82rem;font-weight:700}.staff-record-delete-form{background:#fff0eeb8;border:1px solid #b3261e3d;border-radius:18px;justify-content:space-between;align-items:center;gap:.9rem;margin:0 1rem 1rem;padding:.85rem;display:flex}.staff-record-delete-form strong{color:var(--st-danger);font-size:.92rem;font-weight:850;display:block}.staff-record-delete-form p{color:var(--ink-soft);margin:.22rem 0 0;font-size:.8rem;font-weight:700}.attendance-delete-dialog-backdrop{z-index:90;background:#121e2d6b;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.attendance-delete-dialog{background:#fff;border:1px solid #b3261e38;border-radius:18px;gap:1rem;width:min(100%,440px);padding:1rem;display:grid;box-shadow:0 26px 60px #24436238}.attendance-delete-dialog h3{color:var(--ink);margin:0;font-size:1.05rem;font-weight:850}.attendance-delete-dialog p{color:var(--ink-soft);margin:.35rem 0 0;font-size:.9rem;line-height:1.65}.attendance-delete-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.staff-secondary-panel{overflow:hidden}.staff-secondary-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.8rem;padding:1rem 1.1rem;list-style:none;display:flex}.staff-secondary-panel summary::-webkit-details-marker{display:none}.staff-secondary-panel summary span{color:var(--ink);font-weight:850;display:block}.staff-secondary-panel summary small{color:var(--ink-muted);text-align:right;font-size:.78rem}.staff-secondary-panel[open] summary{border-bottom:1px solid var(--rule)}.staff-secondary-panel>:not(summary){margin:1rem}.admin-confirm-hero,.admin-confirm-panel{border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);background:#fff;border:1px solid #cad8e2d9}.admin-confirm-hero{justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.15rem 1.2rem;display:flex}.admin-confirm-hero h2{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:clamp(1.45rem,3vw,2rem);font-weight:850}.admin-confirm-hero p:not(.eyebrow){max-width:42rem;color:var(--ink-muted);margin:.28rem 0 0;font-size:.92rem;font-weight:650}.admin-confirm-hero.tone-warn{background:#fffaf2;border-color:#d2882247}.admin-confirm-hero.tone-ok{background:#f4fbf7;border-color:#1f8c673d}.admin-confirm-hero-status{flex-direction:column;flex:none;align-items:flex-end;gap:.45rem;display:flex}.admin-confirm-hero-status span:last-child{color:var(--ink-muted);font-size:.86rem;font-weight:800}.admin-confirm-tile-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;display:grid}.admin-confirm-tile{border:1px solid var(--rule);border-radius:var(--admin-radius);min-height:128px;box-shadow:var(--admin-shadow);background:#fff;flex-direction:column;justify-content:space-between;gap:.35rem;padding:.95rem;display:flex}.admin-confirm-tile span{color:var(--ink-muted);font-size:.82rem;font-weight:850}.admin-confirm-tile strong{color:var(--ink);letter-spacing:-.04em;font-size:1.65rem;font-weight:850}.admin-confirm-tile small{color:var(--ink-muted);font-size:.82rem;font-weight:650;line-height:1.45}.admin-confirm-tile.tone-warn{background:#fffaf2;border-color:#d2882233}.admin-confirm-tile.tone-warn strong{color:var(--st-warn)}.admin-confirm-tile.tone-info{background:#f5f9ff;border-color:#2e7cf629}.admin-confirm-tile.tone-info strong{color:var(--st-info)}.admin-confirm-tile.tone-ok{background:#f4fbf7;border-color:#1f8c6729}.admin-confirm-tile.tone-ok strong{color:var(--st-ok)}.shift-workspace-tabs{overflow-anchor:none;background:#f1f7fcc7;border:1px solid #cad8e2c7;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:.28rem;display:grid}.shift-workspace-tab{min-height:86px;color:var(--ink);cursor:pointer;touch-action:manipulation;background:linear-gradient(#fff 0%,#f8fbfd 100%);border:1px solid #b1c2d3d1;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.16rem .55rem;padding:.9rem .95rem .82rem;text-decoration:none;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s;display:grid;position:relative;box-shadow:inset 0 -2px #7e96b029,0 8px 18px #1f364e0f}.shift-workspace-tab:hover{background:linear-gradient(#fff 0%,#f2f7ff 100%);border-color:#2e7cf661;box-shadow:inset 0 -2px #2e7cf638,0 12px 24px #1f364e14}.shift-workspace-tab:focus-visible{outline-offset:3px;outline:3px solid #2e7cf657}.shift-workspace-tab.is-active{box-shadow:inset 0 0 0 2px #2e7cf633, inset 0 -3px 0 var(--accent-blue), 0 10px 22px #2e7cf61f;background:#eef5ff;border-color:#2e7cf675}.shift-workspace-tab span,.shift-workspace-tab strong,.shift-workspace-tab small,.shift-workspace-tab em{min-width:0;display:block}.shift-workspace-tab span{overflow-wrap:anywhere;font-size:.94rem;font-weight:900}.shift-workspace-tab strong{color:var(--accent-strong);justify-self:end;font-size:1.12rem;font-weight:900;line-height:1}.shift-workspace-tab small{color:var(--ink-muted);font-size:.76rem;font-weight:750}.shift-workspace-tab em{min-width:52px;color:var(--ink-muted);text-align:center;background:#fffc;border:1px solid #7e96b03d;border-radius:999px;justify-self:end;padding:.18rem .48rem;font-size:.7rem;font-style:normal;font-weight:900;line-height:1.25}.shift-workspace-tab.is-active em{color:var(--accent-strong);background:#fff;border-color:#2e7cf63d}.admin-confirm-layout{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:.85rem;display:grid}.admin-confirm-panel{padding:1rem}.admin-confirm-list{flex-direction:column;gap:.65rem;margin-top:.85rem;display:flex}.admin-confirm-person-row{border:1px solid var(--rule);border-radius:var(--admin-radius-sm);background:var(--surface-soft);justify-content:space-between;align-items:flex-start;gap:.9rem;padding:.86rem .9rem;display:flex}.admin-confirm-person-row>div{min-width:0}.admin-confirm-person-row h4{color:var(--ink);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:850}.admin-confirm-person-row p,.admin-confirm-empty{color:var(--ink-muted);overflow-wrap:anywhere;margin:.24rem 0 0;font-size:.86rem;font-weight:650}.admin-confirm-person-row .is-alert{color:var(--st-danger);font-weight:800}.admin-confirm-row-actions{flex-direction:column;flex:none;align-items:flex-end;gap:.5rem;min-width:min(11.5rem,100%);display:flex}.admin-confirm-row-actions .button{min-height:var(--control-sm);white-space:nowrap;padding:.46rem .72rem;font-size:.82rem}.admin-confirm-primary-action{min-width:8.6rem}.admin-confirm-secondary-actions{flex-wrap:wrap;justify-content:flex-end;gap:.42rem;display:flex}.admin-confirm-secondary-actions .button{min-height:36px;padding:.38rem .62rem;font-size:.76rem;font-weight:800}.admin-confirm-person-row.tone-danger{background:#fff7f6;border-color:#d8615833}.admin-confirm-person-row.tone-warn{background:#fffaf2;border-color:#d2882233}.admin-confirm-person-row.tone-info{background:#f5f9ff;border-color:#2e7cf629}.admin-confirm-person-row.tone-ok{background:#f4fbf7;border-color:#1f8c6729}.admin-confirm-empty{border-radius:var(--admin-radius-sm);background:#f8fbfdcc;border:1px dashed #cad8e2e6;padding:1rem}.staff-correction-form{box-shadow:none}.staff-request-history{margin-top:1rem}.attendance-action-grid{flex-wrap:wrap;gap:.7rem;margin-bottom:1rem;display:flex}.admin-attendance-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.admin-attendance-actions .compact-inline-form{flex:28rem;justify-content:flex-end}.admin-attendance-actions>.button{flex:none}.attendance-inline-form{align-items:center;gap:.55rem;margin:0;display:flex}.attendance-work-location{border:1px solid var(--rule);min-height:2.65rem;color:var(--ink-muted);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .45rem .35rem .75rem;font-size:.82rem;font-weight:800;display:flex}.attendance-work-location select{border-radius:999px;min-width:6.2rem;height:2rem;padding:0 1.9rem 0 .7rem;font-size:.9rem}.attendance-work-location.is-compact{justify-content:space-between}.disclosure-card{border:1px solid var(--rule);background:var(--surface-soft);border-radius:16px}.disclosure-summary{cursor:pointer;color:var(--ink);padding:.95rem 1rem;font-weight:800;list-style:none}.disclosure-summary::-webkit-details-marker{display:none}.disclosure-card[open] .disclosure-summary{border-bottom:1px solid var(--rule)}.attendance-sticky-spacer,.attendance-sticky-bar{display:none}.attendance-timeline{flex-direction:column;gap:.55rem;display:flex}.attendance-timeline-row{border:1px solid var(--rule);background:var(--surface-soft);border-radius:16px;justify-content:space-between;align-items:flex-start;gap:.85rem;padding:.82rem .9rem;display:flex}.attendance-timeline-row strong{font-size:.94rem;display:block}.attendance-timeline-row p{color:var(--ink-muted);margin:.25rem 0 0;font-size:.84rem}.attendance-correction-banner{background:linear-gradient(#f0f7fffa 0%,#fffffffa 100%);border:1px solid #2e7cf629;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:.9rem;margin-bottom:.9rem;padding:.95rem 1rem;display:flex}.attendance-correction-banner strong{letter-spacing:-.02em;font-size:1rem;font-weight:800;display:block}.attendance-correction-banner p{color:var(--ink-muted);margin:.25rem 0 0;font-size:.84rem}.attendance-correction-banner-eyebrow{color:var(--accent-blue);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.attendance-selected-day-panel{background:#fffffff7;border:1px solid #2e7cf62e;border-radius:20px;gap:1rem;padding:1rem;display:grid;box-shadow:0 16px 36px #2443621a}.attendance-selected-day-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.attendance-selected-day-head>div{min-width:0}.attendance-selected-day-head h3{color:var(--ink);letter-spacing:0;margin:0;font-size:1.12rem;font-weight:850;line-height:1.35}.attendance-selected-day-head p{color:var(--ink-muted);margin:.24rem 0 0;font-size:.86rem;font-weight:700;line-height:1.55}.attendance-selected-day-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}.attendance-selected-day-metrics div{border:1px solid var(--rule);background:var(--surface-soft);border-radius:12px;min-width:0;padding:.72rem .65rem}.attendance-selected-day-metrics span{color:var(--ink-muted);font-size:.72rem;font-weight:850;display:block}.attendance-selected-day-metrics strong{overflow-wrap:anywhere;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:.18rem;font-size:.96rem;font-weight:900;display:block}.attendance-selected-day-actions{gap:.7rem;display:grid}.attendance-action-disclosure{background:#fff;border:1px solid #cad8e2db;border-radius:14px;overflow:hidden}.attendance-action-disclosure>summary{cursor:pointer;grid-template-columns:minmax(0,1fr);gap:.12rem;min-height:54px;padding:.78rem .9rem;list-style:none;display:grid}.attendance-action-disclosure>summary::-webkit-details-marker{display:none}.attendance-action-disclosure>summary span{color:var(--ink);font-size:.92rem;font-weight:850}.attendance-action-disclosure>summary small{color:var(--ink-muted);font-size:.78rem;font-weight:700;line-height:1.45}.attendance-action-disclosure[open]>summary{border-bottom:1px solid var(--rule);background:#f8fbfdeb}.attendance-action-disclosure>div{padding:.9rem}.attendance-action-disclosure .attendance-day-plan-panel,.attendance-action-disclosure .attendance-google-calendar-form,.attendance-action-disclosure .attendance-leave-request-form,.attendance-action-disclosure .staff-record-edit-form,.attendance-action-disclosure .staff-record-delete-form{margin:0}.attendance-action-disclosure .attendance-day-plan-panel,.attendance-action-disclosure .attendance-google-calendar-form,.attendance-action-disclosure .attendance-leave-request-form{box-shadow:none}.attendance-day-plan-panel{background:#fffffff5;border:1px solid #cad8e2d9;border-radius:16px;margin-bottom:.9rem;padding:.95rem 1rem}.attendance-day-plan-head,.attendance-leave-request-head{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.attendance-day-plan-head span,.attendance-leave-request-head span{color:var(--ink-muted);letter-spacing:.08em;font-size:.74rem;font-weight:850;display:block}.attendance-day-plan-head strong,.attendance-leave-request-head strong{color:var(--ink);margin-top:.12rem;font-size:1rem;font-weight:850;display:block}.attendance-day-plan-list,.attendance-day-leave-list{flex-direction:column;gap:.55rem;margin-top:.85rem;display:flex}.attendance-day-plan-row,.attendance-day-leave-row{border:1px solid var(--rule);background:var(--surface-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;min-height:48px;padding:.68rem .75rem;display:flex}.attendance-day-plan-row span{color:var(--ink-muted);font-size:.78rem;font-weight:800}.attendance-day-plan-row strong{color:var(--st-ok);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:900}.attendance-day-plan-empty{color:var(--ink-muted);margin:.85rem 0 0;font-size:.86rem;font-weight:700}.attendance-day-leave-row strong{color:var(--ink);font-size:.9rem;font-weight:850;display:block}.attendance-day-leave-row p{color:var(--ink-muted);margin:.16rem 0 0;font-size:.8rem;font-weight:650}.attendance-day-leave-row.tone-ok{background:var(--st-ok-soft);border-color:#1f8c672e}.attendance-day-leave-row.tone-warn{background:var(--st-warn-soft);border-color:#d2882233}.attendance-day-leave-row.tone-danger{background:var(--st-danger-soft);border-color:#d8615833}.attendance-leave-request-form{background:linear-gradient(#f7fafffa 0%,#fffffffa 100%);border:1px solid #2e7cf629;border-radius:16px;margin-bottom:1rem;padding:.95rem 1rem}.attendance-google-calendar-form{background:#f4fbf7f5;border:1px solid #1f8c672e;border-radius:16px;justify-content:space-between;align-items:center;gap:.85rem;margin-bottom:.9rem;padding:.85rem 1rem;display:flex}.attendance-google-calendar-form strong{color:var(--ink);font-size:.92rem;font-weight:850;display:block}.attendance-google-calendar-form p{color:var(--ink-muted);margin:.18rem 0 0;font-size:.8rem;font-weight:650}.attendance-google-calendar-form .button{white-space:nowrap;flex:none;min-height:38px}.attendance-leave-request-head .button{min-height:38px;padding:.5rem .85rem}.attendance-leave-request-grid{grid-template-columns:minmax(140px,.45fr) minmax(0,1fr);gap:.75rem;margin-top:.8rem;display:grid}.attendance-leave-request-form .field{margin:0}.attendance-leave-request-form .field>span{color:var(--ink-muted);margin-bottom:.3rem;font-size:.78rem;font-weight:800;display:block}.attendance-calendar-legend{flex-wrap:wrap;gap:.55rem;margin-bottom:.9rem;display:flex}.attendance-calendar-legend-item{border:1px solid var(--rule);min-width:32px;min-height:28px;color:var(--ink-soft);background:#ffffffeb;border-radius:999px;justify-content:center;align-items:center;padding:.3rem .62rem;font-size:.76rem;font-weight:700;display:inline-flex}.attendance-calendar-legend-item.tone-ok{color:var(--st-ok);background:var(--st-ok-soft);border-color:#1f8c672e}.attendance-calendar-legend-item.tone-info{color:var(--st-info);background:var(--st-info-soft);border-color:#2e7cf62e}.attendance-calendar-legend-item.tone-warn{color:var(--st-warn);background:var(--st-warn-soft);border-color:#d288222e}.attendance-calendar-legend-item.tone-danger{color:var(--st-danger);background:var(--st-danger-soft);border-color:#d8615833}.attendance-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem;display:grid}.attendance-calendar-weekday{min-height:30px;color:var(--ink-muted);letter-spacing:.08em;justify-content:center;align-items:center;font-size:.76rem;font-weight:800;display:flex}.attendance-calendar-day{border:1px solid var(--rule);background:#f8fbfdeb;border-radius:16px;min-height:116px;padding:.72rem .65rem}.attendance-calendar-day-link{color:inherit;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s;display:block}.attendance-calendar-day-link:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.attendance-calendar-day-link:focus-visible{box-shadow:0 0 0 3px #2e7cf624, var(--shadow-sm);outline:none}.attendance-calendar-day.is-placeholder{background:#f8fbfd73;border:1px dashed #cad8e28c;min-height:112px}.attendance-calendar-day.is-today{border-color:#2e7cf64d;box-shadow:inset 0 0 0 1px #2e7cf61f}.attendance-calendar-day-link.is-selected{box-shadow:inset 0 0 0 1px #2e7cf624, var(--shadow-sm);border-color:#2e7cf657}.attendance-calendar-day.is-future{opacity:.58}.attendance-calendar-day.is-future.has-shift,.attendance-calendar-day.is-future.has-leave{opacity:1}.attendance-calendar-day.is-empty{background:#ffffffd1}.attendance-calendar-day.has-shift{border-color:#1f8c6738}.attendance-calendar-day.tone-ok{background:linear-gradient(#f0fbf6f5 0%,#fffffff5 100%);border-color:#1f8c672e}.attendance-calendar-day.tone-info{background:linear-gradient(#f0f7fffa 0%,#fffffff5 100%);border-color:#2e7cf62e}.attendance-calendar-day.tone-warn{background:linear-gradient(#fff9effa 0%,#fffffff5 100%);border-color:#d2882233}.attendance-calendar-day.tone-danger{background:linear-gradient(#fff4f2fa 0%,#fffffff5 100%);border-color:#d8615833}.attendance-calendar-day-head{justify-content:space-between;align-items:flex-start;gap:.35rem;display:flex}.attendance-calendar-day-head strong{font-size:.94rem;font-weight:800}.attendance-calendar-flag{letter-spacing:0;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:22px;min-height:22px;padding:.15rem .42rem;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex}.attendance-calendar-flag.is-pending{color:var(--st-warn);background:#fbe9c5f2}.attendance-calendar-flag.is-fixed{color:var(--st-info);background:#e0eefff2}.attendance-calendar-flag.is-locked{color:var(--ink-muted);background:#e4eaf1f2}.attendance-calendar-hours{letter-spacing:-.03em;margin:.45rem 0 0;font-size:1.05rem;font-weight:800}.attendance-calendar-shift,.attendance-calendar-leave{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-calendar-tags{flex-wrap:wrap;gap:.22rem;margin-top:.34rem;display:flex}.attendance-calendar-tag{text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-height:20px;color:var(--ink-muted);background:#eff5f8eb;border-radius:999px;align-items:center;padding:.14rem .34rem;font-size:.64rem;font-weight:850;display:inline-flex;overflow:hidden}.attendance-calendar-tag.is-shift,.attendance-calendar-tag.tone-ok{color:var(--st-ok);background:var(--st-ok-soft)}.attendance-calendar-tag.tone-warn{color:var(--st-warn);background:var(--st-warn-soft)}.attendance-calendar-tag.tone-danger{color:var(--st-danger);background:var(--st-danger-soft)}.attendance-calendar-shift{color:var(--st-ok);font-variant-numeric:tabular-nums;background:#e8f8f0eb;border:1px solid #1f8c6729;border-radius:999px;align-items:center;gap:.25rem;margin:.42rem 0 0;padding:.24rem .42rem;font-size:.72rem;font-weight:850;display:inline-flex}.attendance-calendar-shift-dot{background:currentColor;border-radius:999px;flex:none;width:.42rem;height:.42rem}.attendance-calendar-leave{border-radius:999px;margin:.32rem 0 0;padding:.22rem .42rem;font-size:.68rem;font-weight:850}.attendance-calendar-leave.tone-ok{color:var(--st-ok);background:var(--st-ok-soft)}.attendance-calendar-leave.tone-warn{color:var(--st-warn);background:var(--st-warn-soft)}.attendance-calendar-leave.tone-danger{color:var(--st-danger);background:var(--st-danger-soft)}.attendance-calendar-state,.attendance-calendar-meta{color:var(--ink-muted);margin:.22rem 0 0;font-size:.76rem}.attendance-calendar-state{min-width:24px;min-height:22px;color:var(--ink-soft);white-space:nowrap;background:#eff5f8eb;border-radius:999px;justify-content:center;align-items:center;padding:.12rem .42rem;font-weight:700;display:inline-flex}.inline-alert{border:1px solid var(--rule);border-radius:14px;margin-bottom:1rem;padding:.8rem .9rem}.inline-alert.attendance-attention-alert{padding:0;overflow:hidden}.attendance-attention-alert summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:42px;padding:.62rem .8rem;list-style:none;display:grid}.attendance-attention-alert summary::-webkit-details-marker{display:none}.attendance-attention-alert summary:after{content:"⌄";font-size:.82rem;font-weight:900;line-height:1;transition:transform .16s}.attendance-attention-alert[open] summary:after{transform:rotate(180deg)}.attendance-attention-alert summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attendance-attention-alert-list{gap:.4rem;padding:0 .8rem .72rem;display:grid}.attendance-attention-alert-list a{color:inherit;text-underline-offset:.16em;font-weight:850;text-decoration-thickness:.08em}.attendance-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.inline-alert p{margin:0;font-size:.86rem}.inline-alert.compact{margin-bottom:.85rem}.inline-alert-actions{flex-wrap:wrap;gap:.65rem;margin-top:.8rem;display:flex}.inline-alert.tone-danger{background:var(--st-danger-soft);color:var(--st-danger);border-color:#d861583d}.inline-alert.tone-warn{background:var(--st-warn-soft);color:var(--st-warn);border-color:#d288223d}.inline-alert.tone-ok{background:var(--st-ok-soft);color:var(--st-ok);border-color:#1f8c6738}.inline-alert.tone-info{background:var(--st-info-soft);color:var(--st-info);border-color:#3a84d638}.button-row{flex-wrap:wrap;gap:.65rem;display:flex}.compact-form{gap:.5rem;min-width:min(100%,260px);display:grid}.compact-form input,.compact-form select,.compact-form textarea,.shift-rule-grid input,.shift-rule-grid select{border:1px solid var(--rule);width:100%;min-height:36px;color:var(--ink);background:#fff;border-radius:12px;padding:.56rem .7rem}.pre-wrap{white-space:pre-wrap;color:var(--ink-soft);font:inherit;margin:0;font-size:.86rem}.shift-assignment-stack{gap:.7rem;display:grid}.shift-assignment-row{background:#f8fbfdc7;border:1px solid #cad8e2bd;border-radius:14px;gap:.55rem;padding:.72rem;display:grid}.shift-assignment-row>div:first-child{flex-wrap:wrap;align-items:baseline;gap:.65rem;display:flex}.shift-assignment-row span{color:var(--accent-strong);font-weight:800}.shift-assignment-row small{color:var(--ink-muted);overflow-wrap:anywhere}.shift-approval-console{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:1rem;display:grid}.shift-approval-main{gap:.9rem;display:grid}.shift-approval-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.shift-approval-step{background:#f8fafc;border:1px solid #cad8e2c7;border-radius:8px;align-items:center;gap:.65rem;min-height:72px;padding:.75rem;display:flex}.shift-approval-step>span{width:28px;height:28px;color:var(--ink-muted);background:#dbe3ea;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:900;display:inline-flex}.shift-approval-step strong,.shift-approval-step small{display:block}.shift-approval-step strong{font-size:.88rem}.shift-approval-step small{color:var(--ink-muted);margin-top:.14rem;font-size:.72rem;line-height:1.35}.shift-approval-step.is-active{background:#f2f7ff;border-color:#3a84d64d}.shift-approval-step.is-active>span{background:var(--st-info);color:#fff}.shift-approval-step.is-done{background:#effaf3;border-color:#58b37e52}.shift-approval-step.is-done>span{background:var(--st-ok);color:#fff}.shift-approval-check-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.shift-approval-check{background:#f8fafc;border-left:4px solid #cfd8e3;padding:.7rem .75rem}.shift-approval-check span,.shift-approval-check strong,.shift-approval-check small{display:block}.shift-approval-check span{color:var(--ink-muted);font-size:.72rem;font-weight:900}.shift-approval-check strong{margin-top:.1rem;font-size:1.3rem;line-height:1}.shift-approval-check small{color:var(--ink-muted);margin-top:.22rem;font-size:.72rem;line-height:1.35}.shift-approval-check.tone-ok{border-color:#73c79a}.shift-approval-check.tone-warn{border-color:#e0b35f}.shift-approval-check.tone-danger{border-color:#d86158}.shift-approval-actions{background:#fff;border:1px solid #cad8e2c7;border-radius:8px;gap:.6rem;padding:.75rem;display:grid}.shift-approval-actions form,.shift-approval-actions .button{width:100%}.shift-result-notice{background:#fffaf0;border-left:4px solid #e0b35f;gap:.22rem;padding:.68rem .72rem;display:grid}.shift-result-notice strong,.shift-result-notice span,.shift-result-notice small{display:block}.shift-result-notice strong{font-size:.86rem}.shift-result-notice span{color:var(--ink-soft);font-size:.82rem;font-weight:900}.shift-result-notice small{color:var(--ink-muted);font-size:.74rem;line-height:1.35}.shift-result-notice.tone-ok{background:#effaf3;border-color:#73c79a}.shift-secondary-actions{gap:.5rem;display:grid}.shift-approval-review-list{border:1px solid #cad8e2c7;border-radius:8px;margin-top:1rem;display:grid;overflow:hidden}.shift-approval-review-item{background:#fff;border-bottom:1px solid #cad8e2ad}.shift-approval-review-item:last-child{border-bottom:0}.shift-approval-review-summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:58px;padding:.58rem .72rem;list-style:none;transition:background-color .12s;display:grid}.shift-approval-review-summary::-webkit-details-marker{display:none}.shift-approval-review-summary:hover{background:#f8fbfdd1}.shift-approval-review-summary h4,.shift-approval-review-summary p,.shift-approval-review-detail p{margin:0}.shift-approval-review-summary h4{font-size:.92rem}.shift-approval-review-summary p{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.18rem;font-size:.8rem;line-height:1.4;overflow:hidden}.shift-approval-review-item.tone-warn>.shift-approval-review-summary{background:#fffaf0}.shift-approval-review-item.tone-danger>.shift-approval-review-summary{background:#fff4f4}.shift-approval-review-meta{color:var(--ink-muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;font-size:.76rem;font-weight:800;display:flex}.shift-approval-review-meta .is-alert{color:var(--st-danger)}.shift-candidate-form{margin-top:.65rem}.shift-accordion-caret{background:#ffffffd9;border:1px solid #cad8e2e6;border-radius:999px;flex:none;width:28px;height:28px;position:relative}.shift-accordion-caret:before{content:"";border-right:2px solid var(--ink-muted);border-bottom:2px solid var(--ink-muted);width:9px;height:9px;transition:transform .14s,top .14s;position:absolute;top:9px;left:8px;transform:rotate(45deg)}.shift-approval-review-item[open] .shift-accordion-caret:before{top:11px;transform:rotate(225deg)}.shift-approval-review-detail{background:#fff;border-top:1px solid #cad8e294;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:.75rem;padding:.72rem;display:grid}.shift-approval-review-detail>div{gap:.36rem;min-width:0;display:grid}.shift-approval-review-detail span{color:var(--ink-muted);font-size:.72rem;font-weight:900}.shift-approval-review-detail pre,.shift-approval-review-detail p{color:var(--ink-soft);font-size:.82rem;line-height:1.45}.shift-approval-review-detail pre{max-height:132px;overflow:auto}.shift-approval-review-detail a{color:var(--accent-strong);font-size:.82rem;font-weight:900}.shift-overview-legend{color:var(--ink-muted);flex-wrap:wrap;gap:.75rem;margin-bottom:.85rem;font-size:.82rem;font-weight:800;display:flex}.shift-overview-legend span{align-items:center;gap:.35rem;display:inline-flex}.shift-bulk-review-bar{z-index:12;background:#fffffff0;border:1px solid #cad8e2e6;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;padding:.72rem;display:flex;position:sticky;top:.75rem;box-shadow:0 12px 28px #0f172a14}.shift-bulk-review-bar strong,.shift-bulk-review-bar span{display:block}.shift-bulk-review-bar strong{font-size:.9rem}.shift-bulk-review-bar span{color:var(--ink-muted);margin-top:.12rem;font-size:.78rem;line-height:1.35}.shift-bulk-review-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.shift-bulk-review-actions .button{min-height:34px;padding:.46rem .72rem;font-size:.78rem}.legend-dot{background:#cfd7df;border-radius:999px;width:10px;height:10px;display:inline-block}.legend-dot.is-assigned{background:#87ddb4}.legend-dot.is-pending{background:#e0b35f}.legend-dot.is-needs-change{background:#d98b58}.legend-dot.is-closed{background:#ef9a9a}.legend-dot.is-closed-working{background:#f0c56a}.legend-dot.is-empty,.legend-dot.is-off{background:#d8dde4}.legend-dot.is-unavailable{background:#f3b4b4}.legend-dot.is-unanswered{background:#d8dde4}.shift-calendar-board{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:.75rem;display:grid}.shift-calendar-day{background:#fff;border:1px solid #cad8e2d6;border-radius:8px;align-content:start;gap:.58rem;min-height:0;padding:.75rem;display:grid;overflow:visible}.shift-calendar-day.has-assignment{background:#effaf3;border-color:#58b37e52}.shift-calendar-day.needs-review{border-color:#e0b35f85;box-shadow:inset 0 0 0 1px #e0b35f29}.shift-calendar-day.is-closed{background:#fdecec;border-color:#c84b4b38}.shift-calendar-day.is-closed.has-assignment,.shift-calendar-day.is-closed-working{background:#fff8e8;border-color:#e0b35f6b}.shift-calendar-day-head{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.shift-calendar-day-head>div{gap:.08rem;display:grid}.shift-calendar-day-head strong{font-size:1.35rem;line-height:1}.shift-calendar-day-head span{color:var(--ink-muted);font-size:.78rem;font-weight:800}.shift-calendar-day-kpi{justify-items:end;gap:.18rem;display:grid}.shift-calendar-day-kpi small{color:var(--ink-muted);font-size:.7rem;font-weight:850}.shift-day-timeline{background:repeating-linear-gradient(90deg,#94a3b829 0 1px,#0000 1px 7.69231%),#fbfdff;border:1px solid #cad8e2bd;border-radius:8px;grid-template-columns:repeat(13,minmax(16px,1fr));gap:.32rem .22rem;padding:.5rem;display:grid;overflow:visible}.shift-day-scale{color:var(--ink-muted);grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));font-size:.66rem;font-weight:850;display:grid}.shift-day-scale span:last-child{text-align:right}.shift-timebar{background:#ffffffeb;border:1px solid #cad8e2db;border-left:4px solid #e0b35f;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.32rem;min-width:0;min-height:42px;padding:.38rem .45rem;display:grid;position:relative;box-shadow:0 5px 14px #0f172a0d}.shift-timebar.review-approved{background:#f4fff8;border-left-color:#58b37e}.shift-timebar.review-needs-change{background:#fff8ea;border-left-color:#d98b58}.shift-timebar.review-rejected{opacity:.78;background:#fff3f3;border-left-color:#d86158}.shift-timebar-select{width:18px;height:18px;accent-color:var(--accent-blue);cursor:pointer;margin:0}.shift-timebar-select:focus-visible{outline-offset:2px;outline:3px solid #2e7cf652}.shift-timebar-main{align-items:center;gap:.35rem;min-width:0;display:flex}.shift-timebar-main strong,.shift-timebar-main span,.shift-timebar-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shift-timebar-main strong{min-width:0;color:var(--ink);font-size:.78rem;font-weight:900}.shift-timebar-main span{color:var(--accent-strong);font-size:.72rem;font-weight:850}.shift-timebar-main small{color:var(--ink-muted);margin-left:auto;font-size:.66rem;font-weight:900}.shift-timebar .shift-review-status-line{display:none}.shift-timebar .shift-review-controls{width:auto}.shift-timebar .shift-review-action-menu summary{background:#f8fafce0;border-radius:8px;width:auto;min-width:46px;min-height:26px}.shift-calendar-assignments{gap:.38rem;display:grid}.shift-calendar-assignment-card{color:var(--ink);background:#ffffffb8;border:1px solid #cad8e2c7;border-radius:8px;gap:.42rem;padding:.52rem;font-size:.84rem;display:grid}.shift-calendar-assignment-card.review-approved{background:#f7fff9;border-color:#58b37e59}.shift-calendar-assignment-card.review-needs-change{background:#fffaf0;border-color:#e0b35f6b}.shift-calendar-assignment-card.review-rejected{opacity:.78;background:#fff3f3;border-color:#d8615859}.shift-calendar-assignment-main{flex-wrap:wrap;gap:.38rem;display:flex}.shift-calendar-assignment-main span,.shift-calendar-assignments span{color:var(--accent-strong);font-weight:800}.shift-calendar-day-review-form .button{width:100%;min-height:32px;padding:.42rem .6rem;font-size:.74rem}.shift-calendar-more{background:#ffffff9e;border:1px dashed #7481926b;border-radius:8px}.shift-calendar-more summary{min-height:34px;color:var(--accent-strong);cursor:pointer;justify-content:center;align-items:center;padding:.34rem .52rem;font-size:.76rem;font-weight:900;list-style:none;display:flex}.shift-calendar-more summary::-webkit-details-marker{display:none}.shift-calendar-more-list{gap:.38rem;padding:0 .42rem .42rem;display:grid}.shift-calendar-empty{color:var(--ink-muted);margin:0;font-size:.86rem;font-weight:800}.shift-calendar-alerts{border-top:1px solid #cad8e2b3;gap:.28rem;padding-top:.2rem;display:grid}.shift-calendar-alerts small{color:var(--ink-muted);font-size:.72rem;line-height:1.35}.shift-matrix-scroll{border:1px solid var(--rule);background:#fff;border-radius:8px;width:100%;max-height:min(78vh,820px);overflow:auto;box-shadow:inset 0 0 0 1px #ffffffbf}.shift-matrix-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1600px}.shift-matrix-table th,.shift-matrix-table td{text-align:center;vertical-align:top;border-bottom:1px solid #d7dde3;border-right:1px solid #d7dde3;width:108px;min-width:108px;padding:.28rem}.shift-matrix-table thead th{z-index:4;color:var(--ink);background:#eef1f4;padding-top:.42rem;padding-bottom:.42rem;font-weight:900;position:sticky;top:0}.shift-matrix-table thead th span,.shift-matrix-table thead th small{display:block}.shift-matrix-table thead th small{color:var(--ink-muted);margin-top:.12rem;font-size:.68rem;font-weight:850}.shift-matrix-table thead th.is-closed-day{color:#9b1c1c;background:#fdecec}.shift-matrix-sticky{z-index:5;background:#eef1f4;width:150px;min-width:150px;position:sticky;left:0}.shift-matrix-staff{text-align:left;padding:.5rem .6rem!important}.shift-matrix-staff strong,.shift-matrix-staff small,.shift-matrix-staff span{display:block}.shift-matrix-staff small{color:var(--ink-muted);margin-top:.2rem;font-size:.72rem}.shift-matrix-staff span{color:var(--accent-strong);margin-top:.32rem;font-size:.72rem;font-weight:900}.shift-matrix-cell{height:76px;color:var(--ink-muted);background:#f8fafc;position:relative;overflow:visible}.shift-matrix-cell.has-assignment{color:var(--ink);background:#effaf3}.shift-matrix-cell.review-approved.has-assignment{background:#ecfbf2}.shift-matrix-cell.review-needs-change.has-assignment{background:#fff8e8}.shift-matrix-cell.review-rejected.has-assignment{color:#9b1c1c;background:#fff0f0}.shift-matrix-cell.is-closed{color:#9b1c1c;background:#fde7e7;font-weight:900}.shift-matrix-cell.is-closed.has-assignment,.shift-matrix-cell.is-closed-working{color:var(--ink);background:#fff7df}.shift-matrix-cell.is-off.is-unavailable:not(.is-closed){background:#fff2f2}.shift-matrix-cell.is-off.is-available:not(.is-closed){background:#fbfdfc}.shift-matrix-cell.is-off.is-unanswered:not(.is-closed){background:#f3f6f9}.shift-matrix-cell.has-assignment.is-unavailable:not(.is-closed){box-shadow:inset 0 0 0 2px #dc262642}.shift-matrix-times{color:var(--ink);gap:.22rem;font-size:.78rem;line-height:1.25;display:grid}.shift-matrix-shift{gap:.2rem;display:grid;position:relative}.shift-matrix-shift-line{min-height:54px;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:1fr;justify-content:center;align-items:center;padding:.32rem .36rem;transition:background-color .12s,border-color .12s;display:grid;position:relative}.shift-matrix-shift-line:hover,.shift-matrix-shift:focus-within .shift-matrix-shift-line{background:#ffffffb8;border-color:#cad8e2c7}.shift-matrix-select{width:16px;height:16px;accent-color:var(--accent-strong);opacity:.12;margin:0;transition:opacity .12s,transform .12s;position:absolute;top:.32rem;left:.32rem}.shift-matrix-shift:hover .shift-matrix-select,.shift-matrix-select:focus-visible,.shift-matrix-select:checked{opacity:1}.shift-matrix-select:checked{transform:scale(1.04)}.shift-matrix-shift-line i{background:#e0b35f;border-radius:999px;width:7px;height:7px;position:absolute;top:50%;left:.38rem;transform:translateY(-50%)}.shift-matrix-shift.review-approved .shift-matrix-shift-line{background:0 0;border-color:#0000}.shift-matrix-shift.review-approved .shift-matrix-shift-line i{background:#58b37e}.shift-matrix-shift.review-approved .shift-matrix-review-chip{color:#1f8c67;background:#e4f7ed}.shift-matrix-shift.review-needs-change .shift-matrix-shift-line{background:0 0;border-color:#0000}.shift-matrix-shift.review-needs-change .shift-matrix-shift-line i{background:#d98b58}.shift-matrix-shift.review-needs-change .shift-matrix-review-chip{color:#a35e10;background:#fff0d8}.shift-matrix-shift.review-rejected .shift-matrix-shift-line{background:0 0;border-color:#0000}.shift-matrix-shift.review-rejected .shift-matrix-shift-line i{background:#d86158}.shift-matrix-shift.review-rejected .shift-matrix-review-chip{color:#b8322b;background:#ffe2e0}.shift-matrix-time-range{min-width:62px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;white-space:normal;grid-template-rows:auto auto auto;justify-content:center;align-items:center;gap:.02rem;font-size:.9rem;font-weight:900;line-height:1;display:grid}.shift-matrix-time-range span,.shift-matrix-time-range small{display:block}.shift-matrix-time-range small{color:#7c8a9a;font-size:.66rem;line-height:1}.shift-matrix-closed-work{color:#99600e;white-space:nowrap;background:#fff0c6;border-radius:999px;padding:.08rem .28rem;font-size:.56rem;font-weight:900;line-height:1.2;position:absolute;bottom:.22rem;right:.28rem}.shift-matrix-review-chip{width:18px;min-width:18px;height:18px;color:var(--ink-muted);white-space:nowrap;background:#eef4f8;border-radius:999px;justify-content:center;place-self:start end;align-items:center;padding:0;font-size:.56rem;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:.26rem;right:.26rem}.shift-matrix-shift.review-pending .shift-matrix-review-chip{opacity:0}.shift-matrix-shift.review-pending:hover .shift-matrix-review-chip,.shift-matrix-shift.review-pending:focus-within .shift-matrix-review-chip{opacity:.72}.shift-matrix-empty{min-height:40px;color:var(--ink-muted);opacity:.74;place-items:center;font-size:.8rem;font-weight:900;display:grid}.shift-matrix-pref{min-height:20px;color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;background:#ffffffbd;border-radius:999px;justify-content:center;align-items:center;padding:.08rem .28rem;font-size:.62rem;font-weight:850;line-height:1.25;display:inline-flex;position:absolute;bottom:.24rem;left:.28rem;right:.28rem;overflow:hidden}.shift-matrix-cell.is-unavailable .shift-matrix-pref{color:#9b1c1c;background:#ffffffd1;font-weight:900}.shift-matrix-cell.is-unanswered .shift-matrix-pref{color:var(--ink-muted);background:#ffffffd1;font-weight:900}.shift-matrix-warning{color:#a12a2a;background:#fff1f1;border-radius:999px;justify-content:center;align-items:center;min-height:22px;padding:.16rem .38rem;font-size:.66rem;font-weight:900;display:inline-flex;position:absolute;bottom:.28rem;right:.3rem}.shift-matrix-table tr:target .shift-matrix-staff,.shift-matrix-table tr:target td{box-shadow:inset 0 0 0 2px #3a84d657}.shift-review-controls{gap:.38rem;width:100%;display:grid}.shift-review-status-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:.28rem;display:flex}.shift-review-status-line small{color:var(--ink-muted);overflow-wrap:anywhere;font-size:.68rem;line-height:1.3}.shift-review-action-menu summary{border:1px solid var(--rule);min-height:28px;color:var(--accent-strong);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:.28rem .5rem;font-size:.68rem;font-weight:900;list-style:none;display:inline-flex}.shift-review-action-menu{position:relative}.shift-review-action-menu[open]{z-index:120}.shift-review-action-menu summary::-webkit-details-marker{display:none}.shift-review-menu-panel{z-index:130;background:#fff;border:1px solid #cad8e2e6;border-radius:8px;gap:.42rem;width:224px;min-width:200px;max-width:min(72vw,260px);margin-top:0;padding:.55rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 18px 40px #0f172a2e}.shift-review-menu-panel:before{content:"";background:#fff;border-top:1px solid #cad8e2e6;border-left:1px solid #cad8e2e6;width:12px;height:12px;position:absolute;top:-7px;right:18px;transform:rotate(45deg)}.shift-review-form{gap:.34rem;margin:0;display:grid}.shift-review-form input{border:1px solid var(--rule);border-radius:8px;width:100%;min-height:32px;padding:.42rem .48rem;font-size:.74rem}.shift-review-form .button{width:100%}.shift-review-form.is-approve{border-bottom:1px solid #cad8e2b8;padding-bottom:.42rem}.shift-review-controls.is-compact .status-badge{padding:.16rem .38rem;font-size:.66rem}.shift-matrix-actions{text-align:center;margin-top:0;position:relative}.shift-matrix-actions[open]{z-index:80}.shift-matrix-actions summary{cursor:pointer;width:28px;min-width:28px;min-height:28px;color:var(--accent-strong);opacity:.78;background:#ffffffe6;border:1px solid #cad8e2e6;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:.78rem;font-weight:900;line-height:1;list-style:none;transition:background-color .12s,border-color .12s,opacity .12s;display:inline-flex}.shift-matrix-actions summary:hover{opacity:1;background:#fff;border-color:#118a805c}.shift-matrix-actions summary::-webkit-details-marker{display:none}.shift-matrix-cell>.shift-matrix-actions{opacity:0;transition:opacity .12s;position:absolute;top:.34rem;right:.34rem}.shift-matrix-cell:hover>.shift-matrix-actions,.shift-matrix-cell:focus-within>.shift-matrix-actions,.shift-matrix-cell>.shift-matrix-actions[open]{opacity:1}.shift-matrix-shift>.shift-matrix-actions{position:absolute;top:.22rem;right:.22rem}.shift-matrix-shift>.shift-matrix-actions summary{width:26px;min-width:26px;min-height:26px;color:var(--ink-muted);background:#ffffffc7;font-size:.7rem}.shift-matrix-action-panel{background:#fff;border:1px solid #cad8e2eb;border-radius:8px;gap:.5rem;width:236px;max-width:min(78vw,260px);padding:.55rem;display:grid;position:absolute;top:calc(100% + .25rem);right:0;box-shadow:0 18px 40px #0f172a2e}.shift-matrix-review-block{background:#f8fbfd;border:1px solid #cad8e2e6;border-radius:8px;gap:.38rem;padding:.45rem;display:grid}.shift-matrix-form{background:#fbfdff;border:1px solid #cad8e2e6;border-radius:8px;gap:.34rem;margin-top:0;padding:.45rem;display:grid}.shift-matrix-form input{border:1px solid var(--rule);border-radius:8px;width:100%;min-height:32px;padding:.42rem .48rem;font-size:.74rem}.shift-matrix-form .button{min-height:32px;padding:.42rem .55rem;font-size:.74rem}.shift-rule-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));align-items:end;gap:.55rem;display:grid}.shift-rule-grid label{color:var(--ink-muted);flex-direction:column;gap:.26rem;font-size:.76rem;font-weight:800;display:flex}.shift-rule-grid input[type=checkbox]{justify-self:start;width:22px;min-height:22px}.line-code-panel{background:#f5f9ff;border:1px dashed #2e7cf647;border-radius:16px;gap:.65rem;padding:1rem;display:grid}.line-code-panel.is-linked{background:#f3fbf6;border-style:solid;border-color:#1f8c672e}.line-code-panel span{color:var(--ink-muted);font-size:.82rem;font-weight:800}.line-code-panel strong{color:var(--st-info);letter-spacing:.08em;font-size:clamp(1.8rem,6vw,2.7rem)}.line-code-panel.is-linked strong{color:var(--st-ok);letter-spacing:0;font-size:clamp(1.35rem,5vw,2rem)}.line-code-panel p{color:var(--ink-soft);margin:0;font-size:.9rem}.line-link-actions{flex-wrap:wrap;gap:.55rem;margin-top:.15rem;display:flex}.shift-line-invite-panel{background:linear-gradient(#f6fdfafa,#fffffff5);border:1px solid #2395792e;border-radius:8px;gap:1rem;padding:1rem;display:grid;box-shadow:0 14px 32px #1c3a500f}.shift-line-invite-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.shift-line-invite-head h3{letter-spacing:0;margin:.22rem 0 0;font-size:1.15rem;line-height:1.25}.shift-line-invite-head p{color:var(--ink-muted);margin:.38rem 0 0;font-size:.9rem;font-weight:700;line-height:1.55}.shift-line-invite-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.shift-line-invite-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;display:grid}.shift-line-invite-card{background:#fff;border:1px solid #cfdde6eb;border-radius:8px;gap:.75rem;padding:.85rem;display:grid}.shift-line-invite-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.shift-line-invite-card h4{color:var(--ink);letter-spacing:0;margin:0;font-size:1rem;line-height:1.3}.shift-line-invite-card p{color:var(--ink-muted);overflow-wrap:anywhere;margin:.18rem 0 0;font-size:.78rem;font-weight:750;line-height:1.4}.shift-line-invite-code{background:#f5f9ff;border:1px dashed #2e7cf63d;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .75rem;display:flex}.shift-line-invite-code span{color:var(--ink-muted);font-size:.76rem;font-weight:850}.shift-line-invite-code strong{color:var(--st-info);letter-spacing:.08em;font-size:1.15rem;line-height:1}.shift-line-invite-message{max-height:168px;color:var(--ink-muted);white-space:pre-wrap;background:#f8fbfd;border:1px solid #dee7eef5;border-radius:8px;margin:0;padding:.72rem;font-family:inherit;font-size:.78rem;font-weight:700;line-height:1.55;overflow:auto}.my-shift-page{gap:1rem;display:grid}.my-shift-hero{background:#f5f9ff;border:1px solid #2e7cf629;border-radius:20px;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.15rem;display:flex}.my-shift-hero h2{letter-spacing:0;margin:0;font-size:clamp(1.35rem,5vw,1.95rem);line-height:1.2}.my-shift-hero p:not(.eyebrow){color:var(--ink-muted);margin:.3rem 0 0;font-weight:650}.my-shift-month-list{gap:.85rem;display:grid}.my-shift-month-tabs{overscroll-behavior-x:contain;scrollbar-width:thin;gap:.55rem;padding:.15rem 0 .2rem;display:flex;overflow-x:auto}.my-shift-month-tab{min-width:132px;min-height:48px;color:var(--ink-muted);touch-action:manipulation;background:#fff;border:1px solid #cad8e2d9;border-radius:999px;flex:none;justify-content:space-between;align-items:center;gap:.55rem;padding:.58rem .78rem;font-size:.88rem;font-weight:850;text-decoration:none;display:inline-flex;box-shadow:0 10px 24px #2443620d}.my-shift-month-tab span{min-width:32px;min-height:28px;color:var(--ink-muted);background:#f2f6fa;border-radius:999px;justify-content:center;align-items:center;padding:0 .45rem;font-size:.74rem;font-weight:900;display:inline-flex}.my-shift-month-tab.is-active{color:var(--accent-strong);background:#ecfaf4;border-color:#1f8c6747;box-shadow:inset 0 0 0 1px #1f8c6714,0 12px 28px #1f8c6717}.my-shift-month-tab.is-active span{color:var(--accent-strong);background:#fff}.my-shift-month-card{background:#fff;border:1px solid #2e7cf629;border-radius:20px;overflow:hidden;box-shadow:0 18px 42px #24436214}.my-shift-month-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;min-height:76px;padding:.95rem 1rem .8rem;display:flex}.my-shift-month-card-header span{color:var(--ink-muted);font-size:.78rem;font-weight:850;display:block}.my-shift-month-card-header strong{color:var(--ink);margin-top:.12rem;font-size:1.18rem;line-height:1.25;display:block}.my-shift-month-card-header p{max-width:520px;color:var(--ink-soft);margin:.22rem 0 0;font-size:.84rem;font-weight:650;line-height:1.45}.my-shift-month-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.my-shift-google-calendar-form{display:inline-flex}.my-shift-google-calendar-form .button{min-height:42px}.my-shift-month-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.8rem;min-height:68px;padding:.95rem 1rem;list-style:none;display:flex}.my-shift-month-card summary::-webkit-details-marker{display:none}.my-shift-month-card summary span{color:var(--ink-muted);font-size:.78rem;font-weight:850;display:block}.my-shift-month-card summary strong{color:var(--ink);margin-top:.12rem;font-size:1.18rem;line-height:1.25;display:block}.my-shift-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.36rem;padding:0 .72rem .8rem;display:grid}.my-shift-calendar-weekday{min-height:28px;color:var(--ink-muted);place-items:center;font-size:.72rem;font-weight:850;display:grid}.my-shift-calendar-day{background:#f8fafc94;border:1px solid #cad8e2b8;border-radius:14px;flex-direction:column;gap:.3rem;min-width:0;min-height:86px;padding:.46rem .38rem;display:flex}.my-shift-calendar-day.is-placeholder{background:0 0;border-color:#0000}.my-shift-calendar-day.has-shift{background:#f2fbf6;border-color:#1f8c673d}.my-shift-calendar-day.is-today{box-shadow:inset 0 0 0 2px #2e7cf647}.my-shift-calendar-date{justify-content:space-between;align-items:baseline;gap:.22rem;display:flex}.my-shift-calendar-date strong{color:var(--ink);font-size:.9rem;font-weight:900;line-height:1}.my-shift-calendar-date span{color:var(--ink-muted);font-size:.62rem;font-weight:850}.my-shift-calendar-day p{color:var(--ink-muted);margin:auto 0 0;font-size:.62rem;font-weight:750;line-height:1.25}.my-shift-calendar-times{gap:.18rem;margin-top:auto;display:grid}.my-shift-calendar-times span,.my-shift-calendar-times small{min-width:0;color:var(--accent-strong);text-align:center;overflow-wrap:anywhere;background:#fff;border-radius:8px;padding:.16rem .22rem;font-size:.62rem;font-weight:900;line-height:1.18;display:block}.my-shift-calendar-times small{color:var(--ink-muted)}.my-shift-list{gap:.55rem;display:grid}.my-shift-list-toggle{overflow:hidden}.my-shift-list-toggle>summary{cursor:pointer;min-height:54px;margin-bottom:0;list-style:none}.my-shift-list-toggle>summary::-webkit-details-marker{display:none}.my-shift-list-toggle[open]>summary{margin-bottom:1rem}.my-shift-toggle-indicator{min-height:36px;color:var(--accent-strong);background:#fff;border:1px solid #cad8e2e6;border-radius:999px;justify-content:center;align-items:center;padding:.4rem .72rem;font-size:.82rem;font-weight:850;display:inline-flex}.my-shift-list-toggle[open] .my-shift-toggle-indicator{color:var(--ink-muted)}.my-shift-list-toggle[open] .my-shift-toggle-indicator:before{content:"閉じる"}.my-shift-list-toggle[open] .my-shift-toggle-indicator{font-size:0}.my-shift-list-toggle[open] .my-shift-toggle-indicator:before{font-size:.82rem}.my-shift-row{background:#fbfdff;border:1px solid #cad8e2b8;border-radius:16px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:.72rem;padding:.72rem;display:grid}.my-shift-row-date{min-height:52px;color:var(--accent-strong);background:#eaf8f0;border-radius:14px;place-items:center;display:grid}.my-shift-row-date strong,.my-shift-row-date span{line-height:1;display:block}.my-shift-row-date strong{font-size:1.12rem;font-weight:900}.my-shift-row-date span{margin-top:-.1rem;font-size:.68rem;font-weight:850}.my-shift-row h4{color:var(--ink);margin:0;font-size:1rem;line-height:1.25}.my-shift-row p{color:var(--ink-muted);margin:.18rem 0 0;font-size:.82rem;font-weight:650}.liff-shift-page{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top,0px)) 1rem max(1.2rem, env(safe-area-inset-bottom,0px));background:linear-gradient(#f7fbfe 0%,#eef7f4 48%,#f9fbfd 100%)}.liff-shift-shell{gap:.85rem;width:min(100%,560px);margin:0 auto;display:grid}.liff-shift-hero,.liff-shift-panel,.liff-shift-complete,.liff-shift-loading{background:#fffffff7;border:1px solid #cad8e2d1;border-radius:20px;box-shadow:0 18px 42px #24436214}.liff-shift-hero{justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem;display:flex}.liff-shift-hero h1{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(1.5rem,8vw,2.15rem);line-height:1.12}.liff-shift-hero p:not(.eyebrow){color:var(--ink-muted);margin:.26rem 0 0;font-size:.9rem;font-weight:750}.liff-shift-hero>span,.liff-shift-panel-head span{min-height:34px;color:var(--accent-strong);background:#ecfaf4;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:.38rem .66rem;font-size:.78rem;font-weight:900;display:inline-flex}.liff-shift-notice{color:var(--st-info);background:#f4f8ff;border:1px solid #2e7cf629;border-radius:16px;padding:.72rem .85rem;font-size:.84rem;font-weight:850}.liff-shift-notice.tone-warn{background:var(--st-warn-soft);color:var(--st-warn);border-color:#d288223d}.liff-shift-panel{gap:.8rem;padding:.9rem;display:grid}.liff-shift-panel h2,.liff-shift-complete h1,.liff-shift-loading h1{color:var(--ink);letter-spacing:0;margin:0;font-size:1rem;line-height:1.3}.liff-shift-panel-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.liff-shift-panel-head span{color:var(--ink-muted);background:#f3f6f9}.liff-shift-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.liff-shift-mode-grid button,.liff-shift-preset-row button{min-height:48px;color:var(--ink-muted);font:inherit;cursor:pointer;touch-action:manipulation;background:#fff;border:1px solid #cad8e2f2;border-radius:14px;font-size:.88rem;font-weight:900}.liff-shift-mode-grid button.is-active{color:var(--accent-strong);background:#eaf8f1;border-color:#1f8c6747;box-shadow:inset 0 0 0 1px #1f8c671a}.liff-shift-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:.34rem;display:grid}.liff-shift-weekday{min-height:24px;color:var(--ink-muted);place-items:center;font-size:.7rem;font-weight:900;display:grid}.liff-shift-day{min-width:0;min-height:58px;color:var(--ink);font:inherit;cursor:pointer;touch-action:manipulation;background:#fbfdff;border:1px solid #cad8e2d1;border-radius:14px;place-items:center;gap:.16rem;display:grid}.liff-shift-day.is-empty{background:0 0;border-color:#0000}.liff-shift-day:disabled{cursor:default;opacity:.72}.liff-shift-day strong,.liff-shift-day span{line-height:1;display:block}.liff-shift-day strong{font-size:1rem;font-weight:950}.liff-shift-day span{color:var(--ink-muted);font-size:.62rem;font-weight:850}.liff-shift-day.is-selected.tone-ok{color:var(--accent-strong);background:#eaf8f1;border-color:#1f8c6752}.liff-shift-day.is-selected.tone-ng{color:var(--st-danger);background:#fff1ef;border-color:#d861583d}.liff-shift-preset-row{gap:.48rem;padding-bottom:.1rem;display:flex;overflow-x:auto}.liff-shift-preset-row button{border-radius:999px;flex:none;min-height:42px;padding:0 .74rem;font-size:.78rem}.liff-shift-time-list{gap:.55rem;display:grid}.liff-shift-time-row{background:#fbfdff;border:1px solid #cad8e2b8;border-radius:14px;grid-template-columns:minmax(84px,1fr) minmax(0,96px) minmax(0,96px);align-items:end;gap:.5rem;padding:.56rem;display:grid}.liff-shift-time-row>span{color:var(--ink);font-size:.86rem;font-weight:900}.liff-shift-time-row label{color:var(--ink-muted);gap:.22rem;font-size:.68rem;font-weight:850;display:grid}.liff-shift-time-row input{min-width:0;min-height:42px;color:var(--ink);font:inherit;border:1px solid #cad8e2f2;border-radius:12px;padding:.42rem;font-size:.86rem;font-weight:850}.liff-shift-preview{background:#f8fafc;border:1px solid #cad8e2b8;border-radius:14px;gap:.36rem;max-height:174px;padding:.62rem;display:grid;overflow:auto}.liff-shift-preview p,.liff-shift-error,.liff-shift-complete p{color:var(--ink-muted);margin:0;font-size:.9rem;font-weight:750;line-height:1.45}.liff-shift-error{color:var(--st-danger)}.liff-shift-submit{width:100%;min-height:52px}.liff-shift-complete,.liff-shift-loading{gap:.85rem;width:min(100%,520px);margin:0 auto;padding:1.1rem;display:grid}.liff-shift-complete h1,.liff-shift-loading h1{font-size:1.45rem}.liff-shift-complete.tone-danger{background:snow;border-color:#d8615847}.liff-shift-loading-board{background:#fbfdff;border:2px solid #1f8c6733;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:.34rem;width:76px;padding:.62rem;display:grid;box-shadow:0 10px 22px #1f8c671a}.liff-shift-loading-cell{aspect-ratio:1;background:#eef4f7;border:1px solid #cad8e2f2;border-radius:6px;animation:1.2s ease-in-out infinite liff-shift-cell}.liff-shift-loading-cell:nth-child(2n){animation-delay:.12s}.liff-shift-loading-cell:nth-child(3n){animation-delay:.24s}.liff-shift-loading-cell.is-filled{background:#dff5eb;border-color:#1f8c6747}.liff-shift-actions{flex-wrap:wrap;gap:.55rem;display:flex}@keyframes liff-shift-cell{0%,to{opacity:.72;transform:translateY(0)}45%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.liff-shift-loading-cell{opacity:.9;animation:none;transform:none}}.employee-hero-card{background:#f5f9ff;border:1px solid #2e7cf629;border-radius:20px;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;padding:1.15rem;display:flex}.employee-hero-card h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.4rem,5vw,2rem);line-height:1.2}.employee-hero-card p:not(.eyebrow){color:var(--ink-muted);margin:.3rem 0 0;font-weight:650}.invite-preview-callout{background:var(--st-info-soft);border:1px solid #2e7cf62e;border-radius:14px;margin-bottom:.9rem;padding:.8rem .9rem}.invite-preview-eyebrow{color:var(--st-info);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .55rem;font-size:.78rem;font-weight:800}.bulk-form{flex-direction:column;gap:.8rem;display:flex}.bulk-toolbar,.table-scope-switch{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.table-scope-switch{justify-content:flex-end}.table-select-all{color:var(--ink-soft);align-items:center;gap:.55rem;font-size:.88rem;font-weight:700;display:inline-flex}.bulk-selection-note,.bulk-operation-note{color:var(--ink-muted);margin:0;font-size:.84rem}.bulk-toolbar-actions{flex-wrap:wrap;gap:.65rem;display:flex}.table-select-cell{width:52px}.table-select-cell input{width:16px;height:16px}.mobile-card-list{flex-direction:column;gap:.8rem;display:flex}.mobile-card-list.mobile-only{display:none}.record-card{border:1px solid var(--rule);background:#fffffff5;border-radius:18px;padding:.95rem}.record-card-head,.record-card-actions{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.record-card-body{margin-top:.8rem}.record-card-title{margin:0;font-size:1rem;font-weight:800}.record-card-meta{color:var(--ink-muted);margin:.22rem 0 0;font-size:.84rem}.record-card-statuses{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.record-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.95rem 0 0;display:grid}.record-card-grid div{flex-direction:column;gap:.18rem;display:flex}.record-card-grid dt{color:var(--ink-muted);font-size:.78rem;font-weight:700}.record-card-grid dd{color:var(--ink);margin:0;font-size:.88rem;font-weight:600}.record-card-actions{flex-wrap:wrap;margin-top:.95rem}.form-subsections{gap:1rem;display:grid}.form-subsection{border-radius:var(--admin-radius-sm);background:#f8fbfdad;border:1px solid #dce6eed9;padding:.95rem}.form-subsection h4{color:var(--ink);margin:0 0 .25rem;font-size:1rem;font-weight:850}.form-subsection>p{color:var(--ink-muted);margin:0 0 .85rem;font-size:.86rem}.required-label,.optional-label,.later-label{border-radius:999px;align-items:center;min-height:22px;margin-left:.35rem;padding:.16rem .45rem;font-size:.68rem;font-weight:850;display:inline-flex}.required-label{color:var(--st-danger);background:var(--st-danger-soft)}.optional-label{color:var(--ink-muted);background:var(--surface-muted)}.later-label{color:var(--st-warn);background:var(--st-warn-soft)}.onboarding-layout{grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);align-items:start;gap:1rem;display:grid}.onboarding-card-list,.onboarding-check-list{flex-direction:column;gap:.85rem;display:flex}.onboarding-request-share{grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:.8rem;margin-bottom:1rem;display:grid}.onboarding-request-share>div{border-radius:var(--admin-radius-sm);background:#f8fbfdc2;border:1px solid #dce6eed1;min-width:0;padding:.85rem .9rem}.onboarding-request-share span,.onboarding-request-details dt,.onboarding-request-reject-form label{color:var(--ink-muted);font-size:.74rem;font-weight:850;display:block}.onboarding-request-share strong{color:var(--ink);overflow-wrap:anywhere;margin-top:.2rem;font-size:.92rem;font-weight:900;display:block}.onboarding-request-list{gap:.9rem;display:grid}.onboarding-request-card{border:1px solid var(--admin-card-border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);background:#ffffffeb;overflow:hidden}.onboarding-request-head{border-bottom:1px solid var(--rule);justify-content:space-between;gap:.85rem;padding:1rem 1.08rem;display:flex}.onboarding-request-head h3{margin:0;font-size:1.05rem;font-weight:850}.onboarding-request-head p{color:var(--ink-muted);overflow-wrap:anywhere;margin:.2rem 0 0;font-size:.86rem}.onboarding-request-details{border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0;padding:.9rem 1.08rem;display:grid}.onboarding-request-details>div{min-width:0}.onboarding-request-details .span-2{grid-column:span 2}.onboarding-request-details dd{color:var(--ink);overflow-wrap:anywhere;margin:.18rem 0 0;font-size:.9rem;font-weight:800}.onboarding-request-actions{gap:.8rem;padding:.9rem 1.08rem 1.08rem;display:grid}.onboarding-request-actions .form-card{padding:.95rem}.onboarding-request-reject-form{border-radius:var(--admin-radius-sm);background:#fffafadb;border:1px solid #d861582e;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem;padding:.8rem;display:grid}.onboarding-request-reject-form label{grid-column:1/-1}.onboarding-reviewed-requests{margin-top:1rem}.onboarding-reviewed-requests summary{cursor:pointer;color:var(--accent-blue);font-size:.86rem;font-weight:850}.onboarding-reviewed-requests .linked-list{margin-top:.7rem}.onboarding-candidate-card{border:1px solid var(--admin-card-border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);background:#ffffffeb;overflow:hidden}.onboarding-candidate-head{border-bottom:1px solid var(--rule);justify-content:space-between;gap:.85rem;padding:1rem 1.08rem;display:flex}.onboarding-candidate-head h3{margin:0;font-size:1.05rem;font-weight:850}.onboarding-candidate-head p{color:var(--ink-muted);overflow-wrap:anywhere;margin:.2rem 0 0;font-size:.86rem}.check-row{border-bottom:1px solid #dce6eeb8;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.88rem 1.08rem;display:grid}.check-row:last-child{border-bottom:none}.check-mark{border-radius:8px;place-items:center;width:26px;height:26px;font-size:.8rem;font-weight:900;display:grid}.check-mark.tone-ok{color:var(--st-ok);background:var(--st-ok-soft);border:1px solid #1f8c673d}.check-mark.tone-warn{color:var(--st-warn);background:var(--st-warn-soft);border:1px solid #d2882242}.check-mark.tone-danger{color:var(--st-danger);background:var(--st-danger-soft);border:1px solid #d8615842}.check-row strong{font-size:.94rem;font-weight:850;display:block}.check-row small{color:var(--ink-muted);margin-top:.12rem;font-size:.8rem;display:block}.audit-diff-pill{border:1px solid var(--rule);background:var(--surface-soft);max-width:28rem;color:var(--ink-soft);overflow-wrap:anywhere;border-radius:10px;padding:.48rem .62rem;font-size:.84rem;font-weight:700;display:inline-block}.audit-detail-list{margin-top:.55rem}.audit-detail-list summary{cursor:pointer;color:var(--accent-blue);font-size:.82rem;font-weight:800}.audit-detail-list dl{border:1px solid var(--rule);background:#f8fbfdc7;border-radius:12px;gap:.35rem;margin:.55rem 0 0;padding:.7rem;display:grid}.audit-detail-list div{grid-template-columns:8rem minmax(0,1fr);gap:.7rem;display:grid}.audit-detail-list dt{color:var(--ink-muted);font-size:.78rem;font-weight:800}.audit-detail-list dd{overflow-wrap:anywhere;min-width:0;margin:0}.impact-preview-root{flex-direction:column;gap:.25rem;min-width:0;display:inline-flex}.impact-disabled-reason{max-width:18rem;color:var(--ink-muted);font-size:.76rem;font-weight:700}.impact-dialog-backdrop{z-index:80;background:#1823305c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.impact-dialog{background:#fff;border:1px solid #cad8e2e6;border-radius:18px;width:min(560px,100%);max-height:min(86vh,760px);overflow:auto;box-shadow:0 24px 72px #1823303d}.impact-dialog-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.1rem;display:flex}.impact-dialog-head strong{color:var(--ink);overflow-wrap:anywhere;margin-top:.15rem;font-size:1.08rem;display:block}.impact-dialog-close{border:1px solid var(--rule);width:2rem;height:2rem;color:var(--ink-muted);cursor:pointer;background:#fff;border-radius:999px;place-items:center;display:inline-grid}.impact-dialog-body,.impact-dialog-form,.impact-dialog-field{gap:.8rem;padding:1rem 1.1rem 0;display:grid}.impact-section{gap:.28rem;display:grid}.impact-section strong{color:var(--ink);font-size:.86rem}.impact-section span,.impact-section li{color:var(--ink-soft);font-size:.86rem;line-height:1.65}.impact-section ul{margin:0;padding-left:1.1rem}.impact-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;padding:1rem 1.1rem 1.1rem;display:flex}.payroll-period-summary{gap:.9rem;display:grid}.payroll-period-summary-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.payroll-period-summary-head h3{color:var(--ink);margin:.12rem 0 0;font-size:1rem}.payroll-period-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0;display:grid}.payroll-period-grid div{border:1px solid var(--rule);background:#f8fbfdd1;border-radius:12px;min-width:0;padding:.78rem}.payroll-period-grid dt{color:var(--ink-muted);margin-bottom:.25rem;font-size:.76rem;font-weight:800}.payroll-period-grid dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.9rem;font-weight:800}.task-list-title{color:var(--ink);margin:0 0 .55rem;font-size:.9rem}.role-checkbox-pill.is-readonly{opacity:.78;background:#f8fbfde0}.payslip-status-hero{border:1px solid var(--rule);border-left:5px solid var(--accent-blue);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem;display:grid}.payslip-status-hero h2{margin:0;font-size:1.22rem;font-weight:850}.payslip-status-hero p{color:var(--ink-muted);margin:.25rem 0 0;font-size:.9rem}.payslip-status-hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.sign-page{place-items:center;min-height:100vh;padding:2rem;display:grid}.sign-panel{text-align:left;width:min(560px,100%)}.sign-logo{width:min(340px,78vw);margin-bottom:1.1rem}.sign-panel h1{letter-spacing:-.05em;margin:0;font-size:clamp(2.2rem,7vw,3.6rem);font-weight:800;line-height:1.08}.sign-lead,.sign-help{color:var(--ink-muted)}.sign-lead{margin:1.15rem 0 0;font-size:1.08rem;font-weight:700}.sign-help{margin:1.1rem 0 0;font-size:.94rem;font-weight:650}.sign-legal-links{color:var(--ink-muted);flex-wrap:wrap;gap:.5rem;margin-top:1rem;font-size:.84rem;font-weight:750;display:flex}.sign-legal-links a{text-underline-offset:.18em;text-decoration:underline}.line-attendance-page{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top,0px)) 1rem max(1.2rem, env(safe-area-inset-bottom,0px));background:linear-gradient(#e8f7f6e6,#f8fbfffa),#f7fafc;place-items:center;display:grid}.line-attendance-panel{background:#fffffff5;border:1px solid #cad8e2d1;border-radius:18px;width:min(460px,100%);padding:1.25rem;box-shadow:0 22px 54px #3f546c24}.line-attendance-logo{margin-bottom:1rem}.line-attendance-panel h1{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(1.6rem,8vw,2.2rem);line-height:1.18}.line-attendance-lead{color:var(--ink-soft);margin:.75rem 0 0;font-size:.96rem;line-height:1.72}.line-attendance-actions{gap:.65rem;margin-top:1.1rem;display:grid}.line-attendance-actions .button{min-height:48px}.line-attendance-note{background:#f5f9ff;border:1px solid #2e7cf629;border-radius:14px;margin-top:1rem;padding:.85rem .9rem}.line-attendance-note strong{color:var(--ink);font-size:.88rem;font-weight:900;display:block}.line-attendance-note p{color:var(--ink-muted);margin:.28rem 0 0;font-size:.84rem;line-height:1.58}.line-onboarding-page{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top,0px)) 1rem max(1.2rem, env(safe-area-inset-bottom,0px));background:linear-gradient(#e8f7f6e6,#f8fbfffa),#f7fafc;place-items:center;display:grid}.line-onboarding-panel{background:#fffffff5;border:1px solid #cad8e2d1;border-radius:18px;width:100%;max-width:560px;padding:1.15rem;overflow:hidden;box-shadow:0 22px 54px #3f546c24}.line-onboarding-logo{width:min(100%,330px);margin-bottom:1rem}.line-onboarding-panel h1{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(1.6rem,8vw,2.2rem);line-height:1.18}.line-onboarding-lead{color:var(--ink-soft);overflow-wrap:anywhere;margin:.75rem 0 0;font-size:.96rem;line-height:1.72}.line-onboarding-state{background:#f8fafc;border:1px solid #cad8e2d1;border-radius:14px;gap:.45rem;margin-top:1rem;padding:.9rem;display:grid}.line-onboarding-state strong{color:var(--ink);font-size:.94rem;font-weight:900}.line-onboarding-state p{color:var(--ink-muted);overflow-wrap:anywhere;margin:0;font-size:.88rem;line-height:1.58}.line-onboarding-state.tone-ok{background:var(--st-ok-soft);border-color:#1f8c6738}.line-onboarding-state.tone-warn{background:var(--st-warn-soft);border-color:#d288223d}.line-onboarding-state.tone-danger{background:var(--st-danger-soft);border-color:#d861583d}.line-onboarding-form{gap:.78rem;margin-top:1rem;display:grid}.line-onboarding-submit{width:100%;min-height:50px}.page-loading-state{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top,0px)) 1rem max(1.2rem, env(safe-area-inset-bottom,0px));background:linear-gradient(#e8f7f6e6,#f8fbfffa),#f7fafc;place-items:center;display:grid}.page-loading-panel{text-align:center;background:#fffffff5;border:1px solid #cad8e2d1;border-radius:18px;justify-items:center;gap:.75rem;width:min(420px,100%);padding:1.25rem;display:grid;box-shadow:0 22px 54px #3f546c24}.page-loading-logo{margin-bottom:.2rem}.page-loading-clock{background:radial-gradient(circle,#fff 0 9px,#0000 10px),conic-gradient(from -90deg,#2e7cf62e,#0f8c7642,#2e7cf62e);border:3px solid #2e7cf638;border-radius:999px;width:72px;height:72px;position:relative;box-shadow:inset 0 0 0 6px #fff,0 12px 26px #2e7cf61f}.page-loading-panel-shift{border-color:#1f8c6733}.page-loading-shift-board{background:#fbfdff;border:2px solid #1f8c6738;border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:.38rem;width:82px;padding:.72rem;display:grid;box-shadow:0 12px 26px #1f8c671f}.page-loading-shift-cell{aspect-ratio:1;background:#eef4f7;border:1px solid #cad8e2f2;border-radius:6px;animation:1.2s ease-in-out infinite page-loading-shift-cell}.page-loading-shift-cell:nth-child(2n){animation-delay:.12s}.page-loading-shift-cell:nth-child(3n){animation-delay:.24s}.page-loading-shift-cell.is-filled{background:#dff5eb;border-color:#1f8c6747}.page-loading-clock-face,.page-loading-clock-hour,.page-loading-clock-minute,.page-loading-clock-second,.page-loading-clock-center{position:absolute;top:50%;left:50%}.page-loading-clock-face{background:linear-gradient(var(--accent-blue), var(--accent-blue)) center 6px / 2px 8px no-repeat, linear-gradient(var(--accent-blue), var(--accent-blue)) center calc(100% - 6px) / 2px 8px no-repeat, linear-gradient(90deg, var(--accent-blue), var(--accent-blue)) 6px center / 8px 2px no-repeat, linear-gradient(90deg, var(--accent-blue), var(--accent-blue)) calc(100% - 6px) center / 8px 2px no-repeat;opacity:.68;border-radius:999px;inset:8px}.page-loading-clock-hour,.page-loading-clock-minute,.page-loading-clock-second{transform-origin:50% 100%;border-radius:999px;width:3px}.page-loading-clock-hour{background:var(--ink);height:18px;margin-top:-18px;margin-left:-1.5px;animation:9.6s linear infinite page-loading-hour-hand}.page-loading-clock-minute{background:var(--accent-strong);height:25px;margin-top:-25px;margin-left:-1.5px;animation:2.4s linear infinite page-loading-minute-hand}.page-loading-clock-second{background:var(--st-warn);width:2px;height:30px;margin-top:-30px;margin-left:-1px;animation:1.2s steps(12,end) infinite page-loading-second-hand}.page-loading-clock-center{background:var(--accent-blue);border-radius:999px;width:10px;height:10px;margin-top:-5px;margin-left:-5px;box-shadow:0 0 0 4px #fff}.page-loading-panel h1{color:var(--ink);letter-spacing:0;overflow-wrap:normal;word-break:keep-all;line-break:strict;text-wrap:balance;margin:0;font-size:clamp(1.25rem,6vw,1.7rem);line-height:1.25}.page-loading-panel p{color:var(--ink-muted);margin:0;font-size:.92rem;line-height:1.65}@keyframes page-loading-second-hand{to{transform:rotate(360deg)}}@keyframes page-loading-minute-hand{to{transform:rotate(360deg)}}@keyframes page-loading-hour-hand{to{transform:rotate(360deg)}}@keyframes page-loading-shift-cell{0%,to{opacity:.72;transform:translateY(0)}45%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.page-loading-clock-hour,.page-loading-clock-minute,.page-loading-clock-second{animation:none}.page-loading-shift-cell{opacity:.88;animation:none;transform:none}}.sign-panel-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.35rem;display:flex}.split-pane{grid-template-columns:minmax(0,1fr) 360px;gap:.85rem;display:grid}.payslip-page{min-height:100vh;padding:1.25rem}.payslip-toolbar{justify-content:space-between;align-items:flex-start;gap:1rem;max-width:1180px;margin:0 auto 1rem;display:flex}.payslip-page-title{letter-spacing:-.04em;margin:0;font-size:1.68rem;font-weight:800}.payslip-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1rem;max-width:1180px;margin:0 auto;display:grid}.payslip-sheet,.payslip-meta-card,.payslip-side .section-card{background:#fffffff0;border:1px solid #cad8e2d9;border-radius:20px;box-shadow:0 12px 30px #24436214}.payslip-sheet{padding:1.4rem}.payslip-sheet-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.payslip-sheet-head h2{letter-spacing:-.03em;margin:.25rem 0 0;font-size:1.5rem;font-weight:800}.payslip-sheet-head p{color:var(--ink-muted);margin:.24rem 0 0}.payslip-statuses{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.payslip-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.payslip-meta-card{padding:.95rem}.payslip-meta-label{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:800}.payslip-meta-card h3{margin:.35rem 0 0;font-size:1.04rem;font-weight:800}.payslip-meta-card p:last-child{color:var(--ink-muted);margin:.24rem 0 0}.payslip-line-items{flex-direction:column;gap:.65rem;margin-top:1rem;display:flex}.payslip-line-item{border:1px solid var(--rule);background:var(--surface-soft);border-radius:16px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.9rem .95rem;display:flex}.payslip-line-item.is-deduction{background:var(--st-warn-soft);border-color:#d288223d}.payslip-line-item h4{margin:0;font-size:.96rem;font-weight:800}.payslip-line-item p{color:var(--ink-muted);margin:.24rem 0 0;font-size:.84rem}.payslip-line-item strong{white-space:nowrap;font-size:1rem;font-weight:800}.payslip-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.payslip-totals div{background:#eaf2ffad;border:1px solid #2e7cf624;border-radius:18px;padding:1rem}.payslip-totals span{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800;display:block}.payslip-totals strong{letter-spacing:-.03em;margin-top:.36rem;font-size:1.42rem;font-weight:800;display:block}.payslip-notes{margin-top:1rem}.payslip-notes h3{margin:0;font-size:1rem;font-weight:800}.payslip-note-list{color:var(--ink-soft);margin:.6rem 0 0;padding-left:1.1rem}.payslip-note-list li+li{margin-top:.35rem}.payslip-deduction-section{margin-top:1rem}.payslip-footer{border-top:1px solid var(--rule);color:var(--ink-muted);margin-top:1rem;padding-top:.85rem;font-size:.86rem}.payslip-footer p{margin:.18rem 0 0}.payslip-side{flex-direction:column;gap:1rem;display:flex}.payslip-side-form{box-shadow:none;background:0 0;border:none;padding:0}.no-print{-webkit-print-color-adjust:exact;print-color-adjust:exact}code{background:var(--surface-soft);color:var(--ink-soft);border-radius:8px;padding:.15rem .4rem}@media (max-width:1200px){.three-column-grid,.employee-detail-layout,.employee-detail-overview-grid{grid-template-columns:minmax(0,1fr)}.profile-card{order:-1}}@media (max-width:1100px){.admin-app{grid-template-columns:1fr}.employee-header{flex-wrap:wrap;align-items:flex-start}.employee-header-actions{justify-content:flex-start;max-width:100%}.sidebar{display:none}.main-content,.employee-app{padding-bottom:7rem}.admin-mobile-nav,.mobile-nav{display:flex}.employee-workspace-link{display:none}.dashboard-grid,.two-column-grid,.three-column-grid,.admin-confirm-layout,.split-pane,.payslip-layout,.payslip-meta-grid,.payslip-totals,.admin-priority-grid,.access-card-grid,.comparison-grid,.decision-action-grid,.operation-board,.admin-confirm-tile-grid,.shift-workspace-tabs,.template-download-grid,.workspace-card-grid,.onboarding-layout,.onboarding-request-share,.onboarding-request-details,.metric-grid,.form-grid,.shift-approval-console{grid-template-columns:1fr}.shift-approval-steps,.shift-approval-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding-top:.7rem;padding-bottom:.55rem}.topbar-main .eyebrow,.topbar-subtitle,.topbar-actions .chip-link:not(.chip-link-home){display:none}.topbar-actions{width:auto}.topbar-title{font-size:1.18rem}.page-head,.section-head{flex-direction:column;align-items:flex-start}.action-summary,.payslip-status-hero,.payroll-period-grid{grid-template-columns:1fr}.action-summary-actions,.payslip-status-hero-actions{justify-content:flex-start}.page-head .eyebrow{display:none}.page-title{font-size:1.28rem}.page-actions,.admin-attendance-actions,.table-scope-switch,.shift-period-toolbar,.compact-inline-form,.section-actions{flex-wrap:nowrap;justify-content:flex-start;width:100%;padding-bottom:.1rem;overflow-x:auto}.page-actions .button,.admin-attendance-actions .button,.table-scope-switch .button,.shift-period-toolbar .button,.section-actions .button,.compact-inline-form .button{white-space:nowrap;flex:none}.shift-period-switch-form,.shift-period-create-form{flex:none}.admin-attendance-actions .compact-inline-form{flex:none;width:auto}.hero-card{padding:1rem 1rem 1.05rem}.hero-card h2{font-size:1.46rem}.hero-card p{max-width:none;font-size:.92rem}.linked-row,.task-row{align-items:center}.operation-step{min-height:auto}}@media (max-width:720px){.employee-app{padding:calc(.95rem + env(safe-area-inset-top,0px)) .75rem calc(8.5rem + env(safe-area-inset-bottom,0px))}.employee-content,.staff-timecard-page{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.bottom-tab-nav{left:max(.65rem, env(safe-area-inset-left,0px));right:max(.65rem, env(safe-area-inset-right,0px));bottom:calc(.65rem + env(safe-area-inset-bottom,0px));background:#fff;border-radius:20px;gap:.22rem;padding:.34rem;box-shadow:0 12px 30px #2443621f}.bottom-tab-link{border-radius:15px;min-height:46px;padding:.48rem .22rem;font-size:.78rem}.bottom-tab-nav.tab-count-2{width:min(100vw - 1.5rem,520px);left:50%;right:auto;transform:translate(-50%)}.bottom-tab-nav.tab-count-2 .bottom-tab-link{min-height:44px;font-size:.88rem}.topbar,.page-head,.employee-header,.payslip-toolbar{flex-direction:column;align-items:flex-start}.main-content,.topbar{padding-left:1rem;padding-right:1rem}.employee-header{margin-bottom:.65rem;padding:.85rem .85rem 0}.employee-title{font-size:clamp(1.9rem,10vw,2.42rem);line-height:1.16}.employee-subtitle{font-size:clamp(.98rem,4.2vw,1.1rem);line-height:1.35}.employee-header-actions{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.65rem;width:100%;display:grid}.employee-header-actions .button{width:100%;min-height:48px;padding-inline:.8rem}.topbar-inner{flex-direction:column;width:100%}.topbar-actions{flex-wrap:nowrap;width:100%;padding-bottom:.15rem;overflow-x:auto}.chip-link{white-space:nowrap}.shortcut-grid{grid-template-columns:1fr 1fr}.desktop-only{display:none}.mobile-only,.mobile-card-list.mobile-only{display:flex}.section-card,.table-card,.form-card,.profile-card,.sign-panel,.empty-state,.hero-card{border-radius:20px}.data-table{min-width:720px}.table-card{overflow-x:auto}.check-row{grid-template-columns:auto minmax(0,1fr)}.check-row .button{grid-column:1/-1;width:100%}.audit-detail-list div{grid-template-columns:1fr;gap:.15rem}.attendance-action-grid{flex-direction:column}.attendance-inline-form,.attendance-inline-form .button{width:100%}.attendance-inline-form{flex-direction:column;align-items:stretch}.staff-clock-actions{grid-template-columns:1fr}.staff-timecard-page{gap:.75rem;width:100%}.attendance-language-switcher{justify-content:flex-start;gap:.45rem;padding-inline:.2rem}.attendance-language-switcher>span{flex:0 0 100%}.language-chip{align-items:center;min-height:42px;padding:.42rem .66rem;font-size:.84rem;display:inline-flex}.staff-timecard-card,.staff-record-card,.staff-secondary-panel{border-radius:20px}.staff-timecard-card{padding:.95rem}.attendance-month-switcher{border-radius:15px;margin:-.22rem -.28rem 0;top:.5rem}.attendance-month-switcher summary{min-height:36px;padding:.42rem .58rem;font-size:.9rem}.attendance-month-switcher summary em{min-height:22px;padding:.12rem .38rem;font-size:.62rem}.attendance-month-switcher[open] nav{gap:.46rem;padding:0 .3rem .34rem}.attendance-month-primary{gap:.42rem}.attendance-month-chip{border-radius:12px;padding:.5rem}.attendance-month-chip strong{font-size:.88rem}.attendance-month-chip em{font-size:.62rem}.attendance-month-compact{font-size:.72rem}.attendance-month-compact-link{min-height:32px;padding:.3rem .58rem}.attendance-month-confirmation{border-radius:14px;flex-direction:column;gap:.72rem;padding:.78rem}.attendance-month-confirmation h3{font-size:.98rem}.attendance-month-confirmation p{font-size:.78rem;line-height:1.45}.attendance-month-confirmation-action{text-align:left;align-items:stretch;width:100%}.attendance-month-confirmation-action .button{width:100%}.inline-alert.compact{border-radius:12px;margin-bottom:.62rem;padding:.62rem .7rem}.inline-alert.attendance-attention-alert{padding:0}.attendance-attention-alert summary{min-height:36px;padding:.5rem .64rem}.attendance-attention-alert-list{gap:.32rem;padding:0 .64rem .58rem}.live-clock{border-radius:20px;margin:.9rem 0 .85rem;padding:.95rem .7rem}.live-clock time{font-size:clamp(2.6rem,14.8vw,3.55rem);line-height:1.02}.staff-clock-button{border-radius:20px;min-height:76px}.staff-clock-dialog-backdrop{align-items:end;padding:.75rem}.staff-clock-dialog{border-radius:20px;width:100%;max-height:calc(100dvh - 1.5rem);padding:.95rem}.staff-clock-dialog-actions{flex-direction:column;align-items:stretch}.staff-clock-dialog-actions .button{width:100%;min-height:48px}.attendance-work-location{justify-content:space-between;width:100%}.attendance-work-location select{flex:1}.attendance-calendar-hours{font-size:.92rem}.attendance-sticky-spacer{height:8.25rem;display:block}.attendance-sticky-bar{left:1rem;right:1rem;bottom:calc(5.85rem + env(safe-area-inset-bottom,0px));z-index:15;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border:1px solid #2e7cf624;border-radius:20px;flex-direction:column;gap:.8rem;padding:.9rem 1rem;display:flex;position:fixed}.attendance-sticky-bar.is-complete{border-color:#cad8e2e6}.attendance-sticky-copy strong{font-size:1rem;font-weight:800;display:block}.attendance-sticky-copy p{color:var(--ink-muted);margin:.18rem 0 0;font-size:.84rem}.attendance-sticky-eyebrow{color:var(--accent-blue);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .25rem;font-size:.72rem;font-weight:800}.attendance-sticky-actions{flex-direction:column;gap:.6rem;display:flex}.attendance-sticky-actions .attendance-inline-form,.attendance-sticky-actions .attendance-inline-form .button,.attendance-sticky-actions .button{width:100%}.attendance-correction-banner{flex-direction:column;align-items:stretch}.attendance-selected-day-panel{bottom:calc(.85rem + env(safe-area-inset-bottom,0px));z-index:5;border-radius:18px;max-height:min(78dvh,720px);padding:.9rem;position:sticky;overflow-y:auto}.attendance-selected-day-head{flex-direction:column;align-items:stretch;gap:.7rem}.attendance-selected-day-head .button{width:100%}.attendance-selected-day-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.attendance-selected-day-metrics div{padding:.64rem .58rem}.attendance-action-disclosure{border-radius:12px}.attendance-day-plan-head,.attendance-leave-request-head,.attendance-day-plan-row,.attendance-day-leave-row{align-items:flex-start}.attendance-day-plan-row,.attendance-day-leave-row{flex-direction:column}.attendance-google-calendar-form{flex-direction:column;align-items:stretch}.attendance-google-calendar-form .button{width:100%}.attendance-day-plan-panel,.attendance-leave-request-form{border-radius:18px;padding:.9rem}.attendance-leave-request-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.65rem;display:grid}.attendance-leave-request-head .button{border-radius:15px;min-width:4.8rem;min-height:44px;padding:.55rem .82rem}.line-link-actions,.line-link-actions .button{width:100%}.line-link-actions{flex-direction:column;align-items:stretch}.onboarding-request-head,.onboarding-request-reject-form{grid-template-columns:1fr}.onboarding-request-head{flex-direction:column}.onboarding-request-details .span-2{grid-column:auto}.line-onboarding-page{padding:max(.75rem, env(safe-area-inset-top,0px)) .75rem max(.95rem, env(safe-area-inset-bottom,0px));align-items:start}.line-onboarding-panel{border-radius:18px;width:100%;max-width:calc(100vw - 1.5rem);padding:1rem}.my-shift-hero,.my-shift-month-card-header,.my-shift-row{align-items:stretch}.my-shift-hero{flex-direction:column}.my-shift-month-tabs{margin-right:-1rem;padding-right:1rem}.my-shift-month-tab{min-width:124px}.my-shift-month-card-header{flex-direction:column;min-height:64px}.my-shift-month-card-actions,.my-shift-google-calendar-form,.my-shift-google-calendar-form .button{width:100%}.my-shift-month-card-actions{justify-content:flex-start;align-items:stretch}.my-shift-calendar-grid{gap:.28rem;padding:0 .55rem .65rem}.my-shift-calendar-day{border-radius:12px;min-height:78px;padding:.4rem .3rem}.my-shift-calendar-times span,.my-shift-calendar-times small{font-size:.56rem}.my-shift-row{grid-template-columns:46px minmax(0,1fr)}.my-shift-row .status-badge{grid-column:2;justify-self:start}.liff-shift-page{padding:max(.75rem, env(safe-area-inset-top,0px)) .75rem max(.95rem, env(safe-area-inset-bottom,0px))}.liff-shift-hero{flex-direction:column;align-items:stretch}.liff-shift-panel,.liff-shift-hero,.liff-shift-complete,.liff-shift-loading{border-radius:18px}.liff-shift-panel{padding:.78rem}.liff-shift-mode-grid{gap:.44rem}.liff-shift-mode-grid button{min-height:46px;font-size:.82rem}.liff-shift-calendar{gap:.26rem}.liff-shift-day{border-radius:12px;min-height:52px}.liff-shift-time-row{grid-template-columns:1fr 1fr}.liff-shift-time-row>span{grid-column:1/-1}.liff-shift-actions,.liff-shift-actions .button{width:100%}.liff-shift-actions{flex-direction:column}.attendance-leave-request-grid{grid-template-columns:1fr}.admin-confirm-hero,.admin-confirm-person-row{flex-direction:column;align-items:stretch}.admin-confirm-hero-status{align-items:flex-start}.admin-confirm-tile,.admin-confirm-panel{border-radius:var(--admin-radius)}.admin-confirm-person-row .status-badge{width:fit-content}.admin-confirm-row-actions{flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%}.admin-confirm-row-actions .status-badge{align-self:flex-start}.admin-confirm-primary-action{width:100%}.admin-confirm-secondary-actions{justify-content:flex-start}.admin-confirm-secondary-actions .button{flex:8rem}.shift-approval-steps,.shift-approval-check-grid,.shift-approval-review-summary,.shift-approval-review-detail{grid-template-columns:1fr}.shift-approval-review-meta{justify-content:flex-start}.admin-app .section-card,.admin-app .table-card,.admin-app .form-card,.admin-app .profile-card,.admin-app .empty-state,.admin-app .admin-mobile-nav{border-radius:var(--admin-radius)}.staff-record-edit-actions{flex-direction:column;align-items:stretch}.staff-record-editor>summary{padding:.95rem}.staff-section-head,.staff-secondary-panel summary{align-items:flex-start}.staff-secondary-panel summary{grid-template-columns:1fr;gap:.22rem;padding:.95rem;display:grid}.staff-secondary-panel summary small{text-align:left;line-height:1.5}.staff-timecard-head{flex-direction:column;gap:.7rem}.staff-timecard-head .status-badge{align-self:flex-start}.staff-timecard-head h2{font-size:clamp(1.38rem,6.25vw,1.56rem);line-height:1.28}.page-loading-panel h1{font-size:clamp(1.32rem,5.4vw,1.48rem)}.staff-record-edit-actions .button,.staff-record-delete-form .button,.staff-record-edit-row input,.staff-record-edit-row select{width:100%}.staff-record-edit-form{gap:0;padding:.45rem .95rem 1.1rem}.staff-record-edit-row{grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch;gap:.45rem;min-height:0;padding:.82rem 0;display:grid}.staff-record-edit-row span{color:var(--ink-muted);white-space:normal;word-break:keep-all;overflow-wrap:anywhere;font-size:.9rem;line-height:1.35;display:block}.staff-record-edit-row input,.staff-record-edit-row select{border-radius:16px;min-height:54px;padding:.72rem .9rem;font-size:1.05rem}.staff-record-edit-row input{text-align:center}.staff-record-edit-row select{text-align:left}.staff-record-edit-check{grid-template-columns:32px minmax(0,1fr);align-items:center;column-gap:.75rem}.staff-record-edit-check span{grid-area:1/2}.staff-record-edit-check input{grid-area:1/1;justify-self:start;width:24px;height:24px;min-height:24px;margin:0}.staff-record-edit-actions{margin-top:.45rem;padding-top:.9rem;padding-bottom:.35rem}.staff-record-delete-form{flex-direction:column;align-items:stretch;margin-inline:.95rem;padding:.85rem}.disclosure-summary{padding:.88rem .95rem}.attendance-calendar-legend{gap:.45rem}.attendance-calendar-legend-item{min-height:24px;padding:.22rem .5rem;font-size:.68rem}.attendance-calendar-grid{gap:.3rem}.attendance-calendar-weekday{min-height:24px;font-size:.68rem}.attendance-calendar-day,.attendance-calendar-day.is-placeholder{border-radius:12px;min-height:92px;padding:.5rem .38rem}.attendance-calendar-day-head strong{font-size:.78rem}.attendance-calendar-flag{min-width:18px;min-height:18px;padding:.1rem .32rem;font-size:.58rem}.attendance-calendar-hours{margin-top:.32rem;font-size:.8rem}.attendance-calendar-tags{gap:.16rem;margin-top:.24rem}.attendance-calendar-tag{min-height:17px;padding:.08rem .26rem;font-size:.56rem}.attendance-calendar-shift{gap:.18rem;margin-top:.26rem;padding:.16rem .28rem;font-size:.58rem}.attendance-calendar-shift-dot{width:.34rem;height:.34rem}.attendance-calendar-leave{margin-top:.22rem;padding:.16rem .32rem;font-size:.58rem}.attendance-calendar-state,.attendance-calendar-meta{font-size:.62rem}.attendance-calendar-state{min-width:20px;min-height:18px;padding:.08rem .3rem}.hero-card{padding:.95rem}.hero-card:after{width:150px;height:150px;inset:auto -12% -24% auto}.hero-card h2{font-size:1.3rem}.hero-cta,.workspace-inline-heading{flex-direction:column;align-items:flex-start}.hero-cta .button,.linked-row .button,.task-row .button{width:100%}.linked-row,.task-row{flex-direction:column;align-items:flex-start}.operation-step{padding:.85rem .9rem}.operation-step strong{font-size:1.24rem}.attendance-row-actions{justify-content:flex-start;width:100%}.template-import-note{flex-direction:column;align-items:flex-start}.template-import-note code{white-space:normal;overflow-wrap:anywhere;width:100%}.record-card-grid{grid-template-columns:1fr}.payslip-page,.payslip-sheet{padding:1rem}.payslip-sheet-head,.payslip-line-item{flex-direction:column}.kv-row{grid-template-columns:1fr;gap:.25rem}.kv-row dd{text-align:left;max-width:none}.bottom-tab-link{padding-left:.18rem;padding-right:.18rem;font-size:.78rem}}@media print{body{background:#fff}.no-print{display:none!important}.payslip-page{padding:0}.payslip-layout{max-width:none;display:block}.payslip-sheet{box-shadow:none;border:none;border-radius:0;padding:0}}
