:root{--ink:#10263f;--muted:#66778a;--line:#dce4ea;--paper:#f5f7f9;--white:#fff;--teal:#00a28a;--teal-dark:#007967;--orange:#f4a340;--red:#c74444;--shadow:0 12px 35px rgba(16,38,63,.09)}*{box-sizing:border-box}html{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper)}body{margin:0;min-height:100vh}.topbar{height:72px;padding:0 max(24px,calc((100vw - 1440px)/2));display:flex;align-items:center;gap:32px;background:var(--ink);color:white;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px #0002}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-weight:750;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--teal);border-radius:8px;font-size:20px}.topbar nav{display:flex;gap:6px;margin-left:auto}.topbar nav a{color:#dbe7f0;text-decoration:none;padding:12px 16px;border-radius:7px}.topbar nav a:hover{background:#ffffff16}.network,.queue-pill,.status{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;padding:7px 10px;border-radius:99px;background:#d8f3ed;color:#08715f}.network.offline{background:#ffe4cf;color:#974e16}.shell{max-width:1440px;margin:auto;padding:32px 24px 72px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:8px 0 28px;padding:42px;background:linear-gradient(120deg,#10263f,#173f5d);color:white;border-radius:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:320px;height:320px;border:70px solid #00a28a22;border-radius:50%;right:-100px;top:-140px}.hero.compact{padding:28px 32px;align-items:center}.hero h1{font-size:clamp(28px,4vw,48px);line-height:1;margin:4px 0 12px;letter-spacing:-.04em}.hero.compact h1{font-size:34px}.hero p{margin:0;color:#c9d9e6;max-width:700px}.eyebrow{font-size:11px!important;font-weight:800;letter-spacing:.16em;color:#5cd2c1!important;margin:0 0 8px!important}.button{border:1px solid var(--line);background:white;color:var(--ink);min-height:48px;padding:13px 19px;border-radius:9px;font-weight:750;text-decoration:none;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:2}.button:hover{transform:translateY(-1px);box-shadow:0 5px 15px #0002}.button.primary{background:var(--teal);border-color:var(--teal);color:white}.button.primary:hover{background:var(--teal-dark)}.button.wide{width:100%;margin-top:18px;min-height:56px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0 0 24px}.stats article{background:white;border:1px solid var(--line);border-top:4px solid #51708b;padding:22px;border-radius:12px;box-shadow:0 5px 18px #10263f08}.stats article.warn{border-top-color:var(--orange)}.stats article.good{border-top-color:var(--teal)}.stats span,.stats small{display:block;color:var(--muted);font-size:13px}.stats strong{display:block;font-size:35px;margin-top:8px;letter-spacing:-.04em}.stats strong.text{font-size:20px;letter-spacing:0}.grid{display:grid;gap:24px;margin-bottom:24px}.grid.two{grid-template-columns:1.4fr 1fr}.panel,.scan-panel{background:white;border:1px solid var(--line);padding:24px;border-radius:13px;box-shadow:0 5px 20px #10263f08;margin-bottom:24px}.panel h2{margin:0 0 20px;font-size:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-head h2{margin:0}.table-wrap{overflow:auto;margin:0 -24px -24px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:#f8fafb}th,td{padding:14px 18px;border-top:1px solid var(--line);white-space:nowrap}tbody tr:hover{background:#f5fbfa}.empty{text-align:center;color:var(--muted);padding:36px!important}.reason-list>div{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.reason-list span,.reason-list small{display:block}.reason-list small{color:var(--muted);margin-top:3px}.scan-panel{background:#fff}.scan-panel label{font-size:12px;font-weight:800;letter-spacing:.13em}.scan-row{display:flex;gap:12px;margin-top:10px}.scan-row input{font-size:24px;font-weight:750;min-height:62px}.scan-row .button{min-height:62px;min-width:130px}.hidden{display:none!important}.lot-banner{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;padding:24px 28px;background:white;border:1px solid var(--line);border-radius:13px}.lot-banner h2{font-size:31px;margin:0}.lot-banner p{margin:6px 0;color:var(--muted)}.lot-qty{text-align:right}.lot-qty span,.lot-qty small{display:block;color:var(--muted)}.lot-qty strong{font-size:38px}.step-flow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;margin:16px 0;padding:18px 28px;background:#eaf5f3;border-radius:12px}.step-flow span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase}.step-flow strong{font-size:18px}.step-flow i{font-size:24px;color:var(--teal)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.form-panel label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#42586d}.form-panel label small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #bdcad4;border-radius:8px;padding:12px 13px;min-height:48px;background:white;color:var(--ink);font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid #00a28a22;border-color:var(--teal)}input[readonly]{background:#edf1f4}.alert{padding:16px 20px;border-radius:10px;margin:16px 0;font-weight:700}.alert.danger{background:#fde3e3;color:#8b2727}.genealogy-list a{display:flex;justify-content:space-between;align-items:center;margin:8px 0 8px calc((var(--depth) - 1)*18px);padding:14px;border-left:4px solid var(--teal);background:#f3f8f8;text-decoration:none;color:var(--ink)}.genealogy-list span,.genealogy-list small{display:block}.genealogy-list small{color:var(--muted);margin-top:4px}.genealogy-list em{font-style:normal;font-size:12px;color:var(--muted)}.toast{position:fixed;right:24px;bottom:24px;max-width:420px;padding:16px 20px;border-radius:10px;background:var(--ink);color:white;box-shadow:var(--shadow);opacity:0;transform:translateY(20px);pointer-events:none;transition:.25s;z-index:50}.toast.show{opacity:1;transform:none}.toast.error{background:#8b2727}.error-page{text-align:center;padding:12vh 20px}.error-page>span{font-size:70px;color:var(--teal);font-weight:800}.error-page h1{font-size:32px}.queue-pill{background:#fff2c7;color:#845d00}@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.grid.two{grid-template-columns:1fr}.hero{padding:28px}.brand span:last-child{display:none}}@media(max-width:620px){.topbar{height:64px;padding:0 14px;gap:8px}.topbar nav a{padding:10px}.network{display:none}.shell{padding:18px 12px 60px}.hero{align-items:flex-start;flex-direction:column;border-radius:12px}.hero.compact h1{font-size:28px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats article{padding:16px}.stats strong{font-size:28px}.form-grid{grid-template-columns:1fr}.scan-row{flex-direction:column}.lot-banner{grid-template-columns:1fr auto}.lot-banner .status{grid-column:1/-1;width:max-content}.step-flow{padding:16px}.panel{padding:18px}.table-wrap{margin:0 -18px -18px}}@media print{.topbar,.button{display:none!important}.shell{padding:0}.hero{color:#000;background:#fff;box-shadow:none;padding:10px 0}.hero p{color:#333}.panel{box-shadow:none;break-inside:avoid}}
