:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#202c39;background:#f6f8fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:280px}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #087f79;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 18px;background:#fff;z-index:10}.skip-link:focus{top:12px}.portal{max-width:1180px;padding:0 48px;margin:0 auto}.topbar{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e6eb}.brand{display:inline-flex;align-items:center;gap:12px;font-size:30px;font-weight:750;letter-spacing:-1.2px}.brand-icon{background:#173c3d;color:#fff;width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.brand-period{color:#087f79}.topbar-label{color:#647180;font-size:14px;letter-spacing:2px}.intro{padding:53px 0 33px;display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.eyebrow{color:#087b75;font-size:12px;font-weight:700;letter-spacing:2.1px;margin:0 0 13px}h1{font-size:clamp(27px,3vw,36px);line-height:1.45;font-weight:650;letter-spacing:-.8px;margin:0}h1>span{color:#168b83}.intro-description{color:#697586;font-size:16px;line-height:1.7;margin:12px 0 0}.service-count{display:inline-flex;align-items:center;gap:8px;color:#5e6d7c;font-size:14px;white-space:nowrap;padding-bottom:4px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.service-card{--accent: #a94664;--tint: #f9edf1;position:relative;background:#fff;border:1px solid #e1e6eb;border-radius:18px;padding:26px 28px 0;display:flex;flex-direction:column;min-height:282px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.service-card.amber{--accent: #946016;--tint: #fff4e1}.service-card.blue{--accent: #396cba;--tint: #eaf2ff}.service-card.teal{--accent: #157e72;--tint: #e7f5f1}.card-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.app-icon{display:grid;place-items:center;width:58px;height:58px;flex:0 0 auto;border-radius:16px;color:var(--accent);background:var(--tint)}.category{color:#677382;background:#f7f9fb;border:1px solid #e9edf1;border-radius:6px;padding:5px 10px;font-size:12px;line-height:1.5}.card-content{padding:24px 0 22px;flex:1}.app-subtitle{font-size:12px;color:#707e8d;letter-spacing:1.6px;font-weight:650;margin:0 0 7px}h2{font-size:23px;font-weight:650;letter-spacing:-.4px;line-height:1.5;margin:0;overflow-wrap:anywhere}.app-description{color:#697586;font-size:14px;line-height:1.8;margin:8px 0 0}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf0f3;padding:17px 0 19px}.app-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#778494;font-size:13px;display:flex;gap:14px}.app-number{color:#6c7c8b;padding-right:14px;border-right:1px solid #e4e9ee}.open-app{display:flex;align-items:center;gap:7px;color:var(--accent);font-size:14px;font-weight:550;white-space:nowrap}.open-app svg{transition:transform .18s ease}@media(hover:hover){.service-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 10px 28px #1c354b0a}.service-card:hover .open-app svg{transform:translate(2px,-2px)}}footer{padding:30px 0;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#73808e;line-height:1.8}.footer-divider{margin:0 10px;color:#a6b0b9}@media(max-width:680px){.portal{padding:0 22px}.topbar{height:84px}.brand{font-size:27px}.topbar-label{letter-spacing:0;font-size:12px}.intro{padding:34px 0 25px;display:block}.service-count{margin-top:20px}.service-grid{grid-template-columns:minmax(0,1fr);gap:16px}.service-card{padding:23px 23px 0;min-height:270px}h2{font-size:22px}footer{flex-wrap:wrap;padding:24px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}.login-area{min-height:65vh;display:grid;place-items:center;padding:48px 0}.login-card{width:min(100%,440px);background:#fff;border:1px solid #e1e6eb;border-radius:20px;padding:36px}.login-card h1{font-size:27px}.login-card label{display:block;margin:25px 0 9px;font-size:14px;font-weight:600}.login-card input{width:100%;border:1px solid #cbd5df;border-radius:9px;background:#fff;padding:13px 14px;color:#202c39;font:inherit}.login-card input:focus{outline:2px solid #087f79;outline-offset:2px}.login-submit,.logout-button{font:inherit;cursor:pointer;border-radius:9px}.login-submit{width:100%;margin-top:28px;padding:13px;border:0;background:#173c3d;color:#fff}.logout-button{padding:9px 15px;border:1px solid #d7e0e7;background:#fff;color:#405563;font-size:14px}button:disabled{opacity:.6;cursor:wait}.login-error{color:#ae2945;font-size:14px;line-height:1.6}@media(max-width:680px){.login-card{padding:27px 23px}.login-card h1{font-size:24px}}
