:root{--navy: #003366;--navy-700: #00264d;--accent: #e30613;--bg: #f4f6f9;--surface: #ffffff;--border: #e2e8f0;--fg: #1f2937;--muted: #6b7280;--ok: #047857;--ok-bg: #ecfdf5;--warn: #b45309;--warn-bg: #fffbeb;--err: #b91c1c;--err-bg: #fef2f2;--radius: 10px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--fg);background:var(--bg)}h1,h2,h3{margin:0 0 .5rem}a{color:var(--navy)}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#fff;padding:20px 14px}.brand{font-size:20px;font-weight:700;letter-spacing:.5px;margin-bottom:24px}.brand span{color:#9fc1e8}.nav button{display:block;width:100%;text-align:left;background:transparent;color:#cdd9e8;border:0;padding:10px 12px;border-radius:8px;font-size:14px;cursor:pointer;margin-bottom:4px}.nav button:hover{background:var(--navy-700);color:#fff}.nav button.active{background:#fff;color:var(--navy);font-weight:600}.sidebar .foot{position:sticky;top:100vh;font-size:12px;color:#7fa3cc}.main{padding:28px 32px;overflow:auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.topbar .sub{color:var(--muted);font-size:13px}.kpis{display:flex;gap:14px;margin-bottom:22px;flex-wrap:wrap}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;min-width:130px}.kpi .val{font-size:26px;font-weight:700;color:var(--navy)}.kpi .lbl{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:18px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}tr:last-child td{border-bottom:0}.btn{border:1px solid var(--border);background:#fff;color:var(--fg);padding:8px 14px;border-radius:8px;cursor:pointer;font-size:14px}.btn:hover{border-color:var(--navy)}.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.ok{background:var(--ok);color:#fff;border-color:var(--ok)}.btn.danger{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.sm{padding:5px 10px;font-size:13px}input,textarea,select{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:8px;width:100%}label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}.row{display:flex;gap:12px;flex-wrap:wrap}.row>div{flex:1;min-width:120px}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600}.badge.pending_owner{background:var(--warn-bg);color:var(--warn)}.badge.awaiting_payment{background:#eff6ff;color:#1d4ed8}.badge.approved,.badge.confirmed{background:var(--ok-bg);color:var(--ok)}.badge.declined,.badge.cancelled{background:var(--err-bg);color:var(--err)}.badge.inactive{background:#f1f5f9;color:var(--muted)}.err{color:var(--err);background:var(--err-bg);padding:10px 14px;border-radius:8px;margin-bottom:14px}.muted{color:var(--muted)}.login{display:grid;place-items:center;min-height:100vh}.login .card{width:380px}.inbox{display:grid;grid-template-columns:280px 1fr;gap:16px}.conv-list button{display:block;width:100%;text-align:left;border:1px solid var(--border);background:#fff;border-radius:8px;padding:10px;margin-bottom:8px;cursor:pointer}.conv-list button.active{border-color:var(--navy)}.bubble{max-width:75%;padding:8px 12px;border-radius:12px;margin:6px 0;font-size:14px}.bubble.in{background:#eef2f7}.bubble.out{background:var(--navy);color:#fff;margin-left:auto}.bubble .who{font-size:11px;opacity:.7}dialog{border:1px solid var(--border);border-radius:var(--radius);padding:22px;width:460px;max-width:92vw}dialog::backdrop{background:#00000059}.profile-card{display:flex;align-items:center;gap:16px}.avatar{width:56px;height:56px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:700;flex:none}.profile-name{font-size:18px;font-weight:700}.rule-add{display:flex;gap:8px;margin:10px 0 14px}.rule-add input{flex:1}.rule-list{list-style:none;padding:0;margin:0}.rule-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px}.rule-list li:last-child{border-bottom:0}.pending-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.pending-row:last-child{border-bottom:0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-head{font-size:12px;color:var(--muted);text-transform:uppercase;margin-bottom:6px}.cal-cell{min-height:76px;border:1px solid var(--border);border-radius:8px;padding:4px;overflow:hidden}.cal-cell.empty{border:0}.cal-day{font-size:12px;color:var(--muted);margin-bottom:2px}.cal-ev{font-size:11px;padding:2px 5px;border-radius:5px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-ev.approved,.cal-ev.confirmed{background:var(--ok-bg);color:var(--ok)}.cal-ev.pending_owner{background:var(--warn-bg);color:var(--warn)}.cal-ev.awaiting_payment{background:#eff6ff;color:#1d4ed8}.cal-legend{margin-top:10px;display:flex;gap:8px}@media(max-width:720px){.shell{grid-template-columns:1fr}.sidebar{padding:12px 14px;position:sticky;top:0;z-index:10}.sidebar .brand{margin-bottom:12px}.nav{display:flex;gap:6px;overflow-x:auto}.nav button{width:auto;white-space:nowrap;margin-bottom:0;padding:8px 12px}.sidebar .foot{display:none}.main{padding:16px}.kpis{gap:10px}.kpi{min-width:0;flex:1;padding:12px}.card{padding:14px;overflow-x:auto}table{font-size:13px;min-width:520px}.inbox{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:10px}.login .card{width:92vw}.cal-grid{gap:3px}.cal-cell{min-height:50px;padding:2px}.cal-ev{font-size:9px;padding:1px 3px}}
