
:root{
  --bg:#f6f8fb; --card:#ffffff; --line:#e5e7eb;
  --text:#1f2937; --muted:#6b7280;
  --blue:#0e3a66; --blue-2:#1f69c1;
  --syk:#1f69c1; --hfa:#d64545; --ass:#2f9e44;
}
*{box-sizing:border-box} body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.topbar{position:sticky;top:0;background:var(--blue);color:#fff;padding:10px 14px;display:flex;gap:12px;align-items:center;z-index:10;flex-wrap:wrap}
.brand{font-weight:700}
.tabs{display:flex;gap:6px;flex:1;overflow:auto}
.tab{border:none;background:#ffffff22;color:#fff;padding:8px 10px;border-radius:999px}
.tab.active{background:#fff;color:var(--blue)}
main{padding:10px;display:block}
.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}
.muted{color:var(--muted);font-size:12px}
.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:900px){ .grid.two{grid-template-columns:1fr} }
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}
.list{margin:0;padding:0;list-style:none}
.list li{padding:6px;border-bottom:1px dashed var(--line);display:flex;gap:8px;align-items:center}
.tag{font-size:11px;border-radius:6px;padding:2px 6px;border:1px solid var(--line)}
.tag-syk{border-color:var(--syk);color:var(--syk)}
.tag-hfa{border-color:var(--hfa);color:var(--hfa)}
.tag-ass{border-color:var(--ass);color:var(--ass)}
.flow{display:grid;grid-template-columns:220px 1fr 280px;gap:10px}
.side .chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--line);border-radius:999px;padding:6px 10px;cursor:grab}
.chip-syk{border-color:var(--syk);color:var(--syk)}
.chip-hfa{border-color:var(--hfa);color:var(--hfa)}
.chip-ass{border-color:var(--ass);color:var(--ass)}
.timeline{overflow:auto}
.timeline-head{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-bottom:6px}
.timeline-head .time{text-align:center;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:6px}
.timeline-rows .row{display:grid;grid-template-columns:80px repeat(8,1fr);gap:6px;align-items:center;margin-bottom:6px}
.row-label{font-size:12px;color:var(--muted)}
.drop{border:1px dashed var(--line);border-radius:8px;min-height:48px;background:#fff}
.detail label{display:block;font-size:12px;margin-top:8px}
.detail input,.detail select,.detail textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px}
.detail .full{width:100%;margin-top:10px}
.table{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.table .thead,.table .row{display:grid;grid-template-columns:140px 1fr 1fr 1fr}
.table .thead{background:#f0f4fb;font-weight:600}
.table .thead > div, .table .row > div{padding:10px;border-bottom:1px solid var(--line);font-size:14px}
.summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.sum-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;text-align:center}
.sum-card .sum-title{font-size:12px;color:var(--muted)}
.sum-card .sum-value{font-size:22px;font-weight:700;margin-top:6px}
.sum-card.total{background:#0e3a66;color:#fff;border-color:#0e3a66}
.bottombar{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:8px 12px;display:flex;justify-content:space-between;align-items:center}
.actions{display:flex;gap:8px}
button.primary{background:var(--blue-2);color:#fff;border:1px solid var(--blue-2);border-radius:8px;padding:8px 10px}
button.ghost{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.view{display:none;margin:0 auto;max-width:1200px}
.view.active{display:block}
