:root{--bg:#071a3d;--bg-2:#0a2250;--card:#0d2a5e;--card-2:#11346f;--line:#1f4a93;--text:#eaf3ff;--muted:#9db8e0;--cyan:#19e3ff;--blue:#2f7bff;--amber:#ffb938;--green:#35e08a;--red:#ff5d6c;--radius:16px;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 80% -10%,#0e3a8a55,transparent),var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.15rem}h3{font-size:1rem;color:var(--muted);font-weight:600}p{margin:0 0 .75rem}.muted{color:var(--muted)}.small{font-size:.85rem}.container{max-width:980px;margin:0 auto;padding:1rem}.stack{display:grid;grid-gap:1rem;gap:1rem}.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.row.between{justify-content:space-between}.grid2{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid3{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:#061533ee;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.topbar .container{gap:1rem;padding:.6rem 1rem}.brand,.topbar .container{display:flex;align-items:center}.brand{gap:.6rem;font-weight:700;color:var(--text)}.brand img{border-radius:10px}.nav{display:flex;gap:.25rem;margin-left:auto;flex-wrap:wrap}.nav a{color:var(--muted);padding:.35rem .7rem;border-radius:999px;font-size:.95rem}.nav a:hover{background:var(--card);color:var(--text);text-decoration:none}.badge-dot{background:var(--red);color:#fff;border-radius:999px;padding:0 .45rem;font-size:.75rem;margin-left:.3rem}.card{background:linear-gradient(180deg,var(--card),var(--bg-2));border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.card.alert{border-color:var(--amber);box-shadow:0 0 0 1px #ffb93833,0 0 24px #ffb93822}.card.lock{border-color:var(--cyan);box-shadow:0 0 24px #19e3ff22}.stat{font-size:1.8rem;font-weight:800}.stat small{font-size:.8rem;font-weight:500;color:var(--muted);display:block}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--cyan);background:transparent;color:var(--cyan);padding:.5rem .95rem;border-radius:12px;font-weight:600;cursor:pointer;font-size:.95rem;display:inline-flex;gap:.4rem;align-items:center}.btn:hover{background:#19e3ff1a;text-decoration:none}.btn.primary{background:linear-gradient(90deg,#1ea4ff,#19e3ff);color:#04204a;border-color:transparent}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{border-color:var(--red);color:var(--red)}.btn.danger:hover{background:#ff5d6c1a}.btn.small{padding:.3rem .65rem;font-size:.85rem;border-radius:10px}.btn:disabled{opacity:.5;cursor:not-allowed}label{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.9rem;color:var(--muted)}input,select,textarea{background:#061533;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:.55rem .7rem;font:inherit;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--cyan);outline-offset:1px}input[type=checkbox]{width:auto;accent-color:var(--cyan)}.check{display:flex;gap:.5rem;align-items:center;color:var(--text)}.formgrid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.notice{padding:.6rem .8rem;border-radius:10px;font-size:.92rem}.notice.err{background:#ff5d6c22;border:1px solid var(--red)}.notice.ok{background:#35e08a22;border:1px solid var(--green)}.notice.info{background:#19e3ff14;border:1px solid var(--line);color:var(--muted)}.chip{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700;border:1px solid var(--line);color:var(--muted)}.chip.early{color:var(--cyan);border-color:var(--cyan)}.chip.lockdown{color:var(--amber);border-color:var(--amber)}.chip.hatching{color:var(--green);border-color:var(--green)}.chip.overdue{color:var(--red);border-color:var(--red)}.chip.ok{color:var(--green);border-color:var(--green)}.chip.warn{color:var(--amber);border-color:var(--amber)}.progress{height:10px;background:#061533;border-radius:999px;overflow:hidden;border:1px solid var(--line)}.progress>div{height:100%;background:linear-gradient(90deg,#1ea4ff,#19e3ff)}.progress>div.lock{background:linear-gradient(90deg,var(--amber),#ff8a38)}.daybig{font-size:2.4rem;font-weight:800;color:var(--cyan);line-height:1}.list{display:grid;grid-gap:.6rem;gap:.6rem}.item{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:.65rem .8rem;border:1px solid var(--line);border-radius:12px;background:#061533aa}.item.due{border-color:var(--amber)}table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600}.tablewrap{overflow-x:auto}.hero{text-align:center;padding:2.5rem 0 1rem}.hero img.app{border-radius:28px;box-shadow:0 0 60px #19e3ff44}.hero h1{font-size:2.2rem;margin-top:1rem}.features{display:grid;grid-gap:.6rem;gap:.6rem;margin:1.5rem auto;max-width:560px;text-align:left}.features li{list-style:none;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.6rem .9rem}.features{padding:0}@media (max-width:560px){.nav a{padding:.3rem .5rem;font-size:.88rem}.brand span{display:none}}.page-shell{min-height:100vh;display:flex;flex-direction:column}.page-shell>main{flex:1 1;width:100%}.brand-footer{display:flex;flex-direction:column;align-items:center;gap:6px;padding:32px 24px 24px;width:100%;-moz-user-select:none;user-select:none;-webkit-user-select:none;background:linear-gradient(0deg,#030712 0,rgba(3,7,18,.85) 50%,transparent);animation:fade-up .8s cubic-bezier(.2,.8,.2,1) both}.brand-footer-label{font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.25em;color:#6b7280}.brand-footer-logo{height:48px;width:auto;opacity:.9}.brand-footer-copy{margin:0;font-size:11px;line-height:1.5;text-align:center;color:#6b7280}@keyframes fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.brand-footer{animation:none}}.legal h2{margin-top:1rem}.legal ul{margin:0 0 .75rem;padding-left:1.2rem;display:grid;grid-gap:.4rem;gap:.4rem}