:root{--bg:#f6f7f9;--card:#fff;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--accent:#0f766e;--accent-ink:#fff;--radius:10px;--crit:#b91c1c;--high:#c2410c;--med:#b45309;--low:#1d4ed8;--info:#475569;--good:#15803d}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{flex-direction:column;min-height:100%;display:flex}.container{flex:1;width:100%;max-width:920px;margin:0 auto;padding:24px 16px 48px}.foot{text-align:center;color:var(--muted);border-top:1px solid var(--line);padding:20px 16px;font-size:13px}.hdr{background:var(--card);border-bottom:1px solid var(--line)}.hdr-in{align-items:center;gap:16px;max-width:920px;margin:0 auto;padding:12px 16px;display:flex}.brand{color:var(--ink);align-items:center;gap:8px;font-weight:700;display:flex}.brand .dot{background:var(--accent);border-radius:50%;width:10px;height:10px;display:inline-block}.hdr nav{align-items:center;gap:14px;margin-left:auto;font-size:14px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:18px}.card h2,.card h3{margin-top:0}.muted{color:var(--muted)}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.stack>*+*{margin-top:10px}.btn{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:8px;align-items:center;gap:6px;padding:9px 14px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{filter:brightness(1.05);text-decoration:none}.btn.secondary{color:var(--ink);border:1px solid var(--line);background:#fff}.btn.danger{color:var(--crit);background:#fff;border:1px solid #fecaca}.btn:disabled{opacity:.55;cursor:default}.btn.sm{padding:6px 10px;font-size:13px}label{margin-bottom:4px;font-size:13px;font-weight:600;display:block}input,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:9px 11px;font-size:14px}.field{margin-bottom:12px}.form-narrow{max-width:380px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.badge{text-transform:capitalize;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.badge.critical{color:var(--crit);background:#fef2f2}.badge.high{color:var(--high);background:#fff7ed}.badge.medium{color:var(--med);background:#fffbeb}.badge.low{color:var(--low);background:#eff6ff}.badge.info{color:var(--info);background:#f1f5f9}.pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.pill.active,.pill.green,.pill.done{color:var(--good);background:#f0fdf4;border-color:#bbf7d0}.pill.pending,.pill.amber,.pill.queued,.pill.running{color:var(--med);background:#fffbeb;border-color:#fde68a}.pill.lapsed,.pill.revoked,.pill.red,.pill.blocked{color:var(--crit);background:#fef2f2;border-color:#fecaca}.notice{border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:14px}.notice.err{color:var(--crit);background:#fef2f2;border:1px solid #fecaca}.notice.ok{color:var(--good);background:#f0fdf4;border:1px solid #bbf7d0}code,.mono{word-break:break-all;background:#f1f5f9;border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.hero{text-align:center;padding:40px 0 24px}.hero h1{margin:0 0 10px;font-size:34px}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:640px){.grid2{grid-template-columns:1fr}.hdr nav{gap:10px;font-size:13px}}html,body{overflow-x:hidden}img,canvas,svg{max-width:100%}.hdr{z-index:50;position:sticky;top:0}.hdr nav.desktop-nav a{color:var(--ink);border-radius:8px;align-items:center;gap:6px;padding:6px 9px;display:inline-flex}.hdr nav.desktop-nav a:hover{background:#eef2f6;text-decoration:none}.hdr nav.desktop-nav a.router-link-active,.hdr nav.desktop-nav a.active{color:var(--accent);background:#ecfdf5}.nav-ico{stroke:currentColor;fill:none;stroke-width:1.8px;flex:none;width:16px;height:16px}.nav-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:13px;overflow:hidden}.hamburger{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:0 0;border-radius:8px;margin-left:auto;padding:7px;line-height:0;display:none}.hamburger svg{stroke:currentColor;fill:none;stroke-width:2px;width:22px;height:22px}.navmenu{background:var(--card);z-index:200;flex-direction:column;padding:14px 16px;animation:.14s ease-out navfade;display:flex;position:fixed;inset:0}@keyframes navfade{0%{opacity:0}to{opacity:1}}.navmenu-top{justify-content:space-between;align-items:center;display:flex}.navmenu-close{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:0 0;border-radius:8px;padding:7px;line-height:0}.navmenu-close svg{stroke:currentColor;fill:none;stroke-width:2px;width:22px;height:22px}.navmenu-links{flex-direction:column;margin-top:18px;display:flex}.navmenu-links a{color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:15px 6px;font-size:19px;font-weight:600;display:flex}.navmenu-links a:hover{color:var(--accent);text-decoration:none}.navmenu-links .nav-ico{width:20px;height:20px}.navmenu-foot{flex-direction:column;gap:12px;margin-top:auto;padding-top:14px;display:flex}@media (max-width:720px){.hdr nav.desktop-nav{display:none}.hamburger{display:inline-flex}}@media (min-width:721px){.navmenu{display:none!important}}.hero-wrap{position:relative}.hero-wrap>*{z-index:1;position:relative}.hero-wrap>.packet-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.foot a{color:var(--muted)}.foot .foot-links{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:6px;display:flex}@media (max-width:640px){.hero{padding:28px 0 18px}.hero h1{font-size:26px}.container{padding:16px 16px 40px}.card{padding:14px}.hdr-in{padding:10px 16px}th,td{padding:7px 8px}}.legal{max-width:760px;margin:0 auto}.legal h1{margin-bottom:4px}.legal h2{margin-top:28px;font-size:19px}.legal p,.legal li{color:#334155}.legal ul{padding-left:20px}.legal li{margin:6px 0}
