:root{--bg:#0d1117;--panel:#161b22;--panel2:#1f2630;--text:#edf2f7;--muted:#9da7b3;--line:#30363d;--accent:#35c98b;--danger:#ef5b68;--warning:#e9b949;--blue:#4ea1ff}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#10151c;border-right:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px}.brand.center{justify-content:center}.brand strong,.brand small{display:block}.brand small{color:var(--muted);margin-top:3px}.ball{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#111;border:4px solid #f8fafc;color:#fff;font-weight:900}.sidebar nav{display:grid;gap:8px;margin-top:34px}.sidebar nav a{padding:12px 13px;border-radius:10px;color:#c8d1dc}.sidebar nav a:hover{background:var(--panel2);color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;gap:10px;color:var(--muted)}.content{padding:28px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:6px 0 0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px;margin-bottom:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:0 10px 30px #0002}.metric span{color:var(--muted);display:block}.metric strong{font-size:34px;display:block;margin-top:10px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title h2{margin:0;font-size:19px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:13px 11px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}td{font-size:14px}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;background:#2b3440}.badge.active{background:#143b2e;color:#66e2ae}.badge.finished{background:#23344d;color:#9bc6ff}.badge.waiting{background:#493d18;color:#ffe28a}.badge.cancelled,.badge.blocked{background:#4b252b;color:#ff9aa3}.btn{border:1px solid var(--line);background:var(--panel2);color:#fff;border-radius:9px;padding:9px 12px;cursor:pointer;font-weight:600}.btn:hover{filter:brightness(1.15)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#07150f}.btn.danger{background:#4b252b;border-color:#6a3038;color:#ffbac0}.btn.success{background:#143b2e;border-color:#205c47;color:#82e8bd}.alert{padding:13px 15px;border-radius:10px;margin-bottom:16px}.alert.success{background:#143b2e;color:#8be9c2}.alert.danger{background:#4b252b;color:#ffc0c5}.search,.filters,.actions,.inline-reset{display:flex;gap:9px;align-items:center}.search input{flex:1}.actions{flex-wrap:wrap}.inline-reset input{width:145px}input,textarea,select{width:100%;border:1px solid var(--line);background:#0f141b;color:var(--text);border-radius:9px;padding:11px 12px;outline:none}input:focus,textarea:focus{border-color:var(--blue)}label{display:grid;gap:7px;color:#dbe2ea}.form-card form{display:grid;gap:16px;max-width:650px}.check{display:flex;align-items:center}.check input{width:auto}.block{display:block;color:var(--muted);margin-top:4px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#23314a,#0d1117 55%)}.login-card{width:min(420px,92vw);background:var(--panel);border:1px solid var(--line);padding:28px;border-radius:18px;display:grid;gap:17px}.login-card h1{margin:3px 0 0;text-align:center}.hint{color:var(--muted);font-size:12px;line-height:1.5}.filters{display:flex;gap:8px;margin-bottom:16px}code{white-space:pre-wrap;color:#cbd5e1}@media(max-width:950px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.sidebar nav{grid-template-columns:repeat(3,1fr);margin-top:18px}.sidebar-foot{margin-top:18px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.content{padding:16px}.cards{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr 1fr}.topbar h1{font-size:23px}}
