*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-tertiary:#1a1a1a;--bg-hover:#252525;--border-color:#2a2a2a;--text-primary:#fff;--text-secondary:#a0a0a0;--text-muted:#666;--accent:#6366f1;--accent-hover:#5558e3;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}.app-loading{height:100vh;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.layout{min-height:100vh;display:flex}.sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;width:260px;height:100vh;display:flex;position:fixed}.sidebar-header{border-bottom:1px solid var(--border-color);padding:20px}.sidebar-header h1{color:var(--accent);font-size:20px;font-weight:600}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.nav-item{color:var(--text-secondary);align-items:center;gap:12px;padding:12px 20px;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background-color:var(--bg-tertiary);color:var(--accent);border-right:3px solid var(--accent)}.sidebar-footer{border-top:1px solid var(--border-color);padding:16px 20px}.admin-info{margin-bottom:12px}.admin-email{color:var(--text-muted);font-size:12px}.logout-btn{border:1px solid var(--border-color);width:100%;color:var(--text-secondary);cursor:pointer;background-color:#0000;border-radius:6px;align-items:center;gap:8px;padding:10px 16px;transition:all .2s;display:flex}.logout-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.mobile-menu-btn{z-index:200;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:8px;display:none;position:fixed;top:16px;left:16px}.sidebar-overlay{display:none}@media (width<=768px){.mobile-menu-btn{display:block}.sidebar{transition:transform .3s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:90;background-color:#00000080;display:block;position:fixed;inset:0}.main-content{margin-left:0!important;padding-top:60px!important}}.main-content{flex:1;min-height:100vh;margin-left:260px;padding:24px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-header h1{align-items:center;gap:8px;font-size:24px;font-weight:600;display:flex}.page-loading,.page-error{height:300px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.btn{border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;transition:all .2s;display:inline-flex}.btn:hover{background-color:var(--bg-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--accent);border-color:var(--accent)}.btn-primary:hover{background-color:var(--accent-hover)}.btn-sm{padding:4px 12px;font-size:12px}.btn-icon{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px;transition:all .2s}.btn-icon:hover{background-color:var(--bg-hover);color:var(--text-primary)}.btn-icon.danger:hover{color:var(--danger)}.btn-back{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 16px;display:inline-flex}.btn-back:hover{color:var(--text-primary)}.btn.danger{color:var(--danger)}.btn.success{color:var(--success)}.form-group{margin-bottom:16px}.form-group label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;display:block}.form-group input,.form-group textarea,.form-group select{background-color:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:6px;padding:10px 12px;font-size:14px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);outline:none}.form-group textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.table-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:auto hidden}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:12px 16px}.data-table th{background-color:var(--bg-tertiary);color:var(--text-secondary);text-transform:uppercase;font-size:12px;font-weight:500}.data-table tr:hover{background-color:var(--bg-hover)}.data-table tr:last-child td{border-bottom:none}.badge{text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;display:inline-block}.badge.active{color:var(--success);background-color:#22c55e26}.badge.inactive,.badge.expired,.badge.cancelled,.badge.suspended{color:var(--danger);background-color:#ef444426}.badge.pending{color:var(--warning);background-color:#f59e0b26}.badge.success{color:var(--success);background-color:#22c55e26}.user-cell{flex-direction:column;gap:2px;display:flex}.user-cell .email{font-weight:500}.user-cell .name{color:var(--text-muted);font-size:12px}.action-buttons{gap:4px;display:flex}.pagination{color:var(--text-secondary);justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.search-box{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:8px;min-width:250px;padding:8px 12px;display:flex}.search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.search-box svg{color:var(--text-muted)}.filter-select,.period-select{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:8px 12px}.status-select{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:6px 10px;font-size:12px}.login-page{background-color:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:400px;padding:40px}.login-card h1{color:var(--accent);text-align:center;margin-bottom:8px;font-size:28px;font-weight:600}.login-card .subtitle{color:var(--text-secondary);text-align:center;margin-bottom:32px}.error-message{border:1px solid var(--danger);color:var(--danger);background-color:#ef444426;border-radius:6px;margin-bottom:16px;padding:12px}.dashboard{max-width:1400px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px;display:grid}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;gap:16px;padding:20px;display:flex}.stat-icon{border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon.users{color:var(--accent);background-color:#6366f126}.stat-icon.revenue{color:var(--success);background-color:#22c55e26}.stat-icon.tokens{color:var(--warning);background-color:#f59e0b26}.stat-icon.chats{color:var(--info);background-color:#3b82f626}.stat-content h3{color:var(--text-secondary);text-transform:uppercase;margin-bottom:4px;font-size:12px}.stat-value{font-size:24px;font-weight:600}.stat-subtitle{color:var(--text-muted);margin-top:4px;font-size:12px}.charts-row{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:24px;display:grid}.chart-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:20px}.chart-card h3{align-items:center;gap:8px;margin-bottom:16px;font-size:14px;font-weight:500;display:flex}.chart-container{height:250px}.no-data{height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.revenue-summary{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.revenue-item{background-color:var(--bg-tertiary);border-radius:6px;padding:16px}.revenue-item .label{color:var(--text-secondary);margin-bottom:4px;font-size:12px;display:block}.revenue-item .value{font-size:20px;font-weight:600}.revenue-item .value.cost{color:var(--danger)}.profit-calculator{border-top:1px solid var(--border-color);margin-top:20px;padding-top:20px}.profit-calculator h4{color:var(--text-secondary);margin-bottom:16px;font-size:14px;font-weight:500}.rate-input-row{align-items:center;gap:12px;margin-bottom:16px;display:flex}.rate-input-row label{color:var(--text-secondary);white-space:nowrap;font-size:13px}.rate-input-row input{background-color:var(--bg-tertiary);border:1px solid var(--border-color);max-width:150px;color:var(--text-primary);border-radius:6px;flex:1;padding:8px 12px;font-size:14px}.rate-input-row input:focus{border-color:var(--accent);outline:none}.rate-input-row input::placeholder{color:var(--text-muted)}.profit-summary{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.profit-item{background-color:var(--bg-tertiary);text-align:center;border-radius:6px;padding:12px}.profit-item .label{color:var(--text-secondary);margin-bottom:4px;font-size:11px;display:block}.profit-item .value{font-size:16px;font-weight:600}.profit-item .value.profit{color:var(--success)}.profit-item .value.loss{color:var(--danger)}.profit-item .value.cost{color:var(--warning)}.breakeven-suggestion{background-color:#ef44441a;border:1px solid #ef44444d;border-radius:8px;margin-top:16px;padding:16px}.breakeven-suggestion h5{color:var(--danger);align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.breakeven-suggestion h5:before{content:"⚠️"}.breakeven-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px;display:grid}.breakeven-item{background-color:var(--bg-tertiary);border-radius:6px;padding:10px}.breakeven-item.highlight{background-color:#22c55e26;border:1px solid #22c55e4d}.breakeven-item .label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:10px;display:block}.breakeven-item .value{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:14px;font-weight:600}.breakeven-item .value.cost{color:var(--danger)}.breakeven-item .value.suggestion{color:var(--success)}.breakeven-item .value.warning{color:var(--warning)}.breakeven-tip{color:var(--text-secondary);background-color:var(--bg-tertiary);border-radius:6px;padding:10px;font-size:12px;line-height:1.6}.breakeven-tip strong{color:var(--success)}.breakeven-tip svg{vertical-align:middle;margin-right:4px}.model-costs{background-color:var(--bg-tertiary);border-radius:6px;margin-top:12px;padding:12px}.model-costs h6{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:11px;font-weight:500}.model-costs-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.model-cost-item{background-color:var(--bg-secondary);border-radius:4px;padding:8px}.model-cost-item .label{color:var(--text-muted);margin-bottom:2px;font-size:10px;display:block}.model-cost-item .value{color:var(--text-primary);font-family:SF Mono,Monaco,monospace;font-size:11px}.plan-projections{background-color:var(--bg-tertiary);border-radius:8px;margin-top:20px;padding:16px}.plan-projections h4{margin-bottom:4px;font-size:14px;font-weight:600}.projection-note{color:var(--text-secondary);margin-bottom:12px;font-size:12px}.plan-projection-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.plan-projection-card{border:1px solid var(--border-color);background-color:var(--bg-secondary);border-radius:6px;padding:12px}.plan-projection-card.profitable{background-color:#22c55e0d;border-color:#22c55e4d}.plan-projection-card.unprofitable{background-color:#ef44440d;border-color:#ef44444d}.plan-projection-card h5{border-bottom:1px solid var(--border-color);margin-bottom:10px;padding-bottom:8px;font-size:13px;font-weight:600}.projection-details{flex-direction:column;gap:6px;display:flex}.projection-row{justify-content:space-between;font-size:12px;display:flex}.projection-row span:first-child{color:var(--text-secondary)}.projection-row .cost{color:var(--warning)}.projection-row .profit{color:var(--success);font-weight:600}.projection-row .loss{color:var(--danger);font-weight:600}.projection-row.profit-row{border-top:1px dashed var(--border-color);margin-top:4px;padding-top:6px}.projection-row small{opacity:.8;font-size:10px}.projection-row .models-list{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:10px;overflow:hidden}.model-costs-breakdown{border-top:1px dashed var(--border-color);margin-top:8px;padding-top:8px}.model-costs-breakdown small{color:var(--text-muted);margin-bottom:4px;font-size:10px;display:block}.model-cost-row{justify-content:space-between;padding:2px 0;font-size:10px;display:flex}.model-cost-row span:first-child{color:var(--text-secondary)}.model-cost-row span:last-child{color:var(--warning);font-family:SF Mono,Monaco,monospace}.quick-links{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:20px}.quick-links h3{margin-bottom:16px;font-size:14px;font-weight:500}.links-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.quick-link{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;align-items:center;gap:8px;padding:12px 16px;text-decoration:none;transition:all .2s;display:flex}.quick-link:hover{background-color:var(--bg-hover);border-color:var(--accent)}.user-detail,.chat-detail{max-width:1000px}.detail-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;padding:24px}.detail-card h2{align-items:center;gap:8px;margin-bottom:20px;font-size:16px;font-weight:500;display:flex}.info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.info-item{flex-direction:column;gap:4px;display:flex}.info-item .label{color:var(--text-secondary);text-transform:uppercase;font-size:12px}.info-item .value{font-weight:500}.info-item.editable{flex-direction:row;align-items:center;gap:8px}.info-item.editable input{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;flex:1;padding:6px 10px}.stats-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-box{text-align:center;background-color:var(--bg-tertiary);border-radius:6px;padding:16px}.stat-box .value{margin-bottom:4px;font-size:24px;font-weight:600;display:block}.stat-box .label{color:var(--text-secondary);font-size:12px}.breakdown-table{margin-top:24px}.breakdown-table h3{align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.empty-state{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-state svg{opacity:.5;margin-bottom:16px}.empty-state h3{margin-bottom:8px}.filter-banner{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:16px;margin-bottom:20px;padding:12px 16px;display:flex}.chat-title{text-overflow:ellipsis;white-space:nowrap;max-width:250px;overflow:hidden}.model-badge{background-color:var(--bg-tertiary);border-radius:4px;padding:2px 8px;font-family:monospace;font-size:11px}.chat-info-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;padding:24px}.chat-info-card h2{margin-bottom:12px;font-size:18px}.chat-meta{flex-wrap:wrap;gap:20px;display:flex}.meta-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.meta-item a{color:var(--accent);text-decoration:none}.meta-item a:hover{text-decoration:underline}.messages-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:20px}.messages-container h3{margin-bottom:16px;font-size:14px}.messages-list{flex-direction:column;gap:16px;display:flex}.message{background-color:var(--bg-tertiary);border-radius:8px;padding:16px}.message.user{border-left:3px solid var(--accent);background-color:#6366f11a}.message.assistant{background-color:var(--bg-tertiary);border-left:3px solid var(--success)}.message-header{align-items:center;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.message-role{align-items:center;gap:4px;font-weight:500;display:flex}.message-time{color:var(--text-muted)}.message-tokens{color:var(--text-muted);font-family:monospace}.message-content pre{white-space:pre-wrap;word-break:break-word;font-family:inherit;line-height:1.6}.tool-calls{border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.tool-calls h4{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;display:flex}.tool-call{background-color:var(--bg-secondary);border-radius:4px;margin-bottom:8px;padding:8px}.tool-name{color:var(--warning);margin-bottom:4px;font-weight:500;display:block}.tool-input{font-family:monospace;font-size:12px;overflow-x:auto}.plans-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.plan-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:24px;position:relative}.plan-card.inactive{opacity:.6}.plan-card.editing{border-color:var(--accent)}.plan-header{justify-content:space-between;align-items:start;margin-bottom:8px;display:flex}.plan-header h3{font-size:18px;font-weight:600}.plan-description{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.plan-price{margin-bottom:16px;font-size:28px;font-weight:700}.plan-price .period{color:var(--text-secondary);font-size:14px;font-weight:400}.plan-details{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.plan-details .detail{justify-content:space-between;font-size:13px;display:flex}.plan-details .label{color:var(--text-secondary)}.status-badge{text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:500;position:absolute;top:12px;right:12px}.status-badge.active{color:var(--success);background-color:#22c55e26}.status-badge.inactive{color:var(--danger);background-color:#ef444426}.plan-form{flex-direction:column;display:flex}.form-actions{gap:12px;margin-top:8px;display:flex}.model-checkboxes{flex-direction:column;gap:8px;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-label input[type=checkbox]{width:auto}.text-muted{color:var(--text-muted)}.subscription-cell,.plan-cell{flex-direction:column;gap:4px;display:flex}@media (width<=600px){.stats-grid,.charts-row,.form-row,.stats-row,.revenue-summary,.profit-summary{grid-template-columns:1fr}.rate-input-row{flex-direction:column;align-items:flex-start}.rate-input-row input{width:100%;max-width:100%}.breakeven-grid,.model-costs-grid,.plan-projection-grid{grid-template-columns:1fr}}
