:root{
    --bg:#f7f3ed;
    --panel:#fbf8f3;
    --card:#fcfaf6;
    --border:#e5ddd0;
    --line:#e8dfd2;
    --text:#4c3a29;
    --muted:#9a856e;
    --brand-dark:#4b321d;
    --brand-dark-2:#3a2515;
    --brand-gold:#d5bc87;
    --available:#88a06e;
    --partial:#d7b980;
    --full:#c87046;
    --blocked:#9b795d;
    --input:#f8f3ec;
    --shadow:0 6px 16px rgba(61, 41, 22, 0.06);
    --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Georgia,"Times New Roman",serif;background:var(--bg);color:var(--text)}
.topbar{background:linear-gradient(90deg,var(--brand-dark),var(--brand-dark-2));color:#f0e6d5;display:flex;align-items:center;justify-content:space-between;padding:14px 30px}
.brand{display:flex;align-items:center;gap:10px;font-size:17px}
.brand .icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--brand-gold);font-size:14px}
.top-actions{display:flex;gap:12px;align-items:center}
.nav-btn{border:none;background:transparent;color:#b9a483;font-weight:700;letter-spacing:.02em;padding:12px 18px;border-radius:10px;cursor:pointer;font-family:Arial,Helvetica,sans-serif;font-size:14px;text-decoration:none}
.nav-btn.active{background:#d8bd87;color:#4b321d}
.wrap{max-width:920px;margin:28px auto 60px;padding:0 18px}
h1{margin:0 0 4px;font-size:28px;line-height:1.1;color:#4b321d}.sub{margin:0 0 26px;color:#8f7b66;font-family:Arial,Helvetica,sans-serif;font-size:14px}
.legend{display:flex;flex-wrap:wrap;gap:20px;border:1px solid var(--border);background:rgba(255,255,255,.35);border-radius:12px;padding:12px 14px;margin-bottom:22px;font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#8a775f}
.legend-item{display:flex;align-items:center;gap:8px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-available{background:var(--available)}.dot-partial{background:var(--partial)}.dot-full{background:var(--full)}.dot-blocked{background:var(--blocked)}
.month-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.month-left{display:flex;align-items:center;gap:14px}.month-title{font-size:18px;color:#573c24}
.icon-btn,.today-btn{border:1px solid #d7c6ab;background:transparent;color:#8b704d;height:30px;border-radius:8px;cursor:pointer;font-family:Arial,Helvetica,sans-serif;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.icon-btn{width:34px}.today-btn{padding:0 14px;background:#f8f1e6}
.days-strip{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:10px;margin-bottom:26px}.day-card{text-decoration:none;border:1px solid var(--border);background:var(--card);border-radius:12px;min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#8c7863;box-shadow:0 1px 0 rgba(255,255,255,.7) inset}.day-card:hover{border-color:#cbb28a}.day-card.selected{background:linear-gradient(180deg,#4c321d,#392415);color:#f0dfc2;border-color:#4c321d}.day-name{font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:.04em;text-transform:uppercase;opacity:.9}.day-num{font-size:32px;line-height:1}
.section-date{font-size:18px;color:#573c24;padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:16px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.slot-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:0;overflow:hidden;box-shadow:var(--shadow);position:relative}.slot-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--available)}.slot-card.bar-available::before{background:var(--available)}.slot-card.bar-partial::before{background:var(--partial)}.slot-card.bar-full::before{background:var(--full)}.slot-card.bar-blocked::before{background:var(--blocked)}
.slot-inner{padding:16px 18px}.slot-label{font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:.08em;color:#967c61;margin-bottom:8px}.slot-time{font-size:20px;margin-bottom:14px;color:#4c321d}.slot-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-family:Arial,Helvetica,sans-serif;color:#7d6a58;font-size:14px}.spots-pill{display:inline-flex;align-items:center;gap:6px;background:#eef3e9;color:#73875e;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.slot-divider{height:1px;background:var(--line);margin:8px 0 14px}.field-section-label{font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:.08em;color:#977f66;margin-bottom:10px}.form-row{display:grid;grid-template-columns:1fr 110px;gap:10px;margin-bottom:12px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;color:#8e7357;letter-spacing:.03em}.field input,.field textarea,.field select{width:100%;border:1px solid #ddd2c2;background:var(--input);border-radius:8px;padding:10px 12px;font-size:14px;color:#5c4632;outline:none;font-family:Arial,Helvetica,sans-serif}.field textarea{min-height:58px;resize:vertical}.save-btn{border:none;background:linear-gradient(180deg,#5a3c22,#432a18);color:#e0be72;border-radius:8px;padding:11px 16px;font-weight:700;cursor:pointer;font-size:14px}.save-btn:hover{opacity:.96}
.alert{margin:0 0 18px;background:#f5ecdc;border:1px solid #e1cfac;color:#5a4025;padding:12px 14px;border-radius:10px;font-family:Arial,Helvetica,sans-serif;font-size:14px}.blocked-note{font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#9b7c62;margin-top:8px}.muted{color:#8f7b66;font-family:Arial,Helvetica,sans-serif}
.admin-card{background:#fffaf2;border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--shadow);margin-bottom:18px}.admin-table{width:100%;border-collapse:collapse;font-family:Arial,Helvetica,sans-serif;background:#fffdf9}.admin-table th,.admin-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;color:#5d4834}.status-badge{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;font-family:Arial,Helvetica,sans-serif;display:inline-block}.status-available{background:#edf3e8;color:#6f845d}.status-partial{background:#fbf1de;color:#a47a1e}.status-full{background:#fae4da;color:#b7542c}.status-blocked{background:#efe3da;color:#8a644a}
.login-wrap{max-width:420px;margin:80px auto;padding:0 18px}
@media (max-width:1100px){.days-strip{grid-template-columns:repeat(7,minmax(0,1fr))}.slots{grid-template-columns:1fr}}
@media (max-width:700px){.topbar{flex-direction:column;align-items:flex-start;gap:12px}.top-actions{width:100%}.month-row{flex-direction:column;align-items:flex-start}.days-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.form-row{grid-template-columns:1fr}.day-num{font-size:26px}h1{font-size:24px}}
