*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{color:#111827;background:#eef1f5;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}a{color:inherit}.admin-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.admin-sidebar{color:#f9fafb;background:#101010;border-right:1px solid #e5e7eb;flex-direction:column;gap:24px;padding:24px 18px;display:flex}.admin-brand{flex-direction:column;padding:8px 10px;line-height:1;display:flex}.admin-brand-main{letter-spacing:-.05em;font-size:1.6rem;font-weight:800}.admin-brand-sub{color:#fb923c;letter-spacing:.14em;margin-top:4px;font-size:.72rem;font-weight:700}.admin-nav{flex-direction:column;gap:8px;display:flex}.admin-nav-link{color:#d1d5db;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-weight:600;text-decoration:none;display:flex}.admin-nav-link.is-active,.admin-nav-link:hover{color:#fff;background:#ffffff14}.admin-sidebar-foot{color:#9ca3af;margin-top:auto;padding:10px 12px;font-size:.82rem}.admin-sidebar-foot button{color:#f9fafb;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:10px;width:100%;margin-top:10px;padding:10px 12px}.admin-main{padding:28px}.admin-page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.admin-page-header h1{margin:6px 0 8px;font-size:1.9rem}.admin-page-header span,.admin-kicker{color:#6b7280;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:700}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.admin-stat-card,.admin-panel,.admin-table-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 2px #1018280a}.admin-stat-card{padding:18px}.admin-stat-card strong{margin-top:8px;font-size:1.7rem;display:block}.admin-stat-card span{color:#6b7280;font-size:.88rem}.admin-panel{padding:20px}.admin-panel h2,.admin-panel h3{margin:0 0 12px}.admin-panel+.admin-panel{margin-top:16px}.admin-table-card{overflow:hidden}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #eef2f7;padding:14px 16px}.admin-table th{color:#6b7280;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:700}.admin-table tr:last-child td{border-bottom:none}.admin-table-link{color:#c2410c;font-weight:700;text-decoration:none}.admin-badge{border-radius:999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.admin-badge.is-active{color:#166534;background:#dcfce7}.admin-badge.is-warning{color:#92400e;background:#fef3c7}.admin-badge.is-critical{color:#991b1b;background:#fee2e2}.admin-badge.is-muted{color:#4b5563;background:#f3f4f6}.admin-alert-list{flex-wrap:wrap;gap:8px;display:flex}.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-detail-grid dl{gap:12px;margin:0;display:grid}.admin-detail-grid dt{color:#6b7280;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:700}.admin-detail-grid dd{margin:4px 0 0;font-weight:600}.admin-chip-row{flex-wrap:wrap;gap:8px;display:flex}.admin-chip{background:#f3f4f6;border-radius:999px;align-items:center;padding:6px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.admin-chip.is-on{color:#166534;background:#dcfce7}.admin-chip.is-off{color:#6b7280;background:#f3f4f6}.admin-link-button{color:#c2410c;align-items:center;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;gap:18px;width:min(100%,420px);padding:28px;display:grid;box-shadow:0 10px 30px #10182814}.login-card h1{margin:8px 0}.login-card form{gap:14px;display:grid}.login-card label{gap:6px;font-weight:600;display:grid}.login-card input{border:1px solid #d1d5db;border-radius:10px;padding:11px 12px}.login-card button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:10px;padding:12px 14px;font-weight:700}.login-card button:disabled{opacity:.6;cursor:not-allowed}.form-error{color:#991b1b;background:#fef2f2;border-radius:10px;padding:12px 14px;font-weight:600}.admin-loading,.admin-empty{color:#6b7280;padding:28px}@media (width<=900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-bottom:1px solid #ffffff14;border-right:none}.admin-detail-grid,.admin-ticket-layout{grid-template-columns:1fr}}.admin-filter-row{flex-wrap:wrap;gap:10px;display:flex}.admin-filter-button{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:8px 14px;font-weight:600}.admin-filter-button.is-active{color:#c2410c;background:#fff7ed;border-color:#c2410c}.admin-success-banner{color:#166534;background:#ecfdf5;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-weight:600}.admin-ticket-action-bar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.admin-ticket-action-bar .admin-primary-button,.admin-ticket-action-bar .admin-secondary-button,.admin-ticket-action-bar .admin-danger-button{align-items:center;display:inline-flex}.admin-primary-button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:10px;align-items:center;padding:10px 14px;font-weight:700;display:inline-flex}.admin-primary-button:hover:not(:disabled){background:#1f2937}.admin-primary-button:disabled{opacity:.6;cursor:not-allowed}.admin-form-hint{color:#6b7280;margin:0;font-size:.84rem;line-height:1.45}.admin-checkbox-label{color:#374151;align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:inline-flex}.admin-form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-table-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-ticket-reply-form{border-top:1px solid #e5e7eb;padding-top:20px}.admin-free-months-layout{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:16px;display:grid}.admin-workshop-picker{gap:8px;max-height:520px;margin-top:12px;display:grid;overflow-y:auto}.admin-workshop-picker-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;gap:4px;width:100%;padding:12px 14px;display:grid}.admin-workshop-picker-item strong{color:#111827}.admin-workshop-picker-item span{color:#6b7280;font-size:.84rem}.admin-workshop-picker-item.is-selected{background:#fff7ed;border-color:#c2410c}.admin-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.admin-section-head h2{margin:0}.admin-setup-note{background:#fff7ed;border-color:#fed7aa;margin-bottom:16px}.admin-setup-note p{color:#9a3412;margin:8px 0 0}@media (width<=900px){.admin-free-months-layout{grid-template-columns:1fr}}.admin-ticket-layout{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:16px;display:grid}.admin-message-list{gap:12px;margin-bottom:20px;display:grid}.admin-message{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:14px}.admin-message.is-internal{background:#fff7ed;border-color:#fed7aa}.admin-message header{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.admin-message header span{color:#6b7280;font-size:.84rem}.admin-form-block{gap:10px;margin-top:20px;display:grid}.admin-form-block textarea,.admin-form-block select{border:1px solid #d1d5db;border-radius:10px;padding:11px 12px}.admin-form-block button,.admin-secondary-button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:10px;justify-self:start;padding:10px 14px;font-weight:700}.admin-secondary-button{color:#111827;background:#fff;border:1px solid #d1d5db}.admin-danger-button{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;padding:8px 12px;font-size:.84rem;font-weight:700;display:inline-flex}.admin-danger-button:hover:not(:disabled){background:#fee2e2}.admin-danger-button:disabled{opacity:.6;cursor:not-allowed}.admin-refresh-button{cursor:pointer;border-radius:12px;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:700;display:inline-flex}.admin-refresh-button .is-spinning{animation:.8s linear infinite admin-spin}@keyframes admin-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-sidebar-list{gap:12px;margin:0 0 20px;display:grid}.admin-sidebar-list dt{color:#6b7280;text-transform:uppercase;font-size:.78rem;font-weight:700}.admin-sidebar-list dd{margin:4px 0 0;font-weight:600}
