:root{
  --bg:#050b14;
  --bg2:#081426;
  --card:#0c1728;
  --card2:#101e33;
  --line:#1e3554;
  --text:#e9f3ff;
  --muted:#8ba4c3;
  --accent:#37d5ff;
  --accent2:#22c55e;
  --danger:#ff4d6d;
  --warning:#fbbf24;
  --purple:#a78bfa;
  --shadow:0 18px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 10% 5%,rgba(55,213,255,.18),transparent 30%),
    radial-gradient(circle at 90% 0%,rgba(34,197,94,.12),transparent 28%),
    linear-gradient(180deg,var(--bg),#03070d 100%);
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(55,213,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(55,213,255,.04) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 80%);
}
button,input,select{font:inherit}
.app-shell{position:relative;z-index:1}
.hero{
  display:grid;
  gap:20px;
  padding:28px 16px 18px;
}
.eyebrow{
  color:var(--accent);
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:11px;
  margin-bottom:10px;
}
h1{
  margin:0 0 10px;
  font-size:36px;
  line-height:1;
  letter-spacing:-.06em;
}
p{margin:0;color:var(--muted);line-height:1.6}
.hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.btn{
  border:1px solid var(--line);
  color:var(--text);
  border-radius:14px;
  padding:11px 14px;
  cursor:pointer;
  font-weight:800;
  transition:.16s ease;
}
.btn:hover{transform:translateY(-1px);border-color:var(--accent)}
.btn-primary{background:linear-gradient(135deg,#0284c7,#2563eb);box-shadow:0 12px 35px rgba(37,99,235,.25)}
.btn-secondary{background:rgba(16,30,51,.82)}
.hero__panel{
  display:flex;
  align-items:center;
  gap:16px;
  border:1px solid var(--line);
  background:rgba(12,23,40,.72);
  border-radius:24px;
  padding:18px;
  box-shadow:var(--shadow);
}
.hero__panel strong{display:block;font-size:18px}
.hero__panel span{display:block;color:var(--muted);margin-top:4px}
.radar{width:86px;height:86px;border-radius:999px;position:relative;background:radial-gradient(circle,rgba(55,213,255,.25),rgba(55,213,255,.04) 55%,transparent 56%);border:1px solid rgba(55,213,255,.25)}
.radar:after{content:"";position:absolute;left:50%;top:50%;width:42px;height:1px;background:linear-gradient(90deg,var(--accent),transparent);transform-origin:left center;animation:spin 3s linear infinite}
.radar__ring,.radar__ring--2{position:absolute;inset:14px;border:1px solid rgba(55,213,255,.22);border-radius:999px}.radar__ring--2{inset:28px}.radar__dot{position:absolute;right:24px;top:28px;width:9px;height:9px;background:var(--accent2);border-radius:999px;box-shadow:0 0 16px var(--accent2)}
@keyframes spin{to{transform:rotate(360deg)}}
.container{max-width:1380px;margin:0 auto;padding:0 14px 38px}
.status-strip{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:rgba(12,23,40,.72);border-radius:18px;padding:12px 14px;margin-bottom:14px;color:var(--muted)}
.pulse{width:10px;height:10px;border-radius:50%;background:var(--accent2);box-shadow:0 0 0 0 rgba(34,197,94,.7);animation:pulse 1.8s infinite}@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}}
.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.kpi-card{border:1px solid var(--line);border-radius:20px;padding:16px;background:linear-gradient(180deg,rgba(16,30,51,.9),rgba(8,20,38,.88));box-shadow:var(--shadow)}
.kpi-card span{color:var(--accent);font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.kpi-card strong{display:block;font-size:34px;margin:4px 0;letter-spacing:-.04em}.kpi-card small{color:var(--muted)}
.kpi-card.danger span,.danger-text{color:var(--danger)}.kpi-card.warning span,.warning-text{color:var(--warning)}.kpi-card.blocked span{color:var(--purple)}.kpi-card.done span{color:var(--accent2)}
.panel{border:1px solid var(--line);border-radius:24px;padding:16px;background:rgba(12,23,40,.84);box-shadow:var(--shadow);margin-bottom:14px;backdrop-filter:blur(10px)}
.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}h2{margin:0 0 5px;font-size:20px;letter-spacing:-.02em}.filters{display:grid;grid-template-columns:1fr;gap:12px}label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:800}select,input{width:100%;border:1px solid var(--line);background:#06101e;color:var(--text);border-radius:14px;padding:12px;outline:none}select:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(55,213,255,.1)}.checkbox-label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#06101e}.checkbox-label input{width:auto}
.dashboard-grid{display:grid;gap:14px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}.table-wrap.compact{max-height:440px}table{width:100%;border-collapse:collapse;min-width:860px;background:rgba(6,16,30,.54)}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid rgba(30,53,84,.72);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#b4c9e5;background:rgba(16,30,51,.94);position:sticky;top:0;z-index:1}td{color:#d8e8fb;font-size:14px}.task-name{font-weight:800;color:#f7fbff}.subtext{display:block;color:var(--muted);font-size:12px;margin-top:4px}.badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-weight:800;font-size:12px;background:#0b1627}.badge.pending{color:#dbeafe}.badge.in_progress{color:var(--accent)}.badge.blocked{color:var(--purple)}.badge.done{color:var(--accent2)}.badge.high{color:var(--danger)}.badge.normal{color:#cbd5e1}.badge.low{color:var(--accent2)}.deadline-overdue{color:var(--danger);font-weight:900}.deadline-warning{color:var(--warning);font-weight:900}.deadline-ok{color:var(--accent2);font-weight:900}.health{font-weight:900}.health-risk{color:var(--danger)}.health-watch{color:var(--warning)}.health-good{color:var(--accent2)}.workload-list{display:grid;gap:10px}.workload-item{display:grid;gap:8px;border:1px solid var(--line);border-radius:16px;padding:12px;background:rgba(6,16,30,.58)}.workload-top{display:flex;justify-content:space-between;gap:8px}.bar{height:8px;border-radius:999px;background:#081426;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px}.legend{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px}.dot{display:inline-block;width:9px;height:9px;border-radius:999px;margin-right:5px}.danger-dot{background:var(--danger)}.warning-dot{background:var(--warning)}.ok-dot{background:var(--accent2)}.icon-btn{border:1px solid var(--line);border-radius:10px;background:#0b1627;color:var(--text);cursor:pointer}.link-btn{border:1px solid var(--line);background:#0b1627;color:var(--accent);border-radius:10px;padding:7px 10px;cursor:pointer;font-weight:800}.empty-state{display:grid;place-items:center;gap:6px;padding:28px;color:var(--muted)}.hidden{display:none!important}.task-dialog{border:1px solid var(--line);border-radius:22px;background:#081426;color:var(--text);max-width:min(780px,calc(100vw - 24px));box-shadow:var(--shadow)}.task-dialog::backdrop{background:rgba(0,0,0,.72)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-head h3{margin:0}.task-dialog pre{white-space:pre-wrap;font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#dbeafe;background:#050b14;border:1px solid var(--line);border-radius:16px;padding:14px;max-height:70vh;overflow:auto}
@media(min-width:720px){.hero{grid-template-columns:1.35fr .65fr;padding:34px 28px 20px;align-items:center}.container{padding:0 24px 44px}.kpi-grid{grid-template-columns:repeat(3,1fr)}.filters{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1.45fr .8fr}h1{font-size:48px}.panel{padding:20px}}
@media(min-width:1120px){.kpi-grid{grid-template-columns:repeat(6,1fr)}.filters{grid-template-columns:repeat(6,1fr)}.hero{padding:42px 46px 24px}h1{font-size:64px}}
