:root{--dash-bg:#f4f0f7;--dash-side:#171419}
*{box-sizing:border-box}
.dash-body{margin:0;background:var(--dash-bg);color:#171419;font-family:"DM Sans",sans-serif}
.dash-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.dash-sidebar{background:var(--dash-side);color:#fff;padding:24px 18px;display:flex;flex-direction:column;gap:28px}
.dash-brand img{width:160px;height:auto}
.dash-nav{display:grid;gap:8px}
.dash-nav a{text-decoration:none;color:#c9c2cd;padding:12px 14px;border-radius:12px;font-weight:700;font-size:14px}
.dash-nav a:hover,.dash-nav a.is-active{background:rgba(128,71,239,.22);color:#fff}
.dash-user{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}
.dash-user strong{display:block;font-family:"Manrope"}
.dash-user span{display:block;font-size:12px;color:#b8b0c0;margin:4px 0 12px}
.dash-user button{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:700}
.dash-main{padding:28px 32px 48px}
.dash-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.dash-kicker{margin:0 0 8px;font:800 12px/1 "Manrope";letter-spacing:.12em;text-transform:uppercase;color:#8047ef}
.dash-top h1{margin:0;font:800 34px/1.1 "Manrope";letter-spacing:-.04em}
.dash-alert{padding:14px 16px;border-radius:14px;margin-bottom:18px;font-weight:600}
.dash-alert.success{background:#ece4ff;color:#4a1d9c}
.dash-alert.error{background:#fde8e8;color:#9b1c1c}
.dash-alert ul{margin:0;padding-left:18px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.stat-card{background:#fff;border:1px solid #e9e4ed;border-radius:18px;padding:20px}
.stat-card small{display:block;font:800 11px/1 "Manrope";letter-spacing:.1em;text-transform:uppercase;color:#8047ef;margin-bottom:10px}
.stat-card strong{font:800 36px/1 "Manrope"}
.dash-panel{background:#fff;border:1px solid #e9e4ed;border-radius:20px;padding:22px;margin-bottom:18px}
.dash-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.dash-panel-head h2{margin:0;font:800 20px/1.2 "Manrope"}
.dash-panel-head a{font-weight:800;color:#8047ef;text-decoration:none}
.table-wrap{overflow:auto}
.dash-table{width:100%;border-collapse:collapse}
.dash-table th{text-align:left;font:800 11px/1 "Manrope";letter-spacing:.1em;text-transform:uppercase;color:#6e6873;padding:0 12px 12px}
.dash-table td{padding:14px 12px;border-top:1px solid #eee8f3;vertical-align:top}
.dash-table td strong{display:block;font-family:"Manrope"}
.dash-table td span{display:block;font-size:13px;color:#6e6873;margin-top:3px}
.dash-table a{font-weight:800;color:#8047ef;text-decoration:none}
.status{display:inline-flex;padding:5px 10px;border-radius:999px;font:800 11px/1 "Manrope";letter-spacing:.06em;text-transform:uppercase}
.status-pending{background:#fff4d6;color:#8a5a00}
.status-active{background:#e8fbd0;color:#365c00}
.status-expired{background:#eee;color:#555}
.status-cancelled{background:#fde8e8;color:#9b1c1c}
.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.chip{text-decoration:none;padding:9px 14px;border-radius:999px;border:1px solid #e9e4ed;background:#fff;color:#514b55;font-weight:700;font-size:13px}
.chip.is-active{background:#8047ef;border-color:#8047ef;color:#fff}
.detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}
.detail-list{margin:0;display:grid;gap:14px}
.detail-list div{display:grid;grid-template-columns:140px 1fr;gap:10px;padding-bottom:12px;border-bottom:1px solid #f0ebf4}
.detail-list dt{font-weight:800;color:#6e6873;font-size:13px}
.detail-list dd{margin:0;font-weight:600}
.action-stack{display:grid;gap:10px}
.action-stack form,.action-stack .btn{width:100%}
.action-stack .btn{justify-content:center}
.btn.danger{background:#9b1c1c;color:#fff;border:0}
.link-danger{background:none;border:0;color:#9b1c1c;font-weight:800;cursor:pointer;padding:0;margin-left:12px}
.plan-form{display:grid;gap:16px;max-width:820px}
.plan-form .form-row{display:grid;gap:8px}
.plan-form .form-row.two{grid-template-columns:1fr 1fr;gap:14px}
.plan-form label{font:700 13px/1 "Manrope";color:#171419}
.plan-form input,.plan-form textarea,.plan-form select{width:100%;border:1px solid #e9e4ed;border-radius:12px;padding:14px;background:#fbfafc;font:inherit}
.plan-form textarea{resize:vertical;min-height:140px}
.check-row{display:flex;flex-wrap:wrap;gap:18px;font-weight:700}
.check-row label{display:flex;align-items:center;gap:8px}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.pager{margin-top:16px}
.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,#f4eefb,#fbfafc 50%,#eee4ff);padding:24px;font-family:"DM Sans",sans-serif}
.login-card{width:min(440px,100%);background:#fff;border:1px solid #e9e4ed;border-radius:24px;padding:32px;box-shadow:0 24px 70px rgba(40,25,55,.1)}
.login-logo img{width:170px;margin-bottom:18px}
.login-card h1{margin:0 0 8px;font:800 30px/1.1 "Manrope"}
.login-card .lead{margin:0 0 22px;color:#6e6873}
.login-form{display:grid;gap:14px}
.login-form .btn{width:100%;justify-content:center;border:0;cursor:pointer}
.remember{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#514b55}
@media(max-width:980px){
  .dash-shell{grid-template-columns:1fr}
  .dash-sidebar{padding-bottom:12px}
  .dash-nav{grid-template-columns:repeat(3,1fr)}
  .dash-user{margin-top:0}
  .stat-grid,.detail-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .dash-main{padding:18px 16px 36px}
  .dash-top{flex-direction:column;align-items:stretch}
  .stat-grid,.detail-grid,.dash-nav{grid-template-columns:1fr}
  .detail-list div{grid-template-columns:1fr}
  .plan-form .form-row.two{grid-template-columns:1fr}
}
