:root{font-family:"Noto Sans JP","Yu Gothic UI","Yu Gothic",system-ui,sans-serif;color:#1d1b20;background:#f7f7fb;font-size:16px;--md-primary:#315da8;--md-on-primary:#fff;--md-primary-container:#d9e2ff;--md-on-primary-container:#001a43;--md-surface:#fdfbff;--md-surface-container:#f1f0f4;--md-outline:#74777f;--md-error:#ba1a1a;--md-shadow:0 2px 8px rgba(29,27,32,.12),0 1px 3px rgba(29,27,32,.16)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f7f8ff 0,#fdfbff 260px);min-height:100vh}.topbar{min-height:72px;background:var(--md-surface);color:#1d1b20;display:flex;align-items:center;justify-content:space-between;padding:10px max(20px,4vw);box-shadow:0 2px 8px rgba(29,27,32,.12);position:sticky;top:0;z-index:20}.topbar a,.link-button{color:#263f72;text-decoration:none}.brand{font-size:1.25rem;font-weight:800;color:var(--md-primary)!important}.topbar nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.topbar nav>a,.link-button{border-radius:999px;padding:9px 13px;font-weight:700;transition:background .16s,color .16s}.topbar nav>a:hover,.link-button:hover{background:var(--md-primary-container);color:var(--md-on-primary-container)}.link-button{border:0;background:none;font:inherit;cursor:pointer}.container{max-width:1240px;margin:0 auto;padding:38px 24px 88px}h1{font-size:clamp(2rem,4vw,3rem);font-weight:650;letter-spacing:-.025em;margin:.2em 0;color:#24252a}h2{margin-top:2rem;font-weight:650}h3{font-weight:650}.lead{color:#565b66;font-size:1.1rem}.muted,.note{color:#5f636d}.warning,.error,.success{padding:16px 18px;border-radius:12px;margin-bottom:20px;border-left:4px solid}.warning{background:#fff3e0;color:#783f04;border-color:#f57c00}.error{background:#ffedea;color:#8c1d18;border-color:var(--md-error)}.success{background:#e6f4ea;color:#0d652d;border-color:#188038}.narrow{max-width:620px;margin:30px auto}.card{background:rgba(255,255,255,.96);border:1px solid #dedde3;border-radius:20px;padding:24px;box-shadow:var(--md-shadow)}.stack{display:flex;flex-direction:column;gap:18px}.row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.compact{padding:16px}label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#3e4149}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--md-outline);border-radius:12px;padding:13px 14px;background:#fff;color:#1d1b20;transition:border-color .15s,box-shadow .15s,background .15s}input:hover,select:hover,textarea:hover{background:#fbfaff}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--md-primary);box-shadow:0 0 0 3px rgba(49,93,168,.18)}textarea{min-height:110px}.primary,.secondary,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 22px;font-weight:800;cursor:pointer;text-decoration:none;min-height:44px;transition:transform .12s,box-shadow .15s,background .15s}.primary{background:var(--md-primary);color:var(--md-on-primary);box-shadow:0 2px 5px rgba(49,93,168,.32)}.primary:hover{background:#234d96;box-shadow:0 4px 10px rgba(49,93,168,.3)}.secondary{background:var(--md-primary-container);color:var(--md-on-primary-container)}.secondary:hover{background:#c8d7ff}.primary:active,.secondary:active,.button:active{transform:scale(.98)}button:disabled,.primary:disabled,.secondary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.small{padding:7px 14px;min-height:36px}.inline{display:inline}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.stats div{background:#fff;border:1px solid #dedde3;border-radius:18px;padding:20px;box-shadow:var(--md-shadow)}.stats strong{display:block;font-size:2rem;color:var(--md-primary)}.stats span{color:#5f636d}.grid.two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px}.table-wrap{overflow:auto;background:#fff;border:1px solid #dedde3;border-radius:18px;box-shadow:0 1px 4px rgba(29,27,32,.1)}table{width:100%;border-collapse:separate;border-spacing:0}th,td{text-align:left;padding:14px;border-bottom:1px solid #e5e2e8;white-space:nowrap}th{background:var(--md-surface-container);color:#41434b;font-weight:800;position:sticky;top:0;z-index:1}tbody tr{transition:background .12s}tbody tr:hover{background:#f6f7ff}tbody tr:last-child td{border-bottom:0}.list{display:flex;flex-direction:column}.list a{display:flex;justify-content:space-between;padding:15px;border-bottom:1px solid #e5e2e8;color:#1d1b20;text-decoration:none}.list a:hover{background:#f2f5ff}.camera-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.8fr);gap:24px}.camera-panel{position:relative;background:#121318;border-radius:24px;overflow:hidden;min-height:560px;box-shadow:var(--md-shadow)}.camera-panel video,.camera-panel canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camera-panel canvas{pointer-events:none}.status{padding:14px;background:#e9efff;border-radius:12px;color:#173f7a;font-weight:700}.challenge{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid #e2e0e6;border-bottom:1px solid #e2e0e6}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segmented input{position:absolute;opacity:0}.segmented span{display:block;text-align:center;padding:14px;border:1px solid var(--md-outline);border-radius:999px;background:#fff;cursor:pointer}.segmented input:checked+span{border-color:var(--md-primary);background:var(--md-primary-container);color:var(--md-on-primary-container);font-weight:800}.segmented input:focus-visible+span{outline:3px solid rgba(49,93,168,.28);outline-offset:2px}.switch{flex-direction:row;align-items:center}.kiosk-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.kiosk-head time{font-size:2rem;font-weight:800;color:var(--md-primary)}.event-fieldset{border:0;padding:0;margin:0}.event-fieldset legend{font-weight:800;margin-bottom:8px}.state-hint{background:#e6f4ea;color:#0d652d;border-radius:12px;padding:12px;font-size:.92rem}.direct-fields{background:#fff3e0;border:1px solid #f4b266;border-radius:14px;padding:14px}.direct-fields[hidden]{display:none}.direct-fields label+label{margin-top:12px}a{color:#315da8}footer{padding:28px;text-align:center;color:#666972;border-top:1px solid #e2e0e6;background:#fdfbff}@media(max-width:800px){.grid.two,.camera-grid{grid-template-columns:1fr}.camera-panel{min-height:50vh}.stats{grid-template-columns:1fr}.topbar{align-items:flex-start;position:static}.topbar nav{gap:2px;font-size:.82rem}.topbar nav>a,.link-button{padding:7px 9px}.row{flex-direction:column;align-items:stretch}.container{padding:26px 14px 64px}.card{border-radius:16px;padding:18px}h1{font-size:2rem}}
.correction-table{table-layout:fixed;min-width:920px}.correction-table th,.correction-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.correction-table .correction-actions{width:140px}.correction-table .correction-status{width:90px}.correction-table .correction-employee{width:160px}.correction-table .correction-request{width:205px}.correction-table .correction-decider{width:235px}.correction-table td:first-child{white-space:nowrap}
.correction-filter{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin-bottom:16px}.correction-filter fieldset{display:flex;flex-wrap:wrap;gap:8px 14px;min-width:330px;border:1px solid #b8c4d4;border-radius:8px;padding:8px 12px}.correction-filter legend{font-weight:700}.correction-filter fieldset label{flex-direction:row;align-items:center;gap:5px}.correction-filter fieldset input{margin:0}.correction-filter small{width:100%;color:#64748b}@media(max-width:800px){.correction-filter{align-items:stretch}.correction-filter>*{width:100%}.correction-filter fieldset{min-width:0}}
.message-box{margin:16px 0;padding:16px 18px;border:1px solid;border-radius:12px;box-shadow:0 4px 14px rgba(15,23,42,.06)}.message-box strong,.message-box h1{display:block;margin:0 0 8px;font-size:1.05rem}.message-box p,.message-box ul{margin:0}.message-box ul{padding-left:1.4rem}.message-box li+li{margin-top:6px}.message-box-error{background:#fff1f2;border-color:#fda4af;color:#881337}.message-box-success{background:#ecfdf5;border-color:#6ee7b7;color:#065f46}.error-page{padding-top:32px}.error-page .button{display:inline-block;margin-top:8px}
