.header{background:var(--header-bg, #0f0f1a);border-bottom:1px solid var(--border-color, #1a1a2e);position:sticky;top:0;z-index:100}.header-content{max-width:1200px;margin:0 auto;padding:.75rem 2rem;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-primary, #fff)}.logo-icon{font-size:1.5rem}.logo-text{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav{display:flex;gap:1.5rem}.nav-link{color:var(--text-secondary, #888);text-decoration:none;font-size:.95rem;font-weight:500;transition:color .2s}.nav-link:hover{color:var(--text-primary, #fff)}.header-right,.user-menu{display:flex;align-items:center;gap:1rem}.user-name{color:var(--text-secondary, #aaa);font-size:.9rem}.logout-button{padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color, #333);border-radius:6px;color:var(--text-secondary, #888);font-size:.9rem;cursor:pointer;transition:all .2s}.logout-button:hover{border-color:#ef4444;color:#ef4444}.signup-button{padding:.5rem 1rem;background:var(--primary-color, #4f46e5);border-radius:6px;color:#fff;text-decoration:none;font-size:.9rem;font-weight:500;transition:background .2s}.signup-button:hover{background:var(--primary-hover, #4338ca)}@media (max-width: 768px){.header-content{padding:.75rem 1rem}.nav,.user-name{display:none}}footer{background:var(--bg-dark);color:#fff;padding:3rem 0 1rem;margin-top:auto}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h3{font-size:1.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#3b82f6,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-section h4{margin-bottom:1rem;font-size:1rem}.footer-section p{color:#d1d5db;line-height:1.6}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.5rem}.footer-section ul li a{color:#d1d5db;transition:color .2s}.footer-section ul li a:hover{color:#3b82f6}.footer-bottom{border-top:1px solid #374151;padding-top:1rem;text-align:center;color:#9ca3af}@media (max-width: 640px){.footer-content{grid-template-columns:1fr}footer{padding:2rem 0 1rem}}.dashboard{padding:2rem;max-width:1200px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.dashboard-header h1{margin:0;font-size:1.75rem;color:var(--text-primary, #fff)}.dashboard-header .subtitle{margin:.5rem 0 0;color:var(--text-secondary, #888)}.scan-button{padding:.75rem 1.5rem;background:var(--primary-color, #4f46e5);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.scan-button:hover:not(:disabled){background:var(--primary-hover, #4338ca);transform:translateY(-1px)}.scan-button:disabled{opacity:.6;cursor:not-allowed}.error-banner{background:#ff6b6b1a;border:1px solid #ff6b6b;color:#ff6b6b;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{background:var(--card-bg, #1a1a2e);border-radius:12px;padding:1.5rem;text-align:center}.stat-icon{font-size:2rem;margin-bottom:.5rem}.stat-card h3{margin:0;font-size:.9rem;color:var(--text-secondary, #888);font-weight:500}.stat-value{font-size:1.75rem;font-weight:700;margin:.5rem 0;color:var(--text-primary, #fff)}.stat-value.rising{color:#10b981}.stat-value.falling{color:#ef4444}.stat-label{margin:0;font-size:.8rem;color:var(--text-muted, #666)}.trends-section h2{margin:0 0 1rem;font-size:1.25rem;color:var(--text-primary, #fff)}.trends-table{background:var(--card-bg, #1a1a2e);border-radius:12px;overflow:hidden}.trends-header{display:grid;grid-template-columns:2fr 1fr 1fr 100px;padding:1rem 1.5rem;background:#0003;font-size:.85rem;font-weight:600;color:var(--text-secondary, #888);text-transform:uppercase;letter-spacing:.5px}.trend-row{display:grid;grid-template-columns:2fr 1fr 1fr 100px;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color, #2a2a3e);transition:background .2s}.trend-row:last-child{border-bottom:none}.trend-row:hover{background:#4f46e50d}.trend-phrase{color:var(--text-primary, #fff);font-weight:500;display:flex;flex-direction:column;gap:4px}.trend-category{font-size:.7rem;color:var(--text-muted, #666);text-transform:uppercase;letter-spacing:.5px;font-weight:400}.trend-volume{color:var(--text-secondary, #aaa)}.trend-change{font-weight:600}.trend-change.positive{color:#10b981}.trend-type{color:var(--text-muted, #666);font-size:.85rem;text-transform:capitalize}.loading{display:flex;align-items:center;justify-content:center;min-height:50vh;color:var(--text-secondary, #888);font-size:1.1rem}@media (max-width: 768px){.dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem}.scan-button{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.trends-header,.trend-row{grid-template-columns:1fr 1fr}.trends-header span:nth-child(3),.trends-header span:nth-child(4),.trend-row span:nth-child(3),.trend-row span:nth-child(4){display:none}}.analytics-page{padding:2rem;max-width:1400px;margin:0 auto}.analytics-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.analytics-header h1{margin:0;font-size:1.75rem;color:#fff}.analytics-header .subtitle{margin:.5rem 0 0;color:#888}.header-actions{display:flex;gap:1rem;align-items:center}.header-actions select{padding:.6rem 1rem;background:#1a1a2e;border:1px solid #333;border-radius:8px;color:#fff;font-size:.9rem}.export-btn{padding:.6rem 1.5rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.export-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.error-banner{background:#ef44441a;border:1px solid #ef4444;color:#ef4444;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.stats-row{display:flex;gap:1.5rem;margin-bottom:2rem}.mini-stat{background:#1a1a2e;border-radius:12px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;min-width:120px}.mini-stat-value{font-size:1.75rem;font-weight:700;color:#fff}.mini-stat-value.rising{color:#22c55e}.mini-stat-value.falling{color:#ef4444}.mini-stat-label{font-size:.85rem;color:#666;margin-top:4px}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}.chart-card{background:#1a1a2e;border-radius:16px;padding:1.5rem}.chart-card.wide{grid-column:span 2}.chart-card h3{margin:0 0 1rem;font-size:1rem;color:#fff;font-weight:600}.trends-table-section{background:#1a1a2e;border-radius:16px;padding:1.5rem}.trends-table-section h3{margin:0 0 1rem;font-size:1rem;color:#fff}.trends-table{width:100%}.table-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 100px;padding:.75rem 1rem;background:#0003;border-radius:8px;font-size:.8rem;color:#666;text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:.5rem}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 100px;padding:.75rem 1rem;border-bottom:1px solid #252540;align-items:center}.table-row:last-child{border-bottom:none}.table-row:hover{background:#6366f10d}.trend-name{color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trend-source{color:#888;font-size:.85rem;text-transform:capitalize}.trend-category-tag{background:#6366f133;color:#a5b4fc;padding:2px 8px;border-radius:4px;font-size:.75rem;text-transform:uppercase;width:fit-content}.trend-volume{color:#aaa;font-size:.9rem}.trend-change{font-weight:600;font-size:.9rem}.trend-change.positive{color:#22c55e}.trend-change.negative{color:#ef4444}.loading{display:flex;align-items:center;justify-content:center;min-height:50vh;color:#888;font-size:1.1rem}@media (max-width: 1024px){.charts-grid{grid-template-columns:1fr}.chart-card.wide{grid-column:span 1}}@media (max-width: 768px){.analytics-page{padding:1rem}.analytics-header{flex-direction:column;gap:1rem}.header-actions{width:100%;flex-direction:column}.header-actions select,.export-btn{width:100%}.stats-row{flex-wrap:wrap}.mini-stat{flex:1 1 calc(50% - .75rem);min-width:100px}.table-header,.table-row{grid-template-columns:1fr 1fr}.table-header span:nth-child(3),.table-header span:nth-child(4),.table-row span:nth-child(3),.table-row span:nth-child(4){display:none}}.settings-page{padding:2rem;max-width:1000px;margin:0 auto}.settings-page h1{margin:0 0 2rem;font-size:1.75rem;color:#fff}.message{padding:1rem;border-radius:8px;margin-bottom:1.5rem}.message.success{background:#22c55e1a;border:1px solid #22c55e;color:#22c55e}.message.error{background:#ef44441a;border:1px solid #ef4444;color:#ef4444}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.settings-card{background:#1a1a2e;border-radius:16px;padding:1.5rem}.settings-card h2{margin:0 0 1.25rem;font-size:1.1rem;color:#fff;padding-bottom:.75rem;border-bottom:1px solid #2a2a4a}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:#888;font-size:.9rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=number],.form-group select{width:100%;padding:.75rem 1rem;background:#0f0f1a;border:1px solid #2a2a4a;border-radius:8px;color:#fff;font-size:.95rem}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group small{display:block;margin-top:.5rem;color:#666;font-size:.8rem}.form-group.checkbox{display:flex;align-items:center;gap:.75rem}.form-group.checkbox input{width:18px;height:18px;accent-color:#6366f1}.form-group.checkbox label{margin:0;color:#ccc}.btn-primary{width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-block;padding:.6rem 1.25rem;background:transparent;border:1px solid #6366f1;color:#6366f1;border-radius:8px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s}.btn-secondary:hover{background:#6366f11a}.btn-small{padding:.4rem .75rem;background:#2a2a4a;border:none;border-radius:4px;color:#fff;font-size:.8rem;cursor:pointer}.btn-upgrade{display:inline-block;padding:.75rem 1.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s}.btn-upgrade:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.plan-info{display:flex;flex-direction:column;gap:1rem}.current-plan{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#0f0f1a;border-radius:8px}.plan-label{color:#888}.plan-badge{padding:.4rem 1rem;border-radius:20px;font-weight:600;font-size:.85rem;text-transform:uppercase}.badge-free{background:#2a2a4a;color:#888}.badge-starter{background:#6366f133;color:#a5b4fc}.badge-pro{background:#22c55e33;color:#86efac}.badge-enterprise{background:#f59e0b33;color:#fcd34d}.upgrade-prompt{padding:1rem;background:#6366f10d;border:1px dashed #4f46e5;border-radius:8px}.upgrade-prompt p{margin:0 0 .75rem;color:#aaa}.upgrade-prompt ul{margin:0 0 1rem;padding-left:1.25rem;color:#888}.upgrade-prompt li{margin-bottom:.4rem}.subscription-details p{margin:.5rem 0;color:#aaa}.api-info{display:flex;flex-direction:column;gap:1.25rem}.api-key-box{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#0f0f1a;border-radius:8px}.api-key-box code{flex:1;color:#22c55e;font-family:monospace;font-size:.9rem}.api-stats{display:flex;gap:1.5rem}.api-stat{display:flex;flex-direction:column}.api-stat .stat-value{font-size:1.5rem;font-weight:700;color:#fff}.api-stat .stat-label{font-size:.8rem;color:#666}.api-locked{text-align:center;padding:1rem}.lock-icon{font-size:2.5rem;margin-bottom:.5rem}.api-locked h3{margin:0 0 .5rem;color:#fff}.api-locked p{color:#888;margin-bottom:1rem}.api-locked ul{text-align:left;margin:0 0 1.25rem 1rem;color:#666;font-size:.9rem}.api-locked li{margin-bottom:.4rem}@media (max-width: 768px){.settings-page{padding:1rem}.settings-grid{grid-template-columns:1fr}}.pricing-page{max-width:1200px;margin:0 auto;padding:2rem}.pricing-header{text-align:center;margin-bottom:3rem}.pricing-header h1{font-size:2.5rem;margin-bottom:.5rem;color:#fff}.pricing-header p{color:#8b8b8b;font-size:1.1rem}.interval-toggle{display:inline-flex;background:#1a1a2e;border-radius:8px;padding:4px;margin-top:1.5rem}.interval-toggle button{padding:.75rem 1.5rem;border:none;background:transparent;color:#8b8b8b;cursor:pointer;border-radius:6px;transition:all .2s;font-size:.95rem}.interval-toggle button.active{background:#6366f1;color:#fff}.interval-toggle .discount{background:#22c55e;color:#fff;font-size:.75rem;padding:2px 6px;border-radius:4px;margin-left:6px}.pricing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:3rem}.pricing-card{background:#1a1a2e;border-radius:16px;padding:2rem;position:relative;border:1px solid #2a2a4a;transition:transform .2s,box-shadow .2s}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #6366f126}.pricing-card.popular{border-color:#6366f1;background:linear-gradient(135deg,#1a1a2e,#1e1b4b)}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:4px 16px;border-radius:20px;font-size:.8rem;font-weight:600}.pricing-card h2{color:#fff;margin-bottom:1rem}.price{display:flex;align-items:baseline;margin-bottom:.5rem}.price .currency{font-size:1.5rem;color:#8b8b8b}.price .amount{font-size:3rem;font-weight:700;color:#fff}.price .period{color:#8b8b8b;margin-left:4px}.billed-yearly{color:#8b8b8b;font-size:.9rem;margin-bottom:1.5rem}.features{list-style:none;padding:0;margin:1.5rem 0}.features li{display:flex;align-items:flex-start;gap:8px;color:#c4c4c4;margin-bottom:.75rem;font-size:.95rem;line-height:1.4}.features .check{color:#22c55e;font-weight:700;flex-shrink:0}.card-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.card-actions button{width:100%;padding:1rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#5558e8,#7c4deb);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-crypto{background:linear-gradient(135deg,#f7931a,#f59e0b);border:none!important;color:#000;font-weight:700}.btn-crypto:hover{background:linear-gradient(135deg,#e8850f,#d97706);transform:translateY(-1px);box-shadow:0 4px 12px #f7931a4d}.crypto-options{background:linear-gradient(135deg,#1a1a2e,#1e293b);border:1px solid #f7931a;border-radius:16px;padding:2rem;text-align:center;margin-bottom:3rem}.crypto-options h3{color:#fff;margin-bottom:.5rem}.crypto-options p{color:#8b8b8b}.crypto-duration{margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:1rem}.crypto-duration label{color:#c4c4c4}.crypto-duration select{background:#0f0f1a;border:1px solid #2a2a4a;color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:1rem}.pricing-faq{max-width:700px;margin:0 auto}.pricing-faq h3{color:#fff;text-align:center;margin-bottom:1.5rem}.pricing-faq details{background:#1a1a2e;border-radius:8px;margin-bottom:.75rem;border:1px solid #2a2a4a}.pricing-faq summary{padding:1rem;cursor:pointer;color:#fff;font-weight:500}.pricing-faq summary:hover{background:#252542;border-radius:8px}.pricing-faq details p{padding:0 1rem 1rem;color:#8b8b8b;line-height:1.6}@media (max-width: 768px){.pricing-cards{grid-template-columns:1fr}.pricing-header h1{font-size:1.8rem}.price .amount{font-size:2.5rem}}.auth-container{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background:var(--card-bg, #1a1a2e);border-radius:12px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 4px 20px #0000004d}.auth-card h1{margin:0 0 .5rem;font-size:1.75rem;color:var(--text-primary, #fff)}.auth-subtitle{color:var(--text-secondary, #888);margin:0 0 2rem}.auth-error{background:#ff6b6b1a;border:1px solid #ff6b6b;color:#ff6b6b;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.auth-card .form-group{margin-bottom:1.25rem}.auth-card label{display:block;margin-bottom:.5rem;color:var(--text-secondary, #888);font-size:.9rem}.auth-card input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color, #333);border-radius:8px;background:var(--input-bg, #0f0f1a);color:var(--text-primary, #fff);font-size:1rem;transition:border-color .2s}.auth-card input:focus{outline:none;border-color:var(--primary-color, #4f46e5)}.auth-card input::placeholder{color:var(--text-muted, #555)}.auth-card small{display:block;margin-top:.35rem;color:var(--text-muted, #666);font-size:.8rem}.auth-button{width:100%;padding:.875rem;background:var(--primary-color, #4f46e5);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s;margin-top:.5rem}.auth-button:hover:not(:disabled){background:var(--primary-hover, #4338ca)}.auth-button:active:not(:disabled){transform:scale(.98)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--text-secondary, #888);font-size:.9rem}.auth-footer a{color:var(--primary-color, #4f46e5);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}:root{--primary-color: #4f46e5;--primary-hover: #4338ca;--header-bg: #0f0f1a;--card-bg: #1a1a2e;--body-bg: #0d0d14;--border-color: #2a2a3e;--text-primary: #ffffff;--text-secondary: #a1a1aa;--text-muted: #71717a;--input-bg: #0f0f1a;--success: #10b981;--error: #ef4444}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--body-bg);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}.container{max-width:1200px;margin:0 auto;padding:2rem}.loading{display:flex;align-items:center;justify-content:center;min-height:50vh;color:var(--text-secondary);font-size:1.1rem}.offline-banner{background:#fef3c7;color:#92400e;text-align:center;padding:.5rem;font-size:.9rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary);font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}button.primary,.btn-primary{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}button.primary:hover,.btn-primary:hover{background:var(--primary-hover)}button.secondary,.btn-secondary{padding:.75rem 1.5rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}button.secondary:hover,.btn-secondary:hover{border-color:var(--text-secondary);color:var(--text-primary)}.success{background:#10b9811a;border:1px solid var(--success);color:var(--success);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.error{background:#ef44441a;border:1px solid var(--error);color:var(--error);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #4f46e5;--primary-dark: #4338ca;--secondary: #10b981;--danger: #ef4444;--warning: #f59e0b;--bg-dark: #0d0d14;--bg-light: #0d0d14;--bg-card: #1a1a2e;--text-dark: #ffffff;--text-light: #a1a1aa;--border: #2a2a3e;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .3)}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-dark);color:var(--text-dark);line-height:1.6}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-dark)}button{cursor:pointer;font-size:1rem;border:none;border-radius:var(--radius);padding:.75rem 1.5rem;transition:all .2s;font-family:inherit}button.primary{background-color:var(--primary);color:#fff}button.primary:hover{background-color:var(--primary-dark);box-shadow:var(--shadow)}button.secondary{background-color:transparent;border:1px solid var(--border);color:var(--text-dark)}button.secondary:hover{background-color:var(--bg-dark)}input,textarea,select{border:1px solid var(--border);border-radius:var(--radius);padding:.5rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border)}.loading{display:flex;justify-content:center;align-items:center;padding:3rem;color:var(--text-light)}.error{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:1rem;border-radius:var(--radius);margin-bottom:1rem}.success{background-color:#dcfce7;border:1px solid #bbf7d0;color:#16a34a;padding:1rem;border-radius:var(--radius);margin-bottom:1rem}.offline-banner{background-color:var(--warning);color:#fff;padding:.75rem;text-align:center;font-weight:500}
