
:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183038;background:#f7f9f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.brand{display:flex;align-items:center;gap:12px}.brand strong{font-size:20px;letter-spacing:-.04em}.brand small{display:block;font-size:10px;font-weight:800;letter-spacing:.17em;color:#93acaa;margin-top:3px}.brand-mark{height:39px;width:39px;border-radius:12px;background:#c8eee1;display:grid;grid-template-columns:repeat(2,8px);grid-template-rows:repeat(2,8px);gap:3px;place-content:center;transform:rotate(-8deg)}.brand-mark span{background:#21645b;border-radius:2px}.brand-mark span:nth-child(2){opacity:.55}.brand-mark span:nth-child(3){opacity:.75}.shell{min-height:100vh;display:flex}.sidebar{width:260px;background:#102a33;color:#ecf9f5;display:flex;flex-direction:column;padding:26px 15px;flex:none}.sidebar .brand{padding:0 12px 34px}.sidebar-section{font-size:10px;letter-spacing:.16em;font-weight:800;color:#76979c;padding:24px 12px 12px;border-top:1px solid #2b4650}.sidebar nav{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:12px;border-radius:9px;padding:13px 14px;color:#bbd0d0;font-size:14px;font-weight:700}.nav-link span{font-size:19px}.nav-link:hover,.nav-link.selected{background:#285057;color:white}.nav-link.selected{border-left:3px solid #68d1b4}.sidebar-foot{margin-top:auto}.sidebar-user{display:flex;align-items:center;gap:11px;padding:14px 8px;border-top:1px solid #2b4650}.sidebar-user strong,.person strong{display:block;font-size:13px}.sidebar-user small,.person small{display:block;font-size:11px;color:#91aeb0;margin-top:4px;word-break:break-word}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#a7dfcf;color:#164139;font-weight:800;flex:none}.avatar.soft{background:#e5f4ef}.signout{width:100%;background:none;border:0;color:#b7cdd0;padding:11px 9px;text-align:left;font-size:13px;font-weight:700;display:flex;justify-content:space-between}.signout:hover{color:white}.main{min-width:0;flex:1}.topbar{height:71px;border-bottom:1px solid #e2e9e8;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:13px;color:#6a8184}.topbar b{padding:0 13px;color:#b3c2c3}.topbar-right{display:flex;align-items:center;gap:8px}.topbar-right i{height:7px;width:7px;border-radius:50%;background:#59bd99}.page-content{max-width:1160px;margin:0 auto;padding:52px 42px 70px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:54px}.eyebrow{font-size:11px;letter-spacing:.15em;color:#177b70;font-weight:800}.page-heading h1{font-size:38px;line-height:1.16;letter-spacing:-.045em;margin:13px 0 11px;font-weight:650}.page-heading p,.section-heading p{margin:0;color:#72878a;font-size:15px;line-height:1.5}.app-count{white-space:nowrap;background:#e9f6f1;color:#257e69;font-size:12px;font-weight:800;border-radius:40px;padding:10px 15px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h2{margin:0;font-size:19px;letter-spacing:-.025em}.section-heading span{color:#86999b;font-size:12px}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.app-card{position:relative;min-height:184px;background:white;border:1px solid #e0e8e5;border-radius:15px;padding:24px;box-shadow:0 5px 20px #183b3510;display:flex;flex-direction:column;align-items:flex-start;transition:transform .15s,border-color .15s}.app-card:hover{transform:translateY(-3px);border-color:#8ac9b2}.app-icon{height:49px;width:49px;border-radius:12px;display:grid;place-items:center;background:#e3f3ee;color:#1d7567;font-weight:800;font-size:20px}.tone-1{background:#f5ecdf;color:#ad7542}.tone-2{background:#e9edfa;color:#6371af}.tone-3{background:#f3e9ee;color:#a7667f}.app-card-copy{margin-top:24px;padding-right:18px}.app-card-copy strong{display:block;font-size:17px;letter-spacing:-.02em}.app-card-copy small{display:block;color:#74888b;line-height:1.45;margin-top:7px;font-size:13px}.card-arrow{position:absolute;right:24px;top:31px;color:#528779;font-size:22px}.empty-state{grid-column:1/-1;background:white;border:1px dashed #cadbd4;border-radius:15px;text-align:center;padding:68px 20px}.empty-icon{height:52px;width:52px;display:grid;place-items:center;border-radius:13px;background:#e9f5f1;color:#318d78;font-size:25px;margin:auto}.empty-state h3{margin:20px 0 6px}.empty-state p{margin:0;color:#74898a}.access-note{margin-top:35px;color:#8b9fa0;font-size:12px}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(350px,45%) 1fr}.login-intro{background:#102a33;color:#f6fbf9;padding:38px 54px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.login-intro:before,.login-intro:after{content:"";position:absolute;border:1px solid #51746c55;border-radius:50%;width:670px;height:670px;left:-210px;bottom:-345px}.login-intro:after{width:430px;height:430px;left:5px;bottom:-225px}.login-intro .brand,.intro-copy,.intro-foot{position:relative;z-index:1}.eyebrow.light{color:#8ed4ba}.intro-copy{max-width:550px;margin:40px 0}.intro-copy h1{font-weight:600;font-size:clamp(39px,4vw,64px);letter-spacing:-.065em;line-height:1.06;margin:18px 0 24px}.intro-copy em{font-style:normal;color:#9bd8c2}.intro-copy p{font-size:17px;line-height:1.65;color:#b4cbca;max-width:410px}.intro-foot{font-size:12px;color:#8aa7a8}.login-main{display:grid;place-items:center;padding:45px;background:#f8faf9}.login-card{width:min(100%,430px)}.login-card h2{font-size:32px;letter-spacing:-.05em;margin:13px 0}.login-card>p{color:#708588;line-height:1.55;margin-bottom:33px}.login-card label,.stack-form label{font-size:13px;font-weight:750;display:block;margin-bottom:8px}.login-card input,.stack-form input{height:49px;width:100%;border:1px solid #cad9d5;border-radius:9px;background:white;padding:0 14px;color:#183038;outline:none}.login-card input:focus,.stack-form input:focus{border-color:#20886e;box-shadow:0 0 0 3px #a8dfcb66}.primary{background:#0c7569;color:white;border:0;border-radius:9px;padding:14px 18px;font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px}.primary:hover{background:#075f55}.login-card .primary{width:100%;margin-top:16px}.primary:disabled{opacity:.6;cursor:wait}.form-message{min-height:22px;font-size:13px;color:#ad4f3e;margin:14px 0}.form-message.good{color:#257e69}.login-help{font-size:12px;color:#84999a;border-top:1px solid #e0e7e5;padding-top:22px;margin-top:23px}.text-button{background:none;border:0;color:#197a6b;font-size:13px;font-weight:700;margin-top:18px;padding:0}.admin-content .page-heading{margin-bottom:34px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:white;border:1px solid #e0e8e5;border-radius:15px;padding:25px;box-shadow:0 4px 18px #183b350b}.panel .section-heading{align-items:start}.panel .section-heading p{font-size:13px;margin-top:5px}.stack-form{display:grid;gap:15px}.stack-form label{margin:0}.stack-form input{margin-top:7px}.stack-form .primary{justify-content:center;justify-self:start}.wide-panel{margin-top:16px}.person-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #edf1f0;padding:17px 0}.person{display:flex;gap:11px;align-items:center}.person small{color:#7b9092}.grant-list{display:flex;flex-wrap:wrap;gap:12px}.grant{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#4d6e70}.grant input{accent-color:#0c7569}.empty-admin{color:#829799;border-top:1px solid #edf1f0;padding:24px 0}.catalog-row{display:flex;align-items:center;gap:12px;border-top:1px solid #edf1f0;padding:14px 0}.catalog-row strong,.catalog-row small{display:block}.catalog-row strong{font-size:13px}.catalog-row small{font-size:11px;color:#829799;margin-top:4px;word-break:break-all}.app-icon.small{height:34px;width:34px;font-size:14px;border-radius:8px}.status{margin-left:auto;color:#23846c;background:#e7f5ee;padding:6px 9px;border-radius:30px;font-size:10px;font-weight:800}@media(max-width:1000px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.login-layout{display:block}.login-intro{min-height:245px;padding:25px;gap:30px}.intro-copy{margin:16px 0}.intro-copy h1{font-size:34px;margin:12px 0}.intro-copy p,.intro-foot{display:none}.login-main{min-height:calc(100vh - 245px);place-items:start center;padding:36px 22px}.sidebar{width:100%;height:auto;padding:12px 16px;display:flex;flex-direction:row;align-items:center;gap:15px}.sidebar .brand{padding:0}.sidebar .brand small,.sidebar-section,.sidebar-foot,.sidebar nav{display:none}.shell{display:block}.topbar{height:54px;padding:0 22px}.page-content{padding:32px 22px}.page-heading{align-items:start;flex-direction:column;margin-bottom:35px}.page-heading h1{font-size:30px}.app-grid,.admin-grid{grid-template-columns:1fr}.person-row{align-items:start;flex-direction:column}.app-card{min-height:155px}.app-card-copy{margin-top:17px}}

.person-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.revoke-button{border:0;background:none;color:#a34d42;font-size:12px;font-weight:700;padding:7px 0}.revoke-button:hover{text-decoration:underline}
@media(max-width:720px){.sidebar{flex-wrap:wrap}.sidebar nav{display:flex;gap:4px;order:3;width:100%}.sidebar .nav-link{padding:9px;font-size:12px}.sidebar-foot{display:block;margin-left:auto}.sidebar-user{display:none}.signout{padding:7px;font-size:12px}.topbar-right{display:none}}
