:root{--bg:#f7f4f1;--panel:#fff;--ink:#2c2621;--ink-soft:#7d7166;--line:#e7ded6;--gold:#b08d57;--gold-soft:#f3ead9;--ok:#2f7d5d;--ok-bg:#e6f2ec;--warn:#a8730f;--warn-bg:#fbf0da;--bad:#a8402f;--bad-bg:#fae9e6;--info:#3a6a8f;--info-bg:#e8f0f6;--radius:14px;--shadow:0 1px 2px rgba(44,38,33,.05),0 8px 24px rgba(44,38,33,.05)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Tajawal,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.side{width:220px;flex:0 0 220px;background:var(--panel);-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line);padding:22px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{text-align:center;margin-bottom:14px}.brand b{display:block;font-size:19px;letter-spacing:.5px}.brand span{display:block;font-size:11px;color:var(--gold);letter-spacing:3px;margin-top:2px}.brandbadge{display:inline-block;line-height:0}.brandbadge img{display:block;width:122px;height:auto}.brandbadge.lg img{width:168px}.brandbadge.inv img{width:132px}.langtoggle{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-bottom:16px;padding:8px 12px;font-size:13px;font-weight:700;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);cursor:pointer;transition:.15s}.langtoggle:hover{border-color:var(--gold);color:var(--gold)}.langtoggle .globe{color:var(--gold);font-size:14px}.lockdot{font-size:11px;opacity:.55}.nav a{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:10px;margin-bottom:3px;color:var(--ink-soft);font-size:14.5px;transition:.15s}.nav a:hover{background:var(--bg);color:var(--ink)}.nav a.on{background:var(--gold-soft);color:var(--ink);font-weight:700}.nav .ico{width:18px;text-align:center}.main{flex:1 1;padding:26px 30px 60px;min-width:0}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}.pagehead h1{margin:0;font-size:23px;font-weight:800}.pagehead p{margin:4px 0 0;color:var(--ink-soft);font-size:13.5px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:18px}.card h2{margin:0 0 14px;font-size:16.5px;font-weight:800}.card h3{margin:18px 0 10px;font-size:14.5px;font-weight:700;color:var(--ink-soft)}.grid{display:grid;grid-gap:14px;gap:14px}.g2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.stat .k{font-size:12.5px;color:var(--ink-soft);margin-bottom:7px}.stat .v{font-size:22px;font-weight:800;letter-spacing:-.3px}.stat .s{font-size:12px;color:var(--ink-soft);margin-top:5px}.stat.pos .v{color:var(--ok)}.stat.neg .v{color:var(--bad)}.stat.gold{background:linear-gradient(160deg,#fffaf1,#f7efe0);border-color:#ecdcc2}.tablewrap{overflow-x:auto;margin:0 -4px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:11px 10px;text-align:start;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12.5px;color:var(--ink-soft);font-weight:700;background:#fbf9f7}tbody tr:hover{background:#fdfbf9}td.wrap,th.wrap{white-space:normal}tfoot td{font-weight:800;background:#fbf9f7;border-bottom:none}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.muted{background:#efeae5;color:var(--ink-soft)}.btn,button{font-family:inherit;font-size:14px;font-weight:700;padding:9px 16px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;transition:.15s}.btn:hover,button:hover{border-color:var(--gold)}button:disabled{opacity:.5;cursor:not-allowed}.btn-gold,button.gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn-gold:hover,button.gold:hover{background:#9c7a48}button.sm{padding:6px 11px;font-size:13px;border-radius:8px}button.danger{color:var(--bad)}input,select,textarea{font-family:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold-soft);border-color:var(--gold)}.field{margin-bottom:12px}.field label{display:block;font-size:12.5px;color:var(--ink-soft);margin-bottom:5px;font-weight:700}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.row>*{flex:1 1 150px}.row.tight>*{flex:0 0 auto}.bar{height:9px;background:#efe9e2;overflow:hidden;margin-top:8px}.bar,.bar>i{border-radius:999px}.bar>i{display:block;height:100%;background:var(--gold)}.bar.ok>i{background:var(--ok)}.note{font-size:13px;color:var(--ink-soft);line-height:1.7}.err{background:var(--bad-bg);color:var(--bad)}.err,.okmsg{padding:11px 14px;border-radius:10px;font-size:13.5px;margin-bottom:14px}.okmsg{background:var(--ok-bg);color:var(--ok)}.empty{text-align:center;color:var(--ink-soft);padding:30px 10px;font-size:14px}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tabs button.on{background:var(--gold-soft);border-color:#e3d2b6}.modalbg{position:fixed;inset:0;background:rgba(44,38,33,.45);display:flex;align-items:center;justify-content:center;padding:18px;z-index:50}.modal{background:var(--panel);border-radius:16px;padding:22px;width:100%;max-width:520px;max-height:88vh;overflow-y:auto}.modal h2{margin:0 0 16px;font-size:17px}.loginwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.loginbox{width:100%;max-width:380px}@media (max-width:820px){.app{flex-direction:column}.side{width:auto;flex:none;height:auto;position:static;-webkit-border-start:none;border-inline-start:none;border-bottom:1px solid var(--line);padding:14px}.brand{margin-bottom:12px}.nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.nav a{white-space:nowrap;margin:0}.main{padding:18px 14px 50px}}@media print{.noprint,.side{display:none!important}.main{padding:0}.card{box-shadow:none;border:none}body{background:#fff}body:has(#print-invoice),body:has(#print-invoice) .app,body:has(#print-invoice) .main,html{background:#fff!important}body:has(#print-invoice) .main :not(:has(#print-invoice)):not(#print-invoice):not(#print-invoice *){display:none!important}body:has(#print-invoice) .modalbg{position:static!important;background:none!important;padding:0!important;display:block!important}body:has(#print-invoice) .modal{max-width:none!important;max-height:none!important;overflow:visible!important;padding:0!important;box-shadow:none!important;border-radius:0!important;background:#fff!important}body:has(#print-invoice) .modal>:not(:has(#print-invoice)):not(#print-invoice){display:none!important}@page{margin:12mm}}.bookingalert{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-4px 0 16px;padding:12px 16px;border-radius:14px;cursor:pointer;background:linear-gradient(90deg,#5c2233,#7d3247);color:#fff;box-shadow:0 6px 20px rgba(92,34,51,.28);animation:alertIn .35s ease}.bookingalert b{font-size:14px;flex:1 1}.bookingalert button{background:hsla(0,0%,100%,.14);border:1px solid hsla(0,0%,100%,.3);color:#fff;font-weight:700}.bookingalert button:hover{background:hsla(0,0%,100%,.26)}.bookingalert .dot{width:10px;height:10px;border-radius:50%;background:#ffd479;box-shadow:0 0 0 0 rgba(255,212,121,.7);animation:alertPulse 1.6s infinite}@keyframes alertPulse{0%{box-shadow:0 0 0 0 rgba(255,212,121,.7)}70%{box-shadow:0 0 0 12px rgba(255,212,121,0)}to{box-shadow:0 0 0 0 rgba(255,212,121,0)}}@keyframes alertIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.soundtoggle{position:fixed;inset-inline-end:18px;bottom:18px;z-index:45;width:46px;height:46px;padding:0;border-radius:50%;font-size:19px;line-height:1;cursor:pointer;background:var(--panel);border:1px solid var(--line);box-shadow:0 4px 14px rgba(0,0,0,.12)}.soundtoggle:hover{border-color:var(--gold)}