:root{color:#17243a;background:#f4f7fb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#4a55df,#1c8eea);color:#fff;font-family:Georgia,serif;font-size:24px;font-weight:700}.eyebrow{margin:0 0 14px;color:#697791;font-size:12px;font-weight:700;letter-spacing:.14em}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(300px,1fr) minmax(440px,1fr)}.brand-panel{display:flex;flex-direction:column;justify-content:center;padding:12vw;color:#fff;background:radial-gradient(circle at 20% 20%,rgba(118,208,255,.28),transparent 32%),linear-gradient(135deg,#1d2b8f,#266cc7)}.brand-panel .brand-mark{margin-bottom:52px;background:hsla(0,0%,100%,.16)}.brand-panel .eyebrow{color:hsla(0,0%,100%,.66)}.brand-panel h1{max-width:430px;margin:0;font-size:clamp(28px,3.1vw,44px);line-height:1.14}.brand-copy{max-width:300px;margin:28px 0 0;color:hsla(0,0%,100%,.75);font-size:16px;line-height:1.8}.login-panel{display:flex;align-items:center;justify-content:center;padding:48px 24px;background:#f7f9fc}.login-card{width:min(100%,370px);padding:42px 36px 26px;text-align:center;background:#fff;border:1px solid #e7ebf2;border-radius:20px;box-shadow:0 18px 55px rgba(34,49,83,.1)}.login-card h2{margin:0;font-size:26px}.login-copy{margin:14px auto 20px;color:#71809b;font-size:14px;line-height:1.65}.qr-frame{display:block;width:230px;max-width:100%;margin:0 auto}.qr-placeholder{display:flex;align-items:center;justify-content:center;width:230px;height:300px;margin:0 auto;color:#74819a;font-size:14px;background:#f7f9fc;border-radius:12px}.error-state{flex-direction:column;gap:16px;padding:20px;line-height:1.6}.error-state p{margin:0}.error-state button,.status-card button{padding:9px 16px;color:#fff;cursor:pointer;background:#3156c8;border:0;border-radius:7px}.status-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:#eef3fa}.status-card{width:min(100%,420px);padding:48px;text-align:center;background:#fff;border-radius:20px;box-shadow:0 16px 45px rgba(35,53,85,.1)}.status-card h1{margin:24px 0 10px;font-size:26px}.status-card p{margin:0 0 24px;color:#70809a;line-height:1.7}.sites-page{min-height:100vh;background:#f6f8fc}.site-header{position:fixed;top:0;right:0;left:0;z-index:10;justify-content:space-between;height:60px;padding:0 clamp(24px,7vw,112px);background:#fff;border-bottom:1px solid #e7ebf2}.portal-title,.site-header{display:flex;align-items:center}.portal-title{gap:12px;font-size:17px;font-weight:700}.portal-title .brand-mark{width:34px;height:34px;border-radius:10px;font-size:19px}.user-menu{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 4px;color:#3c4f70;cursor:pointer;background:transparent;border:0;font-size:14px;line-height:1.4}.user-menu-arrow{width:0;height:0;border-top:6px solid #71809a;border-right:5px solid transparent;border-left:5px solid transparent}.user-menu-list{position:absolute;top:calc(100% + 8px);right:0;z-index:11;min-width:128px;padding:6px;background:#fff;border:1px solid #e0e7f1;border-radius:8px;box-shadow:0 10px 28px rgba(32,48,76,.15)}.user-menu-list button{width:100%;padding:9px 12px;color:#394b6b;cursor:pointer;text-align:left;background:transparent;border:0;border-radius:5px}.user-menu-list button:focus,.user-menu-list button:hover{color:#264ac6;background:#eef3ff;outline:0}.sites-content{max-width:1180px;margin:0 auto;padding:108px 32px 112px}.sites-content>h3{margin:0;font-size:clamp(24px,3vw,32px);letter-spacing:-.03em}.sites-copy{margin:16px 0 40px;color:#71809a}.site-group+.site-group{margin-top:44px}.group-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}.group-heading>div{display:flex;align-items:baseline;gap:12px}.group-heading h2{margin:0;font-size:22px}.group-heading p{margin:0;color:#7b879d;font-size:14px}.group-heading>span{padding:5px 10px;color:#65738c;font-size:12px;background:#eaf0fb;border-radius:999px;white-space:nowrap}.site-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.site-card{display:flex;flex-direction:column;justify-content:space-between;min-height:154px;padding:22px;overflow:hidden;background:#fff;border:1px solid #e4eaf3;border-radius:12px;box-shadow:0 3px 12px rgba(39,56,84,.04)}.site-card:not(.disabled):hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(39,56,84,.1);transition:.2s ease}.site-card:not(.disabled){cursor:pointer}.site-card h3{margin:0 0 8px;font-size:19px}.site-card p{margin:0;color:#74819a;font-size:14px}.pending,.site-link{margin-top:18px;color:#264ac6;font-size:13px;font-weight:700;text-decoration:none}.site-link span{margin-left:5px}.pending{color:#9aa7bd}.disabled{background:#fafbfd}@media (max-width:780px){.login-page{grid-template-columns:1fr}.brand-panel{min-height:280px;padding:48px 32px}.brand-panel .brand-mark{margin-bottom:28px}.brand-panel h1{font-size:28px}.brand-copy{margin-top:14px}.login-panel{padding:36px 20px}.login-card{padding:34px 20px 18px}.site-header{padding:0 20px}.sites-content{padding:100px 20px 64px}.group-heading{align-items:flex-start;flex-direction:column;gap:10px}.group-heading>div{flex-wrap:wrap}.site-grid{grid-template-columns:1fr}}