:root{
 --blue:#0b5cab;--blue2:#1678c8;--navy:#063b6b;--gold:#f4b400;
 --bg:#f4f7fb;--card:#fff;--text:#17324d;--muted:#667b8f;--line:#dce7f0;
 --ok:#16875b;--warn:#a76600;--danger:#b42318;--shadow:0 12px 36px rgba(9,66,111,.12);
 --radius:20px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 32px));margin:auto}
.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.topbar-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),var(--blue2));color:#fff;font-weight:900;font-size:14px;box-shadow:0 6px 18px rgba(11,92,171,.2)}
.brand-kicker{font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--blue)}
.brand-title{font-size:19px;font-weight:900;color:var(--navy)}
.admin-link{padding:8px 12px;border:1px solid var(--line);border-radius:11px;color:var(--muted);font-size:13px}
.hero{background:linear-gradient(135deg,#06477f,#0b69b8 58%,#1688d6);color:white}
.hero-inner{min-height:300px;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:44px 0}
.eyebrow{font-size:12px;font-weight:900;letter-spacing:.1em;margin:0 0 8px;color:#c7e9ff}.eyebrow.blue{color:var(--blue)}
.hero h1{font-size:clamp(40px,6vw,62px);letter-spacing:-.03em;margin:0 0 12px;line-height:1.05}
.hero p:not(.eyebrow){max-width:700px;color:#e8f6ff;font-size:17px}
.hero-badge{background:rgba(255,255,255,.96);color:var(--navy);padding:24px;border-radius:22px;min-width:255px;box-shadow:0 24px 60px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:4px}
.hero-badge span{color:var(--muted);font-size:13px}
.section{padding:38px 0 56px}
.toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.toolbar h2{margin:0;font-size:30px;color:var(--navy)}
.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:0 12px;border-radius:14px;min-width:290px}
.search-box input{border:0;outline:0;background:transparent;padding:12px 2px;width:100%}
.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.category-tab{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:8px 13px;cursor:pointer;font-weight:750;font-size:13px}
.category-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}
.apps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.app-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;min-height:244px;transition:.2s;box-shadow:0 4px 16px rgba(20,60,100,.04)}
.app-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#bfd9ee}
.app-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.app-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#eaf5ff;font-size:27px}
.badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850}
.badge.public{background:#eaf7f1;color:var(--ok)}.badge.internal{background:#fff3df;color:#955b00}
.app-card h3{font-size:20px;color:var(--navy);margin:16px 0 8px}.app-card p{margin:0 0 18px;color:var(--muted);font-size:14px;flex:1}
.app-meta{font-size:12px;color:#91a0af;margin-bottom:12px}
.btn{border:0;border-radius:12px;padding:11px 14px;font-weight:850;display:inline-flex;justify-content:center;align-items:center;gap:7px;cursor:pointer}
.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--navy)}
.loading-card,.empty-state{grid-column:1/-1;background:#fff;border:1px dashed #b9cbd9;border-radius:16px;padding:30px;text-align:center;color:var(--muted)}
.footer{border-top:1px solid var(--line);background:#fff;padding:26px 0 36px}
.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer p{margin:4px 0 0;color:var(--muted);font-size:13px}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#20a36a;margin-right:5px}
@media(max-width:900px){.apps-grid{grid-template-columns:repeat(2,1fr)}.hero-badge{display:none}}
@media(max-width:640px){.container{width:min(100% - 22px,1180px)}.brand-kicker{font-size:9px}.brand-title{font-size:15px}.brand-mark{width:40px;height:40px}.admin-link{font-size:0}.admin-link:after{content:"⚙";font-size:18px}.hero-inner{min-height:auto;padding:35px 0}.hero h1{font-size:40px}.toolbar{align-items:stretch;flex-direction:column}.toolbar h2{font-size:25px}.search-box{min-width:0;width:100%}.apps-grid{grid-template-columns:1fr}.footer-inner{align-items:flex-start;flex-direction:column}}
