:root{--ink:#282445;--muted:#77728e;--bg:#eee7d2;--paper:#fffefa;--purple:#51418a;--gold:#efcf75;--line:#e8e2d1;--red:#9e3a2d;--shadow:0 13px 35px #36294b18}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;background:linear-gradient(#fff7ec70,#fff7ec70),url("/assets/gold-apple.jpg") center center/cover fixed no-repeat}
button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.topbar{height:76px;background:#fffefaee;border-bottom:1px solid #fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1220px)/2));backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#30264f;font-weight:800;letter-spacing:.07em}.brand small{display:block;font-size:9px;letter-spacing:.18em;color:#8b7aaf;margin-top:2px}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:linear-gradient(145deg,#594892,#2f2857);color:var(--gold);border:1px solid #d8bd73;box-shadow:0 4px 12px #4a3d771c;font-size:25px}.brand-mark.small{width:40px;height:40px;font-size:19px}
.account{display:flex;align-items:center;gap:10px;font-size:12px}.account small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.user-badge{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eee9fa;color:var(--purple);font-weight:800}.quiet{border:0;background:transparent;color:var(--muted);font-size:11px;margin-left:8px}
.app-layout{max-width:1220px;margin:24px auto;padding:0 24px;display:grid;grid-template-columns:200px 1fr;gap:22px}.sidebar,.panel,.metric{background:var(--paper);border:1px solid #e6ddc8;border-radius:18px;box-shadow:var(--shadow)}.sidebar{height:fit-content;padding:14px 10px}.sidecap{font-size:10px;color:#a098a4;letter-spacing:.14em;padding:9px 11px}.nav{display:block;text-align:left;width:100%;border:0;background:none;color:#77718a;padding:12px;border-radius:11px;font-size:12px;margin:2px 0}.nav:hover,.nav.active{background:#eee9fa;color:var(--purple);font-weight:700}.sidefoot{border-top:1px solid var(--line);margin:12px 4px 0;padding-top:10px}.content{min-width:0}.page{display:block}.heading{display:flex;align-items:end;justify-content:space-between;margin:5px 0 19px;gap:16px}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:800;color:#755fa8}.heading h1{font-size:25px;letter-spacing:-.04em;margin:6px 0}.heading p,.panel p{color:var(--muted);font-size:11px;margin:5px 0 0}.heading-date{font-size:11px;color:#75677a;background:#fffefa;border:1px solid var(--line);border-radius:999px;padding:8px 12px;white-space:nowrap}
.staff-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(185px,.8fr);gap:14px}.panel{padding:20px}.form-panel{background:linear-gradient(145deg,#302950,#493b76);border:0;color:white}.panel-title,.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-title h2,.panel-head h2,.panel h2{font-size:14px;margin:0}.form-panel .panel-title p{color:#d0c8df}.spark{color:var(--gold);font-size:24px}.form-grid,.user-form{display:grid;grid-template-columns:1fr 1fr;gap:11px 12px;margin-top:16px}.form-grid label,.user-form label,.login-card label,.password-panel label{display:block;font-size:10px;color:#d7cfe4}.form-grid input,.form-grid select,.user-form input,.login-card input,.password-panel input,.panel-head input,.admin-controls input,.admin-controls select{display:block;width:100%;height:38px;border:1px solid #ffffff33;border-radius:9px;padding:0 10px;margin-top:6px;background:#ffffff12;color:white;font-size:12px;outline:none}.form-grid select option{color:#292344}.form-grid input[type=date]{color-scheme:dark}.form-grid input::placeholder{color:#ccc4d8}.form-grid input:focus,.form-grid select:focus{border-color:var(--gold)}.full{grid-column:1/-1}.shift-title{grid-column:1/-1;font-size:10px;font-weight:800;color:#f0d891;border-top:1px solid #ffffff24;padding-top:10px;margin-top:1px}.shift-title.second{padding-top:12px}.time-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}.metrics{display:grid;gap:11px}.metric{padding:16px;display:flex;flex-direction:column;justify-content:space-between;min-height:82px}.metric span{font-size:10px;color:var(--muted)}.metric strong{font-size:24px;letter-spacing:-.04em;margin-top:10px}.metric strong small{font-size:11px;color:var(--muted);margin-left:4px}.art-card{min-height:0;height:190px;padding:8px;align-items:center;justify-content:center;overflow:hidden}.art-card img{display:block;width:100%;height:100%;object-fit:contain;border-radius:12px}.primary,.secondary{border:0;border-radius:10px;background:linear-gradient(100deg,#f4d988,#edc46e);color:#352b50;padding:11px 15px;font-size:11px;font-weight:800;margin-top:14px}.primary span{margin-left:14px}.primary:hover{filter:brightness(1.05)}.wide{width:100%;height:43px}.form-message{font-size:11px;min-height:14px;color:#ffe6a1}.history{margin-top:14px}.panel-head{margin-bottom:14px}.panel-head p{font-size:10px}.panel-head input,.admin-controls input,.admin-controls select{height:35px;width:auto;margin:0;background:#fffefa;color:var(--ink);border-color:var(--line)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:630px}th{text-align:left;color:#928aa1;font-size:9px;font-weight:700;padding:10px 8px;border-bottom:1px solid var(--line)}td{font-size:10px;padding:12px 8px;border-bottom:1px solid #f0edf5}tr:last-child td{border:0}.badge{display:inline-block;background:#f0ebf9;color:#57458e;border-radius:99px;padding:4px 7px;font-size:9px;margin:1px}.empty{text-align:center;color:var(--muted);padding:28px}
.admin-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.admin-controls .secondary{margin:0;white-space:nowrap}.summary{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.summary .metric{min-height:76px}.user-form label{color:var(--muted)}.user-form input,.password-panel input{background:white;color:var(--ink);border-color:var(--line)}.user-form .primary{width:max-content}.muted{color:var(--muted);font-size:11px;line-height:1.7}.user-form .form-message{grid-column:1/-1;color:var(--red)}.status-active{color:#367551}.status-off{color:#a55e4b}.small-btn{border:1px solid var(--line);background:white;color:var(--red);border-radius:7px;padding:6px 8px;font-size:9px}.password-panel{max-width:440px}.password-panel label{color:var(--muted);margin-bottom:13px}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(100%,380px);background:#fffefaef;border:1px solid white;border-radius:24px;padding:32px;box-shadow:0 20px 60px #4131552b;backdrop-filter:blur(9px)}.login-card .brand-mark{margin:0 auto 14px}.login-card .eyebrow{text-align:center}.login-card h1{text-align:center;font-size:24px;margin:4px 0}.login-card .sub{text-align:center;color:var(--muted);font-size:11px;margin:8px 0 24px}.login-card label{color:#706a83;margin:13px 0}.login-card input{background:white;color:var(--ink);border-color:var(--line)}.login-note{text-align:center;color:var(--muted);font-size:10px;margin:14px 0 0}.error{font-size:11px;color:#a63829;min-height:14px}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#31284f;color:#fff;padding:12px 18px;border-radius:10px;font-size:11px;box-shadow:var(--shadow);opacity:0;transition:.2s;pointer-events:none}.toast.show{opacity:1}
@media(max-width:900px){.app-layout{grid-template-columns:1fr;margin:14px auto;gap:10px;padding:0 12px}.sidebar{display:flex;align-items:center;overflow:auto;padding:5px}.sidecap,.sidefoot{display:none}.nav{white-space:nowrap;width:auto;margin:0}.heading{align-items:start}.heading h1{font-size:21px}.staff-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(3,1fr)}.metric{min-height:75px;padding:12px}.metric strong{font-size:20px}.art-card{grid-column:1/-1;height:105px;padding:5px}.summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.topbar{height:62px;padding:0 13px}.brand{font-size:12px}.brand-mark.small{width:34px;height:34px}.account{gap:7px}.quiet{font-size:10px;margin-left:0;padding:6px}.user-badge{width:30px;height:30px}.app-layout{margin-top:10px}.heading{display:block}.heading-date{display:inline-block;margin-top:8px}.heading h1{font-size:19px}.panel{padding:15px}.form-grid,.user-form{gap:9px}.form-grid input,.form-grid select{height:36px;padding:0 7px;font-size:11px}.metrics{gap:7px}.metric{padding:10px;min-height:74px}.metric span{font-size:9px;line-height:1.4}.metric strong{font-size:17px}.metric strong small{font-size:9px}.history{padding:13px}.admin-controls{margin-top:12px}.admin-controls .secondary{font-size:10px;padding:10px}.summary .metric{min-height:72px}}
.pin-reset-form,.wage-form{display:flex;align-items:center;gap:5px;min-width:220px}.pin-reset-form input,.wage-form input{width:92px;min-width:0;padding:7px 6px;border:1px solid var(--line);border-radius:7px;font-size:12px}.pin-reset-form .small-btn,.wage-form .small-btn{white-space:nowrap;padding:7px 8px}
.deduction-input{width:84px;min-width:72px;height:32px;border:1px solid var(--line);border-radius:7px;padding:4px 6px;color:var(--ink);font-size:11px}#adminPage .history:has(#payrollRows) table{min-width:1040px}#adminPage .history:has(#payrollRows) .small-btn{white-space:nowrap;color:var(--purple);margin:2px}
