:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#17231f;background:#f3f5f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,.upload-button{border:0;border-radius:.65rem;background:#155e4b;color:#fff;padding:.7rem 1rem;cursor:pointer;font-weight:700}button:hover,.upload-button:hover{background:#0f4c3c}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.upload-button:focus-within{outline:3px solid #f2b84b;outline-offset:2px}button.secondary{color:#155e4b;background:#e6f1ec}button:disabled{opacity:.55;cursor:wait}.app-shell{min-height:100vh;display:grid;grid-template-columns:16rem minmax(0,1fr)}.sidebar{background:#102b25;color:#fff;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:2rem}.brand,.user-card{display:flex;align-items:center;gap:.75rem}.brand-mark,.avatar{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.75rem;background:#efb44c;color:#102b25;font-weight:900}.brand small,.user-card small{display:block;color:#b9cdc7;margin-top:.2rem}nav{display:grid;gap:.35rem}nav button{display:flex;align-items:center;justify-content:space-between;background:transparent;text-align:left;color:#d7e6e1}nav button:hover,nav button.nav-active{background:#24473e;color:#fff}.badge{background:#efb44c;color:#102b25;border-radius:1rem;min-width:1.5rem;padding:.1rem .4rem;text-align:center}.user-card{margin-top:auto;border-top:1px solid #35564e;padding-top:1rem}.workspace{padding:2rem clamp(1rem,4vw,4rem);overflow:hidden}.topbar,.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:2rem}.topbar h1,h2,h3{margin:0}.eyebrow{color:#557269;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;margin:0 0 .35rem}.company-select{min-width:15rem}.company-select select{width:100%}label{display:grid;gap:.4rem;color:#38534b;font-weight:700;font-size:.86rem}input,select,textarea{border:1px solid #b8c8c1;border-radius:.55rem;padding:.72rem;background:#fff;color:#17231f}textarea{min-height:5rem;resize:vertical}.card,.metric,.review-card,.empty{background:#fff;border:1px solid #dce4df;border-radius:1rem;padding:1.25rem;box-shadow:0 8px 30px #18342c0d}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.metric{display:grid;gap:.6rem}.metric span{color:#62776f}.metric strong{font-size:1.65rem}.muted{color:#62776f;line-height:1.6}.table-wrap{overflow-x:auto;background:#fff;border:1px solid #dce4df;border-radius:1rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid #e7ece9;white-space:nowrap}th{color:#557269;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:0}.status{display:inline-flex;padding:.3rem .55rem;border-radius:2rem;background:#edf1ef;font-size:.82rem;font-weight:700}.status-posted,.status-needs_review{background:#dff1e7;color:#176042}.status-processing_failed{background:#fde7e2;color:#9b3123}.review-card{margin-top:1rem}.invoice-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:1.1rem 0;padding:1rem;background:#f5f8f6;border:1px solid #dce4df;border-radius:.8rem}.invoice-facts dt{color:#62776f;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.invoice-facts dd{margin:.25rem 0 0;font-weight:700}.review-top,.button-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.balance-ok{color:#176042;font-weight:800}.balance-error,.error{color:#87291e}.warning,.error{margin:1rem 0;border-radius:.65rem;padding:.85rem 1rem;background:#fff1d6;border-left:4px solid #e7a62f}.error{background:#fde7e2;border-color:#bd4c3e}.warning p{margin:.3rem 0 0}.review-actions{display:grid;gap:1rem;margin-top:1.2rem;max-width:44rem}.extraction-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.extraction-form>div:first-child,.extraction-form .button-row{grid-column:1 / -1}.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.capability-grid .card{display:grid;gap:1rem}.signin{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at top left,#dcebe3,transparent 40%),#f4f1e9}.signin-card{width:min(28rem,100%);display:grid;gap:1rem;padding:2rem}.entra-login-link{display:block;text-align:center;text-decoration:none}.app-loading{min-height:100vh;display:grid;place-items:center;color:#557269}.loading-line{height:3px;background:linear-gradient(90deg,#155e4b,#efb44c);margin:-1rem 0 1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.sidebar nav{grid-template-columns:repeat(3,1fr)}.user-card{display:none}.metric-grid,.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.workspace{padding:1.25rem}.topbar,.section-head{align-items:stretch;flex-direction:column}.company-select{min-width:0}.sidebar nav{grid-template-columns:1fr 1fr}.metric-grid,.capability-grid{grid-template-columns:1fr}.button-row{align-items:stretch;flex-direction:column}.extraction-form{grid-template-columns:1fr}}
