:root{--bg-primary: #0a0a0f;--bg-secondary: #111118;--bg-card: #16161e;--bg-card-hover: #1c1c28;--bg-surface: rgba(255, 255, 255, .03);--bg-input: #1a1a24;--border: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .12);--text-primary: #f0f0f5;--text-secondary: #9898a8;--text-muted: #5a5a6e;--color-hikayeweb: #a855f7;--color-hikayeweb-bg: rgba(168, 85, 247, .12);--color-tggorsel: #3b82f6;--color-tggorsel-bg: rgba(59, 130, 246, .12);--color-sht: #22c55e;--color-sht-bg: rgba(34, 197, 94, .12);--accent: #6366f1;--accent-hover: #818cf8;--accent-bg: rgba(99, 102, 241, .1);--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--shadow-glow: 0 0 40px rgba(99, 102, 241, .1);--transition: .2s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 240px;--header-height: 64px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:transform var(--transition);z-index:50}.sidebar-brand{padding:20px 24px;border-bottom:1px solid var(--border)}.sidebar-brand h1{font-size:20px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--color-hikayeweb));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.sidebar-brand span{font-size:11px;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase}.sidebar-nav{flex:1;padding:12px;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:13.5px;transition:all var(--transition)}.sidebar-link:hover{background:var(--bg-surface);color:var(--text-primary)}.sidebar-link.active{background:var(--accent-bg);color:var(--accent)}.sidebar-link svg{width:18px;height:18px;flex-shrink:0}.sidebar-footer{padding:12px;border-top:1px solid var(--border)}.sidebar-logout{display:flex;align-items:center;gap:10px;padding:10px 14px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:13px;width:100%;transition:all var(--transition)}.sidebar-logout:hover{background:#ef444414;color:var(--danger)}.main-content{flex:1;overflow-y:auto;padding:28px 32px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:20px 22px;transition:all var(--transition);position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity var(--transition)}.kpi-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi-card:hover:before{opacity:1}.kpi-card.hikayeweb:before{background:linear-gradient(90deg,transparent,var(--color-hikayeweb),transparent)}.kpi-card.tggorsel:before{background:linear-gradient(90deg,transparent,var(--color-tggorsel),transparent)}.kpi-card.sht:before{background:linear-gradient(90deg,transparent,var(--color-sht),transparent)}.kpi-card.hikayeweb:hover:before,.kpi-card.tggorsel:hover:before,.kpi-card.sht:hover:before{opacity:1}.kpi-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-weight:600;margin-bottom:8px}.kpi-value{font-size:28px;font-weight:800;letter-spacing:-1px;line-height:1.1}.kpi-value.money:before{content:"$";font-weight:500;opacity:.5;margin-right:2px}.kpi-sub{font-size:12px;color:var(--text-muted);margin-top:6px}.kpi-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:18px}.kpi-icon.purple{background:var(--color-hikayeweb-bg)}.kpi-icon.blue{background:var(--color-tggorsel-bg)}.kpi-icon.green{background:var(--color-sht-bg)}.kpi-icon.indigo{background:var(--accent-bg)}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.source-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:20px;position:relative;overflow:hidden;transition:all var(--transition)}.source-card:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:14px;pointer-events:none}.source-card.hikayeweb{border-left:3px solid var(--color-hikayeweb)}.source-card.tggorsel{border-left:3px solid var(--color-tggorsel)}.source-card.sht{border-left:3px solid var(--color-sht)}.source-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.source-name{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:10px}.source-revenue{font-size:24px;font-weight:800;letter-spacing:-.5px}.source-count{font-size:12px;color:var(--text-muted);margin-top:4px}.chart-section{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:24px}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.chart-title{font-size:15px;font-weight:700;color:var(--text-primary)}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:24px;flex-wrap:wrap}.filter-btn{padding:7px 16px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:12.5px;font-weight:500;cursor:pointer;transition:all var(--transition);font-family:inherit}.filter-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.filter-btn.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.filter-input{padding:7px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:12.5px;font-family:inherit;transition:border-color var(--transition)}.filter-input:focus{outline:none;border-color:var(--accent)}.filter-select{padding:7px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:12.5px;font-family:inherit;cursor:pointer}.sales-feed{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;overflow:hidden}.feed-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.feed-title{font-size:14px;font-weight:700}.feed-badge{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--success);font-weight:500}.feed-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--success);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.sale-item{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--border);transition:background var(--transition);animation:slideInSale .3s ease-out}@keyframes slideInSale{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.sale-item:hover{background:var(--bg-surface)}.sale-item:last-child{border-bottom:none}.sale-source-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sale-source-dot.hikayeweb{background:var(--color-hikayeweb)}.sale-source-dot.tggorsel{background:var(--color-tggorsel)}.sale-source-dot.sht{background:var(--color-sht)}.sale-info{flex:1;min-width:0}.sale-product{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sale-user{font-size:11.5px;color:var(--text-muted);margin-top:2px}.sale-amount{font-size:15px;font-weight:700;color:var(--success);white-space:nowrap}.sale-time{font-size:11px;color:var(--text-muted);white-space:nowrap}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:10px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-bottom:1px solid var(--border)}.data-table td{padding:14px 16px;font-size:13px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.data-table tr:hover td{background:var(--bg-surface)}.source-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600}.source-badge.hikayeweb{background:var(--color-hikayeweb-bg);color:var(--color-hikayeweb)}.source-badge.tggorsel{background:var(--color-tggorsel-bg);color:var(--color-tggorsel)}.source-badge.sht{background:var(--color-sht-bg);color:var(--color-sht)}.pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:16px}.page-btn{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all var(--transition);font-family:inherit}.page-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.page-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.page-btn:disabled{opacity:.3;cursor:default}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--bg-primary)}.login-card{width:100%;max-width:380px;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:40px 32px;box-shadow:var(--shadow-lg),var(--shadow-glow)}.login-title{font-size:24px;font-weight:800;text-align:center;margin-bottom:8px;background:linear-gradient(135deg,var(--accent),var(--color-hikayeweb));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:13px;color:var(--text-muted);text-align:center;margin-bottom:32px}.form-group{margin-bottom:18px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;padding:11px 16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition)}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.btn-primary{width:100%;padding:12px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--accent),#4f46e5);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition);font-family:inherit}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.btn-primary:disabled{opacity:.5;cursor:default;transform:none}.form-error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:10px 14px;color:var(--danger);font-size:13px;margin-bottom:16px}.settings-section{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:20px}.settings-title{font-size:15px;font-weight:700;margin-bottom:16px}.settings-row{display:flex;align-items:center;gap:16px;margin-bottom:14px}.settings-row label{font-size:13px;color:var(--text-secondary);min-width:160px}.settings-row input{flex:1;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit}.settings-row input:focus{outline:none;border-color:var(--accent)}.btn-secondary{padding:8px 20px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);font-family:inherit}.btn-secondary:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.btn-success{padding:8px 20px;border:none;border-radius:8px;background:var(--success);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);font-family:inherit}.btn-success:hover{opacity:.9;transform:translateY(-1px)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title{font-size:22px;font-weight:800;letter-spacing:-.5px}.alert-toast{position:fixed;top:20px;right:20px;padding:14px 20px;border-radius:12px;font-size:13px;font-weight:500;z-index:1000;animation:slideInToast .3s ease-out;box-shadow:var(--shadow-lg)}@keyframes slideInToast{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.alert-toast.success{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:var(--success)}.alert-toast.error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:var(--danger)}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{padding:20px 16px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.source-grid,.charts-grid{grid-template-columns:1fr}.mobile-menu-btn{display:block}}@media(min-width:769px){.mobile-menu-btn{display:none}}.mobile-menu-btn{padding:8px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:18px}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:40px}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state svg{width:48px;height:48px;margin-bottom:16px;opacity:.3}.empty-state h3{font-size:16px;font-weight:600;margin-bottom:6px;color:var(--text-secondary)}.empty-state p{font-size:13px}.search-input{padding:8px 14px 8px 36px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;width:240px;transition:border-color var(--transition)}.search-input:focus{outline:none;border-color:var(--accent)}.search-wrapper{position:relative}.search-wrapper svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-muted)}
