:root{--ink:#0a0a0b;--surface:#f5f5f6;--accent:#ff7a1a;--accent-deep:#c75400;--hairline:#0a0a0b1a;--danger:#b3261e}*{box-sizing:border-box}body{background:var(--surface);color:var(--ink);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px}.layout main{max-width:1080px;margin:0 auto;padding:24px 20px 60px}.topbar{border-bottom:1px solid var(--hairline);z-index:10;background:#fff;align-items:center;gap:24px;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.logo{letter-spacing:-.02em;font-size:16px}.topbar nav{flex:1;gap:4px;display:flex;overflow-x:auto}.topbar nav button{font:inherit;color:#0a0a0b8c;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-weight:600}.topbar nav button.is-active{color:var(--ink);background:var(--surface)}.logout{flex-shrink:0}.card{border:1px solid var(--hairline);background:#fff;border-radius:14px;margin-bottom:16px;padding:16px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#0a0a0b80;padding:6px 10px;font-size:12px}td{border-top:1px solid var(--hairline);vertical-align:top;padding:10px}.row-muted{opacity:.5}.actions{white-space:nowrap;text-align:right}.actions .btn{margin-left:6px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.toolbar-title{margin-left:8px}.btn,.btn-primary{font:inherit;cursor:pointer;border:1px solid var(--hairline);color:var(--ink);background:#fff;border-radius:10px;padding:9px 14px;font-weight:600}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-small{border-radius:8px;padding:5px 10px;font-size:13px}.btn-danger{color:var(--danger)}.btn-icon{cursor:pointer;color:var(--danger);background:0 0;border:0;font-size:15px}.btn-link{cursor:pointer;color:var(--accent-deep);background:0 0;border:0;padding:0;font-size:13px}.form-card{max-width:640px}.form-card h3{margin-top:0}.form-card label{margin-bottom:12px;font-size:13.5px;font-weight:600;display:block}.form-card input:not([type=checkbox]),.form-card select,.form-card textarea,.toolbar select{width:100%;font:inherit;border:1px solid var(--hairline);background:#fff;border-radius:10px;margin-top:4px;padding:9px 11px;display:block}.toolbar select{width:auto;margin:0;display:inline-block}.form-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.form-actions{gap:8px;margin-top:8px;display:flex}fieldset{border:1px solid var(--hairline);border-radius:12px;margin:0 0 14px;padding:12px 14px}legend{padding:0 6px;font-size:13px;font-weight:700}.check{align-items:center;gap:8px;margin-bottom:8px!important;font-weight:500!important;display:flex!important}input[type=color]{border:1px solid var(--hairline);border-radius:8px;width:56px;height:36px;padding:2px}.error{color:var(--danger);background:#fdecec;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:14px}.success{color:#1b6e3c;background:#e8f6ec;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:14px}.muted{color:#0a0a0b80}.small{font-size:12.5px}code.small{background:var(--surface);border-radius:6px;padding:2px 6px;font-size:12px}.login-wrap{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{text-align:center;width:100%;max-width:360px;padding:28px}.login-card h1{letter-spacing:-.02em;margin:0 0 4px;font-size:22px}.login-card p{margin-top:0}.login-card input{width:100%;font:inherit;border:1px solid var(--hairline);border-radius:10px;margin-bottom:10px;padding:11px 12px}.login-card .btn-primary{width:100%;padding:12px}.week-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.day-col{border:1px solid var(--hairline);background:#fff;border-radius:12px;min-height:120px;padding:8px}.day-col.is-today{border-color:var(--accent)}.day-head{text-align:center;margin-bottom:8px;font-size:12.5px;font-weight:700}.day-empty{text-align:center}.booking-chip{background:var(--surface);border-left:3px solid var(--accent);border-radius:9px;margin-bottom:6px;padding:7px 8px;font-size:12.5px}.booking-chip.status-pending{border-left-color:#e0a800}.chip-sub{color:#0a0a0b8c;font-size:11.5px}.chip-flag{color:#8a6d00;font-size:11px;font-weight:700}.badge{background:var(--surface);border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}.badge.status-confirmed{color:#1b6e3c;background:#e8f6ec}.badge.status-pending{color:#8a6d00;background:#fdf4d7}.badge.status-cancelled{color:#0a0a0b80}.weekplan-row{flex-wrap:wrap;align-items:center;gap:12px;padding:5px 0;display:flex}.weekplan-day{align-items:center;gap:8px;width:120px;display:flex;margin:0!important;font-weight:600!important}.weekplan-times{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.weekplan-interval{align-items:center;gap:5px;display:inline-flex}.weekplan input[type=time]{width:auto!important;margin:0!important;padding:5px 7px!important;display:inline-block!important}@media (width<=800px){.week-grid{grid-template-columns:1fr}.day-col{min-height:auto}}
