:root{--bg:#f6f7fb;--card:#fff;--text:#101828;--muted:#667085;--line:#e4e7ec;--primary:#111827;--primary2:#2563eb;--danger:#dc2626;--success:#16a34a;--shadow:0 12px 30px rgba(16,24,40,.08);--radius:18px}*{box-sizing:border-box}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.sidebar{position:fixed;right:0;top:0;bottom:0;width:250px;background:#0b1220;color:#fff;padding:22px;z-index:10}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-icon,.login-logo{width:48px;height:48px;border-radius:16px;background:#fff;color:#111827;display:grid;place-items:center;font-size:26px}.brand small{display:block;color:#b8c0cc;margin-top:4px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav a{padding:13px 14px;border-radius:12px;color:#e5e7eb}.sidebar nav a:hover{background:rgba(255,255,255,.1)}.danger-link{color:#fecaca!important}.main{margin-right:250px;padding:28px;min-height:100vh}.auth-main{margin:0;display:grid;place-items:center}.page-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.page-header h1{margin:0 0 6px;font-size:30px}.page-header p{margin:0;color:var(--muted)}.btn{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:700;color:#111827}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.small{padding:7px 10px;font-size:13px}.btn.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.btn.whatsapp{background:#dcfce7;border-color:#bbf7d0;color:#166534;margin-top:12px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card,.panel,.login-card,.public-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card{padding:20px}.stat-card span{display:block;color:var(--muted);margin-bottom:10px}.stat-card strong{font-size:34px}.panel{padding:20px;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel h2{margin:0 0 16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:620px}th,td{text-align:right;padding:13px;border-bottom:1px solid var(--line)}th{color:#475467;background:#f9fafb}.muted{color:var(--muted);text-align:center}.actions,.header-actions,.form-actions{display:flex;gap:8px;flex-wrap:wrap}.search{display:flex;gap:10px;margin-bottom:18px}.search input{flex:1}.form{display:flex;flex-direction:column;gap:10px}.form label{font-weight:700;color:#344054}.form input,.form textarea,.form select,.search input,.inline-form input{border:1px solid var(--line);border-radius:12px;padding:13px 14px;font:inherit;background:#fff;outline:none}.form input:focus,.form textarea:focus,.form select:focus,.search input:focus,.inline-form input:focus{border-color:#94a3b8}.form-panel{max-width:720px}.grid.two{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.progress-label{display:flex;justify-content:space-between;margin:14px 0 10px;color:#344054}.progress{height:16px;border-radius:999px;background:#eef2f7;overflow:hidden}.progress div{height:100%;background:#111827;border-radius:999px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.profile-stats div{background:#f9fafb;border:1px solid var(--line);border-radius:14px;padding:13px}.profile-stats span{display:block;color:var(--muted);font-size:12px}.profile-stats strong{font-size:22px}.inline-form{display:flex;gap:10px}.inline-form input{flex:1}.qr-panel{text-align:center}.qr-panel img{width:230px;max-width:100%;border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff}.scanner-panel{max-width:740px}.login-card{width:min(440px,92vw);padding:34px;text-align:center}.login-card .login-logo,.public-card .login-logo{margin:0 auto 14px;background:#111827;color:#fff}.login-card h1{margin:0 0 8px}.login-card p{color:var(--muted)}.flash-wrap{position:sticky;top:14px;z-index:20}.flash{padding:12px 15px;border-radius:12px;margin-bottom:12px;border:1px solid var(--line);background:#fff}.flash.success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.flash.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.public-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0b1220,#1f2937)}.public-card{width:min(480px,92vw);padding:32px;text-align:center}.public-card h1{margin:0}.public-card h2{margin:8px 0;color:#111827}.reward{padding:14px;border-radius:14px;background:#f9fafb;margin:18px 0}.reward.available{background:#dcfce7;color:#166534;font-weight:800}
@media(max-width:900px){.sidebar{position:static;width:100%;padding:14px}.sidebar nav{display:grid;grid-template-columns:repeat(3,1fr)}.main{margin:0;padding:16px}.cards,.grid.two{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}.search,.inline-form{flex-direction:column}.profile-stats{grid-template-columns:1fr}.sidebar .brand{margin-bottom:12px}table{min-width:560px}}

.check-row{display:flex;gap:10px;align-items:center;font-weight:700;margin-top:8px}.check-row input{width:auto;transform:scale(1.2)}
.shop-print-card{max-width:680px;margin:25px auto;text-align:center;border:3px dashed #111;padding:34px;border-radius:26px;background:#fff}.print-brand{font-size:54px}.big-text{font-size:24px;font-weight:900;margin:8px 0 18px}.big-qr{width:330px;max-width:88%;image-rendering:crisp-edges;border:12px solid #fff;box-shadow:0 12px 35px rgba(0,0,0,.15);border-radius:18px}.steps{line-height:2}.full{width:100%;justify-content:center}.result-box{padding:18px;border-radius:18px;background:#f5f7fb;border:1px solid #e4e8f0;margin-top:14px}.result-box.added{background:#eefbf4;border-color:#b6ebca}.result-box.pending{background:#fff8e8;border-color:#f1d28b}.result-box.duplicate{background:#f3f4f6;border-color:#d1d5db}.checkin-card{max-width:520px}.public-form{text-align:right}.actions form{display:inline-block;margin:2px}.no-print{}
@media print{body{background:#fff}.sidebar,.main>.flash-wrap,.no-print{display:none!important}.main{margin:0!important;padding:0!important}.print-card{box-shadow:none!important;border:4px solid #111!important;margin:0 auto!important;page-break-inside:avoid}.shop-print-card h1{font-size:42px}.big-qr{width:420px}.shop-print-card{width:90%;max-width:760px;padding:42px}}
.badge{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}.badge.ok{background:#dcfce7;color:#166534}.badge.danger{background:#fee2e2;color:#991b1b}.form-grid{grid-template-columns:1fr 1fr!important;gap:14px}.form-grid>div{display:flex;flex-direction:column;gap:8px}.public-card .btn{margin-top:10px}@media(max-width:900px){.form-grid{grid-template-columns:1fr!important}.sidebar nav{grid-template-columns:repeat(2,1fr)}}
.badge.warn{background:#fef3c7;color:#92400e}.subscription-strip{background:#fffbeb;border-color:#fde68a;color:#92400e}.subscription-strip strong{color:#78350f}
.feature-list{list-style:none;padding:0;margin:14px 0;text-align:right;line-height:2;color:#344054}.price-card small{display:block;color:#667085;margin-top:4px}.price-card strong{font-size:30px}.public-card .cards{margin:16px 0}.public-card .stat-card{box-shadow:none}.public-card .stat-card strong{font-size:28px}.public-card .form-actions{display:flex;gap:10px;flex-wrap:wrap}.badge.warn{background:#fef3c7;color:#92400e}
@media(max-width:900px){.pricing-cards{grid-template-columns:1fr!important}}
.language-box{padding:14px;margin:12px;border:1px solid rgba(255,255,255,.15);border-radius:12px;text-align:center}
.lang-links{display:flex;gap:8px;justify-content:center;margin-top:8px}.lang-links a,.public-lang a{padding:6px 10px;border-radius:999px;background:#f3f4f6;text-decoration:none;color:#111827;font-weight:700}
.public-lang{position:fixed;top:12px;left:12px;display:flex;gap:8px;z-index:20}.premium-card{border:2px solid #111827;transform:scale(1.02)}
.payment-info{background:#f8fafc;border:1px dashed #94a3b8;padding:14px;border-radius:14px;margin:10px 0}.copy-text{font-family:monospace;font-size:18px;letter-spacing:1px}
[dir="ltr"] body,[dir="ltr"] .main,[dir="ltr"] .public-card,[dir="ltr"] .login-card{text-align:left}.public-body .public-lang{position:static;margin:12px auto;justify-content:center}
@media print{.public-lang,.sidebar,.main .flash-wrap{display:none!important}.print-card{box-shadow:none!important;width:100%!important}.big-qr{width:320px!important;height:320px!important}}

/* V5 fixes: scrollable sidebar, LTR layout, owner/account pages */
.sidebar{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;}
.sidebar nav{padding-bottom:16px;}
.language-box{position:sticky;bottom:0;background:#0b1220;padding-top:12px;margin-top:12px;border-top:1px solid rgba(255,255,255,.12)}
.lang-links{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.lang-links a,.public-lang a{background:rgba(255,255,255,.10);color:#fff;padding:7px 10px;border-radius:10px;font-weight:800;font-size:12px}
.public-lang{position:fixed;top:14px;left:14px;z-index:30;display:flex;gap:8px}
.public-lang a{background:#111827}
html[dir="ltr"] body{font-family:Arial,Tahoma,sans-serif}
html[dir="ltr"] .sidebar{right:auto;left:0}
html[dir="ltr"] .main{margin-right:0;margin-left:250px}
html[dir="ltr"] th,html[dir="ltr"] td{text-align:left}
html[dir="ltr"] .page-header,html[dir="ltr"] .panel-head,html[dir="ltr"] .progress-label{direction:ltr}
.soft-line{border:0;border-top:1px solid var(--line);width:100%;margin:12px 0}
@media(max-width:900px){html[dir="ltr"] .main{margin-left:0}.sidebar{max-height:45vh}.sidebar nav{max-height:32vh;overflow:auto}}

/* V6 production-ready public landing and policy pages */
.hero-card{width:min(1120px,94vw);margin:32px auto;display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:center;background:linear-gradient(135deg,#ecfeff,#f8fafc);border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 20px 45px rgba(15,23,42,.08)}
.hero-content h1{font-size:clamp(32px,5vw,58px);line-height:1.08;margin:14px 0;color:#0f172a}.lead{font-size:20px;color:#475569;line-height:1.8}.badge{display:inline-flex;background:#0f172a;color:white;padding:8px 14px;border-radius:999px;font-weight:800}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.btn.ghost{background:white;border:1px solid var(--line);color:#0f172a}.hero-panel{min-height:260px;display:grid;place-items:center}.mini-screen{background:#020617;color:white;border-radius:24px;padding:28px;box-shadow:0 25px 55px rgba(2,6,23,.25);font-size:18px}.mini-screen strong{font-size:30px;display:block;margin-bottom:14px}.feature-grid{width:min(1120px,94vw);margin:24px auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-card{background:white;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 10px 26px rgba(15,23,42,.06)}.feature-card b{color:#06b6d4}.public-footer{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:24px auto 40px}.public-footer a{color:#0f172a;font-weight:800}.policy-card p{line-height:2;color:#475569}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:900px){.hero-card{grid-template-columns:1fr;padding:24px}.feature-grid{grid-template-columns:1fr}.pricing-cards{grid-template-columns:1fr!important}.grid-2{grid-template-columns:1fr}.hero-actions .btn{width:100%;justify-content:center}}

/* V9 notification system */
.notification-nav{position:relative}.notify-badge{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;border-radius:999px;background:#ef4444;color:#fff;font-size:12px;margin-inline-start:6px;padding:0 7px}.notification-list{display:flex;flex-direction:column;gap:12px}.notification-item{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.notification-item.unread{border-color:#93c5fd;background:#eff6ff}.notification-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.notification-item p{margin:8px 0;color:#475569;line-height:1.7}.notification-item small{color:#64748b}.result-box.added{background:#ecfdf5;border-color:#86efac}.result-box.duplicate{background:#fff7ed;border-color:#fdba74}
@media(max-width:900px){.notification-item{flex-direction:column}.notification-item .actions{width:100%}}
