[hidden]{display:none!important}
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#17233a;background:#f3f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:0;border-radius:12px;background:#113d39;color:#fff;font-weight:750;padding:.8rem 1.1rem;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#fff;color:#244a46;border:1px solid #aac6bf}.brand{font-size:1.25rem;font-weight:850;display:flex;align-items:center;gap:.65rem}.brand span{display:grid;place-items:center;width:2.1rem;height:2.1rem;background:#d4f36b;color:#14312d;border-radius:9px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-story{background:#123b37;color:white;padding:7vw;display:flex;flex-direction:column;justify-content:space-between}.login-story h1{font-family:Georgia,serif;font-size:clamp(2.6rem,5vw,5.8rem);line-height:.98;max-width:900px}.login-story p{max-width:600px;color:#d9e9e5;font-size:1.1rem}.card{background:white;border:1px solid #d8e5e1;border-radius:18px;padding:1.35rem;box-shadow:0 8px 28px #123b3709}.login-card{align-self:center;margin:8vw;display:grid;gap:1rem;max-width:480px}.login-card label,.crop-controls label,.scan-grid label,.period label{display:grid;gap:.4rem;font-weight:650}.login-card input,.scan-grid input,.scan-grid select,.period input{border:1px solid #b8cbc7;border-radius:9px;padding:.8rem;background:#fbfdfc}.error{color:#a3322a;background:#fff0ed;border-radius:8px;padding:.65rem}header{height:72px;padding:0 2rem;display:flex;align-items:center;gap:1.5rem;background:white;border-bottom:1px solid #d8e5e1}header>div:nth-child(2){display:grid;margin-left:auto}header small{color:#667a76}.readonly{display:inline-flex;align-items:center;background:#e0f6e8;color:#196240;border-radius:999px;padding:.4rem .7rem;font-weight:750;font-size:.85rem}nav{display:flex;gap:.4rem;background:white;padding:0 2rem;border-bottom:1px solid #d8e5e1;overflow:auto}nav button{border-radius:0;background:white;color:#526763;padding:1rem;border-bottom:3px solid transparent;white-space:nowrap}.tab.active{color:#123b37;border-bottom-color:#6c9d37}.scan-tab{display:none}.scan-tab svg,.scan-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;vertical-align:middle}.workspace{padding:2rem;max-width:1500px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.3rem}.heading h1{font-family:Georgia,serif;font-size:2.4rem;margin:.2rem 0}.heading small,.card>small{letter-spacing:.12em;color:#55716b;font-weight:800}.period{display:flex;gap:1rem;margin-bottom:1rem}.metrics{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:.8rem;margin-bottom:1rem}.metric{background:white;border:1px solid #d8e5e1;border-radius:16px;padding:1rem}.metric small{color:#657a76}.metric b{display:block;font-size:1.45rem;margin-top:.35rem}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e1eae7;padding:.75rem;white-space:nowrap}.connection-list{display:grid;gap:.8rem;margin-bottom:1rem}.connection{display:grid;grid-template-columns:1fr repeat(4,auto);align-items:center;gap:1rem}.connection small{display:block;color:#677a77}.connection code{font-size:.78rem;overflow-wrap:anywhere}.connection button{background:#eaf3ef;color:#1b4a43}ol{line-height:1.8}.scan-grid{display:grid;grid-template-columns:minmax(270px,1fr) minmax(300px,2fr);gap:1rem}.scan-button{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;font-size:1.1rem}.canvas-shell{position:relative;background:#e7eeeb;border-radius:12px;overflow:hidden;line-height:0}.canvas-shell canvas{width:100%;max-height:60vh;object-fit:contain}.canvas-shell #crop-frame{position:absolute;border:3px solid #d4f36b;box-shadow:0 0 0 9999px #071c1866;pointer-events:none}.crop-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin:1rem 0}.actions{display:flex;justify-content:flex-end;gap:.7rem}#assign-card{grid-column:1/-1}.candidate-search{display:flex;align-items:end;gap:.7rem;margin:.8rem 0}.candidate-search label{flex:1}.candidate-preview{min-height:3.4rem;margin:.8rem 0;padding:.8rem;border-radius:10px;background:#f1f6f4;color:#294a45}.candidate-preview b,.candidate-preview span{display:block}.candidate-preview span{margin-top:.25rem;color:#5d716d}#confirm-status.success{color:#17603e;background:#e4f6e9;padding:.7rem;border-radius:8px}@media(max-width:1024px){.scan-tab{display:block}}@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-story{padding:2rem;min-height:36vh}.login-story h1{font-size:2.7rem}.login-card{margin:1rem}.metrics{grid-template-columns:repeat(2,1fr)}header{padding:0 1rem}header .brand{font-size:0}.workspace{padding:1rem}nav{padding:0 .5rem}.scan-grid{grid-template-columns:1fr}.connection{grid-template-columns:1fr}.period{flex-wrap:wrap}.candidate-search{align-items:stretch;flex-direction:column}}
