:root{--ink:#1d2939;--muted:#667085;--line:#e4e7ec;--brand:#5b4bdb;--pale:#f4f3ff;--work:#e7f8ef;--off:#fff1f1;--wish:#e35d6a;background:#f8fafc;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif}*{box-sizing:border-box}body{margin:0}header{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw}header>div{display:flex;align-items:center;gap:9px}.mark{height:29px;width:29px;display:grid;place-items:center;background:var(--brand);border-radius:9px;color:#fff;font-weight:800}header small{color:var(--muted);border-left:1px solid var(--line);padding-left:9px}.store-picker{font-size:13px;display:flex;gap:8px;align-items:center}select,input,button,textarea{font:inherit}select,input{border:1px solid #d0d5dd;border-radius:8px;padding:9px;background:#fff;color:var(--ink)}button{cursor:pointer;border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:9px 13px;color:var(--ink);font-weight:650}button:hover{background:#f8fafc}.primary{background:var(--brand);border-color:var(--brand);color:#fff}.primary:hover{background:#4b3acb}main{max-width:1250px;margin:auto;padding:34px 5vw 60px}.hero{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}.hero h1{margin:3px 0 7px;font-size:clamp(25px,4vw,37px);letter-spacing:-.04em}.hero p{margin:0;color:var(--muted)}.eyebrow{font-size:11px!important;letter-spacing:.13em;font-weight:750;color:var(--brand)!important}.hero-actions{display:flex;gap:9px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow:auto}.tabs button{border:0;border-radius:0;background:transparent;padding:11px 1px;color:var(--muted);white-space:nowrap}.tabs button.active{color:var(--brand);border-bottom:2px solid var(--brand)}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 1px 3px #10182808}.hidden{display:none}.section-head{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:18px}.section-head h2{font-size:18px;margin:0 0 4px}.section-head p,.muted{margin:0;color:var(--muted);font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:10px}table{border-collapse:separate;border-spacing:0;min-width:760px;width:100%;font-size:12px}th,td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;height:38px;padding:3px}tr:last-child td{border-bottom:0}th:last-child,td:last-child{border-right:0}th{background:#f8fafc;color:var(--muted);font-weight:700;position:sticky;top:0}.name-cell{position:sticky;left:0;background:#fff;text-align:left;padding-left:12px;font-weight:700;min-width:112px;z-index:1}thead .name-cell{background:#f8fafc;z-index:2}.day-weekend{color:#d15261}.shift{border:0;width:28px;height:27px;padding:0;font-size:13px}.shift.work{background:var(--work);color:#1c7b4b}.shift.off{background:var(--off);color:#b84250}.wish{display:block;color:var(--wish);line-height:8px;font-size:17px}.legend{font-size:12px;color:var(--muted);margin:14px 0 0}.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin:0 4px 0 13px;vertical-align:-1px}.legend i:first-child{margin-left:0}.legend .work{background:var(--work)}.legend .off{background:var(--off)}.alerts{display:grid;gap:7px;margin-bottom:15px}.alert{background:#fff7e7;border:1px solid #fedf89;border-radius:8px;padding:9px 11px;color:#8d5d00;font-size:13px}.request-card{max-width:650px}.request-card label{display:flex;gap:10px;align-items:center;font-weight:700}.request-card>p{font-size:13px;color:var(--muted)}.request-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:20px 0}.request-day{aspect-ratio:1;border:1px solid var(--line);background:#fff;padding:4px;font-weight:650}.request-day.selected{background:var(--pale);border-color:var(--brand);color:var(--brand)}.request-day.weekend{color:#d15261}.inline-form{display:flex;gap:9px;max-width:460px;margin-bottom:20px}.inline-form input{flex:1}.staff-list{display:grid;gap:8px;max-width:620px}.staff-row{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);padding:10px 12px;border-radius:9px}.staff-row small{color:var(--muted)}.danger{color:#b42318;border-color:#fecdca}.rules-form{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:16px}.rules-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.fixed-time{border:1px solid var(--line);border-radius:8px;padding:9px;display:grid;gap:5px;font-size:13px}.fixed-time span{color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:30px 0}dialog{border:0;border-radius:14px;box-shadow:0 12px 50px #1018284a;max-width:600px;width:calc(100% - 32px);padding:22px}dialog::backdrop{background:#10182866}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:18px;margin:0}.close{font-size:25px;border:0;padding:0 5px}dialog p{font-size:13px;color:var(--muted);line-height:1.6}textarea{width:100%;resize:vertical;margin:10px 0 15px;line-height:1.5}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:#1d2939;color:#fff;padding:10px 15px;border-radius:99px;font-size:13px;transition:.2s;z-index:5}#toast.show{transform:translateX(-50%) translateY(0)}@media(max-width:650px){header{padding:0 16px}header small{display:none}main{padding:25px 16px}.hero{align-items:stretch;display:grid}.hero-actions>*{flex:1}.panel{padding:16px}.section-head{display:grid}.section-head .actions button{flex:1;font-size:12px;padding:9px}.rules-form{grid-template-columns:1fr}.inline-form{max-width:none}.request-calendar{gap:5px}.request-day{font-size:12px}}.staff-actions{display:flex;gap:7px}.staff-rules{display:grid;gap:14px}.staff-rules>label{display:grid;gap:6px;font-size:13px;font-weight:700}.staff-rules fieldset{border:1px solid var(--line);border-radius:8px}.staff-rules legend{font-size:13px;font-weight:700;padding:0 4px}.weekday-choices{display:flex;gap:7px;flex-wrap:wrap;padding:6px 0}.weekday-choices label{display:flex;gap:3px;align-items:center;font-size:13px}.dialog-actions{justify-content:flex-end;margin-top:15px}
