@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap";:root{--emerald:#0d5c3a;--emerald-light:#1a7a50;--emerald-pale:#e8f5ef;--gold:#c9963a;--gold-light:#f0c96b;--cream:#faf8f3;--dark:#1a1a2e;--text:#2d3748;--text-muted:#718096;--border:#e2e8f0;--halal:#0d5c3a;--doubtful:#b7791f;--haram:#c53030;--premium-bg:linear-gradient(135deg, #0d5c3a 0%, #1a3a5c 100%);--card-shadow:0 4px 24px #00000014;--radius:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--cream);color:var(--text);min-height:100vh;font-family:IBM Plex Sans,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.navbar{background:var(--dark);z-index:100;border-bottom:2px solid var(--gold);justify-content:space-between;align-items:center;height:76px;padding:0 2rem;display:flex;position:sticky;top:0}.navbar-brand{color:#fff;align-items:center;gap:10px;text-decoration:none;display:flex}.navbar-brand .brand-icon{font-size:1.5rem}.brand-logo{object-fit:contain;mix-blend-mode:screen;width:auto;height:64px;display:block}.navbar-links{align-items:center;gap:1.5rem;list-style:none;display:flex}.navbar-links a{color:#ffffffbf;letter-spacing:.02em;border-bottom:2px solid #0000;padding:.4rem 0;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s}.navbar-links a:hover,.navbar-links a.active{color:var(--gold-light);border-bottom-color:var(--gold-light)}.tier-toggle{background:#ffffff1a;border-radius:20px;align-items:center;gap:2px;padding:3px;display:flex}.tier-btn{cursor:pointer;color:#fff9;background:0 0;border:none;border-radius:16px;padding:.35rem .9rem;font-size:.8rem;font-weight:600;transition:all .2s}.tier-btn.active-free{color:var(--dark);background:#fff}.tier-btn.active-premium{background:var(--gold);color:var(--dark)}.hero{background:var(--premium-bg);color:#fff;text-align:center;padding:4rem 2rem;position:relative;overflow:hidden}.hero-content{max-width:700px;margin:0 auto;position:relative}.hero-eyebrow{letter-spacing:.15em;text-transform:uppercase;color:var(--gold-light);margin-bottom:1rem;font-size:.8rem;font-weight:600}.hero h1{margin-bottom:1rem;font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.2}.hero h1 span{color:var(--gold-light)}.hero p{opacity:.85;margin-bottom:2rem;font-size:1.05rem;line-height:1.7}.hero-cta{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--gold);color:var(--dark)}.btn-primary:hover{background:var(--gold-light);transform:translateY(-1px)}.btn-outline{color:#fff;background:0 0;border:2px solid #fff}.btn-outline:hover{background:#ffffff1a}.btn-emerald{background:var(--emerald);color:#fff;justify-content:center;width:100%;padding:.9rem;font-size:1rem}.btn-emerald:hover{background:var(--emerald-light)}.btn-emerald:disabled{opacity:.6;cursor:not-allowed}.page{max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem}.page-title{color:var(--dark);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.75rem}.page-subtitle{color:var(--text-muted);margin-bottom:2rem}.card{border-radius:var(--radius);box-shadow:var(--card-shadow);border:1px solid var(--border);background:#fff;padding:1.75rem}.search-wrap{gap:.75rem;margin-bottom:2rem;display:flex}.search-input{border:2px solid var(--border);background:#fff;border-radius:8px;outline:none;flex:1;padding:.85rem 1.25rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.search-input:focus{border-color:var(--emerald)}.search-btn{background:var(--emerald);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:0 1.5rem;font-size:.95rem;font-weight:600;transition:background .2s}.search-btn:hover{background:var(--emerald-light)}.search-btn:disabled{opacity:.5;cursor:not-allowed}.stock-grid{gap:.75rem;margin-bottom:2.5rem;display:grid}.stock-chip{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:.9rem 1.25rem;transition:all .15s;display:flex}.stock-chip:hover{border-color:var(--emerald);box-shadow:0 2px 12px #0d5c3a1a}.stock-chip-left{align-items:center;gap:1rem;display:flex}.ticker-badge{letter-spacing:.05em;background:var(--emerald-pale);color:var(--emerald);text-align:center;border-radius:5px;min-width:90px;padding:.3rem .65rem;font-size:.85rem;font-weight:700}.stock-name{color:var(--text);font-weight:500}.stock-sector{color:var(--text-muted);font-size:.8rem}.stock-exchange{color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:.2rem .6rem;font-size:.78rem}.result-card{border-radius:var(--radius);box-shadow:var(--card-shadow);border:1px solid var(--border);background:#fff;animation:.3s fadeSlideIn;overflow:hidden}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.result-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:1.5rem 1.75rem;display:flex}.result-company{font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700}.result-ticker{color:var(--text-muted);margin-top:.25rem;font-size:.85rem}.result-sector{color:var(--text-muted);font-size:.8rem}.result-badge{flex-direction:column;align-items:flex-end;gap:.4rem;display:flex}.status-pill{border-radius:20px;padding:.4rem 1rem;font-size:.85rem;font-weight:700}.status-halal{color:var(--halal);background:#d4edda}.status-doubtful{color:var(--doubtful);background:#fef3cd}.status-nonhalal{color:var(--haram);background:#f8d7da}.rating-badge{color:var(--gold);font-size:1rem;font-weight:700}.standards-grid{grid-template-columns:repeat(3,1fr);gap:0;display:grid}.standard-item{text-align:center;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.25rem}.standard-item:last-child{border-right:none}.standard-name{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.5rem;font-size:.75rem;font-weight:600}.standard-result{font-size:1.5rem}.standard-label{margin-top:.3rem;font-size:.8rem;font-weight:600}.standard-label.pass{color:var(--halal)}.standard-label.fail{color:var(--haram)}.standard-item--locked{opacity:.7;background:#00000005}.standard-label--locked{color:var(--text-muted);font-size:.75rem}.upgrade-nudge{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;padding:1.1rem 1.75rem;display:flex}.upgrade-nudge--silver{background:#f0faf5}.upgrade-nudge--premium{background:#fff8e1}.upgrade-nudge-icon{flex-shrink:0;font-size:1.6rem}.upgrade-nudge-title{color:var(--dark);margin-bottom:.2rem;font-size:.88rem;font-weight:700}.upgrade-nudge-body{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.5}.upgrade-nudge .btn{flex-shrink:0;margin-left:auto}.screener-upgrade-nudge{border-radius:var(--radius);background:#f0faf5;border:1px dashed #0d5c3a4d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;padding:1.1rem 1.25rem;display:flex}.screener-upgrade-nudge-left{align-items:center;gap:.85rem;display:flex}.screener-upgrade-nudge-icon{flex-shrink:0;font-size:1.5rem}.screener-upgrade-nudge-title{color:var(--dark);margin-bottom:.2rem;font-size:.88rem;font-weight:700}.screener-upgrade-nudge-body{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.5}.stock-filter-bar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.filter-input{border:1px solid var(--border);min-width:180px;color:var(--text);background:#fff;border-radius:7px;outline:none;flex:1;padding:.55rem .9rem;font-size:.88rem;transition:border-color .15s}.filter-input:focus{border-color:var(--emerald)}.filter-select{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:7px;outline:none;padding:.52rem .8rem;font-size:.88rem;transition:border-color .15s}.filter-select:focus{border-color:var(--emerald)}.fail-reasons{border-bottom:1px solid var(--border);padding:1.25rem 1.75rem}.fail-reasons-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.75rem;font-size:.8rem;font-weight:600}.fail-reason-item{color:var(--haram);border-left:3px solid var(--haram);background:#fff5f5;border-radius:6px;align-items:flex-start;gap:.5rem;margin-bottom:.4rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.financials-section{padding:1.5rem 1.75rem}.financials-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1.25rem;font-size:.8rem;font-weight:600}.ratios-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.ratio-card{background:var(--cream);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.ratio-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.35rem;font-size:.78rem;font-weight:600}.ratio-value{color:var(--dark);font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.ratio-unit{color:var(--text-muted);margin-top:.2rem;font-size:.75rem}.premium-lock{background:linear-gradient(135deg,var(--emerald-pale),#e8f0f5);border:1px dashed var(--emerald);text-align:center;border-radius:10px;margin:1.5rem 1.75rem;padding:1.5rem}.premium-lock-icon{margin-bottom:.75rem;font-size:2rem}.premium-lock-title{color:var(--emerald);margin-bottom:.4rem;font-weight:700}.premium-lock-text{color:var(--text-muted);font-size:.85rem}.features-section{max-width:1100px;margin:0 auto;padding:3rem 1.5rem}.section-heading{text-align:center;color:var(--dark);margin-bottom:2rem;font-family:Playfair Display,serif;font-size:1.5rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.feature-card{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--card-shadow);text-align:center;background:#fff;padding:1.5rem}.feature-icon{margin-bottom:1rem;font-size:2.5rem}.feature-title{color:var(--dark);margin-bottom:.5rem;font-size:1rem;font-weight:700}.feature-desc{color:var(--text-muted);font-size:.85rem;line-height:1.6}.standards-section{background:var(--dark);color:#fff;padding:3rem 1.5rem}.standards-inner{max-width:1100px;margin:0 auto}.standards-heading{color:var(--gold-light);text-align:center;margin-bottom:2rem;font-family:Playfair Display,serif;font-size:1.5rem}.standards-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.standard-card{border-radius:var(--radius);background:#ffffff0d;border:1px solid #ffffff1a;padding:1.5rem}.standard-card-name{color:var(--gold-light);margin-bottom:1rem;font-size:.9rem;font-weight:700}.standard-rule{color:#ffffffbf;gap:.5rem;margin-bottom:.5rem;font-size:.82rem;line-height:1.5;display:flex}.standard-rule span{color:var(--gold-light);font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.form-label{color:var(--text);font-size:.8rem;font-weight:600}.form-sublabel{color:var(--text-muted);font-size:.72rem}.form-input{border:2px solid var(--border);border-radius:7px;outline:none;padding:.7rem 1rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.form-input:focus{border-color:var(--emerald)}.loading{text-align:center;color:var(--text-muted);padding:3rem}.loading-spinner{margin-bottom:1rem;font-size:2rem;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{color:var(--haram);background:#fff5f5;border:1px solid #fc8181;border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:.9rem}.not-found{text-align:center;border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:3rem}.tier-info-banner{background:var(--emerald-pale);color:var(--emerald);border:1px solid #0d5c3a33;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;font-size:.85rem;display:flex}.navbar-right{align-items:center;gap:.75rem;display:flex}.navbar-username{color:#ffffffbf;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.85rem;overflow:hidden}.tier-badge{letter-spacing:.05em;border-radius:12px;padding:.3rem .7rem;font-size:.72rem;font-weight:700}.tier-badge-free{color:#ffffffb3;background:#ffffff1f}.tier-badge-silver{color:#2d1b69;background:#b8b0c8}.tier-badge-premium{background:var(--gold);color:var(--dark)}.btn-sm{padding:.4rem .9rem;font-size:.8rem}.profile-menu{position:relative}.profile-trigger{cursor:pointer;color:#fff;background:#ffffff14;border:1px solid #ffffff26;border-radius:24px;align-items:center;gap:.5rem;padding:.35rem .75rem .35rem .4rem;transition:background .2s;display:flex}.profile-trigger:hover{background:#ffffff26}.profile-avatar{background:var(--emerald);color:#fff;letter-spacing:.03em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;font-weight:700;display:flex}.profile-trigger-name{color:#ffffffd9;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.82rem;overflow:hidden}.profile-chevron{color:#ffffff8c;flex-shrink:0;transition:transform .2s}.profile-chevron.open{transform:rotate(180deg)}.profile-dropdown{border:1px solid var(--border);border-radius:var(--radius);z-index:200;background:#fff;width:260px;animation:.15s dropIn;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 8px 32px #00000024}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-header{align-items:center;gap:.75rem;padding:1rem 1rem .85rem;display:flex}.profile-dropdown-avatar{background:var(--emerald);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.85rem;font-weight:700;display:flex}.profile-dropdown-name{color:var(--dark);font-size:.9rem;font-weight:700;line-height:1.3}.profile-dropdown-email{color:var(--text-muted);word-break:break-all;margin-top:1px;font-size:.78rem}.profile-dropdown-tier{justify-content:space-between;align-items:center;padding:.5rem 1rem .6rem;display:flex}.profile-tier-label{color:var(--text-muted);font-size:.78rem;font-weight:500}.profile-dropdown-expiry{color:var(--text-muted);padding:0 1rem .6rem;font-size:.78rem}.profile-dropdown-expiry strong{color:var(--text)}.profile-dropdown-expiry--urgent{color:#92400e;background:#fff8e1;border-radius:6px;margin:0 .5rem .25rem;padding:.45rem 1rem}.profile-dropdown-expiry--urgent strong{color:#92400e}.profile-dropdown-divider{background:var(--border);height:1px;margin:.1rem 0}.profile-upgrade-btn{text-align:center;background:var(--emerald-pale);width:100%;color:var(--emerald);cursor:pointer;border:none;padding:.65rem 1rem;font-size:.84rem;font-weight:700;text-decoration:none;transition:background .2s;display:block}.profile-upgrade-btn:hover{background:#d0ede0}.profile-upgrade-btn--premium{color:#92400e;background:#fff8e1}.profile-upgrade-btn--premium:hover{background:#fef3c7}.profile-upgrade-btn--renew{color:#b45309;background:#fff8e1}.profile-upgrade-btn--renew:hover{background:#fef3c7}.profile-dropdown-premium-note{color:var(--emerald);text-align:center;padding:.65rem 1rem;font-size:.82rem;font-weight:600}.profile-signout-btn{text-align:left;width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.65rem 1rem;font-size:.84rem;transition:background .2s,color .2s;display:block}.profile-signout-btn:hover{color:#dc2626;background:#fff0f0}.auth-page{background:var(--cream);justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:2rem 1rem;display:flex}.auth-card{border-radius:var(--radius);border:1px solid var(--border);background:#fff;width:100%;max-width:440px;padding:2.5rem 2rem;box-shadow:0 8px 40px #0000001a}.auth-header{text-align:center;margin-bottom:2rem}.auth-icon{margin-bottom:.75rem;font-size:2.5rem}.auth-title{color:var(--dark);margin-bottom:.4rem;font-family:Playfair Display,serif;font-size:1.75rem}.auth-subtitle{color:var(--text-muted);font-size:.9rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-footer{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.88rem}.auth-link{color:var(--emerald);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.admin-nav-link{color:var(--gold-light)!important;border-bottom-color:var(--gold-light)!important}.admin-page{max-width:1200px}.admin-hero{margin-bottom:1.75rem}.admin-tabs{border-bottom:2px solid var(--border);gap:.5rem;margin-bottom:2rem;display:flex;overflow-x:auto}.admin-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .15s}.admin-tab:hover{color:var(--text)}.admin-tab-active{color:var(--emerald);border-bottom-color:var(--emerald)}.admin-section-header{margin-bottom:1.5rem}.admin-section-title{color:var(--dark);margin-bottom:.3rem;font-family:Playfair Display,serif;font-size:1.3rem}.admin-section-desc{color:var(--text-muted);font-size:.85rem}.admin-table-wrap{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--card-shadow);overflow-x:auto}.admin-table{border-collapse:collapse;background:#fff;width:100%;font-size:.88rem}.admin-table th{background:var(--dark);color:#ffffffd9;letter-spacing:.06em;text-transform:uppercase;text-align:left;white-space:nowrap;padding:.85rem 1rem;font-size:.75rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.85rem 1rem}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--cream)}.user-name{color:var(--dark);font-weight:600}.user-email{color:var(--text-muted);font-size:.82rem}.user-date{color:var(--text-muted);white-space:nowrap;font-size:.82rem}.role-badge{letter-spacing:.04em;border-radius:10px;padding:.25rem .6rem;font-size:.72rem;font-weight:700}.role-admin{color:#92400e;background:#fef3cd}.role-user{background:var(--emerald-pale);color:var(--emerald)}.tier-select-group{flex-wrap:wrap;gap:.4rem;display:flex}.btn-tier-change{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;transition:all .15s}.btn-tier-change:hover{border-color:var(--emerald);color:var(--emerald);background:var(--emerald-pale)}.btn-tier-change:disabled{opacity:.4;cursor:not-allowed}.admin-result-card{border-radius:var(--radius);box-shadow:var(--card-shadow);border:1px solid var(--border);background:#fff;animation:.3s fadeSlideIn;overflow:hidden}.admin-result-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;display:flex}.admin-result-badge{letter-spacing:.04em;border-radius:10px;margin-bottom:.4rem;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.badge-new{color:#155724;background:#d4edda}.badge-updated{color:#004085;background:#cce5ff}.admin-result-title{color:var(--dark);font-size:1.1rem;font-weight:700}.admin-result-sub{color:var(--text-muted);margin-top:.2rem;font-size:.8rem}.bulk-textarea{resize:vertical;width:100%;font-family:IBM Plex Mono,monospace,inherit;font-size:.8rem}.bulk-summary{border-radius:8px;gap:1.5rem;margin-bottom:1rem;padding:1rem 1.25rem;font-size:.9rem;font-weight:600;display:flex}.bulk-success{color:#155724;background:#d4edda}.bulk-partial{color:#856404;background:#fff3cd}.bulk-results{flex-direction:column;gap:.5rem;display:flex}.bulk-item{border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.bulk-item-ok{border-left:3px solid var(--halal)}.bulk-item-fail{border-left:3px solid var(--haram);background:#fff5f5}.bulk-item-left{align-items:center;gap:.75rem;display:flex}.bulk-item-period{color:var(--text-muted);font-size:.8rem}.bulk-item-status{font-size:.8rem;font-weight:600}.bulk-item-status.ok{color:var(--halal)}.bulk-item-status.fail{color:var(--haram)}.bulk-item-right{flex-shrink:0}.history-list{flex-direction:column;gap:1rem;display:flex}.history-item{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--card-shadow);background:#fff;padding:1.25rem 1.5rem}.history-item-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.history-period{color:var(--dark);margin-right:.75rem;font-size:1rem;font-weight:700}.history-submitted{color:var(--text-muted);font-size:.78rem}.history-financials{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin-bottom:.75rem;display:grid}.history-fin-item{background:var(--cream);border-radius:4px;justify-content:space-between;padding:.3rem .5rem;font-size:.8rem;display:flex}.history-fin-label{color:var(--text-muted)}.history-fin-value{color:var(--dark);font-weight:600}.history-standards{flex-wrap:wrap;gap:.75rem;display:flex}.history-standard{border-radius:10px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.history-standard.pass{color:#155724;background:#d4edda}.history-standard.fail{color:#721c24;background:#f8d7da}.excel-drop-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:#fff;margin-bottom:1.5rem;padding:3rem 2rem;transition:border-color .2s,background .2s}.excel-drop-zone:hover,.excel-drop-zone-active{border-color:var(--emerald);background:var(--emerald-pale)}.excel-drop-icon{margin-bottom:.75rem;font-size:2.5rem}.excel-drop-title{color:var(--dark);margin-bottom:.35rem;font-size:1rem;font-weight:600}.excel-drop-sub{color:var(--text-muted);font-size:.82rem}.excel-loaded-bar{border:1px solid var(--border);border-radius:var(--radius);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.excel-loaded-left{align-items:center;gap:.85rem;display:flex}.excel-file-icon{flex-shrink:0;font-size:1.75rem}.excel-file-name{color:var(--dark);font-size:.9rem;font-weight:600}.excel-file-meta{color:var(--text-muted);margin-top:.15rem;font-size:.8rem}.excel-parse-error-count{color:var(--haram);font-weight:600}.excel-parse-errors{background:#fff5f5;border:1px solid #fc8181;border-radius:8px;margin-bottom:1rem;padding:1rem 1.25rem}.excel-parse-errors-title{color:var(--haram);margin-bottom:.6rem;font-size:.88rem;font-weight:600}.excel-parse-error-row{color:var(--haram);align-items:center;gap:.6rem;padding:.2rem 0;font-size:.82rem;display:flex}.excel-parse-error-row-num{white-space:nowrap;background:#f8d7da;border-radius:4px;padding:.1rem .4rem;font-weight:700}.excel-parse-error-ticker{font-weight:600}.excel-preview-wrap{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}.excel-preview-header{background:var(--cream);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.excel-preview-title{color:var(--dark);font-size:.88rem;font-weight:600}.excel-preview-scroll{max-height:320px;overflow:auto}.excel-preview-table{border-collapse:collapse;width:100%;font-size:.8rem}.excel-preview-table th{background:var(--dark);color:#fffc;text-align:left;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:.5rem .75rem;font-size:.72rem;font-weight:600;position:sticky;top:0}.excel-preview-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:.5rem .75rem}.excel-preview-table tr:last-child td{border-bottom:none}.excel-preview-table tr:hover td{background:var(--cream)}.excel-preview-rownum{color:var(--text-muted);font-size:.72rem}.excel-preview-name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:500;overflow:hidden}.pricing-section{background:var(--premium-bg);padding:4rem 1.5rem}.pricing-inner{max-width:1100px;margin:0 auto}.pricing-eyebrow{letter-spacing:.15em;text-transform:uppercase;color:var(--gold-light);text-align:center;margin-bottom:.75rem;font-size:.78rem;font-weight:600}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:1.25rem;display:grid}.pricing-card{border-radius:var(--radius);background:#ffffff12;border:1px solid #ffffff26;padding:2rem 1.5rem;transition:transform .2s,box-shadow .2s;position:relative}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000040}.pricing-card-featured{border-color:var(--gold);background:#fff;box-shadow:0 8px 32px #c9963a40}.pricing-popular-badge{background:var(--gold);color:var(--dark);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:12px;padding:.3rem .9rem;font-size:.72rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-name{color:#fff;margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700}.pricing-card-featured .pricing-name{color:var(--dark)}.pricing-price{margin-bottom:1.5rem}.pricing-amount{color:var(--gold-light);font-family:Playfair Display,serif;font-size:2rem;font-weight:700}.pricing-card-featured .pricing-amount{color:var(--emerald)}.pricing-period{color:#fff9;margin-left:.4rem;font-size:.8rem}.pricing-card-featured .pricing-period{color:var(--text-muted)}.pricing-features{flex-direction:column;gap:.6rem;margin-bottom:1.75rem;list-style:none;display:flex}.pricing-feature-item{align-items:flex-start;gap:.6rem;font-size:.85rem;line-height:1.4;display:flex}.pricing-feature-ok{color:#ffffffd9}.pricing-card-featured .pricing-feature-ok{color:var(--text)}.pricing-feature-locked{color:#ffffff59}.pricing-card-featured .pricing-feature-locked{color:var(--text-muted)}.pricing-cta{justify-content:center;width:100%;margin-top:auto;padding:.8rem 1.5rem}.modal-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:1.5rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{border-radius:var(--radius);background:#fff;width:100%;max-width:440px;animation:.2s slideUp;overflow:hidden;box-shadow:0 20px 60px #00000040}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2{color:var(--dark);font-family:Playfair Display,serif;font-size:1.2rem}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.1rem;transition:background .15s}.modal-close:hover{background:var(--cream)}.modal-body{padding:1.5rem}.modal-contact-list{flex-direction:column;gap:.75rem;display:flex}.modal-contact-item{background:var(--cream);border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:center;gap:.75rem;padding:.9rem 1rem;font-size:.9rem;display:flex}.stock-preview-auth-cta{text-align:center;padding:1.5rem 0}.stock-preview-auth-cta p{color:var(--text-muted);margin-bottom:1.25rem;font-size:.95rem}.stock-preview-blur-wrap{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;gap:.6rem;max-width:680px;margin:0 auto;display:flex}.stock-chip-blur{opacity:.55}.stock-chip-preview{cursor:default;pointer-events:none}.stock-chip-preview:hover{border-color:var(--border);box-shadow:none}.purification-form{border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin-bottom:1.5rem;padding:1.75rem}.purification-form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{color:var(--dark);letter-spacing:.01em;font-size:.82rem;font-weight:600}.purification-result-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 2px 16px #0000000f}.purification-result-header{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#0d5c3a0a,#1a3a5c0a);padding:1.25rem 1.75rem}.purification-breakdown{border-bottom:1px solid var(--border);flex-direction:column;gap:.75rem;padding:1.25rem 1.75rem;display:flex}.purification-row{justify-content:space-between;align-items:center;font-size:.92rem;display:flex}.purification-row--divider{border-top:1px dashed var(--border);margin-top:.25rem;padding-top:.75rem}.purification-row-label{color:var(--text-muted)}.purification-row-value{color:var(--dark);font-weight:600}.purification-amount-box{text-align:center;background:linear-gradient(135deg,#0d5c3a0f,#1a3a5c0a);padding:1.75rem}.purification-amount-label{text-transform:uppercase;letter-spacing:.1em;color:var(--emerald);margin-bottom:.5rem;font-size:.78rem;font-weight:700}.purification-amount-value{color:var(--dark);margin-bottom:.75rem;font-family:Georgia,serif;font-size:2.4rem;font-weight:700}.purification-amount-note{color:var(--text-muted);max-width:400px;margin:0 auto;font-size:.88rem;line-height:1.6}.purification-no-purification{text-align:center;padding:2rem}.purification-no-purification-title{color:var(--dark);margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.purification-no-purification-body{color:var(--text-muted);max-width:380px;margin:0 auto;font-size:.88rem;line-height:1.6}.blog-preview-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.blog-preview-card{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--card-shadow);color:inherit;background:#fff;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.blog-preview-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #0000001f}.blog-preview-img{object-fit:cover;width:100%;height:180px}.blog-preview-body{flex:1;padding:1.25rem}.blog-card-meta{align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.blog-author{color:var(--emerald);font-size:.78rem;font-weight:600}.blog-date{color:var(--text-muted);font-size:.75rem}.blog-views{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:.73rem}.blog-preview-title{color:var(--dark);font-family:Playfair Display,serif;font-size:1rem;font-weight:700;line-height:1.4}.blog-list-header{text-align:center;margin-bottom:2.5rem}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.blog-card{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--card-shadow);color:inherit;background:#fff;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.blog-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #0000001f}.blog-card-img-wrap{background:var(--cream);width:100%;height:200px;overflow:hidden}.blog-card-img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.blog-card:hover .blog-card-img{transform:scale(1.04)}.blog-card-body{flex-direction:column;flex:1;padding:1.5rem;display:flex}.blog-card-title{color:var(--dark);flex:1;margin-top:.5rem;font-family:Playfair Display,serif;font-size:1.05rem;font-weight:700;line-height:1.4}.blog-card-read{color:var(--emerald);margin-top:1rem;font-size:.8rem;font-weight:600}.blog-post-page{max-width:780px}.blog-back-link{color:var(--text-muted);align-items:center;gap:.4rem;margin-bottom:2rem;font-size:.85rem;text-decoration:none;transition:color .15s;display:inline-flex}.blog-back-link:hover{color:var(--emerald)}.blog-article-header{margin-bottom:2rem}.blog-article-title{color:var(--dark);margin-bottom:1rem;font-family:Playfair Display,serif;font-size:clamp(1.5rem,4vw,2.2rem);font-weight:700;line-height:1.3}.blog-article-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:1rem;font-size:.85rem;display:flex}.blog-article-meta .blog-author{color:var(--emerald);font-weight:600}.blog-feature-img{border-radius:var(--radius);object-fit:cover;width:100%;max-height:420px;margin-bottom:2rem}.blog-article{color:var(--text);font-size:1rem;line-height:1.8}.blog-article h1,.blog-article h2,.blog-article h3,.blog-article h4{color:var(--dark);margin:1.75rem 0 .75rem;font-family:Playfair Display,serif}.blog-article h1{font-size:1.8rem}.blog-article h2{font-size:1.4rem}.blog-article h3{font-size:1.15rem}.blog-article p{margin-bottom:1rem}.blog-article ul,.blog-article ol{margin:1rem 0 1rem 1.5rem}.blog-article li{margin-bottom:.4rem}.blog-article blockquote{border-left:4px solid var(--emerald);background:var(--emerald-pale);color:var(--text-muted);border-radius:0 6px 6px 0;margin:1.5rem 0;padding:.75rem 1.25rem;font-style:italic}.blog-article code{background:var(--cream);border:1px solid var(--border);border-radius:4px;padding:.15em .4em;font-family:IBM Plex Mono,monospace;font-size:.87em}.blog-article pre{background:var(--dark);color:#e2e8f0;border-radius:8px;margin:1.25rem 0;padding:1.25rem;overflow-x:auto}.blog-article pre code{background:0 0;border:none;padding:0;font-size:.85rem}.blog-article img{border-radius:8px;max-width:100%;margin:1rem 0}.blog-article a{color:var(--emerald);text-decoration:underline}.blog-article strong{font-weight:700}.blog-article em{font-style:italic}.blog-article s{text-decoration:line-through}.tiptap-wrap{border:2px solid var(--border);border-radius:8px;transition:border-color .2s;overflow:hidden}.tiptap-wrap:focus-within{border-color:var(--emerald)}.tiptap-toolbar{background:var(--cream);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:2px;padding:.5rem .6rem;display:flex}.tiptap-toolbar-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;min-width:28px;padding:.3rem .45rem;font-size:.85rem;font-weight:600;line-height:1;transition:background .15s,color .15s;display:inline-flex}.tiptap-toolbar-btn:hover{background:var(--border);color:var(--text)}.tiptap-toolbar-btn.is-active{background:var(--emerald-pale);color:var(--emerald)}.tiptap-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.tiptap-divider{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 .25rem}.tiptap-editor{cursor:text;min-height:320px;padding:1.25rem;overflow-y:auto}.tiptap-editor .ProseMirror{outline:none;min-height:280px}.tiptap-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none;float:left;height:0}.tiptap-editor .ProseMirror h1,.tiptap-editor .ProseMirror h2,.tiptap-editor .ProseMirror h3{color:var(--dark);margin:1.25rem 0 .5rem;font-family:Playfair Display,serif}.tiptap-editor .ProseMirror h1{font-size:1.6rem}.tiptap-editor .ProseMirror h2{font-size:1.25rem}.tiptap-editor .ProseMirror h3{font-size:1.05rem}.tiptap-editor .ProseMirror p{margin-bottom:.75rem;line-height:1.7}.tiptap-editor .ProseMirror ul,.tiptap-editor .ProseMirror ol{margin:.5rem 0 .75rem 1.5rem}.tiptap-editor .ProseMirror blockquote{border-left:4px solid var(--emerald);background:var(--emerald-pale);color:var(--text-muted);border-radius:0 6px 6px 0;margin:1rem 0;padding:.5rem 1rem;font-style:italic}.tiptap-editor .ProseMirror code{background:var(--cream);border:1px solid var(--border);border-radius:4px;padding:.1em .35em;font-family:IBM Plex Mono,monospace;font-size:.87em}.tiptap-editor .ProseMirror img{border-radius:6px;max-width:100%}.tiptap-editor .ProseMirror a{color:var(--emerald);text-decoration:underline}.blog-editor-page{max-width:860px}.blog-editor-header{align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.blog-editor-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.blog-title-input{padding:.85rem 1.1rem;font-family:Playfair Display,serif;font-size:1.35rem}.feature-img-row{flex-direction:column;gap:.75rem;display:flex}.feature-img-preview{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:220px;height:130px}.blog-admin-title{color:var(--dark);text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-weight:600;overflow:hidden}.blog-admin-slug{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.78rem}.blog-pub-badge{border-radius:10px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.blog-pub-yes{color:#155724;background:#d4edda}.blog-pub-no{color:#856404;background:#fff3cd}.blog-admin-actions{flex-wrap:wrap;gap:.4rem;display:flex}.pricing-cta-current{text-align:center;color:#ffffff8c;padding:.8rem 0;font-size:.85rem;font-weight:600}.pricing-card-featured .pricing-cta-current{color:var(--text-muted)}.register-plan-banner{background:var(--emerald-pale);border:1px solid #0d5c3a33;border-radius:8px;align-items:center;gap:.85rem;margin-bottom:1.25rem;padding:.9rem 1.1rem;display:flex}.register-plan-icon{flex-shrink:0;font-size:1.75rem}.register-plan-name{color:var(--emerald);font-size:.95rem;font-weight:700}.register-plan-price{color:var(--text-muted);font-size:.82rem}.register-plan-note{color:var(--text-muted);text-align:right;flex-shrink:0;margin-left:auto;font-size:.75rem}.upgrade-plan-box{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.5rem}.upgrade-plan-price{margin-bottom:1rem}.upgrade-feature-list{flex-direction:column;gap:.55rem;margin-bottom:1.25rem;list-style:none;display:flex}.upgrade-feature-list li{color:var(--text);align-items:flex-start;gap:.6rem;font-size:.88rem;display:flex}.upgrade-expiry-note{color:var(--text-muted);border:1px solid var(--border);background:#fff;border-radius:6px;padding:.65rem .85rem;font-size:.8rem;line-height:1.5}.payment-success-card{text-align:center}.payment-success-icon{margin-bottom:.75rem;font-size:3rem}.payment-success-title{color:var(--dark);margin-bottom:.6rem;font-family:Playfair Display,serif;font-size:1.6rem}.payment-success-sub{color:var(--text-muted);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.payment-expiry-box{background:var(--emerald-pale);border-radius:var(--radius);border:1px solid #0d5c3a33;margin-bottom:1rem;padding:1.25rem}.payment-expiry-label{text-transform:uppercase;letter-spacing:.08em;color:var(--emerald);margin-bottom:.35rem;font-size:.78rem;font-weight:600}.payment-expiry-date{color:var(--dark);margin-bottom:.35rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.payment-expiry-note{color:var(--text-muted);font-size:.78rem}.verify-sent-page{justify-content:center;align-items:center;min-height:70vh;padding:2rem 1rem;display:flex}.verify-sent-card{border:1px solid var(--border);border-radius:var(--radius);text-align:center;background:#fff;width:100%;max-width:480px;padding:2.5rem 2rem;box-shadow:0 4px 24px #0000000f}.verify-sent-icon{margin-bottom:.75rem;font-size:3.5rem}.verify-sent-title{color:var(--dark);margin-bottom:.65rem;font-family:Playfair Display,serif;font-size:1.7rem}.verify-sent-body{color:var(--text-muted);margin-bottom:1.25rem;font-size:.95rem;line-height:1.65}.verify-sent-tips{background:var(--cream);border:1px solid var(--border);text-align:left;color:var(--text-muted);border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:.85rem}.verify-sent-tips p{color:var(--text);margin-bottom:.4rem;font-weight:600}.verify-sent-tips ul{flex-direction:column;gap:.35rem;padding-left:1.1rem;display:flex}.verify-sent-footer{color:var(--text-muted);margin-top:1.25rem;font-size:.85rem}.verify-callback-page{justify-content:center;align-items:center;min-height:70vh;padding:2rem 1rem;display:flex}.verify-callback-card{border:1px solid var(--border);border-radius:var(--radius);text-align:center;background:#fff;width:100%;max-width:440px;padding:2.5rem 2rem;box-shadow:0 4px 24px #0000000f}.verify-callback-spinner{margin-bottom:.75rem;font-size:2.5rem;animation:1.2s linear infinite spin;display:inline-block}.verify-callback-icon{margin-bottom:.75rem;font-size:3rem}.verify-callback-icon--success{color:var(--emerald)}.verify-callback-icon--error{color:#dc2626}.verify-callback-title{color:var(--dark);margin-bottom:.6rem;font-family:Playfair Display,serif;font-size:1.6rem}.verify-callback-body{color:var(--text-muted);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.verify-callback-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.verify-notice{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:flex-start;gap:.85rem;margin-top:.25rem;padding:1rem 1.1rem;display:flex}.verify-notice-icon{flex-shrink:0;font-size:1.4rem;line-height:1}.verify-notice-title{color:#92400e;margin-bottom:.25rem;font-size:.9rem;font-weight:700}.verify-notice-body{color:#78350f;margin-bottom:.55rem;font-size:.84rem;line-height:1.5}.verify-notice-success{color:var(--emerald);font-size:.82rem;font-weight:600}.verify-notice-err{color:#dc2626;font-size:.82rem;font-weight:600}.verify-notice-btn{color:var(--emerald);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.84rem;font-weight:700;text-decoration:underline}.verify-notice-btn:hover{opacity:.75}
