:root{--maroon:#4A1020;--maroon-mid:#6B1A30;--maroon-nav:#3A0C18;--gold:#C8A96E;--gold-dim:#A88A52;--ivory:#F5F0EA;--ivory-dim:#EDE6DC;--ink:#1A0810}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Cairo',sans-serif;background:var(--ivory);color:var(--ink);direction:rtl;min-height:100vh}

/* App nav */
.app-nav,.landing-nav{background:var(--maroon-nav);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}
.nav-brand{color:var(--ivory);font-size:20px;font-weight:700;text-decoration:none}
.nav-actions{display:flex;gap:12px}
.nav-btn{background:none;border:none;color:var(--ivory);font-size:20px;cursor:pointer;opacity:.8}
.nav-btn:hover{opacity:1}

/* Buttons */
.btn-gold{background:var(--gold);color:var(--maroon);border:none;padding:10px 20px;border-radius:8px;font-family:'Cairo';font-weight:700;cursor:pointer;font-size:14px;transition:background .2s}
.btn-gold:hover{background:var(--gold-dim)}
.btn-gold:disabled{opacity:.5;cursor:not-allowed}
.btn-gold.btn-lg{padding:14px 32px;font-size:16px}
.btn-gold.btn-sm{padding:6px 14px;font-size:13px}
.btn-gold.btn-full{width:100%}
.btn-outline{background:none;border:2px solid var(--maroon);color:var(--maroon);padding:10px 20px;border-radius:8px;font-family:'Cairo';font-weight:600;cursor:pointer;font-size:14px}
.btn-outline.btn-full{width:100%}
.btn-white{background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.7);color:#fff;padding:8px 18px;border-radius:8px;font-family:'Cairo';font-weight:600;cursor:pointer;font-size:14px;transition:all .2s}
.btn-white:hover{background:rgba(255,255,255,.25)}

/* Phone input with country code */
.phone-wrapper{display:flex;gap:0;margin-bottom:12px;direction:ltr}
.country-select-wrap{position:relative;flex-shrink:0}
.country-btn{padding:12px 10px;border:1px solid #ddd;border-radius:8px 0 0 8px;background:#fff;cursor:pointer;font-family:'Cairo';font-size:14px;display:flex;align-items:center;gap:4px;height:100%;min-width:100px;border-right:none}
.country-btn:focus{border-color:var(--maroon)}
.country-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:0 0 8px 8px;max-height:250px;overflow-y:auto;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.15);display:none;min-width:260px}
.country-dropdown.open{display:block}
.country-search{width:100%;padding:10px 12px;border:none;border-bottom:1px solid #eee;font-family:'Cairo';font-size:13px;outline:none;direction:ltr}
.country-option{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:13px;transition:background .1s}
.country-option:hover{background:var(--ivory)}
.country-option .cc-flag{font-size:18px}
.country-option .cc-code{color:#888;font-size:12px;margin-right:auto;direction:ltr}
.phone-number-input{flex:1;padding:12px 16px;border:1px solid #ddd;border-radius:0 8px 8px 0;font-family:'Cairo';font-size:14px;outline:none;direction:ltr}
.phone-number-input:focus{border-color:var(--maroon)}
.back-btn{background:none;border:none;color:var(--maroon);font-size:16px;cursor:pointer;font-weight:700;padding:4px 8px}

/* Hero */
.hero{background:var(--maroon);padding:28px 20px;color:var(--ivory)}
.hero-greeting{color:var(--gold);font-size:14px}
.hero-name{font-size:24px;font-weight:700;margin:4px 0 8px}
.hero-sub{opacity:.7;font-size:14px}

/* Stats */
.stats{display:flex;gap:12px;padding:16px 20px;margin-top:-20px;position:relative;z-index:10}
.stat-card{flex:1;background:#fff;border-radius:12px;padding:16px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.06);cursor:pointer;transition:transform .15s}
.stat-card:hover{transform:translateY(-2px)}
.stat-icon{font-size:28px;margin-bottom:6px}
.stat-val{font-size:26px;font-weight:700}
.stat-label{font-size:12px;color:#888}

/* Section */
.section{padding:0 20px;margin-top:20px}
.section-title{font-size:18px;font-weight:700;color:var(--maroon);margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;border:1px solid rgba(200,169,110,.3);background:rgba(200,169,110,.08);font-size:13px;cursor:pointer;transition:all .2s;color:var(--ink)}
.chip:hover,.chip.active{background:rgba(200,169,110,.2);border-color:var(--gold)}
.chip-icon{color:var(--maroon);font-size:16px}

/* Cards */
.case-card{background:#fff;border-radius:12px;padding:16px;margin:8px 20px;box-shadow:0 2px 8px rgba(0,0,0,.06);cursor:pointer;transition:transform .15s}
.case-card:hover{transform:translateY(-1px)}
.case-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.badge{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}
.badge-type{background:var(--maroon);color:var(--gold)}
.badge-status{background:rgba(34,197,94,.1);color:#22c55e}
.case-number{margin-right:auto;color:var(--maroon);font-weight:700;font-size:14px;direction:ltr}
.case-title{font-size:16px;font-weight:600;margin-bottom:8px}
.case-meta{font-size:13px;color:#888;display:flex;align-items:center;gap:4px;margin-bottom:4px}
.hearing-badge{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--gold-dim);margin-top:8px}
.info-row{padding:6px 0;font-size:14px;border-bottom:1px solid #f0f0f0}
.info-section{margin:12px 20px;background:#fff;border-radius:12px;padding:16px}
.info-section h3{color:var(--maroon);margin-bottom:8px;font-size:15px}
.form-card{background:#fff;border-radius:12px;padding:16px;margin:0 20px 12px;box-shadow:0 2px 8px rgba(0,0,0,.06)}

/* Tabs */
.tabs{display:flex;overflow-x:auto;gap:0;border-bottom:2px solid #eee;padding:0 20px}
.tab{background:none;border:none;padding:10px 14px;font-family:'Cairo';font-size:13px;cursor:pointer;color:#888;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap}
.tab.active{color:var(--maroon);border-bottom-color:var(--maroon);font-weight:700}
.tab-content{display:none;padding-bottom:80px}
.tab-content.active{display:block}

/* Disclaimer */
.disclaimer{margin:20px;padding:12px;background:rgba(184,146,42,.08);border-right:3px solid var(--gold);border-radius:8px;font-size:12px;color:var(--maroon-mid)}

/* Bottom nav */
.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;display:flex;box-shadow:0 -2px 10px rgba(0,0,0,.08);z-index:100}
.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px 0;cursor:pointer;color:#999;font-size:11px;gap:2px;transition:color .2s;border:none;background:none;font-family:'Cairo'}
.bottom-nav-item.active{color:var(--maroon)}
.bottom-nav-item .nav-icon{font-size:22px}

/* Auth pages */
.auth-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;background:var(--ivory)}
.auth-card{background:#fff;padding:32px;border-radius:16px;width:100%;max-width:400px;box-shadow:0 4px 20px rgba(0,0,0,.08)}
.auth-card h2{color:var(--maroon);margin-bottom:16px;text-align:center}
.auth-input{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-family:'Cairo';font-size:14px;margin-bottom:12px;outline:none;direction:rtl}
.auth-input:focus{border-color:var(--maroon)}
.auth-link{text-align:center;margin-top:16px;font-size:13px;color:#888}
.auth-link a{color:var(--maroon);font-weight:700;text-decoration:none}
.error-msg{background:rgba(220,38,38,.08);color:#dc2626;padding:10px;border-radius:8px;font-size:13px;margin-bottom:12px;text-align:center}

/* Chat */
.chat-page{display:flex;flex-direction:column;height:calc(100vh - 56px)}
.chat-header{background:var(--maroon-nav);color:var(--ivory);padding:12px 16px;display:flex;align-items:center;gap:12px;font-weight:600}
.chat-pills-bar{display:flex;gap:8px;padding:8px 16px;overflow-x:auto;flex-shrink:0}
.chat-pill{white-space:nowrap;padding:6px 12px;border-radius:16px;border:1px solid rgba(200,169,110,.3);background:rgba(200,169,110,.08);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px}
.chat-pill:hover{background:rgba(200,169,110,.2)}
.chat-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.msg{max-width:85%;padding:14px;border-radius:16px;line-height:1.6;font-size:14px}
.msg-ai{align-self:flex-start;background:#fff;border-bottom-right-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.06);display:flex;gap:8px}
.msg-user{align-self:flex-end;background:var(--maroon);color:var(--ivory);border-bottom-left-radius:4px}
.ai-avatar{width:32px;height:32px;border-radius:16px;background:var(--maroon);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gold);font-size:14px}
.chat-input-bar{padding:8px 12px;background:#fff;border-top:1px solid #eee;display:flex;gap:8px;align-items:center;flex-shrink:0}
.chat-input{flex:1;border:1px solid #ddd;border-radius:24px;padding:10px 16px;font-family:'Cairo';font-size:14px;outline:none;background:var(--ivory);direction:rtl}
.chat-input:focus{border-color:var(--maroon)}
.chat-send{width:40px;height:40px;border-radius:20px;background:var(--gold);border:none;color:var(--maroon);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}
.chat-disclaimer{text-align:center;font-size:10px;color:#999;padding:2px}
.typing{color:#888;font-style:italic}

/* Draft editor */
.draft-editor{width:100%;min-height:400px;padding:16px;border:1px solid #ddd;border-radius:12px;font-family:'Cairo';font-size:15px;line-height:1.9;direction:rtl;text-align:right;resize:vertical;background:#fff;outline:none}
.draft-editor:focus{border-color:var(--maroon);box-shadow:0 0 0 2px rgba(74,16,32,.1)}
.upsell-card{background:var(--maroon);color:var(--ivory);padding:24px;border-radius:16px;text-align:center;margin-top:12px}
.upsell-card h3{color:var(--gold);margin-bottom:8px}
.upsell-card p{margin-bottom:8px;font-size:14px;opacity:.9}
.upsell-card .btn-gold{margin-top:12px}

/* Landing */
.landing-hero{background:var(--maroon);padding:60px 20px;text-align:center;color:var(--ivory)}
.landing-hero h1{font-size:28px;margin-bottom:12px;line-height:1.4}
.landing-sub{font-size:16px;opacity:.8;margin-bottom:24px}
.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;padding:40px 20px;max-width:900px;margin:0 auto}
.feature-card{background:#fff;padding:24px;border-radius:12px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.feature-icon{font-size:36px;margin-bottom:12px;display:block}
.feature-card h3{color:var(--maroon);margin-bottom:8px}
.feature-card p{font-size:13px;color:#666}
.landing-pricing{padding:40px 20px;text-align:center;background:var(--ivory-dim)}
.landing-pricing h2{color:var(--maroon);margin-bottom:24px}
.pricing-grid{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.pricing-card{background:#fff;padding:24px;border-radius:12px;min-width:200px;box-shadow:0 2px 8px rgba(0,0,0,.06);text-align:center}
.pricing-name{font-size:18px;font-weight:700;color:var(--maroon);margin-bottom:8px}
.pricing-price{font-size:28px;font-weight:700;color:var(--gold);margin-bottom:4px}
.pricing-price small{font-size:14px;font-weight:400}
.pricing-users{font-size:14px;color:#666;margin-bottom:4px}
.pricing-note{font-size:12px;color:#888;margin-bottom:12px}
.pricing-card .btn-gold{margin-top:12px}
.landing-cta{background:var(--maroon);padding:40px 20px;text-align:center;color:var(--ivory)}
.landing-cta h2{margin-bottom:8px}
.landing-cta p{opacity:.7;margin-bottom:20px}
.landing-footer{padding:24px 20px;text-align:center;background:var(--maroon-nav);color:var(--ivory);font-size:13px;opacity:.8}
.landing-nav-actions{display:flex;gap:12px}

/* States */
.loading{text-align:center;padding:40px;color:#888}
.empty-state{text-align:center;padding:40px;color:#888;font-size:14px}
.page-content{padding-bottom:80px}

/* Lang toggle */
.lang-toggle{background:none;border:1px solid rgba(245,240,234,.4);color:var(--ivory);padding:4px 12px;border-radius:4px;cursor:pointer;font-family:'Cairo';font-size:13px}
.lang-toggle:hover{background:rgba(245,240,234,.1)}

/* FAQ */
.landing-faq{padding:40px 20px;max-width:700px;margin:0 auto}
.landing-faq h2{color:var(--maroon);margin-bottom:20px;text-align:center}
.faq-list{display:flex;flex-direction:column;gap:8px}
.faq-item{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.faq-item summary{padding:14px 18px;cursor:pointer;font-weight:600;color:var(--maroon);font-size:15px;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-item summary::after{content:'▼';font-size:11px;color:var(--gold);transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(180deg)}
.faq-item p{padding:0 18px 14px;line-height:1.7;color:#444;font-size:14px}

/* Social */
.social-links{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.social-links span{opacity:.7}
.social-links a{color:var(--ivory);text-decoration:none;opacity:.8;transition:opacity .2s}
.social-links a:hover{opacity:1}

/* Modal overlay */
.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:300;padding:20px}
.modal-card{background:#fff;border-radius:16px;padding:24px;width:100%;max-width:400px;box-shadow:0 8px 32px rgba(0,0,0,.2);direction:rtl}

/* Footnote (submitted by) */
.footnote{font-size:11px;color:#999;margin-top:8px;padding-top:6px;border-top:1px solid #f0f0f0;font-style:italic}

/* Edit date button */
.edit-date-btn{background:none;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;padding:2px 6px;opacity:.6;transition:opacity .2s}
.edit-date-btn:hover{opacity:1;border-color:var(--gold)}

/* Search results highlight */
.search-highlight{background:rgba(200,169,110,.2);padding:1px 3px;border-radius:2px}

/* Laws browser pagination */
.pagination{display:flex;justify-content:center;gap:8px;padding:16px 20px;flex-wrap:wrap}
.page-btn{padding:6px 12px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-family:'Cairo';font-size:13px}
.page-btn.active{background:var(--maroon);color:var(--ivory);border-color:var(--maroon)}
.page-btn:hover:not(.active){background:var(--ivory-dim)}

@media(min-width:768px){.hero{padding:32px 40px}.stats{padding:16px 40px}.section{padding:0 40px}.case-card{margin:8px 40px}.disclaimer{margin:20px 40px}.info-section{margin:12px 40px}.form-card{margin:0 40px 12px}.tabs{padding:0 40px}.landing-hero h1{font-size:36px}}
