:root{--bg: #0a0908;--bg-elevated: #141210;--bg-soft: #1a1714;--line: rgba(201, 169, 110, .22);--line-strong: rgba(201, 169, 110, .4);--gold: #c9a96e;--gold-soft: #e2c999;--text: #f3efe6;--muted: #9a9286;--danger: #c46b5a;--ok: #7a9e7e;--shadow: 0 24px 60px rgba(0, 0, 0, .45);--font-display: "Cormorant Garamond", "Times New Roman", serif;--font-body: "Manrope", "PingFang SC", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--text);background:radial-gradient(ellipse 90% 60% at 10% -10%,rgba(201,169,110,.14),transparent 55%),radial-gradient(ellipse 70% 50% at 100% 0%,rgba(80,50,30,.35),transparent 50%),linear-gradient(180deg,#12100e 0%,var(--bg) 40%,#080706 100%);background-attachment:fixed}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 14px 18px;border-right:1px solid var(--line);background:linear-gradient(180deg,#141210f5,#0a0908fa);display:flex;flex-direction:column;gap:18px;overflow:hidden}.brand{padding:0 10px 8px;border-bottom:1px solid rgba(201,169,110,.12)}.brand-mark{font-family:var(--font-display);font-size:28px;letter-spacing:.04em;color:var(--gold);line-height:1.1}.brand-mark span{color:var(--gold-soft);font-weight:600}.brand-sub{margin-top:6px;color:var(--muted);font-size:12px;letter-spacing:.08em}.portal-chip{display:inline-block;margin-top:10px;padding:4px 8px;border:1px solid rgba(201,169,110,.35);color:var(--gold-soft);font-size:11px;letter-spacing:.08em}.portal-chip.platform{border-color:#7a9e7e73;color:var(--ok)}.nav{display:flex;flex-direction:column;gap:12px;overflow:auto;padding-right:4px;flex:1}.nav-group{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid rgba(201,169,110,.1)}.nav-group:last-child{border-bottom:0;padding-bottom:0}.nav-group-title{padding:2px 12px 8px;color:#c9a96eb8;font-size:11px;font-weight:600;letter-spacing:.16em}.nav-group-items{display:flex;flex-direction:column;gap:2px}.nav-link{padding:9px 12px;border-radius:6px;color:var(--muted);font-size:13px;transition:background .2s ease,color .2s ease}.nav-link:hover{color:var(--text);background:#c9a96e14}.nav-link.active{color:#140f0a;background:linear-gradient(135deg,var(--gold),#b8924f);font-weight:600}.sidebar-foot{margin-top:auto;padding:12px 10px 0;border-top:1px solid rgba(201,169,110,.12);color:var(--muted);font-size:12px}.foot-user{margin-bottom:10px}.foot-name{color:var(--text);font-size:13px}.foot-role{margin-top:2px;font-size:11px;color:var(--muted);letter-spacing:.04em}.foot-logout{width:100%}.content{padding:28px 32px 48px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px}.topbar h1{margin:0;font-family:var(--font-display);font-size:36px;font-weight:600;letter-spacing:.02em;color:var(--gold-soft)}.topbar p{margin:6px 0 0;color:var(--muted);font-size:14px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px}.stat{padding:18px 18px 16px;border:1px solid var(--line);background:linear-gradient(160deg,#1a1714e6,#0e0c0af2);animation:rise .45s ease both}.stat:nth-child(2){animation-delay:.05s}.stat:nth-child(3){animation-delay:.1s}.stat:nth-child(4){animation-delay:.15s}.stat b{display:block;font-family:var(--font-display);font-size:34px;font-weight:600;color:var(--gold);line-height:1}.stat i{display:block;margin-top:8px;font-style:normal;color:var(--muted);font-size:12px;letter-spacing:.08em}.panel{border:1px solid var(--line);background:#100e0cd1;padding:18px;margin-bottom:18px;animation:rise .4s ease both}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-head h2{margin:0;font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--gold)}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;padding:10px 16px;background:linear-gradient(135deg,var(--gold),#b8924f);color:#140f0a;font-weight:600;font-size:13px;letter-spacing:.04em;transition:transform .15s ease,filter .15s ease,opacity .15s ease}.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.ghost{background:transparent;color:var(--gold);border:1px solid var(--line-strong)}.btn.danger{background:transparent;color:var(--danger);border:1px solid rgba(196,107,90,.45)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{color:var(--muted);font-size:12px;letter-spacing:.06em}.field input,.field select,.field textarea{width:100%;background:#0c0b0a;border:1px solid var(--line);color:var(--text);padding:11px 12px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.field textarea{min-height:84px;resize:vertical}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid rgba(201,169,110,.12);vertical-align:middle}th{color:var(--muted);font-weight:500;font-size:12px;letter-spacing:.08em}td .muted{color:var(--muted);font-size:12px}.cover{width:42px;height:56px;object-fit:cover;border:1px solid var(--line);background:#111}.badge{display:inline-block;padding:3px 8px;border:1px solid var(--line);color:var(--gold-soft);font-size:11px;letter-spacing:.06em}.badge.on{border-color:#7a9e7e80;color:var(--ok)}.badge.off{border-color:#c46b5a73;color:var(--danger)}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.row-actions .btn{padding:7px 10px;font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#050403b8;display:grid;place-items:center;padding:20px;z-index:50;animation:fade .2s ease}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:var(--bg-elevated);border:1px solid var(--line-strong);box-shadow:var(--shadow);padding:22px;animation:rise .25s ease}.modal h3{margin:0 0 16px;font-family:var(--font-display);font-size:28px;color:var(--gold);font-weight:600}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 30% 20%,rgba(201,169,110,.18),transparent 40%),radial-gradient(circle at 80% 70%,rgba(90,40,20,.25),transparent 45%);animation:drift 14s ease-in-out infinite alternate}.login-card{position:relative;width:min(420px,100%);padding:36px 32px 28px;border:1px solid var(--line);background:#100e0ce0;box-shadow:var(--shadow);animation:rise .5s ease}.login-card .brand-mark{font-size:40px}.login-card h1{margin:18px 0 8px;font-family:var(--font-display);font-size:30px;font-weight:600;color:var(--text)}.login-card .hint{color:var(--muted);font-size:13px;margin-bottom:22px}.error{color:var(--danger);font-size:13px;margin:8px 0 0}.share-page{max-width:720px;margin:0 auto;padding:40px 20px 60px}.share-page .brand-mark{font-size:36px}.share-page h1{font-family:var(--font-display);font-size:40px;font-weight:600;color:var(--gold-soft);margin:18px 0 8px}.share-item{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(201,169,110,.14)}.share-item img{width:64px;height:84px;object-fit:cover;border:1px solid var(--line)}.share-item .price{font-family:var(--font-display);font-size:26px;color:var(--gold)}.empty{color:var(--muted);padding:24px 0;text-align:center}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-2%,2%,0) scale(1.05)}}.sidebar-foot .btn{width:100%;text-align:center;margin-top:0}@media (max-width: 960px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.nav{flex-direction:row;flex-wrap:wrap;gap:8px}.nav-group{min-width:140px;border-bottom:0;padding-bottom:0}.stats,.grid-2,.grid-3{grid-template-columns:1fr}.content{padding:20px 16px 40px}.topbar h1{font-size:28px}}
