:root{color-scheme:light;--bg: #f6f7fb;--surface: #ffffff;--surface-soft: #fafafa;--text: #1f2937;--muted: #667085;--line: #e5e7eb;--accent: #e20074;--accent-strong: #b9005f;--danger: #dc2626;--info: #64748b;--success: #16a34a;--violet: #7c3aed;--warn: #b45309;--shadow: 0 8px 20px rgba(0, 0, 0, .1);--focus: 0 0 0 3px rgba(226, 0, 116, .18);font-family:Segoe UI,Arial,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,rgba(226,0,116,.08),transparent 320px),var(--bg);color:var(--text)}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.12;margin-bottom:6px}h2{font-size:18px;margin-bottom:12px}h3{font-size:15px;margin-bottom:6px}.topbar{max-width:1280px;min-height:68px;margin:16px auto 0;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);position:sticky;top:12px;z-index:10}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:800;text-decoration:none}.brand:before{content:"";width:36px;height:36px;flex:0 0 36px;background:var(--accent);border-radius:8px;box-shadow:inset 0 -10px 20px #0000001a}.nav{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.nav a{min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:var(--surface)}.nav a:hover{color:var(--accent);border-color:#e2007459}.page{max-width:1280px;margin:0 auto;padding:16px 0 28px}.hero-band,.admin-head,.hero-stats,.metrics>div,.panel,.slot,.reaction-card,.quarter-item,.auth-panel,.notice{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.hero-band,.admin-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-bottom:16px}.hero-band p,.admin-head p,.muted{color:var(--muted)}.hero-band p,.admin-head p{margin-bottom:0}.hero-stats{min-width:150px;padding:14px;box-shadow:none}.hero-stats strong,.metrics strong{display:block;font-size:28px;line-height:1}.hero-stats span,.metrics span{color:var(--muted);font-size:13px}.notice{padding:12px 14px;margin-bottom:16px;color:var(--accent-strong);background:#e2007414;box-shadow:none}.layout-two{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(340px,.78fr);gap:16px;align-items:start}.wide-left{grid-template-columns:minmax(0,1.6fr) minmax(360px,.8fr);margin-top:16px}.panel,.auth-panel{padding:16px}.panel>h2,.layout-two>div>h2{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:800}.layout-two>div>h2:after,.panel>h2:after{content:"";height:1px;flex:1;margin-left:12px;background:var(--line)}.slot-list{display:grid;gap:12px}.slot{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto) auto;gap:16px;padding:16px;align-items:center;box-shadow:none}.slot:hover{border-color:#e200744d;box-shadow:0 8px 20px #e2007414}.slot-free{background:#e200740f;border-color:#e2007438}.slot-date{display:inline-flex;width:fit-content;align-items:center;margin-bottom:8px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:700}.slot-meta{display:grid;gap:6px;min-width:170px;font-size:13px;color:var(--muted)}.slot-meta strong{color:var(--text)}.badge{display:inline-flex;width:fit-content;align-items:center;min-height:24px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:#111827;font-size:12px;font-weight:700;white-space:nowrap}.badge-free{color:var(--accent);background:#e2007414;border-color:#e2007447}.badge-open{color:var(--success);background:#16a34a1a;border-color:#16a34a40}.badge-closed{color:var(--warn);background:#b453091a;border-color:#b4530940}.badge-ok{color:var(--success);background:#16a34a1a;border-color:#16a34a40}.badge-warn{color:var(--warn);background:#b453091a;border-color:#b4530940}.badge-danger{color:var(--danger);background:#dc26261a;border-color:#dc262640}.btn{min-height:38px;padding:8px 12px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{background:var(--accent-strong)}.btn-primary{background:var(--accent);color:#fff}.btn-muted,.btn:disabled{color:var(--muted);background:transparent;border:1px solid var(--line);cursor:not-allowed}.btn:not(.btn-primary):not(.btn-muted):not(:disabled){color:var(--accent);background:transparent;border:1px solid var(--line)}.btn:not(.btn-primary):not(.btn-muted):not(:disabled):hover{border-color:#e2007459;background:#e200740f}.form{display:grid;gap:12px}.form.compact{gap:10px}label{display:grid;gap:5px;color:var(--text);font-size:13px;font-weight:700}label:has(>input[type=checkbox]){display:flex;align-items:center;gap:8px}label:has(>input[type=checkbox]) input{width:auto}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;background:#fff;color:#111827}input:focus,select:focus,textarea:focus{outline:none;border-color:#e200748c;box-shadow:var(--focus)}textarea{resize:vertical}.group-fields{display:grid;gap:10px;padding:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px}.checks{border:1px solid var(--line);border-radius:12px;display:grid;gap:8px;margin:0;padding:12px;background:var(--surface-soft)}.checks legend{padding:0 6px;font-weight:800}.checks label{display:flex;align-items:center;gap:8px;font-weight:600}.checks input{width:auto}.form-status{min-height:20px;color:var(--accent-strong);font-weight:700}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.metrics>div{padding:14px;box-shadow:none}.metrics>div:nth-child(1) strong{color:var(--accent)}.metrics>div:nth-child(2) strong{color:var(--warn)}.metrics>div:nth-child(3) strong{color:var(--success)}.metrics>div:nth-child(4) strong{color:var(--violet)}.admin-actions,.card-actions,.link-row,.verify-row{display:flex;gap:8px;flex-wrap:wrap}.admin-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:16px}.verify-row input{min-width:220px}.verify-result{margin-top:12px;min-height:58px;padding:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px}.quarter-list{display:grid;gap:8px}.quarter-item{display:grid;grid-template-columns:120px minmax(0,1fr) 210px;gap:14px;padding:12px;align-items:center;box-shadow:none}.quarter-item>div{display:grid;gap:3px}.quarter-item span,table span{color:var(--muted);font-size:12px}.quarter-free{background:#e200740f;border-color:#e2007438}.reaction-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;margin-bottom:10px;align-items:start;box-shadow:none}.reaction-card .card-actions{flex-direction:column;min-width:112px}.reaction-card .btn{width:100%}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px;vertical-align:top}th{color:var(--muted);background:var(--surface-soft);font-size:12px;text-transform:uppercase}tbody tr:hover{background:#e200740a}code{padding:2px 6px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.public-ticket dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px}.public-ticket dt{font-weight:800}.public-ticket dd{margin:0}.loading{padding:28px;color:var(--muted)}@media(max-width:1320px){.topbar,.page{margin-left:16px;margin-right:16px}}@media(max-width:900px){body{background:var(--bg)}.page{padding:12px 0 20px}.topbar{top:0;margin-top:0;border-radius:0 0 14px 14px}.hero-band,.admin-head,.slot,.reaction-card,.quarter-item{grid-template-columns:1fr;display:grid}.layout-two,.wide-left,.admin-grid,.metrics{grid-template-columns:1fr}.nav{gap:6px;font-size:12px}.brand{font-size:14px}.brand:before{width:30px;height:30px;flex-basis:30px}.slot{gap:12px}}
