.admin-main { padding-bottom: 90px; }
.admin-heading { padding: 64px 0 38px; }
.admin-heading h1 { margin-bottom: 8px; font-size: 42px; }
.admin-heading > p:last-child { color: var(--muted); font-size: 12px; }
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.admin-card { padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.admin-card-heading { display: flex; gap: 12px; margin-bottom: 24px; }
.admin-card-heading h2 { margin-bottom: 4px; font: 600 16px "Space Grotesk", sans-serif; }
.admin-card-heading p { margin: 0; color: var(--muted); font-size: 9px; }
.admin-icon { display: grid; flex: 0 0 auto; place-items: center; width: 32px; height: 32px; border-radius: 9px; font-weight: 700; }
.incident-icon { color: var(--red); background: rgba(255,97,116,.1); }
.maintenance-icon { color: var(--amber); background: rgba(243,189,91,.1); }
.admin-card label, .login-dialog label { display: block; margin-bottom: 15px; color: var(--muted-light); font-size: 9px; }
.admin-card input, .admin-card select, .admin-card textarea, .login-dialog input, .update-form select, .update-form input { display: block; width: 100%; margin-top: 7px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; outline: 0; color: white; background: #12131a; font: 10px Inter, sans-serif; resize: vertical; }
.admin-card input:focus, .admin-card select:focus, .admin-card textarea:focus, .login-dialog input:focus { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(121,92,255,.12); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.admin-card fieldset { margin: 4px 0 20px; padding: 0; border: 0; }
.admin-card legend { margin-bottom: 10px; color: var(--muted-light); font-size: 9px; }
.component-options { display: flex; flex-wrap: wrap; gap: 6px; max-height: 96px; overflow: auto; }
.component-options label { margin: 0; }
.component-options input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.component-options span { display: block; padding: 6px 8px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); cursor: pointer; font-size: 8px; }
.component-options input:checked + span { border-color: rgba(121,92,255,.5); color: #c6bcff; background: rgba(121,92,255,.12); }
.primary-button { width: 100%; min-height: 40px; border: 0; border-radius: 8px; color: white; background: linear-gradient(135deg, var(--purple), #477fff); cursor: pointer; font-size: 9px; font-weight: 700; }
.primary-button:disabled { opacity: .55; cursor: wait; }
.form-result { display: block; min-height: 12px; margin-top: 10px; color: var(--green); font-size: 9px; }
.form-result.error { color: var(--red); }
.service-management { padding-top: 55px; }
.management-note { max-width: 700px; margin-top: -10px; color: var(--muted); font-size: 9px; line-height: 1.6; }
.add-service-form { display: grid; grid-template-columns: 1fr 170px 1.4fr auto; gap: 8px; margin: 18px 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.add-service-form[hidden] { display: none; }
.add-service-form input, .add-service-form select { min-width: 0; padding: 10px 11px; border: 1px solid var(--line); border-radius: 8px; color: white; background: #12131a; font: 9px Inter, sans-serif; }
.add-service-form .form-result { grid-column: 1 / -1; margin: 0; }
.service-list { display: grid; gap: 8px; }
.service-editor { border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.service-editor summary { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 14px; padding: 15px 18px; cursor: pointer; list-style: none; }
.service-editor summary::-webkit-details-marker { display: none; }
.service-editor summary strong { font-size: 11px; }
.service-editor summary small { color: var(--muted); font-size: 8px; }
.service-editor summary span { padding: 5px 8px; border-radius: 20px; color: var(--green); background: rgba(70,213,161,.07); font-size: 8px; text-transform: uppercase; }
.service-editor summary span.disabled { color: var(--muted); background: rgba(255,255,255,.04); }
.service-form { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 12px; padding: 18px; border-top: 1px solid var(--line-soft); }
.service-form label { display: block; margin-bottom: 12px; color: var(--muted-light); font-size: 8px; }
.service-form input, .service-form select { display: block; width: 100%; margin-top: 6px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 7px; color: white; background: #12131a; font: 9px Inter, sans-serif; }
.service-form .wide { grid-column: span 2; }
.service-form .toggle-label { display: flex; align-items: center; gap: 8px; }
.service-form .toggle-label input { width: auto; margin: 0; }
.service-actions { display: flex; justify-content: space-between; align-items: center; grid-column: 1 / -1; margin-top: 7px; }
.danger-button { border-color: rgba(255,97,116,.3); color: var(--red); background: rgba(255,97,116,.06); }
.admin-list-section { padding-top: 55px; }
.admin-lists { display: grid; gap: 12px; }
.admin-list-card { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.admin-list-card h3 { margin-bottom: 6px; font-size: 12px; }
.admin-list-card p { margin: 0; color: var(--muted); font-size: 9px; }
.admin-list-meta { margin-top: 9px; color: #a994ff; font-size: 8px; text-transform: uppercase; }
.update-form { display: flex; align-items: end; gap: 6px; }
.update-form select, .update-form input { width: 130px; margin: 0; }
.update-form input { width: 190px; }
.small-button { height: 35px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; color: white; background: #252733; cursor: pointer; font-size: 8px; white-space: nowrap; }
.login-dialog { width: min(420px, calc(100% - 30px)); padding: 0; border: 1px solid var(--line); border-radius: 16px; color: white; background: #181920; box-shadow: 0 30px 90px rgba(0,0,0,.55); }
.login-dialog::backdrop { background: rgba(8,9,13,.8); backdrop-filter: blur(6px); }
.login-dialog form { padding: 34px; }
.login-dialog img { margin-bottom: 18px; }
.login-dialog h2 { margin-bottom: 7px; font: 600 21px "Space Grotesk", sans-serif; }
.login-dialog p { margin-bottom: 24px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.admin-empty { padding: 34px; border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); text-align: center; font-size: 10px; }
@media (max-width: 820px) { .admin-grid { grid-template-columns: 1fr; } .admin-list-card { grid-template-columns: 1fr; } }
@media (max-width: 820px) { .add-service-form { grid-template-columns: 1fr 1fr; } .service-form { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .field-row, .add-service-form, .service-form { grid-template-columns: 1fr; gap: 0; } .service-form .wide { grid-column: auto; } .update-form { align-items: stretch; flex-direction: column; } .update-form select, .update-form input { width: 100%; } }
