:root{--p:#6338c6;--ink:#182033;--muted:#667085;--line:#e4e7ed;--soft:#f5f6fa;--white:#fff;--good:#157f55;--bad:#b42335}*{box-sizing:border-box}body{margin:0;background:var(--soft);font-family:"DM Sans",sans-serif;color:var(--ink)}h1,h2,h3{font-family:"Manrope",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#171d2d;color:#cbd2df;padding:22px;z-index:20}.admin-logo{display:flex;align-items:center;gap:10px;color:#fff;margin-bottom:28px}.admin-logo span{width:42px;height:42px;border-radius:12px;background:var(--p);display:grid;place-items:center;font-weight:800}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:inherit;text-decoration:none;padding:11px 12px;border-radius:10px}.sidebar nav a i{width:24px}.sidebar nav a.active,.sidebar nav a:hover{background:#282f43;color:#fff}.admin-shell{margin-left:245px}.admin-top{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px;padding:0 28px;position:sticky;top:0;z-index:10}.admin-top div{display:grid}.admin-top small{color:var(--muted)}.side-toggle{display:none;border:0;background:none;font-size:20px}.admin-main{padding:28px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.stat{display:flex;gap:14px;align-items:center}.stat>i{width:45px;height:45px;border-radius:12px;background:#f1ecff;color:var(--p);display:grid;place-items:center}.stat span{display:grid;color:var(--muted);font-size:13px}.stat strong{color:var(--ink);font-size:25px}.panel{margin-bottom:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h2{margin:0}.panel-head a,.table-link{color:var(--p);font-weight:700;text-decoration:none}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 11px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;text-transform:uppercase;color:var(--muted)}td small{display:block;color:var(--muted)}.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#eef0f4}.status-confirmed,.status-paid,.status-completed{background:#e8f7ef;color:#157f55}.status-pending,.status-payment_sent{background:#fff5dd;color:#9a6400}.status-cancelled,.status-expired,.status-unpaid{background:#fff0f1;color:#b42335}.filters{display:flex;gap:10px;margin-bottom:18px}.filters input{flex:1}input,select,textarea{width:100%;border:1px solid #d7dce5;border-radius:9px;padding:11px;margin:6px 0 13px;font:inherit}textarea{min-height:100px}button,.btn-small{border:0;background:var(--p);color:#fff;padding:11px 15px;border-radius:9px;font-weight:700;cursor:pointer;text-decoration:none}.detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.detail-list>div{display:grid;grid-template-columns:150px 1fr;padding:10px 0;border-bottom:1px solid var(--line)}.detail-list span{color:var(--muted)}.action-row{margin-top:20px}.action-row form{display:flex;gap:9px}.action-row .good{background:var(--good)}.action-row .bad{background:var(--bad)}.payment-link{word-break:break-all;font-size:12px;background:var(--soft);padding:10px;border-radius:8px}.timeline>div{display:grid;grid-template-columns:100px 1fr 150px;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.timeline small{color:var(--muted)}.calendar{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.cal-head,.cal-cell{padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cal-cell{min-height:120px}.cal-cell>a{display:block;background:#f1ecff;color:var(--p);padding:6px;margin-top:6px;border-radius:6px;text-decoration:none;font-size:12px}.cal-cell>a span{font-weight:700;margin-right:5px}.service-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.warning{color:#9a6400;background:#fff5dd;padding:12px;border-radius:8px}.alert{padding:12px 14px;border-radius:9px;margin-bottom:15px}.alert.success{background:#e8f7ef;color:var(--good)}.alert.error{background:#fff0f1;color:var(--bad)}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f4f0ff,#eefafa)}.login-card{width:min(420px,calc(100% - 30px));background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 18px 55px rgba(20,28,50,.12)}.login-mark{width:55px;height:55px;background:var(--p);color:#fff;border-radius:15px;display:grid;place-items:center;font-weight:800}.login-card p,.login-card small{color:var(--muted)}.login-card button{width:100%}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.admin-shell{margin-left:0}.side-toggle{display:block}.stats{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.service-admin-grid{grid-template-columns:1fr}.admin-main{padding:18px}.calendar{min-width:850px}.panel:has(.calendar){overflow:auto}}
@media(max-width:560px){.stats{grid-template-columns:1fr}.filters{flex-direction:column}.timeline>div{grid-template-columns:1fr}.admin-top{padding:0 16px}}
.money-breakdown{display:grid;gap:8px;margin:12px 0 16px}.money-breakdown>div{display:flex;justify-content:space-between;padding:10px 12px;background:var(--soft);border-radius:10px}.money-breakdown>div:last-child{background:#f1ecff;color:var(--p);font-size:17px}.stack-actions{display:grid;gap:9px}.stack-actions button{width:100%}.secondary{background:#eef0f4!important;color:var(--ink)!important}.panel-subsection{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:700px){.admin-main{padding:12px}.admin-top{height:64px}.panel,.stat{padding:16px;border-radius:13px}.detail-list>div{grid-template-columns:1fr;gap:4px}.action-row form{display:grid;grid-template-columns:1fr 1fr}.action-row button{width:100%}.table-wrap table{min-width:720px}.sidebar{width:min(86vw,300px);box-shadow:18px 0 45px rgba(0,0,0,.18)}.admin-top strong{font-size:14px}.admin-top small{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar{min-width:760px}.service-admin-grid{gap:12px}}

.side-overlay{display:none}@media(max-width:900px){.side-overlay.open{display:block;position:fixed;inset:0;background:rgba(10,15,28,.45);z-index:19}}
.admin-quick-links{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}@media(max-width:600px){.admin-quick-links .btn{flex:1;text-align:center}}
