:root{--teal: #0f7d6b;--teal-dark: #0b5245;--teal-tint: #e6f4f1;--ink: #17242b;--muted: #5c6b73;--line: #dbe4e3;--bg: #f4f8f7;--white: #ffffff;--red: #b0322e;--amber: #9a6a00;--green: #1e7e34;--rule: var(--line);--ink-mid: #44545c;--ink-light: var(--muted);--accent: var(--teal);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.5}.topbar{background:var(--teal);color:#fff;padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.3px}.brand .shield{width:26px;height:26px;border-radius:6px;background:#ffffff2e;display:grid;place-items:center;font-size:14px}.topbar .who{font-size:13px;opacity:.95;display:flex;align-items:center;gap:14px}.linkbtn{background:none;border:none;color:#fff;text-decoration:underline;cursor:pointer;font-size:13px;padding:0}.wrap{max-width:760px;margin:0 auto;padding:28px 20px 60px}.narrow{max-width:460px}.card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:20px}h1{font-size:26px;margin:0 0 6px}h2{font-size:18px;margin:22px 0 10px}.lead{color:var(--muted);margin:0 0 20px}.section-note{color:var(--muted);font-size:13px;margin:0 0 14px}label{display:block;font-size:13px;font-weight:600;margin:14px 0 5px}.req:after{content:" *";color:var(--red)}input,textarea,select{width:100%;padding:10px 12px;font-size:15px;font-family:inherit;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink)}input:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-tint)}textarea{min-height:78px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media(max-width:560px){.grid2{grid-template-columns:1fr}}.readonly-box{background:var(--teal-tint);border:1px solid #cfe6e1;border-radius:8px;padding:14px 16px}.readonly-row{display:flex;justify-content:space-between;padding:4px 0;font-size:14px}.readonly-row span:first-child{color:var(--muted)}.btn{background:var(--teal);color:#fff;border:none;border-radius:8px;padding:12px 22px;font-size:15px;font-weight:600;cursor:pointer}.btn:hover{background:#0c6a5b}.btn:disabled{opacity:.6;cursor:default}.btn-lg{padding:15px 26px;font-size:16px}.btn-ghost{background:none;color:var(--teal);border:1px solid var(--teal)}.btn-ghost:hover{background:var(--teal-tint)}.actions{display:flex;gap:12px;align-items:center;margin-top:24px}.error{background:#fbe9e8;border:1px solid #f0c5c2;color:var(--red);padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:16px}.muted{color:var(--muted)}.big-ref{font-size:30px;font-weight:700;letter-spacing:.5px;color:var(--teal);font-variant-numeric:tabular-nums}.success-tick{width:56px;height:56px;border-radius:50%;background:var(--teal-tint);color:var(--teal);display:grid;place-items:center;font-size:30px;margin-bottom:14px}.wrap.wider{max-width:1180px}.topnav{display:flex;gap:14px;margin-right:10px}.topnav a{color:#fff;font-size:13px;text-decoration:none;opacity:.9}.topnav a:hover{text-decoration:underline;opacity:1}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:6px}.tile{background:var(--teal-tint);border:1px solid #cfe6e1;border-radius:10px;padding:12px 14px}.tile.alert{background:#fbe9e8;border-color:#f0c5c2}.tile-value{font-size:24px;font-weight:700;color:var(--teal);font-variant-numeric:tabular-nums}.tile.alert .tile-value{color:var(--red)}.tile-label{font-size:12px;color:var(--muted)}.osection{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--teal-dark);margin:26px 2px 10px;text-transform:uppercase}.ocharts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ocharts.three{grid-template-columns:1fr 1fr 1fr}.ocharts .card,.opanel{margin-bottom:0}.opanel h2{margin:0 0 12px;font-size:16px}@media(max-width:900px){.ocharts,.ocharts.three{grid-template-columns:1fr}}.flow-node:hover rect{stroke:var(--teal);stroke-width:1.5}.flow-node text{-webkit-user-select:none;user-select:none}.donut-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.donut-legend{display:flex;flex-direction:column;gap:5px;font-size:12px}.legend-item{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}.legend-swatch{width:9px;height:9px;display:inline-block;flex-shrink:0}.hbars{display:flex;flex-direction:column;gap:7px}.hbar-row{display:flex;align-items:center;gap:8px}.hbar-label{width:170px;flex-shrink:0;font-size:12px;text-align:right;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{flex:1;display:flex;align-items:center;gap:6px}.hbar-fill{height:12px;min-width:2px}.hbar-value{font-size:11px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.shbar-stack{display:flex;height:14px;min-width:3px;gap:2px}.shbar-stack>div{min-width:3px}.vbars{display:flex;align-items:flex-end;gap:8px}.vbar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;min-width:0}.vbar{width:100%;max-width:42px}.vbar-value{font-size:11px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.vbar-x{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.completion-row{display:flex;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.completion-row:last-child{border-bottom:none}.completion-label{width:220px;flex-shrink:0}.completion-track{flex:1;height:10px;background:var(--bg);border-radius:5px;overflow:hidden}.completion-fill{height:100%}.completion-pct{width:44px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.completion-n{width:60px;text-align:right;font-variant-numeric:tabular-nums}.completion-view{width:100px;text-align:right;font-size:12px}.otable{width:100%;border-collapse:collapse;font-size:13px}.otable th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:6px 10px;border-bottom:2px solid var(--line);background:var(--bg)}.otable td{padding:8px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.otable tr:last-child td{border-bottom:none}.otable th:not(:first-child),.otable td:not(:first-child){text-align:right;white-space:nowrap}
