:root{
  --bg1:#0b1220;
  --bg2:#0b1630;
  --card:#0f1b33cc;
  --stroke:#22304f;
  --text:#e8eefc;
  --muted:#b7c3e3;
  --accent:#5b8cff;
  --accent2:#7c5cff;
  --danger:#ff5b7e;
  --ok:#3be1a2;
  --warn:#ffd166;
  --shadow: 0 18px 50px rgba(0,0,0,.45);
  --radius:18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 900px at 20% 10%, rgba(91,140,255,.18), transparent 60%),
    radial-gradient(900px 700px at 80% 20%, rgba(124,92,255,.14), transparent 55%),
    radial-gradient(900px 700px at 30% 90%, rgba(59,225,162,.10), transparent 60%),
    linear-gradient(180deg, var(--bg1), var(--bg2));
}

a{color:inherit}
.container{max-width: 1600px;margin:0 auto;padding:28px 16px 44px}
.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-bottom:16px;
}
.brand{
  display:flex;align-items:center;gap:10px;
}
.logo{
  width:38px;height:38px;border-radius:12px;
  background: linear-gradient(135deg, rgba(91,140,255,.9), rgba(124,92,255,.8));
  box-shadow: 0 12px 30px rgba(91,140,255,.25);
}
.brand h1{margin:0;font-size:18px;letter-spacing:-.02em}
.brand .sub{color:var(--muted);font-size:12px;margin-top:2px}

.card{
  background: linear-gradient(180deg, rgba(15,27,51,.85), rgba(15,27,51,.55));
  border: 1px solid rgba(34,48,79,.9);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
  overflow:hidden;
}
.card-header{
  padding:16px 16px 12px;
  border-bottom:1px solid rgba(34,48,79,.8);
}
.card-header h2{margin:0;font-size:18px;letter-spacing:-.02em}
.card-header p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.4}

.card-body{padding:16px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:860px){.grid{grid-template-columns:1fr}}

.label{display:block;font-size:12px;color:var(--muted);margin:8px 0 6px}
.req{color:var(--warn);margin-left:6px;font-weight:800}
.input, select.input{
  width:100%;
  padding:11px 12px;
  border-radius:14px;
  border:1px solid rgba(34,48,79,.95);
  background: rgba(9,16,32,.55);
  color:var(--text);
  outline:none;
  transition: .15s ease;
}
.input:focus{
  border-color: rgba(91,140,255,.9);
  box-shadow: 0 0 0 4px rgba(91,140,255,.18);
}
.help{color:var(--muted);font-size:12px;margin-top:6px}

.row-span{grid-column:1/-1}

.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 14px;border-radius:14px;border:1px solid rgba(34,48,79,.9);
  cursor:pointer;text-decoration:none;font-weight:800;font-size:13px;
  background: rgba(9,16,32,.45); color:var(--text);
}
.btn:hover{transform: translateY(-1px)}
.btn-primary{
  border: none;
  background: linear-gradient(135deg, rgba(91,140,255,.95), rgba(124,92,255,.9));
  box-shadow: 0 14px 34px rgba(91,140,255,.22);
}
.btn-danger{
  border:none;
  background: linear-gradient(135deg, rgba(255,91,126,.95), rgba(255,100,180,.80));
  box-shadow: 0 14px 34px rgba(255,91,126,.20);
}
.btn-ghost{background: rgba(9,16,32,.30)}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:999px;
  font-size:12px;font-weight:900;
  border:1px solid rgba(34,48,79,.9);
  background: rgba(9,16,32,.35);
}
.badge b{font-weight:900}
.badge-dot{width:8px;height:8px;border-radius:999px;background:var(--muted)}
.badge-done .badge-dot{background:var(--ok)}
.badge-progress .badge-dot{background:var(--accent)}
.badge-notdone .badge-dot{background:var(--warn)}
.badge-blocked .badge-dot{background:var(--danger)}
.badge-deleted .badge-dot{background:#7f8aa8}

.alert{
  margin:0 0 14px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(34,48,79,.9);
  background: rgba(9,16,32,.35);
  color: var(--text);
}
.alert.ok{border-color: rgba(59,225,162,.35); background: rgba(59,225,162,.08)}
.alert.err{border-color: rgba(255,91,126,.35); background: rgba(255,91,126,.08)}
.alert ul{margin:8px 0 0 18px;color:var(--muted)}
.kv{display:grid;grid-template-columns:220px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid rgba(34,48,79,.55)}
.kv .k{color:var(--muted);font-size:12px}
.kv .v{font-size:13px;word-break:break-word}
@media (max-width:720px){.kv{grid-template-columns:1fr}}

.table-wrap{overflow:auto;max-height:70vh;border-top:1px solid rgba(34,48,79,.65)}
table{width:100%;border-collapse:collapse}
th,td{padding:12px 10px;border-bottom:1px solid rgba(34,48,79,.55);font-size:12.5px;vertical-align:top}
th{position:sticky;top:0;background: rgba(12,22,40,.95);backdrop-filter: blur(10px);text-align:left;color:var(--muted);font-weight:900}
td{color:var(--text)}
.pager{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:14px}
.pager .links{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pill{padding:7px 10px;border-radius:999px;border:1px solid rgba(34,48,79,.9);background: rgba(9,16,32,.35);font-size:12px;color:var(--muted)}
.small{font-size:12px;color:var(--muted)}
hr.sep{border:0;border-top:1px solid rgba(34,48,79,.65);margin:14px 0}


.footer{margin-top:16px;text-align:center;color:var(--muted);font-size:12px}
.footer a{text-decoration:none;border-bottom:1px dashed rgba(183,195,227,.35)}

/* ===== Theme: Light (Day) ===== */
body[data-theme="light"]{
  --bg1:#f6f8ff;
  --bg2:#eef2ff;
  --card:rgba(255,255,255,.72);
  --stroke:#d6def8;
  --text:#111827;
  --muted:#4b5563;
  --accent:#2563eb;
  --accent2:#7c3aed;
  --danger:#dc2626;
  --ok:#059669;
  --warn:#d97706;
  --shadow: 0 16px 42px rgba(17,24,39,.18);
}
.actions-collapser{display:none;margin-top:8px}
.actions-toggle{white-space:nowrap}
.actions-row{display:flex;gap:8px;flex-wrap:wrap}
.icon-btn{padding:10px 12px;border-radius:14px;border:1px solid rgba(34,48,79,.9);background: rgba(9,16,32,.35);cursor:pointer;font-weight:900}
body[data-theme="light"] .icon-btn{background: rgba(255,255,255,.55);border-color: rgba(214,222,248,.95)}
