:root{--navy:#003e68;--navy-2:#062f4a;--ink:#132533;--muted:#667783;--cream:#f6f3ec;--line:#dce4e8;--coral:#ed5660;--gold:#c89a5d;--mint:#e3f2ed;--white:#fff}*{box-sizing:border-box}html{background:#f5f7f8}body{color:var(--ink);background:#f8fafb;margin:0;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{flex-direction:column;min-height:100svh;display:flex}.topbar{z-index:10;background:#fff;border-bottom:1px solid #e6ecef;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(20px,5vw,76px);display:flex;position:relative}.brand{color:var(--navy);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.brand img{object-fit:contain;width:48px;height:48px}.brand b,.brand small{display:block}.brand b{letter-spacing:.08em;font-size:17px}.brand small{letter-spacing:.16em;color:#82909a;margin-top:2px;font-size:9px}.topbar nav{gap:6px;display:flex}.topbar nav button{color:#586b77;background:0 0;border:0;border-radius:999px;padding:12px 16px;font-size:13px;font-weight:700}.topbar nav button:hover,.topbar nav button.active{color:var(--navy);background:#eaf1f5}.topbar nav button:disabled{opacity:.38;cursor:not-allowed;background:0 0}.event-strip{background:var(--navy);color:#fff;justify-content:space-between;align-items:end;min-height:112px;padding:22px clamp(20px,6vw,92px);display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#78909f;margin:0 0 7px;font-size:10px;font-weight:800}.event-strip strong{letter-spacing:.05em;font-family:Georgia,Yu Mincho,serif;font-size:25px;display:block}.event-meta{color:#bdd0db;gap:40px;font-size:11px;display:flex}.event-meta b{color:#fff;margin-top:5px;font-size:13px;display:block}.hero{background:linear-gradient(115deg,#f8f6f0 0 55%,#e8eef1 55%);grid-template-columns:1.02fr .98fr;min-height:520px;display:grid;overflow:hidden}.hero-copy{flex-direction:column;justify-content:center;padding:70px 6vw 64px max(6vw,50vw - 640px);display:flex}.hero-copy .eyebrow{color:var(--gold)}.hero h1{letter-spacing:.04em;color:var(--navy-2);margin:0 0 27px;font-family:Georgia,Yu Mincho,serif;font-size:clamp(48px,5.7vw,82px);font-weight:600;line-height:1.18}.hero h1 span{color:var(--coral)}.hero-copy>p:not(.eyebrow){color:#526875;font-size:15px;line-height:2}.hero-copy .home-intro{max-width:560px;margin:10px 0 0;font-size:16px}.hero-actions{grid-template-columns:1fr;gap:13px;max-width:560px;margin:34px 0 0;display:grid}.hero-actions button{min-height:57px;padding:14px 12px}.hero-actions button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.access-guide{background:#f4f7f8;border:1px solid #d6e1e6;border-radius:8px;max-width:560px;margin-top:22px;padding:14px 16px}.access-guide b{color:var(--navy);font-size:12px}.access-guide p{color:#6f818a;margin:5px 0 0;font-size:10px;line-height:1.7}.home-notice{max-width:560px;margin:20px 0 0}.primary,.secondary{border:1px solid var(--navy);border-radius:7px;padding:15px 23px;font-weight:800;transition:all .2s}.primary{background:var(--navy);color:#fff;box-shadow:0 8px 20px #003e682b}.primary:hover{background:#005086;transform:translateY(-1px)}.primary span{margin-left:24px}.primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.secondary{color:var(--navy);background:#fff}.wide{width:100%}.deadline{border-left:3px solid var(--coral);grid-template-columns:auto 1fr;gap:2px 15px;max-width:410px;padding:3px 0 3px 15px;display:grid}.deadline span{color:#fff;background:var(--coral);border-radius:3px;grid-row:1/3;align-self:center;padding:5px 8px;font-size:11px;font-weight:700}.deadline b{color:var(--navy);font-size:14px}.deadline small{color:#7c8a93;font-size:10px}.hero-visual{justify-content:center;align-items:flex-end;min-height:520px;display:flex;position:relative}.hero-visual:before{content:"";background:radial-gradient(circle at 60% 45%,#ffffffd9,#0000 45%);position:absolute;inset:0}.hero-visual .sun{border:1px solid #003e6821;border-radius:50%;width:390px;height:390px;position:absolute;top:83px;right:9%}.hero-visual .sun:before,.hero-visual .sun:after{content:"";border:1px solid #003e681a;border-radius:50%;position:absolute;inset:35px}.hero-visual .sun:after{inset:88px}.hero-visual img{z-index:2;filter:drop-shadow(0 22px 22px #22343d24);width:min(480px,74%);height:auto;margin-bottom:-10px;position:relative}.speech{z-index:3;color:#5c6d76;background:#fff;border-radius:20px 20px 20px 3px;padding:16px 21px;font-size:12px;line-height:1.6;position:absolute;top:80px;right:8%;box-shadow:0 12px 35px #002d481f}.speech b{color:var(--navy);font-size:15px}.quick-guide{background:#dce4e8;border-top:1px solid #dce4e8;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.quick-guide article{background:#fff;align-items:center;gap:18px;padding:25px clamp(22px,4vw,58px);display:flex}.quick-guide article>span{color:#c7d3d9;font-family:Georgia,serif;font-size:28px}.quick-guide b{color:var(--navy);font-size:14px}.quick-guide p{color:#7b8a92;margin:5px 0 0;font-size:11px}footer{background:var(--navy-2);color:#9fb4c0;flex:none;justify-content:space-between;align-items:center;gap:20px;height:54px;padding:0 6vw;font-size:10px;display:flex}.admin-entry{color:#6f8c9c;background:0 0;border:0;padding:3px;font-size:9px;text-decoration:underline}.content{padding:50px 20px 80px}.narrow{width:100%;max-width:820px;margin:0 auto}.stepper{color:#a0adb4;justify-content:center;align-items:center;margin-bottom:30px;font-size:12px;display:flex}.stepper span{align-items:center;gap:8px;display:flex}.stepper span:first-child:first-letter{color:#fff}.stepper span{border-radius:50%}.stepper i{background:#d9e1e5;width:70px;height:1px;margin:0 14px}.stepper.four-steps i{width:42px;margin:0 9px}.stepper .current{color:var(--navy)}.stepper .current:first-letter{background:var(--navy)}.stepper b{font-size:11px}.form-card{background:#fff;border:1px solid #e2e9ed;border-radius:12px;overflow:hidden;box-shadow:0 16px 50px #113a521a}.form-heading{border-bottom:1px solid #e5ebee;align-items:center;gap:16px;padding:29px 36px;display:flex}.form-heading h1{color:var(--navy);margin:0;font-family:Georgia,Yu Mincho,serif;font-size:25px}.form-heading .eyebrow{margin-bottom:3px}.icon-badge{width:47px;height:47px;color:var(--navy);background:#e3edf2;border-radius:50%;place-items:center;font-size:23px;font-weight:700;display:grid}.employee-form,.identity-panel{padding:34px 36px 38px}.employee-form label,.reason-field,.settings-form label,.login-card label{color:#384e5b;font-size:13px;font-weight:800;display:block}.input-row{gap:10px;margin-top:9px;display:flex}.input-row input,.login-card input,.settings-form input,.filterbar input,.filterbar select{background:#fff;border:1px solid #cbd7dd;border-radius:6px;outline:none;flex:1;padding:14px 15px}.input-row input:focus,.login-card input:focus,.settings-form input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #003e681a}.input-row button{color:#fff;background:var(--navy);border:0;border-radius:6px;padding:0 27px;font-weight:700}.hint{color:#89979f;margin:9px 0 0;font-size:10px}.notice{border-radius:6px;margin:0 36px 25px;padding:13px 16px;font-size:12px;font-weight:700}.notice.error{color:#a33f46;background:#fff0f0}.notice.success{background:var(--mint);color:#276c56}.admin-notice{margin:0 0 17px}.update-guide{border-left:3px solid var(--navy);background:#f0f6f9;border-radius:0 6px 6px 0;margin-bottom:25px;padding:14px 16px}.update-guide b{color:var(--navy);font-size:12px}.update-guide p{color:#5f7480;margin:5px 0 0;font-size:11px;line-height:1.8}.previous-response{background:#f4f7f8;border:1px solid #dce5e9;border-radius:7px;grid-template-columns:1fr auto;gap:4px 12px;margin-bottom:24px;padding:14px 16px;display:grid}.previous-response span{color:#748791;font-size:10px;font-weight:700}.previous-response b{color:var(--navy);grid-area:1/2/3;align-self:center;font-size:19px}.previous-response small{color:#8b9aa2;font-size:9px}.identity{background:#f3f6f7;border-radius:8px;align-items:center;gap:13px;margin-bottom:28px;padding:18px;display:flex}.avatar{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.identity strong,.identity span{display:block}.identity strong{color:var(--navy);font-size:15px}.identity span{color:#74858e;margin-top:4px;font-size:10px}.identity em{color:#8c642c;background:#fff4dc;border-radius:20px;margin-left:auto;padding:6px 9px;font-size:10px;font-style:normal;font-weight:700}.identity-confirm{text-align:center;padding:4px 0 2px}.identity-confirm h2{color:var(--navy);margin:0 0 8px;font-size:18px}.identity-confirm p{color:#71848e;margin:0 0 20px;font-size:11px;line-height:1.7}fieldset{border:0;margin:0 0 23px;padding:0}legend{margin-bottom:11px;font-size:13px;font-weight:700}.choice-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice-grid.three button{grid-template-columns:38px 1fr;padding:13px 10px}.choice-grid button{text-align:left;color:#4f626c;background:#fff;border:1px solid #d4dfe4;border-radius:8px;grid-template-columns:43px 1fr;padding:15px;display:grid}.choice-grid button>span{background:#eef2f4;border-radius:50%;grid-row:1/3;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.choice-grid b{font-size:13px}.choice-grid small{color:#91a0a8;margin-top:3px;font-size:10px}.choice-grid .selected.present>span{background:var(--navy);color:#fff}.choice-grid .selected.absent{border-color:var(--coral);background:#fff4f4}.choice-grid .selected.absent>span{background:var(--coral);color:#fff}.choice-grid .selected.web>span{color:#fff;background:#577eb9}.reason-field,.bus-location-field{margin-bottom:23px}.reason-field>span,.bus-location-field>span{color:var(--coral);margin-left:5px;font-size:10px}.reason-field textarea{resize:vertical;border:1px solid #cbd7dd;border-radius:6px;width:100%;min-height:110px;margin-top:8px;padding:12px;display:block}.reason-field small{text-align:right;color:#98a5ac;font-weight:400;display:block}.bus-location-field select{color:#304b5b;width:100%;font:inherit;background:#fff;border:1px solid #cbd7dd;border-radius:6px;margin-top:8px;padding:13px 38px 13px 12px;display:block}.bus-location-field small{color:#758892;margin-top:6px;font-weight:400;display:block}.text-button{color:#758892;background:0 0;border:0;margin:15px auto 0;font-size:11px;text-decoration:underline;display:block}.checkin-confirm{text-align:center}.checkin-mark{background:var(--mint);color:#268162;border-radius:50%;place-items:center;width:62px;height:62px;margin:0 auto 15px;font-size:30px;font-weight:700;display:grid}.checkin-confirm h2{color:var(--navy);margin:0;font-size:18px}.checkin-confirm p{color:#86969e;margin-bottom:22px;font-size:11px}.completion-screen{text-align:center;padding:42px 36px 40px}.completion-mark{background:var(--mint);color:#268162;border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto 16px;font-size:34px;font-weight:700;display:grid}.completion-screen .eyebrow{color:#49947c}.completion-screen h2{color:var(--navy);margin:0 0 25px;font-family:Georgia,Yu Mincho,serif;font-size:23px}.completion-details{text-align:left;border:1px solid #dce5e9;border-radius:8px;max-width:500px;margin:0 auto;overflow:hidden}.completion-details>div{border-bottom:1px solid #e7edef;grid-template-columns:110px 1fr;gap:15px;padding:13px 16px;display:grid}.completion-details>div:last-child{border-bottom:0}.completion-details span{color:#7a8b94;font-size:10px;font-weight:700}.completion-details b{color:#314b59;font-size:12px}.completion-details .result-present{color:#26745c}.completion-details .result-absent{color:#ad4650}.completion-message{color:#687d88;margin:22px 0;font-size:11px;line-height:1.9}.completion-actions{grid-template-columns:1fr 1fr;gap:10px;max-width:500px;margin:0 auto;display:grid}.completion-actions:has(.primary:only-child){grid-template-columns:1fr}.completion-details .result-web{color:#466fa9}.admin-login{background:radial-gradient(circle at 50% 10%,#e7eff3,#f7f8f8 50%);place-items:center;min-height:calc(100vh - 76px);padding:40px 20px;display:grid}.login-card{text-align:center;background:#fff;border-radius:14px;width:min(430px,100%);padding:40px;box-shadow:0 24px 60px #00345621}.login-card>img{width:95px}.login-card h1{color:var(--navy);margin:4px 0 8px;font-family:Georgia,Yu Mincho,serif}.login-card>p:not(.eyebrow){color:#778992;font-size:12px}.login-card form{text-align:left;margin-top:25px}.login-card input{width:100%;margin:8px 0 16px;display:block}.login-card .notice{margin:15px 0}.login-card>small{color:#9aa7ad;margin-top:15px;display:block}.dashboard{background:#f3f6f7;grid-template-columns:230px 1fr;min-height:100vh;display:grid}.dashboard aside{background:var(--navy-2);color:#fff;flex-direction:column;height:100vh;padding:23px 16px;display:flex;position:sticky;top:0}.admin-brand{border-bottom:1px solid #ffffff1c;align-items:center;gap:10px;padding:0 8px 24px;display:flex}.admin-brand img{object-fit:contain;width:44px;height:44px}.admin-brand b,.admin-brand small{display:block}.admin-brand b{font-size:13px}.admin-brand small{color:#87a5b6;margin-top:3px;font-size:9px}.dashboard aside nav{gap:5px;margin-top:22px;display:grid}.dashboard aside nav button{color:#9eb2bd;text-align:left;background:0 0;border:0;border-radius:6px;padding:12px 13px;font-size:12px;font-weight:700}.dashboard aside nav button.active,.dashboard aside nav button:hover{color:#fff;background:#0b4c73}.admin-user{border-top:1px solid #ffffff1c;align-items:center;gap:8px;margin-top:auto;padding:14px 7px 0;display:flex}.admin-user>span{width:32px;height:32px;color:var(--navy);background:#dbe8ee;border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.admin-user b,.admin-user small{display:block}.admin-user b{font-size:10px}.admin-user small{color:#7897a8;font-size:8px}.admin-user button{color:#7897a8;background:0 0;border:0;margin-left:auto;font-size:9px}.dashboard-main{min-width:0;padding:0 34px 50px}.dashboard-main>header{justify-content:space-between;align-items:center;height:92px;display:flex}.dashboard-main>header h1{color:var(--navy);margin:0;font-family:Georgia,Yu Mincho,serif;font-size:24px}.header-actions{gap:9px;display:flex}.header-actions button{color:#526773;background:#fff;border:1px solid #ccd8de;border-radius:5px;padding:10px 14px;font-size:10px;font-weight:700}.header-actions .primary{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:none}.status-banner{background:var(--navy);color:#fff;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 17px;padding:20px 25px;display:grid;box-shadow:0 12px 24px #003e6829}.status-banner>span{border-radius:4px;grid-row:1/3;padding:6px 9px;font-size:9px;font-weight:700}.status-banner>span.open{background:#22a17a}.status-banner>span.closed{background:#6f8490}.status-banner>b{font-size:16px}.status-banner>small{color:#a7c0ce;font-size:9px}.status-banner>div{color:#a7c0ce;grid-area:1/3/3;font-size:10px}.status-banner strong{color:#fff;font-size:24px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin:17px 0;display:grid}.kpi-grid article{background:#fff;border:1px solid #e0e7ea;border-radius:7px;padding:18px 20px;position:relative}.kpi-grid article:before{content:"";background:#6b9cb6;border-radius:0 3px 3px 0;width:3px;position:absolute;top:15px;bottom:15px;left:0}.kpi-grid span,.kpi-grid strong,.kpi-grid em{display:block}.kpi-grid span{color:#7b8b93;font-size:10px;font-weight:700}.kpi-grid strong{color:var(--navy);margin:7px 0 6px;font-family:Georgia,serif;font-size:34px}.kpi-grid strong small{margin-left:3px;font-family:inherit;font-size:12px}.kpi-grid em{color:#779088;font-size:8px;font-style:normal}.attention em{color:var(--coral)}.dashboard-analytics{grid-template-columns:minmax(0,1.25fr) minmax(370px,.75fr);align-items:start;gap:14px;display:grid}.dashboard-alerts{gap:14px;display:grid}.panel{background:#fff;border:1px solid #e0e7ea;border-radius:8px;padding:21px}.panel-title{border-bottom:1px solid #e8edef;justify-content:space-between;align-items:center;gap:12px;padding-bottom:15px;display:flex}.panel-title h2{color:var(--navy);margin:0;font-size:14px}.panel-title p{color:#8b9aa2;margin:4px 0 0;font-size:9px}.panel-title button{color:var(--navy);white-space:nowrap;background:0 0;border:0;font-size:9px;font-weight:700}.alert-panel{min-height:0}.exception-list{max-height:300px;overflow:auto}.exception-list article{border-bottom:1px solid #edf1f3;align-items:flex-start;gap:10px;padding:14px 0;display:flex}.exception-list article:last-child{border:0}.exception-list .avatar{width:39px;height:39px;color:var(--navy);background:#d9e8ee;border-radius:50%;flex:none;place-items:center;font-size:8px;font-weight:700;display:grid}.exception-list .avatar.award-absent{color:#b66d36;background:#fff0e4}.exception-list .avatar.award-unchecked{color:var(--navy);background:#e8f0f4}.exception-list article>div{min-width:0}.exception-list b,.exception-list small{display:block}.exception-list b{color:#314b59;font-size:11px}.exception-list b small{margin-left:8px;font-weight:400;display:inline}.exception-list small{color:#8a99a1;margin-top:3px;font-size:8px;line-height:1.5}.exception-list p{color:#677b85;margin:7px 0 0;font-size:9px}.exception-list em{border-radius:20px;flex:none;margin-left:auto;padding:5px 8px;font-size:8px;font-style:normal;font-weight:700}.exception-list em.award-absent{color:#ad4650;background:#ffeaec}.exception-list em.award-unchecked{color:var(--navy);background:#e8f0f4}.empty-state{text-align:center;color:#81929a;padding:35px 15px}.empty-state b{color:#536a76;font-size:12px}.empty-state p{margin:7px 0 0;font-size:9px}.chart-stack{gap:14px;display:grid}.chart-card{padding-bottom:17px}.donut-wrap{grid-template-columns:132px 1fr;align-items:center;gap:20px;padding-top:18px;display:grid}.donut{border-radius:50%;place-items:center;width:124px;height:124px;display:grid;position:relative}.donut:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:14px}.donut>div{z-index:1;text-align:center;position:relative}.donut strong,.donut span{display:block}.donut strong{color:var(--navy);font-family:Georgia,serif;font-size:28px}.donut span{color:#82929a;font-size:8px}.legend{margin:0;padding:0;list-style:none}.legend li{color:#71838c;align-items:center;gap:7px;padding:5px 0;font-size:9px;display:flex}.legend i{background:#d9e1e4;border-radius:50%;width:8px;height:8px}.legend b{color:#374f5d;margin-left:auto}.people-panel{overflow:hidden}.filter-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px;display:flex}.filter-heading h2{color:var(--navy);margin:0;font-size:14px}.filter-heading p{color:#8b9aa2;margin:4px 0 0;font-size:9px}.filter-heading button{color:#526773;background:#fff;border:1px solid #d2dde2;border-radius:5px;padding:8px 11px;font-size:9px;font-weight:700}.filter-grid{background:#f4f7f8;border-radius:7px;grid-template-columns:repeat(5,minmax(135px,1fr));gap:10px;margin:0 -3px 16px;padding:15px;display:grid}.filter-grid label{color:#617681;font-size:9px;font-weight:700}.filter-grid input,.filter-grid select{color:#354f5c;background:#fff;border:1px solid #cbd7dd;border-radius:5px;outline:none;width:100%;margin-top:5px;padding:9px 10px;font-size:10px;display:block}.filter-grid input:focus,.filter-grid select:focus{border-color:var(--navy);box-shadow:0 0 0 2px #003e6814}.table-summary{color:#6d8089;align-items:baseline;gap:4px;margin-bottom:9px;font-size:9px;display:flex}.table-summary b{color:var(--navy);font-size:16px}.table-summary span{color:#99a5aa;margin-left:auto}.table-scroll{border:1px solid #e0e7ea;border-radius:6px;overflow:auto}.people-panel table{border-collapse:separate;border-spacing:0;width:100%;min-width:1500px}.people-panel th{z-index:1;color:#7d8d95;text-align:left;white-space:nowrap;background:#f4f7f8;border-bottom:1px solid #dfe7ea;padding:0;position:sticky;top:0}.people-panel th>button{width:100%;color:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;padding:11px;font-size:9px;font-weight:700}.people-panel th>button span{color:#aab5ba;margin-left:6px;font-size:7px}.people-panel td{color:#405862;white-space:nowrap;border-bottom:1px solid #e8edef;padding:12px 11px;font-size:10px}.people-panel tbody tr:hover td{background:#f8fafb}.people-panel .reason-cell{text-overflow:ellipsis;max-width:230px;overflow:hidden}.tag{border-radius:20px;padding:5px 8px;font-size:8px;font-weight:700;display:inline-block}.tag.present{color:#26745c;background:#e4f2ed}.tag.absent{color:#ad4650;background:#ffeaec}.tag.waiting{color:#72828a;background:#edf1f3}.pagination{color:#6d8089;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;font-size:9px;display:flex}.pagination button{color:#526773;background:#fff;border:1px solid #ccd8de;border-radius:5px;padding:7px 12px;font-size:9px;font-weight:700}.pagination button:disabled{opacity:.4}.pagination label{align-items:center;gap:6px;display:flex}.pagination select{color:#354f5c;min-width:64px;font:inherit;background:#fff;border:1px solid #ccd8de;border-radius:5px;padding:7px 24px 7px 9px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.settings-form{gap:15px;margin-top:18px;display:grid}.settings-form input{width:100%;margin-top:6px;padding:11px;display:block}.event-date-list>b{color:#384e5b;margin-bottom:6px;font-size:13px;display:block}.event-date-list>div{grid-template-columns:1fr auto;gap:8px;margin-bottom:8px;display:grid}.event-date-list input{margin:0}.event-date-list button{color:#526773;background:#fff;border:1px solid #ccd8de;border-radius:5px;padding:0 12px;font-size:9px;font-weight:700}.event-date-list button:disabled{opacity:.4}.event-date-list .add-date{padding:9px 12px}.switch-row{background:#f6f9fa;border:1px solid #d8e2e6;border-radius:7px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:13px;display:grid!important}.switch-row>span:first-child b,.switch-row>span:first-child small{display:block}.switch-row>span:first-child small{color:#7f9098;margin-top:4px;font-size:8px;font-weight:400}.switch-row>em{color:var(--navy);font-size:10px;font-style:normal;font-weight:700}.switch{display:block}.switch input{opacity:0;pointer-events:none;position:absolute}.switch i{background:#cbd5da;border-radius:30px;width:42px;height:23px;display:block;position:relative}.switch i:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+i:after{left:22px}.switch input:focus-visible+i{outline:3px solid #003e6833}.qr-placeholder{border:1px dashed #bfcdd4;border-radius:7px;align-items:center;gap:15px;padding:15px;display:flex}.qr-pattern{background:repeating-conic-gradient(#0d3349 0 25%,#fff 0 50%) 0/14px 14px;color:#0000;border:6px solid #fff;outline:1px solid #d5dfe3;flex:none;width:72px;height:72px}.qr-placeholder b{color:var(--navy);font-size:12px}.qr-placeholder p{color:#82929a;font-size:9px;line-height:1.5}.qr-placeholder button{color:var(--navy);background:0 0;border:0;padding:0;font-size:9px;font-weight:700;text-decoration:underline}.kpi-grid{grid-template-columns:repeat(5,1fr)}.exception-list em.award-web{color:#466fa9;background:#edf3fc}.panel-count{color:var(--navy);white-space:nowrap;background:#e8f0f4;border-radius:20px;padding:6px 10px;font-size:9px;font-weight:700}.exception-list .avatar.response-change{color:#71549b;background:#f1ecfa}.response-transition{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.response-transition i{color:#80919a;font-style:normal}.response-transition time{color:#71838c;margin-left:4px;font-size:8px}.recent-changes-panel .exception-list article>div{flex:1}.recent-changes-panel .exception-list em.award-target{color:#8a5b22;background:#fff2dc}.recent-changes-panel .exception-list em.award-other{color:#617681;background:#edf1f3}.tag.web{color:#466fa9;background:#edf3fc}.people-panel th:first-child,.people-panel td:first-child{z-index:3;background:#fff;min-width:95px;position:sticky;left:0}.people-panel th:nth-child(2),.people-panel td:nth-child(2){z-index:3;background:#fff;min-width:150px;position:sticky;left:95px;box-shadow:3px 0 5px #1a36450d}.people-panel th:first-child,.people-panel th:nth-child(2){z-index:5;background:#f4f7f8}.people-panel tbody tr:hover td:first-child,.people-panel tbody tr:hover td:nth-child(2){background:#f8fafb}.analytics-panel{overflow:hidden}.analytics-header{justify-content:space-between;align-items:end;gap:20px;padding-bottom:18px;display:flex}.analytics-header h2{color:var(--navy);margin:0;font-size:17px}.analytics-header p{color:#7d8e97;margin:5px 0 0;font-size:10px}.analytics-header label{color:#617681;font-size:10px;font-weight:700}.analytics-header select{background:#fff;border:1px solid #cbd7dd;border-radius:5px;min-width:180px;margin-top:5px;padding:9px 30px 9px 10px;display:block}.analytics-table-wrap{border:1px solid #e0e7ea;border-radius:6px;overflow:auto}.analytics-table-wrap table{border-collapse:collapse;width:100%;min-width:900px}.analytics-table-wrap th{color:#748791;text-align:left;white-space:nowrap;background:#f4f7f8;padding:11px;font-size:9px}.analytics-table-wrap td{color:#405862;white-space:nowrap;border-top:1px solid #e8edef;padding:12px 11px;font-size:10px}.analytics-table-wrap td:first-child{min-width:180px}.analytics-bar{background:#edf1f3;border-radius:10px;min-width:80px;height:10px;display:flex;overflow:hidden}.analytics-bar i{height:100%}.analytics-overview{gap:20px;display:grid}.analytics-intro h2,.analytics-group-heading h2{color:var(--navy);margin:0;font-size:17px}.analytics-intro p,.analytics-group-heading p{color:#7d8e97;margin:5px 0 0;font-size:10px}.analytics-group-heading{margin-bottom:11px}.analytics-chart-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.analytics-chart-grid .chart-card{min-width:0}.analytics-chart-grid .panel-title h2{overflow-wrap:anywhere}.analytics-chart-grid .donut-wrap{grid-template-columns:112px 1fr;gap:14px}.analytics-chart-grid .donut{width:106px;height:106px}.analytics-chart-grid .donut strong{font-size:24px}.analytics-accordion{padding:0;overflow:hidden}.analytics-accordion>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:18px 21px;list-style:none;display:flex}.analytics-accordion>summary::-webkit-details-marker{display:none}.analytics-accordion>summary span,.analytics-accordion>summary b,.analytics-accordion>summary small{display:block}.analytics-accordion>summary b{color:var(--navy);font-size:16px}.analytics-accordion>summary small{color:#7d8e97;margin-top:4px;font-size:12px}.analytics-accordion>summary em{color:var(--navy);font-size:11px;font-style:normal}.analytics-accordion>summary em:after{content:"＋";margin-left:8px}.analytics-accordion[open]>summary{border-bottom:1px solid var(--line)}.analytics-accordion[open]>summary em:after{content:"−"}.analytics-accordion-content{padding:18px 21px 21px}.bus-analytics-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.bus-analytics-summary>div{color:#617681;background:#f4f7f8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:12px;display:flex}.bus-analytics-summary b{color:var(--navy);font-size:22px}.bus-analytics-summary b small{margin-left:3px;font-size:11px;font-weight:400}.bus-analytics-summary .attention{color:#9b6432;background:#fff4e7}.bus-location-list{gap:10px;display:grid}.bus-location-row{color:#405862;grid-template-columns:minmax(150px,1.1fr) minmax(180px,3fr) 54px;align-items:center;gap:14px;font-size:12px;display:grid}.bus-location-row>span{overflow-wrap:anywhere}.bus-location-row>div{background:#e9eef1;border-radius:8px;height:12px;overflow:hidden}.bus-location-row i{background:var(--navy);border-radius:8px;min-width:0;height:100%;display:block}.bus-location-row>b{text-align:right;color:var(--navy);font-size:15px}.bus-location-row>b small{margin-left:2px;font-size:10px;font-weight:400}.department-company-list{gap:22px;display:grid}.department-company-group{min-width:0}.department-company-group+.department-company-group{border-top:1px solid var(--line);padding-top:22px}.department-company-heading{align-items:center;gap:10px;margin-bottom:12px;display:flex}.department-company-heading>span{color:#617681;background:#e8eef3;border-radius:4px;padding:4px 7px;font-size:10px}.department-company-heading h3{color:var(--navy);margin:0;font-size:15px}.department-company-heading small{color:#7d8e97;margin-left:auto;font-size:11px}@media (max-width:1100px){.filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.dashboard-analytics{grid-template-columns:1fr}.chart-stack{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:960px){.hero{background:#f8f6f0;grid-template-columns:1fr}.hero-visual{background:#e8eef1;min-height:460px}.hero-copy{padding:62px 7vw 40px}.dashboard{grid-template-columns:72px 1fr}.dashboard aside{padding:18px 9px}.admin-brand div,.dashboard aside nav button,.admin-user div,.admin-user button{font-size:0}.admin-brand{padding:0 3px 20px}.admin-brand img{width:45px}.dashboard aside nav button{text-align:center;padding:13px 5px;font-size:17px}.admin-user{justify-content:center}.kpi-grid{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}}@media (max-width:680px){.topbar{align-items:flex-start;height:auto;padding:11px 15px}.brand img{width:39px;height:39px}.brand b{font-size:13px}.topbar nav{z-index:20;background:#fff;border-top:1px solid #dce4e8;justify-content:space-around;padding:8px;position:fixed;bottom:0;left:0;right:0}.topbar nav button{padding:9px 7px;font-size:10px}.event-strip{align-items:flex-start;min-height:100px;padding:18px 20px}.event-strip strong{font-size:19px}.event-meta{display:none}.hero{min-height:auto}.hero-copy{padding:42px 23px 34px}.hero-copy .home-intro{font-size:13px;line-height:1.9}.hero-actions{grid-template-columns:1fr 1fr;gap:8px}.hero-actions button{min-height:62px;padding:10px 7px;font-size:12px}.hero-visual{min-height:330px}.hero-visual img{width:78%}.hero-visual .sun{width:270px;height:270px;top:35px}.quick-guide{grid-template-columns:1fr}.quick-guide article{padding:18px 24px}.quick-guide article>span{font-size:22px}footer{padding-bottom:80px}.stepper b{display:none}.stepper i{width:42px}.form-heading,.employee-form,.identity-panel,.completion-screen{padding-left:20px;padding-right:20px}.input-row{display:grid}.input-row button{padding:14px}.choice-grid{grid-template-columns:1fr}.notice{margin-left:20px;margin-right:20px}.completion-screen h2{font-size:20px}.completion-details>div{grid-template-columns:80px 1fr}.completion-actions{grid-template-columns:1fr}.dashboard{display:block}.dashboard aside{z-index:20;flex-direction:row;height:62px;padding:6px 10px;position:fixed;inset:auto 0 0}.admin-brand,.admin-user{display:none}.dashboard aside nav{justify-content:space-around;width:100%;margin:0;display:flex}.dashboard aside nav button{font-size:0}.dashboard aside nav button:first-letter{font-size:19px}.dashboard-main{padding:0 15px 85px}.dashboard-main>header{align-items:flex-start;height:auto;padding:20px 0 15px}.header-actions{display:grid}.header-actions button{padding:8px}.status-banner{grid-template-columns:auto 1fr}.status-banner>div{display:none}.kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.kpi-grid article{padding:14px}.kpi-grid strong{font-size:27px}.chart-stack{grid-template-columns:1fr}.donut-wrap{grid-template-columns:110px 1fr}.donut{width:104px;height:104px}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid label:first-child{grid-column:1/-1}.table-summary span{display:none}.settings-grid{display:block}.settings-grid .panel{margin-bottom:12px}}.access-links-panel{grid-column:1/-1}.access-link-row{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.access-link-row input{min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.access-link-row button{height:38px;color:var(--navy);background:#fff;border:1px solid #cbd7dd;border-radius:5px;padding:0 14px;font-size:9px;font-weight:700}.access-links-panel label>small{color:#81929a;margin-top:5px;font-size:8px;font-weight:400;display:block}.access-security-note{color:#775a31;background:#fff6e8;border-radius:6px;padding:12px 14px}.access-security-note b{font-size:10px}.access-security-note p{margin:4px 0 0;font-size:8px;line-height:1.6}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex="-1"]:focus-visible{outline-offset:2px;outline:3px solid #003e684d}.brand{min-height:44px;padding:8px 4px}.home-title{color:var(--navy);margin:8px 0 20px;font-family:Georgia,Yu Mincho,serif;font-size:clamp(28px,4vw,46px);line-height:1.25}.hero.access-only{min-height:calc(100vh - 76px)}.hero.access-only .hero-copy{align-self:center}.availability-message{color:#405965;background:#f2f6f8;border:1px solid #d7e2e7;border-radius:8px;margin:0 36px 8px;padding:15px 17px}.availability-message b{color:var(--navy);font-size:14px;display:block}.availability-message p{margin:5px 0 0;font-size:12px;line-height:1.7}.stepper{padding:0;list-style:none}.stepper li{color:#8a99a1;align-items:center;gap:8px;display:flex}.stepper li>span{color:#657780;background:#e5ebee;border-radius:50%;place-items:center;width:27px;height:27px;font-weight:800;display:grid}.stepper li.current{color:var(--navy)}.stepper li.current>span{background:var(--navy);color:#fff}.stepper li b{font-size:11px}.validation-hint{color:#8b4b51;margin:9px 0 0;font-size:12px;font-weight:700}.choice-grid button[aria-checked=true]{position:relative;box-shadow:inset 0 0 0 2px}.choice-grid button[aria-checked=true]:after{content:"選択中";font-size:9px;font-weight:800;position:absolute;top:7px;right:8px}.hint{font-size:12px;line-height:1.7}.identity span,.identity-confirm p,.completion-message,.completion-details span,.completion-details b{font-size:12px}.text-button{min-height:44px;padding:10px 14px}.environment-badge{color:#9b5f2f;letter-spacing:.04em;vertical-align:middle;background:#fff0e4;border-radius:4px;margin-left:8px;padding:4px 7px;font-size:9px;display:inline-block}.last-updated{color:#728690;margin-top:5px;font-size:11px;display:block}.loading-state{color:#617783;text-align:center;padding:45px;font-size:13px}.dashboard aside nav button{align-items:center;gap:9px;display:flex}.dashboard aside nav button>span{text-align:center;width:20px;font-size:16px}.dashboard aside nav button>b{font-size:12px}.mobile-logout{display:none!important}.panel-title .panel-count{margin-left:auto}.modal-backdrop{z-index:100;background:#041c2a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-modal{background:#fff;border-radius:12px;width:min(600px,100%);max-height:calc(100vh - 40px);padding:28px;overflow:auto;box-shadow:0 30px 80px #00000040}.confirm-modal h2{color:var(--navy);margin:4px 0 20px;font-size:22px}.confirm-modal dl{border:1px solid #dce5e9;border-radius:7px;margin:0 0 20px;overflow:hidden}.confirm-modal dl>div{border-bottom:1px solid #e6ecef;grid-template-columns:90px 1fr;gap:12px;padding:11px 13px;display:grid}.confirm-modal dl>div:last-child{border:0}.confirm-modal dt{color:#70838d;font-size:12px;font-weight:700}.confirm-modal dd{overflow-wrap:anywhere;color:#314b59;margin:0;font-size:13px}.confirm-modal fieldset{gap:9px;display:grid}.confirm-modal fieldset>label{cursor:pointer;border:1px solid #d5e0e5;border-radius:8px;gap:10px;padding:14px;display:flex}.confirm-modal fieldset>label.selected{border-color:var(--navy);background:#f0f6f9}.confirm-modal fieldset span b,.confirm-modal fieldset span small{display:block}.confirm-modal fieldset span small{color:#687d88;margin-top:4px;font-size:11px;line-height:1.6}.import-note{color:#775a31;background:#fff6e8;border-radius:7px;margin:18px 0;padding:13px;font-size:12px}.import-note p{margin:4px 0 0;line-height:1.6}.modal-actions{grid-template-columns:1fr 1.5fr;gap:10px;display:grid}.modal-actions button{background:#fff;border:1px solid #cbd7dd;border-radius:7px;min-height:46px;font-weight:700}.modal-actions .primary{background:var(--navy);color:#fff}.settings-save-bar{z-index:10;background:#eef3f5;border:1px solid #d4e0e5;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;padding:13px 17px;display:flex;position:sticky;top:0;box-shadow:0 5px 15px #1536470f}.settings-save-bar.dirty{background:#fff8ea;border-color:#e6ce9e}.settings-save-bar b,.settings-save-bar small,.settings-save-bar em{display:block}.settings-save-bar b{color:#344f5c;font-size:13px}.settings-save-bar small{color:#71838c;margin-top:3px;font-size:11px}.settings-save-bar em{color:#a33f46;margin-top:4px;font-size:11px;font-style:normal;font-weight:700}.settings-save-bar button{flex:none;min-height:42px}.disabled-field{opacity:.55}.qr-placeholder{border-style:solid;align-items:flex-start}.qr-image,.qr-loading{object-fit:contain;background:#fff;border:1px solid #d7e1e6;border-radius:6px;flex:none;width:150px;height:150px}.qr-loading{color:#788b94;place-items:center;font-size:12px;display:grid}.qr-actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.qr-actions button{background:#fff;border:1px solid #cbd7dd;border-radius:6px;min-height:40px;padding:8px 12px;text-decoration:none}.analytics-table-wrap{padding:0}.analytics-table-wrap td:first-child b,.analytics-table-wrap td:first-child small{display:block}.analytics-table-wrap td:first-child small{color:#7f919a;margin-top:3px;font-size:11px}.analytics-table-wrap th{font-size:11px}.analytics-table-wrap td{font-size:12px}.analytics-bar{min-width:180px;height:14px}.filter-grid label,.filter-grid input,.filter-grid select,.table-summary,.people-panel th>button,.people-panel td,.pagination,.pagination button{font-size:12px}.tag{font-size:11px}.panel-title h2,.filter-heading h2{font-size:16px}.panel-title p,.filter-heading p,.analytics-intro p,.analytics-group-heading p{font-size:12px;line-height:1.6}.exception-list b{font-size:13px}.exception-list b small,.exception-list small,.exception-list p,.exception-list em,.response-transition time{font-size:11px}.legend li{font-size:12px}@media (max-width:680px){.topbar{align-items:center}.brand{min-width:90px}.topbar nav{padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.topbar nav button{min-width:72px;min-height:48px;padding:10px 9px;font-size:12px}footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.stepper{justify-content:space-between;gap:3px;margin-bottom:22px}.stepper i,.stepper.four-steps i{flex:1;width:auto;margin:0 2px}.stepper li{justify-items:center;gap:4px;min-width:47px;display:grid}.stepper li b{white-space:nowrap;font-size:9px;display:block}.availability-message{margin:0 20px 8px}.choice-grid.three{grid-template-columns:1fr}.choice-grid.three button{grid-template-columns:44px 1fr;min-height:82px;padding:15px}.choice-grid button[aria-checked=true]:after{font-size:10px}.hero.access-only{min-height:auto}.dashboard aside{height:72px}.dashboard aside nav{gap:2px}.dashboard aside nav button{justify-items:center;gap:2px;min-width:0;padding:6px 3px;display:grid}.dashboard aside nav button>span{font-size:18px}.dashboard aside nav button>b{white-space:nowrap;font-size:8px;display:block}.mobile-logout{display:grid!important}.dashboard-main{padding-bottom:95px}.dashboard-main>header{gap:12px}.header-actions{gap:6px}.header-actions button{min-height:40px;font-size:10px}.settings-save-bar{align-items:stretch;display:grid;position:relative}.modal-actions{grid-template-columns:1fr}.qr-placeholder{display:grid}.qr-image,.qr-loading{aspect-ratio:1;width:min(220px,100%);height:auto;margin:auto}.filter-grid label,.filter-grid input,.filter-grid select{font-size:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--navy:#003c64;--navy-2:#003c64;--ink:#0b2640;--muted:#61758a;--cream:#f5f6f8;--line:#e6ecf3;--gold:#bd8b5e;--brand-blue:#e6ecf3;--surface:#fff}html,body{background:#f5f6f8}body,body *{font-family:var(--font-noto-sans-jp),"Noto Sans JP",sans-serif!important}.event-strip strong,.hero h1,.home-title,.form-heading h1,.completion-screen h2,.login-card h1,.dashboard-main>header h1,.kpi-grid strong,.donut strong,.quick-guide article>span{font-family:inherit}.eyebrow{color:var(--gold);letter-spacing:.14em;font-weight:800}.topbar{border-bottom:1px solid var(--line);height:86px;padding:0 clamp(24px,4vw,64px);box-shadow:0 4px 18px #003c6409}.brand{width:210px;min-height:52px}.brand img{width:100%;height:auto;display:block}.topbar nav{gap:10px}.topbar nav button{color:#334d64;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 20px;font-size:14px;display:inline-flex}.topbar nav button:hover,.topbar nav button.active{background:var(--navy);color:#fff}.event-strip{min-height:118px;color:var(--navy);border-bottom:1px solid var(--line);background:#fff;padding:27px clamp(24px,5vw,78px)}.event-strip .eyebrow{color:var(--gold)}.event-strip strong{letter-spacing:.015em;white-space:pre-line;margin-top:5px;font-size:27px;font-weight:750}.event-meta{color:#536b80}.event-meta b{color:var(--navy)}.hero{border-bottom:1px solid var(--line);background-color:#eee7dc;background-image:url(/home-hero-desktop-v6.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;grid-template-columns:1fr;min-height:630px;overflow:hidden}.hero-copy{align-self:center;width:min(58%,820px);padding:clamp(64px,8vw,110px) clamp(30px,7vw,112px)}.hero .home-title{max-width:680px;color:var(--navy);letter-spacing:.02em;white-space:pre-line;overflow-wrap:anywhere;margin:12px 0 25px;font-size:clamp(28px,4vw,50px);font-weight:750}.home-event-meta{max-width:610px;color:var(--navy);gap:14px;margin:0;display:grid}.home-event-meta>div{grid-template-columns:3em minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.home-event-meta span{color:var(--gold);letter-spacing:.08em;font-size:12px}.home-event-meta b{color:var(--navy);font-size:16px;line-height:1.6}.home-message{color:#334d64;white-space:pre-line;overflow-wrap:anywhere;max-width:610px;margin:20px 0 0;font-size:14px;line-height:1.8}.hero-copy .home-intro{color:#415c72;max-width:650px;font-size:15px;line-height:2}.hero-actions{gap:14px;max-width:610px;margin-top:38px}.hero-actions button{letter-spacing:.02em;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:62px;font-size:15px;display:inline-flex}.primary{border-color:var(--navy);background:linear-gradient(135deg,#003c64,#062f50);box-shadow:0 11px 24px #003c6429}.primary:hover{background:#0a4e7b}.secondary{color:var(--navy);border-color:var(--navy);background:#fff}.secondary:hover{background:#f0f4f8}.hero-actions .secondary:hover,.hero-actions .secondary:focus-visible{color:#fff;background:var(--navy)}.access-guide{background:#fffaf3;border-color:#e2d1ba}.content{background:#f5f6f8;padding-top:54px}.form-card,.panel,.login-card{border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px #003c6412}.form-heading{border-bottom-color:var(--line);background:linear-gradient(115deg,#fff,#faf7f2)}.icon-badge{color:var(--navy);background:var(--brand-blue);border:1px solid #d8e2ed}.input-row input,.login-card input,.settings-form input,.filter-grid input,.filter-grid select,.analytics-header select{background:#fff;border-color:#d7e0e9;border-radius:8px}.input-row input:focus,.login-card input:focus,.settings-form input:focus,.filter-grid input:focus,.filter-grid select:focus{border-color:var(--navy);box-shadow:0 0 0 3px #003c641a}.choice-grid button{border-color:#d8e2eb;border-radius:10px}.choice-grid .selected.present{border-color:var(--navy);background:#edf3f8}.choice-grid .selected.web{background:#f0f4f8;border-color:#6685a0}.completion-mark,.checkin-mark{color:var(--navy);background:var(--brand-blue)}.ui-icon,.icon-badge img,.identity-confirm-icon img,.choice-grid button>span img,.checkin-mark img{object-fit:contain;filter:brightness(0)saturate()invert(18%)sepia(41%)saturate(2015%)hue-rotate(166deg)brightness(88%)contrast(104%);display:block}.ui-icon{flex:0 0 20px;width:20px;height:20px}.topbar nav button:hover .ui-icon,.topbar nav button.active .ui-icon,.hero-actions .secondary:hover .ui-icon,.hero-actions .secondary:focus-visible .ui-icon,.primary .ui-icon{filter:brightness(0)invert()}.icon-badge img{width:24px;height:24px}.identity-confirm-icon{background:var(--brand-blue);border:1px solid #d8e2ed;border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 14px;display:grid}.identity-confirm-icon img{width:28px;height:28px}.choice-grid button>span img{width:23px;height:23px}.choice-grid button.selected>span img{filter:brightness(0)invert()}.choice-grid.three button>span{grid-row:1}.choice-grid.three b{align-self:center}.checkin-mark{place-items:center;display:grid}.checkin-mark img{width:30px;height:30px}.admin-login{background:radial-gradient(circle at 50% 15%,#fffaf4,#f5f6f8 56%)}.login-card{padding:46px}.login-card>img{width:210px;height:auto;margin-bottom:22px}.dashboard{background:#f5f6f8;grid-template-columns:250px minmax(0,1fr)}.dashboard aside{color:var(--navy);border-right:1px solid var(--line);background:#fff;padding:28px 16px;box-shadow:5px 0 24px #003c6409}.admin-brand{border-bottom:1px solid var(--line);min-height:80px;padding:5px 16px 27px}.admin-brand img{content:url(/mkpass-logo.svg);width:180px;height:auto}.admin-brand div{display:none}.dashboard aside nav{gap:8px}.dashboard aside nav button{color:#263f57;border:1px solid #0000;border-radius:8px;min-height:50px;padding:13px 16px;font-size:13px}.dashboard aside nav button:hover{color:var(--navy);background:#f1f4f8}.dashboard aside nav button.active{color:#fff;background:linear-gradient(135deg,#003c64,#062f50);box-shadow:0 8px 18px #003c6429}.admin-user{border-top-color:var(--line)}.admin-user>span{color:var(--navy);background:var(--brand-blue)}.admin-user b{color:var(--navy)}.admin-user small,.admin-user button{color:#6f8192}.dashboard-main{padding:0 clamp(20px,3vw,46px) 60px}.dashboard-main>header h1{letter-spacing:.01em;font-size:27px;font-weight:750}.header-actions button{border-color:#d4dee7;border-radius:7px;min-height:42px;font-size:11px}.status-banner{background:linear-gradient(135deg,#003c64,#062f50);border-radius:10px;box-shadow:0 12px 28px #003c6424}.kpi-grid article,.panel{border-color:var(--line);border-radius:10px;box-shadow:0 8px 24px #003c640a}.kpi-grid article:before{background:var(--gold)}.kpi-grid article.attention:before{background:#a75864}.panel-title{border-bottom-color:var(--line)}.panel-title h2,.filter-heading h2,.analytics-intro h2,.analytics-group-heading h2{color:var(--navy)}.filter-grid{border:1px solid var(--line);background:#f5f6f8}.people-panel th,.analytics-table-wrap th{color:#4c6376;background:#edf1f6}.people-panel th>button.sort-active{color:var(--navy);background:#dfe8f1}.people-panel th:first-child,.people-panel th:nth-child(2){background:#edf1f6}.tag.award{color:#8a5f37;background:#f6eee4}.tag.optional{color:#4b6073;background:#e9eef4}.analytics-bar .present{background:var(--navy)}.analytics-bar .absent{background:#a75864}.analytics-bar .web{background:#7d95ad}.analytics-bar .waiting{background:#d8e0e8}.donut:after{background:#fff}.legend i.blue{background:var(--navy)}.legend i.coral{background:#a75864}.legend i.web{background:#7d95ad}.settings-save-bar.dirty,.import-note,.access-security-note{color:#735437;background:#fbf5ed;border-color:#ead9c5}.switch input:checked+i{background:var(--navy)}.qr-image{border-color:var(--line)}footer{background:var(--navy);font-size:12px}.admin-entry{font-size:12px}.settings-form textarea{resize:vertical;background:#fff;border:1px solid #d7e0e9;border-radius:8px;outline:none;width:100%;min-height:88px;margin-top:6px;padding:11px;line-height:1.6;display:block}.settings-form textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px #003c641a}.field-help{color:#7f9098;margin-top:6px;font-size:9px;font-weight:400;display:block}.employee-form .update-guide{margin:20px 0 0}.checkin-confirm h2{margin-bottom:22px}.completion-details+.completion-actions{margin-top:24px}.topbar,.event-strip{flex:none}.app-shell>.hero,.app-shell>.content,.app-shell>.admin-login{flex:1 0 auto}.environment-badge{margin:0 0 7px}@media (min-width:961px){.app-shell>.hero{flex:auto;min-height:0}.hero-copy{justify-content:flex-start;place-self:start}.hero-actions{max-width:390px}}body{font-weight:400}b,strong,label,legend,nav,nav *,button,.eyebrow{font-weight:400!important}h1,h2,h3,.home-title,.form-heading h1,.completion-screen h2,.dashboard-main>header h1,.kpi-grid strong,.donut strong,.status-banner strong,.table-summary b,.notice.error,.validation-hint,.attention,.tag.absent,.tag.award-unchecked{font-weight:500!important}@media (max-width:960px){.topbar{justify-content:center;align-items:center;height:86px;padding:0 20px}.topbar>.brand{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.topbar>nav{z-index:30;padding:8px max(16px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-top:1px solid var(--line);background:#fff;justify-content:center;position:fixed;inset:auto 0 0;transform:none;box-shadow:0 -5px 20px #003c6412}.app-shell>footer{height:118px;padding-bottom:64px}.hero{background-image:url(/home-hero-tablet-v6.webp);grid-template-columns:1fr;align-items:start}.hero-copy{justify-content:flex-start;place-self:start center;width:min(72%,560px);padding:46px 0 34px}.hero-actions{grid-template-columns:1fr;width:100%;max-width:none}.dashboard{grid-template-columns:84px 1fr}.dashboard aside{padding:18px 10px}.admin-brand{justify-content:center;padding:4px 0 20px}.admin-brand img{content:url(/mkpass-favicon.svg);width:58px}.dashboard aside nav button{justify-content:center}.dashboard aside nav button>b{display:none}}@media (max-width:680px){.topbar{height:66px;padding:8px 16px}.brand{width:155px;min-width:155px}.topbar nav button{flex-direction:column;gap:3px;padding:6px 9px}.topbar nav button .ui-icon{flex-basis:19px;width:19px;height:19px}.event-strip{min-height:94px;padding:17px 20px}.event-strip strong{font-size:20px}.hero-copy{width:calc(100% - 48px);padding:32px 0 34px}.hero{background-image:url(/home-hero-mobile-v6.webp);background-position:50%}.hero .home-title{font-size:28px}.home-event-meta{gap:10px}.home-event-meta>div{grid-template-columns:3em minmax(0,1fr);gap:5px}.home-event-meta span{font-size:11px}.home-event-meta b{font-size:14px}.home-message{margin-top:16px;font-size:13px;line-height:1.75}.hero-actions{grid-template-columns:1fr}.hero-actions button{min-height:56px}.content{padding-top:34px}.dashboard aside{border-top:1px solid var(--line);background:#fff;border-right:0}.admin-brand{display:none}.dashboard aside nav button.active{box-shadow:none}.dashboard-main>header h1{font-size:23px}.panel{border-radius:9px}footer{height:calc(132px + env(safe-area-inset-bottom));padding:0 20px calc(62px + env(safe-area-inset-bottom));grid-template-rows:1fr;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}footer span:first-child{text-overflow:ellipsis;white-space:nowrap;grid-area:1/1;overflow:hidden}footer .admin-entry{grid-area:1/2}}.design-preview-menu{background:#f5f6f8;place-items:start center;min-height:100svh;padding:56px 24px;display:grid}.design-preview-menu>section{border:1px solid var(--line);background:#fff;border-radius:12px;width:min(760px,100%);padding:36px;box-shadow:0 12px 34px #003c6412}.design-preview-menu img{width:190px;height:auto}.design-preview-menu h1{color:var(--navy);margin:28px 0 8px;font-size:28px}.design-preview-menu>section>p{color:#65798a;margin:0 0 26px;line-height:1.8}.design-preview-menu>section>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.design-preview-menu a{border:1px solid var(--line);color:var(--navy);border-radius:8px;padding:20px;text-decoration:none;transition:border-color .2s,background .2s,transform .2s;display:block}.design-preview-menu a:hover,.design-preview-menu a:focus-visible{border-color:var(--navy);background:#f4f7fa;transform:translateY(-2px)}.design-preview-menu a b,.design-preview-menu a span{display:block}.design-preview-menu a span{color:#65798a;margin-top:7px;font-size:13px;line-height:1.6}@media (max-width:680px){.design-preview-menu{padding:24px 16px}.design-preview-menu>section{padding:26px 20px}.design-preview-menu img{width:160px}.design-preview-menu h1{margin-top:22px;font-size:24px}.design-preview-menu>section>div{grid-template-columns:1fr}}.hero.access-only .hero-copy{text-align:center;justify-content:flex-start;place-self:start center}.hero.access-only .home-intro{margin-left:auto;margin-right:auto}.form-card.availability-only .availability-message{margin-top:32px;margin-bottom:32px}@media (min-width:961px){.hero.access-only .hero-copy{text-align:left;justify-self:start}.hero.access-only .home-intro{margin-left:0;margin-right:0}}@media (max-width:680px){.form-card.availability-only .availability-message{margin-top:28px;margin-bottom:28px}}.admin-ui-icon{object-fit:contain;flex:none;width:20px;height:20px}.admin-button-label{display:inline}.dashboard aside nav button .admin-ui-icon{width:21px;height:21px}.dashboard aside nav button.active .admin-ui-icon{filter:brightness(0)invert()}.header-actions button,.admin-logout,.access-link-row button,.qr-actions button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.header-actions .primary .admin-ui-icon{filter:brightness(0)invert()}.admin-logout .admin-ui-icon{width:19px;height:19px}.qr-title{align-items:center;gap:8px;display:flex}.qr-title .admin-ui-icon{width:22px;height:22px}.admin-brand{flex-direction:column;align-items:flex-start;gap:12px;min-height:104px;padding:5px 16px 22px}.admin-brand span{color:#62798d;letter-spacing:.08em;font-size:12px}.admin-logout{border:1px solid var(--line);min-height:44px;color:var(--navy);background:#fff;border-radius:7px;margin-top:auto;font-size:12px}.dashboard-main>header{height:108px;min-height:108px}.exception-list article>div{padding-left:2px}.filter-heading{align-items:stretch}.filter-heading .filter-toggle{text-align:left;background:#f5f7f9;flex:1;justify-content:space-between;align-items:center;gap:20px;padding:12px 14px;display:flex}.filter-heading .filter-toggle span{flex:1;display:block}.filter-heading .filter-toggle>.admin-ui-icon{width:22px;height:22px}.filter-heading .filter-toggle b{color:var(--navy);flex:none;font-size:11px}.table-summary{justify-content:space-between;align-items:center;min-height:42px}.table-summary>div:first-child{align-items:baseline;gap:4px;display:flex}.table-summary .pagination{margin:0}.table-scroll-top{scrollbar-color:#8298a4 #e7edf0;background:#f4f7f8;border:1px solid #e0e7ea;border-radius:6px;height:18px;margin-bottom:7px;overflow:auto hidden}.table-scroll-top>div{height:1px}.table-scroll-top:focus-visible{outline-offset:2px;outline:3px solid #003c642e}.people-panel table{min-width:2100px}.inline-editor{color:#304b5b;background:#fff;border:1px solid #cbd7dd;border-radius:6px;min-width:104px;padding:8px 28px 8px 10px;font-size:11px}.inline-editor:disabled{opacity:.55;cursor:wait}.inline-note-editor{color:#304b5b;background:#fff;border:1px solid #cbd7dd;border-radius:6px;width:190px;padding:8px 10px;font-size:11px}.inline-note-editor:disabled{opacity:.55;cursor:wait}.bus-inline-editor{min-width:180px}.schedule-settings-row{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.schedule-settings-row>.panel{height:100%}.home-settings-panel,.bus-settings-panel{grid-column:1/-1}.bus-settings-panel textarea{resize:vertical;width:100%;min-height:230px;font:inherit;border:1px solid #cbd7dd;border-radius:6px;padding:12px;line-height:1.7}.access-links-panel .settings-form>label{font-size:13px}@media (max-width:960px){.admin-brand{align-items:center;gap:8px;padding:4px 0 18px}.admin-brand span{text-align:center;font-size:9px}.admin-logout{font-size:0}.admin-logout .admin-ui-icon{width:20px;height:20px}.admin-button-label{display:none}.responsive-icon-button{gap:0!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important}.header-actions{flex-wrap:nowrap;gap:7px;display:flex}.header-actions .responsive-icon-button .admin-ui-icon{width:20px;height:20px}.access-link-row .responsive-icon-button,.qr-actions .responsive-icon-button{flex:0 0 42px}.schedule-settings-row{grid-template-columns:1fr}}@media (max-width:680px){.admin-logout{display:none}.dashboard-main>header{height:118px;min-height:118px}.filter-heading{display:grid}.filter-heading .filter-toggle{width:100%}.table-summary{align-items:flex-start;gap:10px}.table-summary .pagination{flex-wrap:wrap;justify-content:flex-end}.bus-analytics-summary{grid-template-columns:1fr}.bus-location-row{grid-template-columns:minmax(105px,1fr) minmax(80px,1.5fr) 42px;gap:8px;font-size:11px}}
