:root{--blue:#155698;--navy:#123f72;--orange:#f59b32;--green:#2d9a80;--ink:#162d4e;--muted:#6e8097;--line:#e1eaf2;--soft:#f5f8fc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,'Segoe UI',sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.site-shell{min-height:100vh;display:flex;flex-direction:column}.portal-container{width:min(1320px,89%);margin-inline:auto}.portal-header{background:linear-gradient(115deg,#123f72,#185895);color:white;border-bottom:4px solid var(--orange)}.header-inner{min-height:89px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-icon{display:grid;place-items:center;background:#ffffff1a;border:1px solid #ffffff3a;border-radius:12px;width:43px;height:43px;font-size:26px;font-weight:800}.brand-icon span,.brand-label>span{color:var(--orange)}.brand-label{font-size:18px;letter-spacing:.065em;font-weight:800}.brand-label small{display:block;margin-top:5px;font-size:9px;letter-spacing:.15em;color:#c7def4}.main-nav{display:flex;align-items:center;gap:11px;margin-left:auto}.main-nav a{padding:12px 17px;color:#d6e7f9;font-size:14px;border-radius:11px;transition:background .2s,color .2s}.main-nav a:hover,.main-nav a.current{background:#ffffff20;color:#fff}.login-button{border:1px solid #ffffff80;background:#fff;color:#164c85;padding:12px 20px;border-radius:11px;font-weight:700;font-size:13px;display:inline-flex;gap:13px;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.login-button:hover{transform:translateY(-2px);box-shadow:0 7px 20px #071b3233}.portal-main{flex:1;background:#fff}.workspace{padding:87px 0 85px;display:grid;grid-template-columns:minmax(260px,.82fr) minmax(440px,1.18fr);gap:7%;align-items:start}.intro{padding-top:80px;animation:fade-in .65s both}.eyebrow,.section-kicker{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.15em}.online-dot{width:8px;height:8px;background:var(--green);border-radius:50%;display:inline-block;margin-right:8px}.intro h1{margin:32px 0 24px;font-size:clamp(44px,5vw,73px);letter-spacing:-.06em;line-height:1.12}.intro h1 em{color:var(--blue);font-style:normal}.intro-description{font-size:16px;color:var(--muted);line-height:1.85;max-width:460px}.school-mark{display:flex;align-items:center;gap:12px;margin-top:55px}.school-symbol{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#fff0dd;color:#da8524;font-size:24px}.school-mark strong{display:block;font-size:12px;letter-spacing:.08em}.school-mark small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.intro-decoration{display:flex;gap:15px;align-items:center;color:#93a4b7;letter-spacing:.15em;font-size:10px;margin-top:115px}.intro-decoration>span{width:40px;height:3px;background:var(--orange)}.services{animation:fade-in .7s .12s both}.catalog-heading{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:24px}.catalog-heading h2,.about-content h2{font-size:clamp(26px,2.7vw,37px);letter-spacing:-.05em;margin:12px 0 0}.orange{color:var(--orange)}.count-label{font-size:10px;letter-spacing:.1em;color:#8699af;white-space:nowrap;padding-bottom:5px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.service-card{min-height:195px;padding:23px;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;position:relative;overflow:hidden;background:white;transition:transform .25s,box-shadow .25s,border-color .25s;animation:card-in .5s both}.service-card:before{content:'';height:4px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,#1a61a6,#2d9a80,var(--orange));opacity:.86}.service-card:hover{transform:translateY(-5px);border-color:#b8d0e8;box-shadow:0 18px 38px #194e8018}.service-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.service-icon{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:#e8f1fb;color:#1c5d9e;font-size:23px;font-weight:800}.service-card:nth-child(4n+2) .service-icon{background:#fff1df;color:#c67d1e}.service-card:nth-child(4n+3) .service-icon{background:#e5f5ef;color:#258367}.service-status{font-size:10px;white-space:nowrap;padding:5px 9px;border-radius:20px;background:#f2f4f8;color:#78899d}.service-status.ready{background:#e6f6ee;color:#228158}.service-body{margin:22px 0 18px}.service-body h3{font-size:17px;margin:0 0 8px;letter-spacing:-.025em}.service-body p{font-size:12px;color:var(--muted);line-height:1.6;margin:0}.service-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:auto;font-size:12px;font-weight:700;color:var(--blue)}.service-actions a:hover{text-decoration:underline}.service-actions .soon{color:#99a7b5;font-size:11px;font-weight:400}.all-services{margin-top:16px}.all-services summary{cursor:pointer;list-style:none;background:#f3f8fd;border:1px solid #dbe7f2;padding:17px 20px;border-radius:12px;color:var(--blue);font-size:13px;font-weight:700;text-align:center;transition:background .2s}.all-services summary::-webkit-details-marker{display:none}.all-services summary:hover{background:#e8f2fc}.all-services[open] summary{margin-bottom:22px}.all-services summary span{margin-left:10px}.all-content{animation:fade-in .3s both}.search-form{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;align-items:center}.search-form label{font-size:12px;color:#60748c}.search-form input,.search-form select{min-width:130px;max-width:100%;flex:1;border:1px solid #d9e5ef;border-radius:10px;padding:11px;background:#fff;color:var(--ink)}.search-form button{background:var(--blue);border:0;border-radius:10px;padding:12px 17px;color:#fff;cursor:pointer}.reset-link{font-size:12px;color:var(--blue)}.service-hint,.services-footnote{font-size:11px;color:#95a4b4;margin-top:21px}.services-footnote{display:flex;justify-content:space-between;gap:10px}.announcements{border-top:1px solid var(--line);margin-top:25px;padding-top:16px}.announcements h3{font-size:15px}.announcements article{border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:9px}.announcements article p{font-size:12px;color:var(--muted)}.empty-state{border:1px dashed #b9cadb;border-radius:14px;padding:24px}.empty-state p{color:var(--muted)}.empty-state a{color:var(--blue);font-weight:700}.portal-footer{background:#edf3fa;border-top:1px solid #d9e6f2;color:#31557a}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:27px 0}.footer-inner strong{color:var(--navy);font-size:17px;letter-spacing:.08em}.footer-inner strong span{color:var(--orange)}.footer-inner small{display:block;font-size:11px;margin-top:7px;color:#71879f}.footer-right{font-size:11px;color:#58728e}.footer-dot{color:var(--orange);margin:0 7px}.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;padding:110px 0;min-height:65vh}.about-content{padding-top:65px}.about-content h2{max-width:550px;line-height:1.25}.about-content>p{line-height:1.9;color:var(--muted);max-width:660px}.about-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:38px 0 28px}.about-cards article{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:20px}.about-cards article span{color:var(--blue);font-size:11px;font-weight:800}.about-cards h3{font-size:15px;margin:26px 0 8px}.about-cards p{font-size:12px;line-height:1.7;color:var(--muted)}.back-link{color:var(--blue);font-weight:700;font-size:13px;display:inline-block;margin-top:22px}.about-note{border-top:1px solid var(--line);padding-top:20px;font-size:13px}.detail-layout{padding:70px 0 100px;max-width:800px}.detail-panel{margin-top:25px;border:1px solid var(--line);border-radius:19px;padding:40px}.detail-panel h1{font-size:clamp(31px,4vw,48px);margin:28px 0 12px}.detail-icon{width:58px;height:58px}.detail-description{color:#516780;line-height:1.9;margin:28px 0}.tag-list{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.tag-list a{border-radius:22px;background:#eaf3fb;padding:8px 13px;color:var(--blue);font-size:12px}.detail-launch{background:var(--blue);color:white}.muted{color:var(--muted)}@keyframes fade-in{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1040px){.workspace{grid-template-columns:1fr;gap:55px;padding:50px 0}.intro{padding-top:10px}.intro-decoration{display:none}.school-mark{margin-top:25px}.about-layout{grid-template-columns:1fr;gap:20px;padding:65px 0}.about-content{padding-top:0}}@media(max-width:600px){.portal-container{width:calc(100% - 36px)}.header-inner{min-height:75px;gap:8px}.brand-icon{height:33px;width:33px;font-size:21px}.brand-label{font-size:12px}.brand-label small{font-size:7px}.main-nav{gap:0}.main-nav a{padding:9px 7px;font-size:12px}.login-button{padding:10px;font-size:12px;gap:4px}.workspace{padding-top:36px;gap:45px}.intro h1{font-size:clamp(40px,11vw,55px)}.intro-description{font-size:14px}.service-grid{gap:10px}.service-card{min-height:170px;padding:15px}.service-body h3{font-size:14px}.service-body p{font-size:11px}.service-icon{width:38px;height:38px;font-size:19px}.service-status{font-size:9px;padding:4px 6px}.service-actions{font-size:11px}.footer-inner,.services-footnote{flex-direction:column;align-items:flex-start}.about-cards{grid-template-columns:1fr}.about-cards h3{margin:12px 0 7px}.detail-panel{padding:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Modern Light UI v3 — distinct accessible card palettes */
.service-card{border-color:var(--card-border,#dce7f2);background:var(--card-bg,#f2f8fd);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-card:before{background:var(--card-accent,#155698);height:4px;opacity:1}
.service-card .service-icon{background:var(--card-icon-bg,#dfebfa);color:var(--card-accent,#155698)}
.service-card .service-actions a{color:var(--card-accent,#155698)}
.service-card .service-body p{color:#52677d}
.palette-sky{--card-bg:#edf6ff;--card-border:#d3e7fa;--card-accent:#155698;--card-icon-bg:#d7eafd}
.palette-mint{--card-bg:#edf9f4;--card-border:#cdebdc;--card-accent:#176f56;--card-icon-bg:#d7f0e4}
.palette-peach{--card-bg:#fff3e7;--card-border:#f4ddbf;--card-accent:#965b17;--card-icon-bg:#ffe7ca}
.palette-lavender{--card-bg:#f4f1ff;--card-border:#e1dafa;--card-accent:#6549a2;--card-icon-bg:#e7defd}
.palette-lemon{--card-bg:#fffbea;--card-border:#eee3b9;--card-accent:#816316;--card-icon-bg:#f9efc3}
.palette-rose{--card-bg:#fff0f2;--card-border:#f4d6db;--card-accent:#a04458;--card-icon-bg:#fbdde3}
.catalog-cta{display:flex;align-items:center;justify-content:center;gap:16px;padding:18px 22px;margin-top:18px;border-radius:14px;background:#155698;color:#fff;font-size:14px;font-weight:750;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.catalog-cta:hover{transform:translateY(-2px);background:#123f72;box-shadow:0 12px 28px #123f7229}
.catalog-cta span{font-size:19px}
.catalog-page{padding:70px 0 100px}
.catalog-page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}
.catalog-page-heading h1{font-size:clamp(38px,4.5vw,60px);letter-spacing:-.055em;margin:12px 0}
.catalog-page-heading p{color:var(--muted);line-height:1.7;margin:0}
.catalog-total{color:#758ca3;font-size:12px;white-space:nowrap}
.catalog-search{background:#f4f8fc;border:1px solid #e0eaf4;padding:19px;border-radius:18px;margin-bottom:22px}
.catalog-search label{font-size:12px;font-weight:700;color:#49627d;display:block;margin-bottom:9px}
.catalog-search-row{display:flex;gap:10px;align-items:center}
.catalog-search input[type=search]{border:1px solid #cdddec;border-radius:11px;background:#fff;min-width:0;flex:1;padding:14px 16px;color:var(--ink)}
.catalog-search button{border:0;border-radius:11px;background:var(--blue);color:#fff;padding:14px 24px;font-weight:700;cursor:pointer}
.category-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 26px}
.category-tabs a{border:1px solid #d9e5f0;border-radius:999px;padding:10px 17px;font-size:13px;color:#4e6480;background:white;transition:background .2s ease,transform .2s ease}
.category-tabs a:hover{background:#edf5fe;transform:translateY(-1px)}
.category-tabs a.selected{background:#155698;border-color:#155698;color:white;font-weight:700}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.catalog-help{font-size:12px;color:#8293a7;margin-top:24px}
.header-login{border:1px solid #fff;background:#fff;color:#174d85;padding:9px 11px 9px 10px;border-radius:999px;gap:9px;box-shadow:0 3px 12px #061c3526}
.login-avatar{display:grid;place-items:center;width:28px;height:28px;background:#e7f2fe;border-radius:50%;font-size:19px;line-height:1}
.login-arrow{background:#155698;color:#fff;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:16px}
.main-nav{background:#ffffff16;border:1px solid #ffffff23;padding:4px;border-radius:999px;gap:2px}
.main-nav a{border-radius:999px;padding:10px 17px}
.main-nav a.current{background:#ffffff2b}
@media(max-width:980px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.catalog-page{padding:40px 0 70px}.catalog-page-heading{align-items:start;flex-direction:column}.catalog-grid{gap:11px}.catalog-search-row{flex-wrap:wrap}.catalog-search-row input{flex-basis:100%}.header-login{padding:6px;gap:5px}.login-avatar{width:22px;height:22px}.login-arrow{width:22px;height:22px}.main-nav a{padding:8px 9px}}
@media(max-width:380px){.catalog-grid{grid-template-columns:1fr}.brand-label small{display:none}}
