
/* Tiny Kanban (scoped to #tiny-kanban-root) */
#tiny-kanban-root{
  --bg:#0b1220; --panel:#111b2e; --panel2:#0e1729; --text:#e9f0ff; --muted:#a9b7d6;
  --border:rgba(255,255,255,.12); --shadow:0 18px 40px rgba(0,0,0,.35); --accent:#6ea8ff;
  --p1:#20c997; --p2:#ffc107; --p3:#ff6b6b; --danger:#ff4d6d; --ok:#51cf66;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  font-size:18px; color:var(--text);
}
#tiny-kanban-root, #tiny-kanban-root *{ box-sizing:border-box; }
#tiny-kanban-root h1,#tiny-kanban-root p{ margin:0; }
#tiny-kanban-root button,#tiny-kanban-root input,#tiny-kanban-root select,#tiny-kanban-root textarea{ font:inherit; line-height:1.2; margin:0; border-radius:12px; }
#tiny-kanban-root .page{
  background:
    radial-gradient(1200px 700px at 20% -10%, rgba(110,168,255,.25), transparent 60%),
    radial-gradient(900px 600px at 100% 0%, rgba(255,193,7,.18), transparent 55%),
    radial-gradient(900px 600px at 90% 120%, rgba(32,201,151,.16), transparent 55%),
    var(--bg);
  border-radius:18px; padding:16px;
}
#tiny-kanban-root h1{ font-size:26px; }
#tiny-kanban-root .wrap{ max-width:1400px; margin:0 auto; }
#tiny-kanban-root .topbar{
  display:flex; gap:14px; align-items:center; justify-content:space-between;
  padding:14px 16px; background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow);
  position:sticky; top:12px; z-index:20; backdrop-filter: blur(10px);
}
#tiny-kanban-root .brand{ display:flex; align-items:center; gap:12px; min-width:240px; }
#tiny-kanban-root .logo{
  width:34px; height:34px; border-radius:10px;
  background:linear-gradient(135deg, rgba(110,168,255,.95), rgba(110,168,255,.35));
  box-shadow:0 10px 25px rgba(110,168,255,.25);
  border:1px solid rgba(255,255,255,.16);
}
#tiny-kanban-root .subtitle{ color:var(--muted); font-size:14px; margin-top:2px; }
#tiny-kanban-root .controls{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:flex-end; }
#tiny-kanban-root .control{
  display:flex; align-items:center; gap:8px; background:rgba(255,255,255,.04);
  border:1px solid var(--border); border-radius:12px; padding:8px 10px;
}
#tiny-kanban-root .control label{ color:var(--muted); font-size:13px; }
#tiny-kanban-root input[type="text"], #tiny-kanban-root select, #tiny-kanban-root input[type="number"],
#tiny-kanban-root input[type="date"]{
  color:var(--text); background:rgba(0,0,0,.18); border:1px solid rgba(255,255,255,.14);
  border-radius:10px; padding:10px 10px; font-size:16px; outline:none; min-width:170px;
}
#tiny-kanban-root input[type="number"]{ min-width:90px; width:90px; }
#tiny-kanban-root select{ min-width:150px; }
#tiny-kanban-root button{
  color:var(--text); background:rgba(110,168,255,.16); border:1px solid rgba(110,168,255,.35);
  padding:10px 12px; border-radius:12px; font-size:16px; cursor:pointer;
}
#tiny-kanban-root .btn-ghost{ background:rgba(255,255,255,.04); border:1px solid var(--border); }
#tiny-kanban-root .btn-active{ background:rgba(110,168,255,.28); border-color:rgba(110,168,255,.65); }
#tiny-kanban-root .grid{ margin-top:16px; display:grid; grid-template-columns: repeat(3, 1fr); gap:14px; }
#tiny-kanban-root .col{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--border); border-radius:18px; box-shadow:var(--shadow);
  overflow:hidden; display:flex; flex-direction:column; min-height:70vh;
}
#tiny-kanban-root .col-header{
  padding:14px 14px 10px; background:rgba(0,0,0,.12); border-bottom:1px solid var(--border);
  display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
}
#tiny-kanban-root .col-title{ font-size:20px; font-weight:750; }
#tiny-kanban-root .col-meta{ display:flex; flex-direction:column; gap:6px; align-items:flex-end; }
#tiny-kanban-root .pill{
  font-size:13px; color:var(--muted); border:1px solid var(--border);
  background:rgba(255,255,255,.04); border-radius:999px; padding:5px 10px;
}
#tiny-kanban-root .pill strong{ color:var(--text); font-weight:800; }
#tiny-kanban-root .wip{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); }
#tiny-kanban-root .wip input{ padding:6px 8px; border-radius:10px; font-size:14px; width:78px; min-width:0; }
#tiny-kanban-root .lane{ padding:12px; display:flex; flex-direction:column; gap:10px; flex:1; }
#tiny-kanban-root .lane.dragover{ outline:3px dashed rgba(110,168,255,.6); outline-offset:-6px; background:rgba(110,168,255,.06); }
#tiny-kanban-root .card{
  background:linear-gradient(180deg, rgba(17,27,46,.92), rgba(14,23,41,.92));
  border:1px solid rgba(255,255,255,.14); border-left:8px solid rgba(110,168,255,.8);
  border-radius:16px; padding:12px 12px 10px; cursor:grab; user-select:none; position:relative;
}
#tiny-kanban-root .card .title{ font-size:18px; font-weight:800; margin:0 28px 10px 0; }
#tiny-kanban-root .meta-row{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
#tiny-kanban-root .tag{
  font-size:13px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.04);
  border-radius:999px; padding:5px 10px; color:var(--muted);
}
#tiny-kanban-root .tag strong{ color:var(--text); font-weight:850; }
#tiny-kanban-root .prio{ font-weight:900; color:rgba(0,0,0,.75); background:var(--p2); }
#tiny-kanban-root .prio.low{ background:var(--p1); }
#tiny-kanban-root .prio.med{ background:var(--p2); }
#tiny-kanban-root .prio.high{ background:var(--p3); }
#tiny-kanban-root .date-tag{ background:rgba(255,255,255,.06); }
#tiny-kanban-root .delete{
  position:absolute; top:10px; right:10px; width:28px; height:28px; border-radius:10px;
  border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.04);
  display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:16px;
}
#tiny-kanban-root .footerbar{
  margin-top:14px; display:flex; gap:10px; align-items:center; justify-content:space-between;
  padding:10px 14px; background:rgba(255,255,255,.03); border:1px solid var(--border);
  border-radius:14px; color:var(--muted);
}
#tiny-kanban-root .hint{ font-size:14px; }
#tiny-kanban-root .modal-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.55); display:none;
  align-items:center; justify-content:center; padding:18px; z-index:99999;
}
#tiny-kanban-root .modal{
  width:min(720px, 100%); background:linear-gradient(180deg, rgba(17,27,46,.98), rgba(14,23,41,.98));
  border:1px solid rgba(255,255,255,.16); border-radius:18px; overflow:hidden;
}
#tiny-kanban-root .modal header{
  padding:14px 16px; border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
}
#tiny-kanban-root .modal .body{ padding:16px; }
#tiny-kanban-root .form-grid{ display:grid; grid-template-columns: 1.2fr .8fr .8fr; gap:12px; }
#tiny-kanban-root .form-grid .full{ grid-column:1 / -1; }
#tiny-kanban-root .field{ display:flex; flex-direction:column; gap:6px; }
#tiny-kanban-root .field label{ font-size:13px; color:var(--muted); }
#tiny-kanban-root textarea{
  width:100%; min-height:86px; resize:vertical; color:var(--text);
  background:rgba(0,0,0,.18); border:1px solid rgba(255,255,255,.14);
  border-radius:12px; padding:10px 10px; font-size:16px; outline:none;
}
#tiny-kanban-root .modal footer{
  padding:12px 16px; border-top:1px solid var(--border);
  display:flex; gap:10px; justify-content:flex-end; background:rgba(0,0,0,.10);
}
#tiny-kanban-root .toast{
  position:fixed; left:50%; transform:translateX(-50%); bottom:18px;
  z-index:999999; display:none; padding:10px 14px; border-radius:14px;
  border:1px solid rgba(255,255,255,.18); background:rgba(17,27,46,.92); font-size:16px;
  max-width:min(920px, calc(100% - 24px));
}
#tiny-kanban-root .toast.bad{ border-color:rgba(255,77,109,.45); background:rgba(255,77,109,.12); }
#tiny-kanban-root .toast.ok{ border-color:rgba(81,207,102,.45); background:rgba(81,207,102,.12); }
@media (max-width: 980px){
  #tiny-kanban-root .grid{ grid-template-columns: 1fr; }
  #tiny-kanban-root .topbar{ position:static; }
  #tiny-kanban-root .form-grid{ grid-template-columns:1fr; }
}
