:root{--bg:#070a12;--panel:#111827;--panel2:#172033;--text:#e5e7eb;--muted:#94a3b8;--line:rgba(255,255,255,.08);--gold:#d6b56d;--gold2:#8a6a35;--green:#22c55e;--red:#ef4444;--blue:#38bdf8}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text)}a{color:inherit}.auth-body{min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(214,181,109,.18),transparent 28%),radial-gradient(circle at 80% 10%,rgba(124,92,43,.2),transparent 30%),linear-gradient(135deg,#020617,#0f172a 55%,#111827)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px}.auth-card{width:min(620px,100%);background:rgba(15,23,42,.78);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.1);border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:42px}.hero-card{text-align:center}.logo-row{display:flex;gap:14px;align-items:center;margin-bottom:28px}.logo-row.center{justify-content:center}.logo-mark{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111827;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;box-shadow:0 14px 36px rgba(214,181,109,.22)}.logo-mark.small{width:42px;height:42px;border-radius:14px;font-size:16px}.logo-title{font-size:22px;font-weight:900;color:white}.logo-sub{font-size:13px;color:var(--muted)}h1{margin:0}.auth-card h1{font-size:36px;color:white;letter-spacing:-1px;margin-bottom:16px}.hero-card p{color:var(--muted);font-size:17px;line-height:1.6;max-width:500px;margin:0 auto 28px}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}.btn-primary,.btn-secondary{min-height:46px;border-radius:14px;border:0;padding:13px 20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:800;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111827}.btn-secondary{background:rgba(214,181,109,.08);color:white;border:1px solid rgba(214,181,109,.22)}.full{width:100%}.hero-note,.auth-bottom,.muted-center{color:var(--muted);font-size:14px}.auth-bottom{text-align:center;margin-top:20px}.auth-bottom a{color:var(--gold);text-decoration:none;font-weight:800}.auth-form{max-width:480px}.auth-form h1{text-align:center;font-size:30px}.auth-form label{display:block;color:#cbd5e1;font-size:14px;font-weight:700;margin-bottom:7px}.auth-form input{width:100%;height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(2,6,23,.55);color:white;padding:0 14px;outline:none;margin-bottom:16px}.auth-form input:focus{border-color:rgba(214,181,109,.75);box-shadow:0 0 0 4px rgba(214,181,109,.12)}.alert{padding:12px 14px;border-radius:14px;margin-bottom:16px;font-weight:700;font-size:14px}.alert.error{background:rgba(239,68,68,.12);color:#fecaca;border:1px solid rgba(239,68,68,.25)}.alert.success{background:rgba(34,197,94,.12);color:#bbf7d0;border:1px solid rgba(34,197,94,.25)}.muted-center{text-align:center;line-height:1.6;margin-bottom:22px}
.app-body,.admin-body{height:100vh;overflow:hidden;background:#070a12}.shell,.admin-shell{height:100vh;display:grid;grid-template-columns:260px 360px 1fr;background:#070a12}.admin-shell{grid-template-columns:260px 1fr}.nav{background:#0c111d;border-right:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:10px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.brand b{display:block;color:#fff}.brand span{display:block;color:var(--muted);font-size:12px}.me{display:flex;align-items:center;gap:12px;background:#111827;border:1px solid var(--line);border-radius:18px;padding:12px;margin-bottom:14px}.me b{display:block}.me span{display:block;color:var(--muted);font-size:12px}.navlink{display:block;text-decoration:none;padding:12px 13px;border-radius:14px;color:#cbd5e1;font-weight:800}.navlink:hover,.navlink.active{background:#172033;color:#fff}.list{background:#101827;border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.list-top{padding:18px;border-bottom:1px solid var(--line)}.list-top h2{margin:0 0 12px;font-size:22px}.search,.admin-search{width:100%;height:42px;border:0;border-radius:14px;background:#1f2937;color:#fff;padding:0 14px;outline:none}.chat-list{overflow:auto;flex:1}.chat-card{display:flex;gap:12px;padding:14px 16px;text-decoration:none;color:#cbd5e1;border-left:3px solid transparent}.chat-card:hover,.chat-card.active{background:#1b2538;border-left-color:var(--gold)}.avatar-wrap{position:relative;width:max-content}.avatar{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111827;font-weight:900;display:flex;align-items:center;justify-content:center}.avatar.big{width:52px;height:52px;border-radius:18px}.presence-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#64748b;border:2px solid #101827}.avatar-wrap .presence-dot{position:absolute;right:-1px;bottom:-1px}.presence-dot.on{background:var(--green)}.presence-dot.off{background:#64748b}.chat-card-mid{flex:1;min-width:0}.chat-card-mid b{display:block;color:white;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-card-mid span{display:block;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.chat-card-mid em{display:block;color:#64748b;font-size:11px;font-style:normal;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-side{text-align:right}.chat-side time{display:block;color:#64748b;font-size:12px}.chat-side strong{margin-top:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#111827;border-radius:999px;min-width:22px;height:22px;font-size:12px}.messenger{display:flex;flex-direction:column;min-width:0;background:radial-gradient(circle at top right,rgba(214,181,109,.12),transparent 30%),#0b1220}.m-head{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);background:rgba(15,23,42,.82)}.h-user{display:flex;align-items:center;gap:12px}.h-user h1{font-size:21px;color:#fff}.h-user p{margin:4px 0 0;color:var(--muted);font-size:13px}.tech{display:flex;flex-direction:column;gap:3px;text-align:right;color:#94a3b8;font-size:12px}.messages{flex:1;overflow:auto;padding:24px}.empty{color:#94a3b8;text-align:center;margin-top:80px}.center{align-self:center}.msg{display:flex;margin-bottom:12px}.msg.own{justify-content:flex-end}.msg.other{justify-content:flex-start}.bubble{max-width:min(680px,75%);padding:11px 13px;border-radius:18px;background:#1f2937;box-shadow:0 10px 30px rgba(0,0,0,.18);color:white}.msg.own .bubble{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111827;border-bottom-right-radius:6px}.msg.other .bubble{border-bottom-left-radius:6px}.meta{display:flex;justify-content:space-between;gap:18px;font-size:12px;color:rgba(255,255,255,.68);margin-bottom:5px}.msg.own .meta{color:rgba(17,24,39,.7)}.text{line-height:1.45;white-space:normal}.file{display:block;margin-top:8px;padding:10px;border-radius:12px;background:rgba(255,255,255,.12);text-decoration:none;color:inherit;font-weight:800}.file img{display:block;max-width:280px;max-height:180px;border-radius:12px;margin-bottom:8px;object-fit:cover}.composer{display:grid;grid-template-columns:48px 1fr 54px;gap:10px;padding:14px;background:#111827;border-top:1px solid var(--line);align-items:end}.clip{width:48px;height:48px;border-radius:50%;background:#1f2937;display:flex;align-items:center;justify-content:center;cursor:pointer}.clip input{display:none}.composer textarea{min-height:48px;max-height:220px;resize:none;border:0;border-radius:16px;background:#1f2937;color:white;padding:14px;outline:none;line-height:20px;overflow:auto}.composer button{width:48px;height:48px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111827;font-weight:900;cursor:pointer}.dropzone{position:fixed;inset:0;background:rgba(2,6,23,.76);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;color:white;font-size:32px;font-weight:900;z-index:99}.dropzone.show{display:flex}.admin-main{overflow:auto;padding:28px}.admin-main h1{font-size:32px;margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px}.stat{background:#111827;border:1px solid var(--line);border-radius:20px;padding:20px}.stat span{color:var(--muted)}.stat b{display:block;font-size:34px;color:#fff;margin-top:8px}.admin-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}.admin-head form{width:min(440px,100%)}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.user-card{background:#111827;border:1px solid var(--line);border-radius:22px;padding:18px}.user-top{display:flex;align-items:center;gap:12px}.user-top h3{margin:0;color:#fff}.user-top p{margin:4px 0 0;color:var(--muted);font-size:13px}.badge{margin-left:auto;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}.badge.approved{background:rgba(34,197,94,.12);color:#86efac}.badge.pending{background:rgba(214,181,109,.12);color:#f5d98b}.badge.blocked{background:rgba(239,68,68,.12);color:#fecaca}.user-info{display:grid;grid-template-columns:130px 1fr;gap:8px;margin:18px 0;color:#cbd5e1}.user-info span{color:var(--muted)}.user-actions{display:flex;gap:8px;flex-wrap:wrap}.user-actions button,.mini,.user-actions select{border:0;border-radius:10px;background:#1f2937;color:white;padding:9px 11px;text-decoration:none;cursor:pointer}
@media(max-width:1000px){.shell{grid-template-columns:1fr}.nav{display:none}.list{height:35vh}.messenger{height:65vh}.admin-shell{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.users-grid{grid-template-columns:1fr}.tech{display:none}.bubble{max-width:90%}}
