
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700;800&family=Share+Tech+Mono&display=swap');
*{margin:0;padding:0;box-sizing:border-box}
::selection{background:#ff0000;color:#000}
:root{
  --bg:#000;
  --text:#e0e0e0;
  --muted:#666;
  --border:#1a1a1a;
  --elevated:#0a0a0a;
  --accent:#ff0000;
  --danger:#ff0000;
  --success:#22c55e;
  --warning:#eab308;
  --info:#3b82f6;
}

body{background:#000;color:#e0e0e0;font-family:'JetBrains Mono',monospace;overflow-x:hidden;min-height:100vh}

/* CRT overlay */
.crt::before{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.15) 2px,rgba(0,0,0,.15) 4px);pointer-events:none;z-index:9999;animation:flicker .15s infinite}
@keyframes flicker{0%{opacity:.97}50%{opacity:1}100%{opacity:.98}}

/* Noise */
.noise{position:fixed;inset:0;opacity:.04;z-index:9998;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,0,0,.02),transparent 60%),radial-gradient(circle at 20% 80%,rgba(255,0,0,.01),transparent 40%)}

/* Warning tape */
.tape{background:repeating-linear-gradient(45deg,#ff0000,#ff0000 10px,#000 10px,#000 20px);color:#fff;text-align:center;padding:6px 0;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;border-top:1px solid #ff0000;border-bottom:1px solid #ff0000}

/* Nav */
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #1a1a1a;background:rgba(0,0,0,.95);position:fixed;top:0;left:0;right:0;z-index:1000}
.nav .brand{font-family:'Share Tech Mono',monospace;font-size:18px;font-weight:700;color:#ff0000;letter-spacing:2px}
.nav .brand span{color:#fff}
.nav .brand::before{content:">";color:#ff0000;margin-right:6px}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{color:#666;font-size:12px;text-decoration:none;text-transform:uppercase;letter-spacing:1px;transition:color .2s}
.nav-links a:hover{color:#ff0000}
.nav-links .nav-btn{background:transparent;border:1px solid #ff0000;color:#ff0000;padding:6px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s;font-family:'JetBrains Mono',monospace}
.nav-links .nav-btn:hover{background:#ff0000;color:#000}

/* Layout */
.app-layout{display:flex;min-height:100vh}
.sidebar{width:240px;background:#050505;border-right:1px solid #111;position:fixed;top:57px;bottom:0;left:0;overflow-y:auto;z-index:100;display:flex;flex-direction:column}
.sidebar-brand{padding:20px 16px;border-bottom:1px solid #111;display:flex;align-items:center;gap:10px}
.sidebar-brand .logo-icon{color:#ff0000;font-family:'Share Tech Mono',monospace;font-size:20px;font-weight:700}
.sidebar-brand .logo-text{color:#fff;font-size:14px;font-weight:700;letter-spacing:1px}
.sidebar-nav{flex:1;padding:12px 0}
.sidebar-nav .section{padding:8px 16px;font-size:10px;color:#444;text-transform:uppercase;letter-spacing:2px;font-weight:700}
.sidebar-nav a{display:block;padding:8px 16px;color:#666;font-size:13px;text-decoration:none;transition:all .2s;border-left:2px solid transparent}
.sidebar-nav a:hover,.sidebar-nav a.active{color:#ff0000;background:rgba(255,0,0,.03);border-left-color:#ff0000}
.sidebar-footer{padding:12px 16px;border-top:1px solid #111}
.credit-badge{display:flex;align-items:center;justify-content:space-between}
.credit-badge .label{font-size:10px;color:#444;text-transform:uppercase;letter-spacing:1px}
.credit-badge .value{font-size:14px;color:#ff0000;font-weight:700}
.btn-sm{padding:4px 10px;font-size:11px}
.btn-red-sm{background:#ff0000;color:#000;border:none;padding:4px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;cursor:pointer;font-family:'JetBrains Mono',monospace;text-decoration:none}

.main-content{flex:1;margin-left:240px;padding-top:57px;min-height:100vh}
.topbar{height:56px;background:#000;border-bottom:1px solid #111;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:99}
.topbar-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.topbar-right{display:flex;align-items:center;gap:12px}
.topbar-right .btn-red{background:#ff0000;color:#000;border:none;padding:6px 14px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;cursor:pointer;font-family:'JetBrains Mono',monospace;text-decoration:none}
.user-dropdown{display:flex;align-items:center;gap:8px;cursor:pointer;color:#666;font-size:13px}
.user-dropdown .avatar{width:28px;height:28px;background:#111;border:1px solid #222;color:#ff0000;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border-radius:50%}
.btn-icon{background:transparent;border:none;color:#666;font-size:16px;cursor:pointer;padding:4px}
.btn-icon:hover{color:#ff0000}

.content-area{padding:24px;max-width:1200px}
.page-header{margin-bottom:24px}
.page-header h1{font-size:24px;font-weight:800;text-transform:uppercase;letter-spacing:-1px;margin-bottom:4px}
.page-header p{color:#444;font-size:13px}

/* Cards */
.card{background:#0a0a0a;border:1px solid #111;padding:20px;margin-bottom:16px}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.card-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.card-value{font-family:'Share Tech Mono',monospace;font-size:28px;font-weight:700;color:#fff;margin-bottom:4px}
.card-value.red{color:#ff0000}
.card-delta{font-size:12px;color:#444}

/* Grid */
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}

/* Forms */
.form-group{margin-bottom:14px}
.form-group label{display:block;color:#444;font-size:10px;text-transform:uppercase;letter-spacing:2px;margin-bottom:4px}
.form-control{width:100%;background:#000;border:1px solid #222;padding:10px 12px;color:#e0e0e0;font-family:'JetBrains Mono',monospace;font-size:13px;outline:none;transition:border-color .2s}
.form-control:focus{border-color:#ff0000}
select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23666'%3E%3Cpath d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
textarea.form-control{min-height:100px;resize:vertical}

/* Buttons */
.btn{padding:10px 20px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s;border:none;text-align:center;display:inline-block;text-decoration:none;font-family:'JetBrains Mono',monospace}
.btn-red{background:#ff0000;color:#000;box-shadow:0 0 20px rgba(255,0,0,.2)}
.btn-red:hover{box-shadow:0 0 40px rgba(255,0,0,.4);transform:translateY(-1px)}
.btn-outline{background:transparent;border:1px solid #222;color:#666}
.btn-outline:hover{border-color:#ff0000;color:#ff0000}
.btn-dark{background:transparent;color:#666;border:1px solid #333}
.btn-dark:hover{border-color:#ff0000;color:#ff0000}

/* Alerts */
.alert{padding:12px 16px;border:1px solid #222;margin-bottom:16px;font-size:13px}
.alert-danger{background:rgba(255,0,0,.05);border-color:rgba(255,0,0,.2);color:#ff0000}
.alert-success{background:rgba(0,255,0,.03);border-color:rgba(0,255,0,.1);color:#22c55e}
.alert-warn{background:rgba(234,179,8,.03);border-color:rgba(234,179,8,.1);color:#eab308}

/* Tables */
.data-table{width:100%;border-collapse:collapse;font-size:13px}
.data-table th{text-align:left;padding:10px 12px;border-bottom:1px solid #222;color:#444;font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.data-table td{padding:10px 12px;border-bottom:1px solid #111;color:#888}
.data-table tr:hover td{background:rgba(255,0,0,.02)}
.data-table a{color:#ff0000;text-decoration:none}
.data-table a:hover{text-decoration:underline}

/* Badges */
.badge{display:inline-block;padding:3px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.badge-success{background:rgba(0,255,0,.08);color:#22c55e;border:1px solid rgba(0,255,0,.15)}
.badge-danger{background:rgba(255,0,0,.08);color:#ff0000;border:1px solid rgba(255,0,0,.15)}
.badge-warn{background:rgba(234,179,8,.08);color:#eab308;border:1px solid rgba(234,179,8,.15)}
.badge-info{background:rgba(59,130,246,.08);color:#3b82f6;border:1px solid rgba(59,130,246,.15)}

/* Tabs */
.tabs{display:flex;gap:0;border-bottom:1px solid #111;margin-bottom:20px}
.tabs a{padding:10px 20px;color:#444;font-size:12px;text-decoration:none;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid transparent;transition:all .2s}
.tabs a:hover{color:#666}
.tabs a.active{color:#ff0000;border-bottom-color:#ff0000}

/* Progress */
.progress-bar{width:100%;height:4px;background:#111;margin-top:4px}
.progress-fill{height:100%;background:#ff0000;transition:width .3s}

/* Auth pages */
.auth-wrap{max-width:420px;margin:80px auto;padding:0 20px}
.auth-header{text-align:center;margin-bottom:32px}
.auth-header .brand-red{color:#ff0000;font-family:'Share Tech Mono',monospace;font-size:24px;font-weight:700;letter-spacing:2px}
.auth-header .brand-red span{color:#fff}
.auth-header .brand-red::before{content:">";color:#ff0000;margin-right:6px}
.term-box{background:#0a0a0a;border:1px solid #1a1a1a;padding:24px}
.term-box::before{content:">>> ACCESS_TERMINAL";display:block;color:#ff0000;font-size:11px;margin-bottom:16px;letter-spacing:1px}
.term-box .alt{text-align:center;margin-top:12px;font-size:11px;color:#444}
.term-box .alt a{color:#ff0000;text-decoration:none}

/* Chat */
.chat-container{display:flex;flex-direction:column;height:calc(100vh - 57px)}
.chat-messages{flex:1;overflow-y:auto;padding:24px}
.message{max-width:800px;margin-bottom:20px}
.message .meta{font-size:10px;color:#444;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.message .meta .role-user{color:#ff0000}
.message .meta .role-assistant{color:#888}
.message .content{color:#ccc;line-height:1.7;font-size:14px;white-space:pre-wrap}
.message.user .content{color:#e0e0e0}
.chat-input-area{border-top:1px solid #111;padding:16px 24px;background:#050505}
.chat-input-wrap{display:flex;gap:10px;align-items:flex-end}
.chat-input-wrap textarea{flex:1;background:#000;border:1px solid #222;padding:12px;color:#e0e0e0;font-family:'JetBrains Mono',monospace;font-size:14px;outline:none;resize:none;height:56px;border-radius:0}
.chat-input-wrap textarea:focus{border-color:#ff0000}
.chat-input-wrap button{background:#ff0000;color:#000;border:none;padding:12px 20px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;cursor:pointer;font-family:'JetBrains Mono',monospace}
.mode-toggle{display:flex;gap:0;margin-bottom:12px}
.mode-toggle a{padding:8px 16px;font-size:12px;font-weight:700;text-decoration:none;color:#444;text-transform:uppercase;letter-spacing:1px;border:1px solid #111;transition:all .2s}
.mode-toggle a.active{background:#ff0000;color:#000;border-color:#ff0000}
.mode-toggle a:hover{color:#ff0000}
.file-list{font-size:11px;color:#444;margin-bottom:8px}
.file-list a{color:#ff0000;text-decoration:none;font-size:11px}
.upload-wrap{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.upload-wrap input[type=file]{font-size:11px;color:#444;background:#000;border:1px solid #222;padding:6px}

/* Misc */
.text-center{text-align:center}
.text-muted{color:#444}
.text-success{color:#22c55e}
.text-danger{color:#ff0000}
.text-warning{color:#eab308}

/* Deposit */
.deposit-box{background:#0a0a0a;border:1px solid #111;padding:24px;margin-bottom:16px}
.address-box{background:#000;border:1px dashed #222;padding:16px;font-family:'Share Tech Mono',monospace;font-size:14px;text-align:center;word-break:break-all;color:#ff0000}
.qr-placeholder{width:180px;height:180px;background:#050505;border:1px solid #111;margin:16px auto;display:flex;align-items:center;justify-content:center;color:#444;font-size:11px;text-transform:uppercase;letter-spacing:1px}

/* Responsive */
@media(max-width:768px){
  .sidebar{transform:translateX(-100%);transition:transform .3s}
  .sidebar.open{transform:translateX(0)}
  .main-content{margin-left:0}
  .nav-links{display:none}
  .grid-4,.grid-3,.grid-2{grid-template-columns:1fr}
}
