*{box-sizing:border-box}
.p8-shell{min-height:100vh;background:#090b10;color:#e8ebf2;display:flex;font-family:Inter,system-ui,sans-serif}
.side{width:230px;padding:25px 15px;border-right:1px solid #202630;background:#0d1016;position:sticky;top:0;height:100vh}
.side b{display:block;letter-spacing:.18em;margin:5px 12px 25px}
.side a{display:block;color:#9ba3b2;text-decoration:none;padding:11px 13px;border-radius:9px;margin:3px 0}
.side a:hover{background:#171b24;color:#fff}
.main{width:100%;max-width:1500px;margin:auto;padding:42px}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.head small,.coming small{color:#8d78ff;letter-spacing:.16em;font-weight:800}
.head h1{font-size:34px;margin:8px 0}
.head p{color:#8e96a8;margin:0}
.btnrow{display:flex;gap:10px}
.btn{display:inline-block;background:linear-gradient(135deg,#8d73ff,#6176ff);color:#fff!important;border:0;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700;cursor:pointer}
.btn.ghost{background:#171b24;border:1px solid #282e39}
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:20px}
.card,.panel{background:#10141b;border:1px solid #202630;border-radius:16px;padding:20px;margin-bottom:20px}
.card small{color:#7f8898;text-transform:uppercase;font-size:10px}
.card strong{display:block;font-size:25px;margin-top:8px}
.card p{color:#929bad}
.chart{height:240px;background:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px);background-size:40px 40px}
.chart svg{width:100%;height:100%}
.chart polyline{fill:none;stroke:#8d78ff;stroke-width:3}
.p8-table-wrap{overflow:auto}
.p8-table{width:100%;border-collapse:collapse;min-width:900px}
.p8-table th,.p8-table td{padding:13px;border-bottom:1px solid #202630;text-align:left;font-size:13px;white-space:nowrap}
.p8-table th{color:#747e90;font-size:10px}
.pos{color:#35d98b}
.neg{color:#ff6879}
.row-actions{display:flex;gap:8px}
.mini{background:#171b24;border:1px solid #282e39;color:#c6cbd6;padding:6px 10px;border-radius:7px;font-size:12px;text-decoration:none;cursor:pointer}
.mini:hover{background:#1f2531}
.mini.danger{color:#ff8b96;border-color:#3a2229}
.mini.danger:hover{background:#2a1519}
.searchform{display:flex;gap:10px;align-items:center;margin-bottom:15px;flex-wrap:wrap}
.searchform .search{flex:1;min-width:200px;margin-bottom:0}
.search{width:100%;padding:13px;background:#0b0e14;border:1px solid #282e39;color:#fff;border-radius:9px;margin-bottom:15px}
.pager{display:flex;gap:14px;align-items:center;justify-content:center;margin-top:18px;color:#9ba3b2;font-size:13px}
.pager a{color:#c6cbd6;text-decoration:none;background:#171b24;border:1px solid #282e39;padding:8px 14px;border-radius:8px}
.pager a:hover{background:#1f2531}
.form label{display:block;color:#9ba3b2;font-size:12px;margin-bottom:14px}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;background:#0b0e14;border:1px solid #282e39;color:#fff;padding:12px;border-radius:9px}
.form input[disabled]{opacity:.5;cursor:not-allowed}
.form textarea{min-height:100px}
.formgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fileslist{margin:6px 0 18px}
.filerow{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#0b0e14;border:1px solid #282e39;border-radius:8px;margin-bottom:8px;font-size:13px}
.filerow a{color:#8d9eff;text-decoration:none;overflow:hidden;text-overflow:ellipsis}
#p8-msg{display:inline-block;margin-left:12px;color:#9ba3b2;font-size:13px}
#p8-msg.err{color:#ff6879}
.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.day{min-height:100px;background:#10141b;border:1px solid #202630;border-radius:12px;padding:14px}
.day strong{display:block;margin-top:25px}
.empty{text-align:center;color:#788194;padding:30px}
.coming{text-align:center;padding:120px 20px}
.coming h1{font-size:44px}
.coming p{color:#929bad}
.auth{text-align:center;padding:80px}
.auth .btn.ghost{margin-left:8px}
.muted{color:#8e96a8;font-size:13px}
@media(max-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}.formgrid{grid-template-columns:repeat(2,1fr)}.main{padding:25px}}
@media(max-width:700px){.p8-shell{display:block}.side{height:auto;width:100%;position:relative;display:flex;overflow:auto;padding:10px}.side b{display:none}.side a{white-space:nowrap}.main{padding:18px}.head{flex-direction:column;align-items:flex-start}.grid{grid-template-columns:repeat(2,1fr)}.formgrid{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(2,1fr)}}
@media print{.side,.btn,.btnrow,.searchform,.row-actions,.pager{display:none!important}.main{padding:0}.p8-shell{background:#fff;color:#111}}
