:root { --ink:#172033; --muted:#6e7585; --line:#e5e8ef; --bg:#f5f6f8; --white:#fff; --orange:#f25d33; --navy:#151d2d; --green:#18865e; }
* { box-sizing:border-box; } body { margin:0; color:var(--ink); background:var(--bg); font:14px/1.55 Manrope,sans-serif; } button,input,select,textarea { font:inherit; } a { color:inherit; text-decoration:none; } button { cursor:pointer; }
.login-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 50% 0,#fee5db,transparent 32%),var(--bg); }
.login-card { width:min(440px,100%); padding:42px; border-radius:24px; background:#fff; box-shadow:0 30px 80px rgba(23,32,51,.13); }.admin-logo,.admin-brand span { width:45px;height:45px;display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--navy);font-weight:800; }.overline { margin:22px 0 4px;color:var(--orange)!important;text-transform:uppercase;font-size:10px!important;font-weight:800;letter-spacing:.15em; }.login-card h1 { margin:3px 0;font-size:29px;letter-spacing:-.045em; }.login-card>p { color:var(--muted); }.login-card label,.admin-card>label,.settings-form label,.package-editor label,.block-form label { display:block;margin:14px 0 0;font-size:11px;font-weight:800; }.login-card input,.admin-card input,.admin-card textarea,.admin-card select,.filters input,.filters select,.booking-actions input,.booking-actions select { width:100%;min-height:43px;margin-top:6px;padding:9px 11px;border:1.5px solid var(--line);border-radius:9px;outline:none;background:#fff;color:var(--ink); }.login-card input:focus,.admin-card input:focus,.admin-card textarea:focus,.admin-card select:focus { border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,93,51,.09); }.login-card button,.admin-card>button,.settings-form>button,.package-editor>button,.block-form>button,.booking-actions button,.filters button { min-height:43px;margin-top:20px;padding:0 17px;border:0;border-radius:9px;color:#fff;background:var(--orange);font-weight:800; }.login-card form button { width:100%; }.login-card>a { display:block;margin-top:24px;text-align:center;color:var(--muted);font-size:11px; }
.admin-alert { margin:18px 0;padding:13px 16px;border-radius:9px;color:#196c4f;background:#eaf8f2;border:1px solid #bee8d7; }.admin-alert.error { color:#9d3023;background:#fff0ed;border-color:#ffd3cb; }.admin-alert.warning { color:#8b5d16;background:#fff8e6;border-color:#f5dda8; }
.admin-page { min-height:100vh; }.sidebar { position:fixed;inset:0 auto 0 0;width:255px;padding:25px 17px;display:flex;flex-direction:column;color:#c7ceda;background:var(--navy); }.admin-brand { padding:0 10px 30px;display:flex;align-items:center;gap:12px;color:#fff;font-size:16px; }.admin-brand span { background:var(--orange); }.sidebar nav { display:grid;gap:5px; }.sidebar nav a { min-height:45px;padding:0 12px;display:flex;align-items:center;gap:11px;border-radius:9px;font-size:12px;font-weight:600; }.sidebar nav a:hover,.sidebar nav a.active { color:#fff;background:rgba(255,255,255,.09); }.sidebar nav i { width:20px;color:#8d98aa;font-style:normal;text-align:center;font-size:17px; }.sidebar nav a.active i { color:var(--orange); }.sidebar nav em { min-width:21px;margin-left:auto;padding:2px 6px;border-radius:10px;color:#fff;background:var(--orange);font-style:normal;text-align:center;font-size:9px; }.sidebar-bottom { margin-top:auto;padding:20px 10px 0;border-top:1px solid rgba(255,255,255,.09);display:grid;gap:10px;font-size:11px; }.sidebar-bottom a { color:#fff; }.sidebar-bottom button { padding:0;border:0;color:#8994a7;background:none; }
.admin-main { margin-left:255px;padding:34px 40px 70px; }.admin-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:28px; }.admin-header p { margin:0;color:var(--muted);font-size:11px; }.admin-header h1 { margin:4px 0 0;font-size:30px;letter-spacing:-.045em; }.admin-user { display:flex;align-items:center;gap:9px;font-weight:700;font-size:12px; }.admin-user span { width:35px;height:35px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--navy); }
.stats { display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px; }.stats article { padding:22px;border:1px solid var(--line);border-radius:15px;background:#fff; }.stats span { display:block;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em; }.stats strong { display:block;margin:9px 0 1px;font-size:31px;line-height:1;letter-spacing:-.05em; }.stats small { color:var(--muted);font-size:10px; }.stats .rule-card { color:#fff;background:var(--navy);border-color:var(--navy); }.stats .rule-card span,.stats .rule-card small { color:#aab2c1; }.stats .rule-card strong { color:#ff8b68; }
.admin-card { padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff; }.card-head { display:flex;justify-content:space-between;align-items:center;margin-bottom:18px; }.card-head .overline { margin:0; }.card-head h2,.admin-card h2 { margin:2px 0;font-size:20px;letter-spacing:-.035em; }.text-link { color:var(--orange);font-size:11px;font-weight:800; }.table-wrap { overflow:auto; }table { width:100%;border-collapse:collapse; }th { padding:11px 12px;color:#8a90a0;background:#f8f9fa;text-align:left;text-transform:uppercase;font-size:9px;letter-spacing:.1em; }td { padding:14px 12px;border-bottom:1px solid var(--line);font-size:12px; }td b,td small { display:block; }td small { color:var(--muted);font-size:10px; }.status { display:inline-block;padding:4px 8px;border-radius:20px;font-size:9px;font-weight:800;white-space:nowrap; }.status.pending { color:#9a6118;background:#fff3d9; }.status.confirmed { color:#176d91;background:#e6f5fb; }.status.completed { color:#1b7958;background:#e5f6ef; }.status.cancelled,.status.no_show { color:#9b3a32;background:#fdecea; }.empty-state { padding:35px;color:var(--muted);text-align:center;font-size:12px; }.empty-state.small { padding:20px; }
.filters { margin-bottom:17px;padding:13px 15px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:#fff; }.filters select,.filters input { width:auto;min-width:160px;margin:0; }.filters button { min-height:40px;margin:0; }.filters a { color:var(--muted);font-size:11px; }.booking-list { display:grid;gap:14px; }.booking-item { display:grid;grid-template-columns:105px 1fr;border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden; }.booking-when { padding:22px 14px;display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line);background:#fafafb; }.booking-when strong { font-size:30px;line-height:1; }.booking-when span { color:var(--orange);font-size:10px;font-weight:800; }.booking-when b { margin-top:23px;font-size:15px; }.booking-when small { color:var(--muted);font-size:9px; }.booking-data { padding:22px; }.booking-title { display:flex;justify-content:space-between;gap:15px; }.booking-title h2 { margin:7px 0 0;font-size:19px; }.booking-title p { margin:1px 0;color:var(--muted);font-size:9px; }.notify-badges { display:flex;gap:5px; }.notify-badges span { height:24px;padding:4px 8px;border-radius:7px;font-size:9px;font-weight:700; }.notify-badges .ok { color:#197255;background:#e7f7f0; }.notify-badges .fail { color:#8f4c28;background:#fff1e8; }.booking-grid { margin-top:17px;padding:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-radius:10px;background:#f7f8fa; }.booking-grid span,.booking-grid b,.booking-grid small { display:block; }.booking-grid span { color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em; }.booking-grid b { margin:4px 0;font-size:11px; }.booking-grid small { color:var(--muted);font-size:9px; }.customer-note { margin-top:12px;padding:10px 12px;color:#555d6e;background:#fff9eb;border-radius:8px;font-size:10px; }.booking-actions { margin-top:14px;display:flex;gap:9px;align-items:center; }.booking-actions form:first-child { flex:1;display:grid;grid-template-columns:150px 1fr auto;gap:8px; }.booking-actions input,.booking-actions select { min-height:39px;margin:0; }.booking-actions button { min-height:39px;margin:0; }.booking-actions .secondary { color:var(--ink);background:#eff1f4; }
.section-intro { margin:-10px 0 19px;color:var(--muted);font-size:12px; }.package-admin-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:16px; }.package-editor { position:relative;border-top:4px solid var(--package-color); }.editor-head { display:flex;align-items:center;gap:10px; }.editor-head h2 { margin:0; }.color-dot { width:12px;height:12px;border-radius:50%;background:var(--package-color); }.field-row { display:grid;grid-template-columns:1fr 1fr;gap:12px; }.field-row.compact { grid-template-columns:90px 1fr 1fr;align-items:end; }.check { min-height:43px;display:flex!important;align-items:center;gap:7px; }.check input { width:auto!important;min-height:auto!important;margin:0!important;accent-color:var(--orange); }.admin-card textarea { resize:vertical; }.admin-card label small { display:block;margin-top:4px;color:var(--muted);font-weight:400;font-size:9px; }
.location-tabs { margin-bottom:16px;display:flex;gap:7px; }.location-tabs a { padding:10px 16px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:11px;font-weight:700; }.location-tabs a.active { color:#fff;background:var(--navy);border-color:var(--navy); }.two-columns { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:17px;align-items:start; }.switch { display:flex!important;align-items:center;gap:8px!important;font-size:10px!important; }.switch input { position:absolute;opacity:0; }.switch span { width:35px;height:20px;padding:3px;border-radius:12px;background:#ccd1da; }.switch span::after { content:'';display:block;width:14px;height:14px;border-radius:50%;background:#fff;transition:.15s; }.switch input:checked+span { background:var(--green); }.switch input:checked+span::after { transform:translateX(15px); }.schedule { margin:22px 0;padding-top:17px;border-top:1px solid var(--line); }.schedule-head { margin-bottom:10px;display:flex;justify-content:space-between; }.schedule-head span { color:var(--muted);font-size:9px; }.schedule-row { min-height:51px;display:grid;grid-template-columns:85px 115px 15px 115px 1fr;gap:8px;align-items:center;border-top:1px solid #f0f1f4; }.schedule-row>b { font-size:11px; }.schedule-row input { min-height:36px;margin:0; }.closed-check { margin:0!important;display:flex!important;align-items:center;gap:6px;font-size:10px!important; }.closed-check input { width:auto;min-height:auto;accent-color:var(--orange); }.block-form>p:not(.overline) { margin:3px 0 15px;color:var(--muted);font-size:10px; }.blocks-list { margin-top:15px; }.blocks-list h3 { margin:0 0 11px;font-size:14px; }.blocks-list>div { padding:10px 0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line); }.blocks-list b,.blocks-list small { display:block; }.blocks-list b { font-size:10px; }.blocks-list small { color:var(--muted);font-size:9px; }.blocks-list button { width:27px;height:27px;padding:0;border:0;border-radius:7px;color:#b13e32;background:#fdecea; }
.settings-columns { grid-template-columns:1.25fr .75fr; }.settings-form h2 { margin-bottom:16px; }.settings-form hr { margin:24px 0 0;border:0;border-top:1px solid var(--line); }.settings-form select { width:100%;min-height:43px;margin-top:6px;padding:9px 11px;border:1.5px solid var(--line);border-radius:9px;background:#fff; }.password-form { position:sticky;top:20px; }
@media (max-width:1050px) { .stats { grid-template-columns:repeat(2,1fr); }.package-admin-grid,.two-columns { grid-template-columns:1fr; }.password-form { position:static; } }
@media (max-width:760px) { .sidebar { position:static;width:auto;padding:15px; }.admin-brand { padding-bottom:14px; }.sidebar nav { grid-template-columns:1fr 1fr; }.sidebar-bottom { display:none; }.admin-main { margin:0;padding:24px 15px 50px; }.admin-header { align-items:flex-start; }.admin-header h1 { font-size:25px; }.admin-user { font-size:0; }.stats { grid-template-columns:1fr 1fr; }.booking-item { grid-template-columns:75px 1fr; }.booking-when { padding:18px 8px; }.booking-title { display:block; }.notify-badges { margin-top:10px; }.booking-grid { grid-template-columns:1fr; }.booking-actions { align-items:stretch;flex-direction:column; }.booking-actions form { width:100%; }.booking-actions form:first-child { grid-template-columns:1fr; }.filters { align-items:stretch;flex-direction:column; }.filters select,.filters input { width:100%; }.package-admin-grid { grid-template-columns:1fr; }.schedule-row { grid-template-columns:70px 1fr 10px 1fr; }.closed-check { grid-column:2/-1;padding-bottom:8px; }.field-row { grid-template-columns:1fr; }.field-row.compact { grid-template-columns:80px 1fr 1fr; } }
