:root{color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183c36;background:#f1f5f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh}a{color:inherit}button,input,select{font:inherit}.shell{max-width:1240px;padding:28px clamp(18px,4vw,60px);margin:auto}.topbar{display:flex;align-items:center;gap:18px;min-height:48px}.brand{text-decoration:none;font-size:29px;font-weight:800;letter-spacing:-1.2px}.brand span{color:#71a787}.topbar>.badge{margin-left:auto}.badge{display:inline-block;padding:7px 12px;border:1px solid #bdcfc2;border-radius:24px;font-size:12px;white-space:nowrap}.topbar form{margin:0}nav{display:flex;gap:8px;border-bottom:1px solid #d7e2da;margin:25px 0 0;padding-bottom:12px;flex-wrap:wrap}nav a{padding:10px 15px;text-decoration:none;border-radius:9px;font-size:14px}nav a[aria-current=page]{background:#deebe1;font-weight:650}main{min-height:65vh;padding-top:40px}.auth-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,5vw,80px);align-items:start;padding:25px 0}.hero{padding:20px 0}.eyebrow{color:#496c61;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1{font-size:clamp(34px,5.5vw,58px);line-height:1.08;letter-spacing:-.045em;margin:20px 0;overflow-wrap:anywhere}h2{font-size:20px;letter-spacing:-.025em;margin:0 0 24px}h3{font-size:15px;margin:0 0 10px}.hero>p:not(.eyebrow),.heading>p:not(.eyebrow){font-size:17px;line-height:1.7;color:#52665e;max-width:620px}.heading{margin-bottom:32px}.heading h1{font-size:clamp(32px,4.5vw,46px)}.note{font-size:14px;line-height:1.7;border-left:3px solid #a5c1ae;padding:12px 18px;margin-top:32px;color:#52665e}.card{background:#fff;border:1px solid #dae4dc;border-radius:20px;padding:clamp(22px,3vw,32px);box-shadow:0 6px 24px #183c3603}.card form{display:grid;gap:19px}label{display:grid;gap:8px;font-size:14px;font-weight:600}input,select{width:100%;min-width:0;padding:12px 13px;background:#fbfcfb;border:1px solid #b9cbbf;border-radius:9px;color:#183c36;min-height:47px}button{display:inline-block;background:#234f40;color:white;border:1px solid #234f40;border-radius:10px;padding:13px 20px;cursor:pointer;min-height:46px;font-weight:650}button:hover{background:#173c30}.quiet{background:transparent;color:#234f40;border-color:#bdcfc2;font-size:13px;padding:9px 12px}.quiet:hover{background:#deebe1}.help{font-size:12px;line-height:1.65;color:#63736b;margin:0}.card>p.help{margin-top:20px}.card form>.help{margin-top:-10px}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:20px;min-height:20px;height:20px;accent-color:#234f40}.message{padding:16px 20px;margin:0 0 24px;border-radius:12px;font-size:14px;line-height:1.6}.success{background:#dfefe3;border:1px solid #afcbb8}.error{background:#fceae5;border:1px solid #dfb3a7;color:#803f2c}.admin-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.4fr);gap:24px;align-items:start}.user-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-top:1px solid #e5ece6;overflow-wrap:anywhere}.user-row:first-child{border-top:0;padding-top:0}.user-row:last-child{padding-bottom:0}.user-row strong{font-size:15px}.user-row p{font-size:13px;margin:7px 0;color:#63736b}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:11px;padding:5px 8px;border-radius:6px;background:#edf4ee;color:#375f48}.tag.disabled{background:#f8e9e3;color:#854733}.edit-link{font-size:13px;font-weight:600;flex-shrink:0;padding:10px 0}.count{font-size:13px;background:#edf4ee;padding:4px 8px;border-radius:8px;margin-left:7px}.roles{margin-top:24px}.role-grid,.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.role-grid p,.module p{color:#52665e;font-size:14px;line-height:1.7;margin:0}.roles>.help{border-top:1px solid #e5ece6;padding-top:20px}.module{text-decoration:none;display:flex;flex-direction:column;align-items:start;gap:18px}.module h2{margin:0}.module .text-link{margin-top:auto;padding-top:10px}.module-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:#e7f1e9;font-size:26px}.future{background:#eaf0e9;box-shadow:none;border-style:dashed}.text-link{font-size:13px;font-weight:650;color:#315d47}.narrow{max-width:530px}.module:hover{border-color:#94b29c}.future:hover{border-color:#dae4dc}footer{border-top:1px solid #d7e2da;padding:24px 0;margin-top:60px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#63736b;line-height:1.6}:focus-visible{outline:3px solid #a17c25;outline-offset:3px}@media(max-width:850px){.auth-grid{grid-template-columns:1fr 1fr;gap:28px}.admin-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.auth-grid,.module-grid,.role-grid{grid-template-columns:1fr}.auth-grid{padding-top:0}.hero{padding-top:0}.hero h1{max-width:400px}.topbar{gap:10px;flex-wrap:wrap}.badge{font-size:11px}.topbar>.badge{padding:7px 9px}.topbar .quiet{padding:8px}.topbar .brand{font-size:25px}main{padding-top:28px}.heading{margin-bottom:24px}nav{gap:2px}nav a{padding:10px;font-size:13px}.note{margin-top:22px}footer{margin-top:40px;flex-direction:column;gap:6px}.user-row{gap:10px}.user-row>div{min-width:0}}

/* Shared branding and navigation for Home and future modules. */
.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand-logo{display:block;max-width:180px;max-height:56px;object-fit:contain}.home-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;background:#234f40;border:1px solid #234f40;border-radius:10px;color:white;min-height:44px;padding:10px 14px;font-size:14px;font-weight:650;white-space:nowrap}.home-button:hover{background:#173c30}.home-button span{font-size:21px;line-height:1}.logo-preview{display:flex;align-items:center;justify-content:center;min-height:160px;padding:24px;margin-bottom:20px;background:#f4f7f3;border:1px dashed #bdcfc2;border-radius:12px}.logo-preview img{max-width:100%;max-height:160px;object-fit:contain}.remove-logo{margin-top:20px}input[type=file]{font-size:13px;padding:10px}input[type=file]::file-selector-button{background:#e7f1e9;border:0;border-radius:6px;padding:7px 10px;margin-right:10px;color:#234f40;cursor:pointer}@media(max-width:700px){.topbar>.environment{order:5;width:100%;margin-left:0;white-space:normal;border:0;padding:0}.home-button{margin-left:auto}.brand-logo{max-width:130px;max-height:46px}}@media(max-width:360px){.brand-logo{max-width:100px}.topbar{gap:8px}.home-button{padding:9px 10px}}

.profile-fields{border:1px solid #dae4dc;border-radius:12px;min-width:0;padding:18px;margin:0}.profile-fields legend{font-size:13px;font-weight:650;padding:0 6px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-fields>.help{margin-top:14px}@media(max-width:850px){.field-grid{grid-template-columns:1fr 1fr}}@media(max-width:440px){.field-grid{grid-template-columns:1fr}}input[readonly]{background:#edf1ed;color:#63736b}

.app-permissions .checkbox{margin-bottom:12px}.app-permissions input[type=checkbox],.app-grants input[type=checkbox]{flex-shrink:0}.app-grants{flex-basis:100%;width:100%;border-top:1px solid #e5ece6;padding-top:12px}.app-grants summary{cursor:pointer;font-size:13px;font-weight:650;padding:8px 0}.app-grants form{margin-top:12px;gap:12px}.user-row{flex-wrap:wrap}.user-row>div:first-child{flex:1;min-width:0}.user-row>.help{flex-basis:100%;margin:0}.no-apps{margin-top:24px}.no-apps p{font-size:14px;line-height:1.7;color:#52665e}
