@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--navy:#0d1b2a;--navy2:#16283d;--teal:#0f766e;--teal2:#0b5c56;--soft:#e8f4f1;--gold:#c5a35a;--bg:#f3f6f8;--panel:#fff;--text:#17212b;--muted:#65717e;--line:#dfe5e9;--danger:#b42318;--shadow:0 18px 45px rgba(13,27,42,.10)}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;background:linear-gradient(145deg,#eef4f5 0%,#f8f6f0 48%,#f4f7f9 100%);color:var(--text);font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.7;letter-spacing:.01em}body:before{content:"";position:fixed;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--teal),var(--gold),var(--navy));z-index:20}a{color:var(--teal);text-underline-offset:3px}.shell{width:min(980px,calc(100% - 32px));margin:38px auto 60px}.narrow{width:min(520px,calc(100% - 28px))}
.brand{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--navy2) 58%,#174a4a);color:#fff;padding:30px;border-radius:24px 24px 0 0;box-shadow:var(--shadow)}.brand:after{content:"";position:absolute;width:160px;height:160px;border:1px solid rgba(197,163,90,.32);border-radius:50%;right:-46px;top:-77px;box-shadow:0 0 0 22px rgba(197,163,90,.06),0 0 0 48px rgba(197,163,90,.04)}.brand small,.topbar small{position:relative;color:#d8e1e7;font-size:13px;font-weight:500;letter-spacing:.12em}.brand h1,.topbar h1{position:relative;margin:6px 0 0;font-size:26px;line-height:1.35;font-weight:600}.panel{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.78);border-radius:22px;padding:27px;box-shadow:var(--shadow)}.brand+.panel{border-radius:0 0 24px 24px;border-top:0}.panel>h1:first-child{margin:0 0 24px;font-size:25px}.panel h2{font-size:18px}
.stack{display:grid;gap:18px}label{display:grid;gap:8px;font-size:13px;font-weight:600;color:#354350}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;min-height:50px;border:1px solid var(--line);border-radius:13px;padding:11px 14px;background:#fff;color:var(--text);outline:none;transition:.18s}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(15,118,110,.12)}button{min-height:48px;border:1px solid var(--line);border-radius:13px;padding:10px 17px;background:#fff;color:var(--text);font-weight:600;transition:.16s}button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(13,27,42,.10)}button:disabled{opacity:.55}.primary{border-color:transparent;background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;box-shadow:0 9px 22px rgba(15,118,110,.23)}.full{width:100%;min-height:55px;font-size:16px}
.wait-box{position:relative;overflow:hidden;padding:24px;background:linear-gradient(145deg,var(--soft),#f3f8f6);border:1px solid #d4e9e4;border-radius:18px;margin-bottom:22px}.wait-box:after{content:"";position:absolute;right:-26px;bottom:-42px;width:115px;height:115px;border:20px solid rgba(197,163,90,.10);border-radius:50%}.wait-box small,.wait-box strong{position:relative;z-index:1;display:block}.wait-box small{color:var(--teal2);font-weight:600}.wait-box strong{margin-top:5px;font-size:38px;color:var(--navy);font-weight:700}.wait-box p{position:relative;z-index:1;margin:5px 0 0;color:var(--muted)}.center{text-align:center}.notice{margin:18px 0 0;color:var(--muted);font-size:12px;text-align:center}.error{padding:13px;background:#fff1f0;color:var(--danger);border-radius:12px}.big-ticket{margin:8px 0 24px;color:var(--navy);font-size:76px;font-weight:700;text-shadow:0 4px 0 rgba(197,163,90,.22)}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;padding:22px max(24px,calc((100vw - 980px)/2));box-shadow:0 10px 26px rgba(13,27,42,.13)}.topbar nav{display:flex;gap:10px}.topbar a{padding:8px 13px;border:1px solid rgba(255,255,255,.24);border-radius:11px;color:#fff;text-decoration:none;font-size:13px}.admin .shell{margin-top:24px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:14px}.stats>div{position:relative;overflow:hidden;background:var(--panel);border-radius:17px;padding:18px;text-align:center;box-shadow:0 9px 25px rgba(13,27,42,.06)}.stats>div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--teal),var(--gold))}.stats span,.stats strong{display:block}.stats span{color:var(--muted);font-size:12px}.stats strong{margin-top:5px;color:var(--navy);font-size:25px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.queue-list{display:grid;gap:9px}.queue-item{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:15px 5px;border-top:1px solid var(--line)}.ticket{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--teal2);font-weight:700}.queue-item p{margin:3px 0;color:var(--muted);font-size:12px}.empty{text-align:center;color:var(--muted);padding:38px}
@media(max-width:650px){.shell{margin-top:22px}.brand{padding:24px 21px}.brand h1,.topbar h1{font-size:22px}.panel{padding:21px 18px}.topbar{align-items:flex-start;padding:19px 18px}.topbar nav{flex-direction:column}.stats{grid-template-columns:1fr 1fr}.queue-item{grid-template-columns:48px 1fr}.queue-item form{grid-column:1/-1}.queue-item button{width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}