:root { --bg:#0b0d14; --panel:#141720; --panel2:#1a1e29; --text:#f6f6fa; --muted:#9da2b1; --line:rgba(255,255,255,.1); --purple:#7458f6; --green:#44dca1; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--text); background:var(--bg); font-family:"DM Sans",system-ui,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
.brand { display:inline-flex; align-items:center; gap:10px; font:700 19px Manrope,sans-serif; }
.brand strong { color:#9c89ff; }
.brand-mark { width:31px; height:28px; position:relative; display:inline-block; }
.brand-mark i { position:absolute; width:12px; height:24px; border-radius:4px; transform:skew(-17deg); background:linear-gradient(180deg,#9d89ff,#6c4ef0); }
.brand-mark i:first-child { left:4px; bottom:0; }.brand-mark i:last-child { right:4px; top:0; background:linear-gradient(180deg,#48e0cb,#59a8ff); }
.access-page { min-height:100vh; display:grid; place-items:center; padding:25px; background:radial-gradient(circle at 70% 10%,rgba(112,79,245,.19),transparent 35%),var(--bg); }
.access-card { width:min(460px,100%); padding:38px; border:1px solid var(--line); border-radius:26px; background:rgba(20,23,32,.94); box-shadow:0 30px 80px rgba(0,0,0,.35); }
.access-card > div:nth-of-type(1) { margin:50px 0 26px; }.eyebrow,.admin-head small,.panel-head small { color:#9d8aff; font-size:10px; letter-spacing:.15em; font-weight:800; }
.access-card h1 { margin:10px 0 8px; font:800 30px/1.1 Manrope,sans-serif; letter-spacing:-.035em; }.access-card p { margin:0; color:var(--muted); }
label { display:flex; flex-direction:column; gap:8px; color:#d8dae2; font-size:13px; font-weight:600; }
input { width:100%; height:49px; padding:0 14px; color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:11px; outline:0; background:#0e1017; }
input:focus { border-color:#8066f8; box-shadow:0 0 0 3px rgba(117,88,246,.13); }
label small { color:#777c8b; font-size:10px; font-weight:400; }
.access-card form { display:grid; gap:16px; }
.primary,.secondary { min-height:46px; padding:0 19px; border-radius:11px; border:0; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:700; cursor:pointer; }
.primary { background:linear-gradient(135deg,#795df8,#6042d7); box-shadow:0 11px 28px rgba(99,67,220,.25); }.secondary { border:1px solid var(--line); background:#1b1e29; }
.back-link { display:block; margin-top:24px; color:#838796; font-size:12px; text-align:center; }
.alert { margin:0 0 20px; padding:13px 15px; border-radius:11px; font-size:13px; }.alert.error { color:#ffb8c0; background:rgba(255,86,107,.1); border:1px solid rgba(255,86,107,.2); }.alert.success { color:#9af1ca; background:rgba(68,220,161,.1); border:1px solid rgba(68,220,161,.2); }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:250px minmax(0,1fr); }
.admin-shell > aside { height:100vh; padding:29px 22px; position:sticky; top:0; display:flex; flex-direction:column; border-right:1px solid var(--line); background:#10121a; }
.admin-shell nav { display:grid; gap:7px; margin-top:52px; }.admin-shell nav a { padding:11px 13px; display:flex; align-items:center; gap:11px; border-radius:10px; color:#8e93a2; font-size:13px; }.admin-shell nav a.active,.admin-shell nav a:hover { color:#fff; background:#1b1e29; }.admin-shell nav b { width:20px; color:#9c88ff; text-align:center; }
.aside-bottom { margin-top:auto; display:grid; gap:8px; }.aside-bottom a,.aside-bottom button { width:100%; padding:8px 5px; border:0; color:#818695; background:transparent; text-align:left; font-size:12px; cursor:pointer; }.aside-bottom a:hover,.aside-bottom button:hover { color:#fff; }
.admin-content { width:min(980px,calc(100% - 50px)); margin:0 auto; padding:55px 0 80px; }
.admin-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:34px; }.admin-head h1 { margin:9px 0 4px; font:800 38px/1 Manrope,sans-serif; letter-spacing:-.035em; }.admin-head p { margin:0; color:var(--muted); }
.panel { margin-bottom:20px; padding:30px; border:1px solid var(--line); border-radius:20px; background:var(--panel); scroll-margin-top:25px; }.panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; padding-bottom:24px; border-bottom:1px solid var(--line); }.panel-head h2 { margin:6px 0 4px; font:700 22px Manrope,sans-serif; }.panel-head p { margin:0; color:var(--muted); font-size:13px; }
.status { color:var(--green); font-size:11px; }.badge { padding:5px 9px; border-radius:8px; color:#a99aff; background:rgba(117,88,246,.1); font-size:10px; }
.form-grid { display:grid; gap:23px; margin-top:25px; }.form-grid.two { grid-template-columns:1fr 1fr; }.money-input { display:grid; grid-template-columns:60px 1fr; }.money-input b { display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); border-right:0; border-radius:11px 0 0 11px; color:#9da2af; background:#191c26; }.money-input input { border-radius:0 11px 11px 0; }
.event-note { margin-top:25px; padding:14px 16px; border-radius:11px; color:#9499a8; background:#10121a; font-size:12px; }.event-note b { color:#d9dbe3; }
.save-bar { position:sticky; bottom:15px; z-index:5; margin:18px 0 28px; padding:13px 14px 13px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid rgba(255,255,255,.12); border-radius:15px; background:rgba(23,26,36,.92); box-shadow:0 16px 40px rgba(0,0,0,.3); backdrop-filter:blur(14px); }.save-bar p { margin:0; color:#7f8492; font-size:11px; }
.password-form { display:grid; grid-template-columns:1fr 1fr auto; gap:14px; align-items:end; margin-top:25px; }
@media(max-width:820px){.admin-shell{grid-template-columns:1fr}.admin-shell>aside{height:auto;position:static;padding:20px;flex-direction:row;align-items:center}.admin-shell nav{display:none}.aside-bottom{margin:0 0 0 auto;display:flex}.aside-bottom a{display:none}.aside-bottom form{display:block}.admin-content{width:calc(100% - 30px);padding-top:35px}.form-grid.two,.password-form{grid-template-columns:1fr}.admin-head{align-items:flex-start}.admin-head .secondary{display:none}}
@media(max-width:520px){.access-card{padding:28px 22px}.panel{padding:23px 18px}.panel-head{display:block}.panel-head>.status,.panel-head>.badge{display:inline-block;margin-top:13px}.save-bar{padding:12px;flex-direction:column;align-items:stretch}.admin-head h1{font-size:32px}}
