:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#17212b;background:#f4f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button,.action-link{border:0;border-radius:.55rem;background:#0b6b57;color:#fff;padding:.72rem 1rem;cursor:pointer;font-weight:700}button:hover,.action-link:hover{background:#085444}button:disabled{cursor:wait;opacity:.65}button.secondary{background:#e4eeeb;color:#15463c}a{color:#0b6b57}:focus-visible{outline:3px solid #f0a202;outline-offset:2px}.login-page,.centered{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(100%,25rem);padding:2rem;background:#fff;border-radius:1rem;box-shadow:0 1rem 3rem #16322b1f}.login-card h1{margin:.25rem 0}.login-card form{display:grid;gap:.55rem;margin-top:1.25rem}.login-card input{width:100%;border:1px solid #a9b8b4;border-radius:.5rem;padding:.75rem;margin-bottom:.55rem}.eyebrow{color:#0b6b57;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.error,.notice{padding:.75rem;border-radius:.5rem}.error{color:#7a1420;background:#fdebed}.notice{color:#634600;background:#fff4ce}.app-layout{min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:#123c34;color:#fff}.brand{color:#fff;font-size:1.2rem;font-weight:900;text-decoration:none;letter-spacing:.08em}.identity{display:flex;align-items:center;gap:.75rem}.role{border:1px solid #6f9c91;border-radius:99px;padding:.25rem .55rem;font-size:.8rem}.app-body{display:grid;grid-template-columns:13rem 1fr;min-height:calc(100vh - 4.5rem)}nav{background:#e5eeeb;padding:1rem}nav a{display:block;padding:.7rem .8rem;border-radius:.45rem;color:#173f36;text-decoration:none}nav a.active{background:#fff;font-weight:800}.content{padding:clamp(1.25rem,4vw,3rem);max-width:75rem;width:100%}.action-link{display:inline-block;text-decoration:none}.client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem}.client-card,.empty{background:#fff;border:1px solid #d7e1de;border-radius:.75rem;padding:1rem}.client-card h2,.empty h2{margin-top:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.page-heading h1{margin:0}.client-form-page form{display:grid;gap:.55rem;max-width:38rem}.client-form-page input,.client-form-page textarea{width:100%;border:1px solid #a9b8b4;border-radius:.5rem;padding:.72rem;margin-bottom:.4rem}.client-form-page textarea{min-height:7rem;resize:vertical}.resource-form-page form{display:grid;gap:.55rem;max-width:42rem}.resource-form-page input,.resource-form-page textarea,.resource-form-page select{width:100%;border:1px solid #a9b8b4;border-radius:.5rem;padding:.72rem;margin-bottom:.4rem}.resource-form-page textarea{min-height:7rem;resize:vertical}.related-section{margin-top:2rem}.resource-list{list-style:none;padding:0;display:grid;gap:.5rem}.resource-list li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid #d7e1de;border-radius:.5rem;background:#fff}.evaluation{padding:1rem;border-radius:.75rem;background:#edf5f2}.evaluation.incompatible{background:#fdebed}.evaluation h3{margin-top:0}.component-selector{display:grid;gap:.6rem;margin-bottom:1rem}.component-selector input,.component-selector textarea{border:1px solid #a9b8b4;border-radius:.5rem;padding:.65rem}.component-selector textarea{min-height:5rem;resize:vertical}.component-selector fieldset{display:grid;gap:.4rem;border:1px solid #d7e1de;border-radius:.5rem}.catalogue-search div{display:flex;gap:.5rem;margin-top:.35rem}.catalogue-search input{flex:1;min-width:0}.catalogue-option{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem;border-radius:.4rem}.catalogue-option:hover{background:#edf5f2}.catalogue-option span,.resource-list li>span{display:grid;gap:.15rem}.catalogue-option small,.resource-list small{color:#53635f}.catalogue-filters{display:grid;grid-template-columns:auto minmax(10rem,1fr) auto minmax(10rem,1fr) auto;gap:.6rem;align-items:center;margin-bottom:1rem}.catalogue-filters input,.catalogue-filters select{border:1px solid #a9b8b4;border-radius:.5rem;padding:.65rem;min-width:0}.catalogue-list{margin-bottom:1rem}.specification-editor{display:grid;gap:.75rem;border:1px solid #d7e1de;border-radius:.5rem;margin:.5rem 0 1rem}.specification-editor>div{display:grid;gap:.45rem;padding-bottom:.75rem;border-bottom:1px solid #d7e1de}.details{display:grid;gap:.8rem;max-width:44rem}.details div{display:grid;grid-template-columns:8rem 1fr;gap:.75rem}.details dt{font-weight:700}.details dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.onboarding-layout{display:grid;grid-template-columns:minmax(17rem,.8fr) minmax(20rem,1.2fr);gap:1rem;align-items:start}.panel{background:#fff;border:1px solid #d7e1de;border-radius:.75rem;padding:1.25rem}.panel h2{margin-top:0}.onboarding form{display:grid;gap:.55rem}.onboarding input{width:100%;border:1px solid #a9b8b4;border-radius:.5rem;padding:.72rem;margin-bottom:.4rem}.onboarding small{color:#53635f;margin:-.25rem 0 .55rem}.step{color:#0b6b57;font-weight:800}.created-summary{display:flex;justify-content:space-between;gap:1rem;padding:.75rem;background:#edf5f2;border-radius:.5rem}.organization-list{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.organization-list li{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-bottom:1px solid #e0e8e5;padding:.6rem 0}.organization-list li div{display:grid;gap:.15rem}.organization-list li div span{color:#5d6b68;font-size:.86rem}.status{border-radius:99px;padding:.25rem .55rem;background:#eee;font-size:.78rem}.status.active{color:#155b48;background:#dcefe8}.completion dl{display:grid;gap:.6rem}.completion dl div{display:grid;grid-template-columns:9rem 1fr;gap:.5rem}.completion dt{font-weight:700}.completion dd{margin:0;overflow-wrap:anywhere}@media(max-width:650px){.app-header,.identity{align-items:flex-start}.app-header{padding:1rem}.identity{flex-wrap:wrap;justify-content:flex-end;font-size:.85rem}.app-body{display:block}nav{display:flex;gap:.5rem;overflow-x:auto}nav a{white-space:nowrap}.content{padding:1.25rem 1rem}.onboarding-layout{grid-template-columns:1fr}.page-heading{align-items:flex-start}.details div{grid-template-columns:1fr;gap:.15rem}.catalogue-filters{grid-template-columns:1fr;align-items:stretch}.resource-list li{flex-wrap:wrap}.created-summary{display:grid}.completion dl div{grid-template-columns:1fr;gap:.15rem}}
