:root{--navy:#132b46;--navy2:#1d4268;--orange:#f97316;--bg:#f4f7fa;--line:#dbe3eb;--text:#16283b;--muted:#65778a;--success:#197447;--danger:#b42318;--white:#fff;--shadow:0 10px 28px rgba(19,43,70,.07)}*{box-sizing:border-box}html{font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}body{margin:0;min-width:320px;line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid rgba(249,115,22,.55);outline-offset:3px}.skip-link{position:fixed;left:12px;top:-80px;background:#fff;padding:10px;z-index:100}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:var(--navy);color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:28px}.brand strong{font-size:19px}.brand small{display:block;color:#b8c7d6}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#fff;color:var(--navy);font-weight:900;font-style:italic}.nav{display:grid;gap:6px}.nav a{padding:12px 14px;border-radius:9px;text-decoration:none;min-height:44px}.nav a:hover,.nav a.active{background:rgba(255,255,255,.13)}.sidebar footer{margin-top:auto;color:#b8c7d6;font-size:13px}.main{padding:32px;max-width:1500px;width:100%;margin:auto}.eyebrow{display:block;color:var(--orange);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.page-head{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:22px}.page-head h1{margin:0;color:var(--navy);font-size:clamp(28px,3vw,38px);line-height:1.15}.page-head p{margin:6px 0;color:var(--muted)}h2{color:var(--navy)}.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--navy);border-radius:9px;background:var(--navy);color:#fff;padding:10px 15px;font-weight:750;text-decoration:none;cursor:pointer}.button:hover,button:hover{filter:brightness(.96)}.button.secondary{background:#fff;color:var(--navy);border-color:var(--line)}.button.orange{background:var(--orange);border-color:var(--orange)}.button.danger{background:#fff;color:var(--danger);border-color:#f0b7b2}.button.small{min-height:38px;padding:7px 11px;font-size:14px}button:disabled{opacity:.5;cursor:not-allowed}.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.stat strong{display:block;font-size:29px;color:var(--navy)}.stat span{color:var(--muted)}.section-gap{margin-top:18px}.section-head,.popover-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-head h2,.popover-head h2{margin:0}.section-head span{color:var(--muted)}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.table-title{font-weight:800;color:var(--navy);text-decoration:none}.table-subtitle{display:block;color:var(--muted);font-size:13px;margin-top:2px}.empty{color:var(--muted);text-align:center;padding:28px}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.status.active,.status.approved,.status.completed{background:#e7f6ee;color:var(--success)}.status.inactive,.status.rejected,.status.archived{background:#f2f4f6;color:#536273}.status.pending,.status.expired,.status.processing{background:#fff1e7;color:#9a4b0b}.status.failed{background:#feeceb;color:var(--danger)}.inline{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.filter-bar{display:flex;gap:10px;margin-bottom:16px}.filter-bar input{width:min(520px,100%)}input,select,textarea{min-height:44px;border:1px solid #c9d4df;border-radius:9px;padding:10px;color:var(--text);background:#fff}textarea{min-height:92px;resize:vertical}.field{display:grid;align-content:start;gap:6px;margin:0}.field label,.field legend{font-weight:750;font-size:14px}.field small{color:var(--muted)}fieldset.field{border:0;padding:0}.form-grid,.registration-review{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.choice{display:inline-flex;gap:8px;align-items:center;min-height:44px;margin-right:16px}.choice input{min-height:auto;width:18px;height:18px}.alert{padding:12px 14px;border-radius:9px;background:#eaf2fb;margin-bottom:14px;border:1px solid #bfd4ea}.alert.error{background:#feeceb;color:#8f1d17;border-color:#f0b7b2}.back-link{display:inline-block;color:var(--muted);margin-bottom:8px}.scope-chip{display:inline-flex;background:#edf2f7;border-radius:999px;padding:4px 8px;font-size:12px;margin:2px}.module-toggle{display:grid;grid-template-columns:36px 1fr;grid-template-rows:1fr 1fr;column-gap:9px;text-align:left;background:#fff;color:var(--navy);border-color:var(--line);min-width:170px}.module-toggle>span{grid-row:1/3;align-self:center;width:36px;height:22px;border-radius:99px;background:#cad3dd;padding:3px}.module-toggle>span:after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .2s}.module-toggle.is-active>span{background:var(--success)}.module-toggle.is-active>span:after{transform:translateX(14px)}.module-toggle strong{font-size:13px;align-self:end}.module-toggle small{font-size:11px;color:var(--muted);align-self:start}.registration-list{display:grid;gap:14px}.registration-item{display:grid;grid-template-columns:minmax(230px,.65fr) 1.35fr;gap:22px;padding:18px;border:1px solid var(--line);border-radius:12px}.registration-item h3{margin:8px 0 4px}.popover-card{width:min(780px,calc(100vw - 24px));max-height:calc(100vh - 30px);overflow:auto;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 20px 80px rgba(19,43,70,.24)}.popover-card::backdrop{background:rgba(19,43,70,.54)}.icon-button{width:44px;padding:0;border-color:var(--line);background:#fff;color:var(--navy);font-size:24px}.public{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#102a43 0%,#183b5c 42%,#f4f7fb 42%)}.public-card{width:min(720px,100%);background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px;box-shadow:0 18px 48px rgba(16,42,67,.2)}.public-card h1{margin:22px 0 6px}.public-brand{display:flex;align-items:center;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--line)}.public-brand strong{font-size:20px}.public-brand strong span{font-size:13px;letter-spacing:.12em;margin-left:6px}.legal-links{display:flex;justify-content:center;gap:18px;margin-top:24px;color:var(--muted);font-size:13px}code{font-size:12px;overflow-wrap:anywhere}@media(max-width:900px){.shell{display:block}.sidebar{min-height:auto}.sidebar footer{display:none}.nav{display:flex;overflow:auto;padding-bottom:4px}.nav a{white-space:nowrap}.main{padding:22px 16px}.stats{grid-template-columns:1fr 1fr}.registration-item{grid-template-columns:1fr}.table-wrap{overflow:auto}}@media(max-width:600px){.stats,.form-grid,.registration-review{grid-template-columns:1fr}.page-head{display:block}.page-head>.button,.page-head>form{margin-top:14px}.filter-bar{align-items:stretch;flex-direction:column}.card{padding:15px}.public{padding:12px}.public-card{padding:20px}.stats{grid-template-columns:1fr}.module-toggle{min-width:154px}.registration-item{padding:14px}.table-wrap{margin-inline:-15px;width:calc(100% + 30px)}th,td{padding:11px}.sidebar{padding:16px 12px}.brand{margin-bottom:14px}}

.legal-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 4px}

/* Gemeinsames RoGo-Management-Design */
.shell{grid-template-columns:256px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;padding:0;background:#f8fafc;color:#334155;border-right:1px solid #e2e8f0}.brand{min-height:80px;margin:0;display:flex;align-items:center;padding:14px 16px}.brand img{display:block;width:146px;height:48px;object-fit:contain;transform:scale(2)}.module-label{margin:0 16px 8px;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.nav{gap:4px;padding:12px}.nav a{position:relative;min-height:46px;display:flex;align-items:center;padding:10px 12px;border-radius:6px;color:#475569;font-size:.875rem;font-weight:650}.nav a:hover,.nav a.active{background:#fff;color:#132b46;box-shadow:0 1px 3px rgba(15,23,42,.06)}.nav a.active:before{content:"";position:absolute;left:-12px;width:4px;height:24px;border-radius:0 4px 4px 0;background:#f97316}.sidebar footer{display:grid;gap:2px;margin-top:auto;padding:16px;border-top:1px solid #e2e8f0;color:#64748b}.sidebar footer strong{color:#334155}.sidebar footer span{overflow:hidden;text-overflow:ellipsis}.main{padding:30px}
.public{min-height:100dvh;padding:24px;background:#f1f5f9}.public-card{width:min(448px,100%);padding:30px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 18px 48px rgba(15,23,42,.1)}.public-brand{min-height:64px;display:flex;align-items:center;gap:14px;padding:0 0 28px;border-bottom:0}.public-brand img{display:block;width:196px;height:64px;object-fit:contain;object-position:left center;transform:scale(1.8);transform-origin:left center}.public-brand span{margin-left:auto;color:#132b46;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.15em}.public-card h1{margin:0 0 8px;font-size:1.6rem;color:#132b46}.public-card>p{margin:0 0 20px;color:#64748b}.login-options{display:grid;gap:10px;margin-top:24px}.login-help{margin-top:18px!important;font-size:13px}.legal-links{margin-top:18px;color:#64748b}.button{border-radius:6px}.card,.popover-card{border-radius:8px;box-shadow:none}.module-toggle{border-radius:7px}
@media(max-width:900px){.shell{display:block}.sidebar{position:static;height:auto;min-height:auto}.sidebar footer{display:grid}.nav{display:flex}.main{padding:22px 16px}}
@media(max-width:600px){.public{padding:14px}.public-card{padding:22px}.public-brand img{width:168px;height:56px}.public-brand span{font-size:10px}.main{padding:18px 12px}}

/* Central RoGo identity */
.auth-form{display:grid;gap:16px;margin-top:20px}.auth-form .field{gap:7px}.auth-form.narrow-form{max-width:520px}.field-link{display:inline-flex;min-height:44px;align-items:center;justify-self:end;margin-top:-5px;font-size:13px;font-weight:700;color:#31516f}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:-4px}.form-actions .button,.form-actions button{width:auto;min-width:112px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.module-card{display:flex;min-height:210px;flex-direction:column;align-items:flex-start;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff}.module-card h2,.module-card h3{margin:6px 0 8px;color:var(--navy)}.module-card p{margin:0 0 18px;color:var(--muted)}.module-card .button,.module-card form{margin-top:auto}.module-card.is-locked{background:#f8fafc}.module-kicker{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#64748b}.site-modules+.site-modules{margin-top:18px}.site-modules>.section-head{margin-bottom:18px}.site-modules>.section-head h2{margin:2px 0}.sidebar footer{display:grid;gap:3px}.sidebar-account{display:inline-flex;min-height:44px;align-items:center;margin-top:4px;color:#52677d;font-size:13px}.sidebar-account:hover{color:var(--navy)}.sidebar-logout{justify-content:flex-start;min-height:44px;padding:6px 0;border:0;background:transparent;color:#52677d;font-size:13px}.sidebar-logout:hover{color:var(--navy);background:transparent}.public-card .button,.public-card button{min-height:44px;padding:9px 14px}.public-card .button{width:auto}.public-card>p{max-width:36rem}
@media(max-width:900px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.module-grid{grid-template-columns:1fr}.module-card{min-height:180px}.form-actions{justify-content:stretch}.form-actions .button,.form-actions button{flex:1;min-width:0}}

/* Mobile-first Korrekturen für die gemeinsame Plattform */
@media(max-width:900px){.sidebar{padding:0 12px 12px;border-right:0;border-bottom:1px solid #e2e8f0}.brand{min-height:64px;padding:8px 4px}.brand img{width:124px;height:42px;transform:scale(1.65);transform-origin:left center}.module-label{margin:0 4px 8px}.nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;overflow:visible}.nav a{justify-content:center;text-align:center;white-space:normal;line-height:1.2;padding:9px 7px}.nav a.active:before{left:0;top:8px;height:calc(100% - 16px)}.sidebar footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px;padding:12px 4px 0}.sidebar footer form{margin-left:auto}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}
@media(max-width:600px){.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav a{font-size:.82rem}.sidebar footer{display:grid;grid-template-columns:1fr auto}.sidebar footer span{grid-column:1/-1}.main{padding:16px 12px}.page-head{display:grid;gap:12px}.page-head>.button,.page-head>form{width:100%;margin-top:0}.page-head button,.page-head .button{width:100%}.stats,.form-grid,.registration-review{grid-template-columns:1fr}.filter-bar{display:grid;grid-template-columns:1fr}.filter-bar button{width:100%}.section-head{align-items:flex-start;flex-direction:column}.module-toggle{width:100%;min-width:0}.switch-form{min-width:154px}.registration-review .inline{align-items:stretch;flex-direction:column}.registration-review .inline>*{width:100%}.popover-card{padding:16px}.public-card{padding:22px 18px}.public-brand img{width:145px;transform:scale(1.45)}.legal-links{flex-wrap:wrap;gap:4px 14px}.table-wrap{margin-inline:-14px;width:calc(100% + 28px);padding-bottom:4px}th,td{padding:10px}.button.small{min-height:44px}}
.module-toggle strong,.module-toggle small{grid-column:2;line-height:1.2;white-space:nowrap}

/* Kundenportal: standortbezogene Modulübersicht */
body.portal-shell{margin:0;min-width:320px;min-height:100dvh;background:radial-gradient(circle at 80% 0,rgba(84,177,225,.15),transparent 32rem),#edf2f6;color:#14263a}
.portal-shell svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.portal-app{min-height:100dvh;display:grid;grid-template-columns:276px minmax(0,1fr)}
.portal-sidebar{position:sticky;top:0;height:100dvh;padding:30px 24px 24px;background:linear-gradient(165deg,#0b2138,#132b46);color:#fff;display:flex;flex-direction:column;overflow:hidden}
.portal-sidebar:after{content:"";position:absolute;width:240px;height:240px;right:-130px;bottom:40px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 46px rgba(255,255,255,.035),0 0 0 92px rgba(255,255,255,.02)}
.portal-logo{position:relative;z-index:1;display:block;width:146px;height:52px}
.portal-logo img{display:block;width:146px;height:52px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);transform:scale(1.85);transform-origin:left center}
.portal-product{position:relative;z-index:1;margin:34px 0 8px;color:#9db0c3;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.portal-nav{position:relative;z-index:1;display:grid;gap:8px}
.portal-nav a{min-height:48px;padding:12px 14px;border-radius:10px;color:#bac9d8;text-decoration:none;font-weight:680;display:flex;align-items:center;gap:12px}
.portal-nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.portal-nav a.active{background:#fff;color:#132b46;box-shadow:0 8px 20px rgba(1,14,27,.19)}
.portal-nav svg{width:20px;height:20px;flex:0 0 auto}
.portal-profile{position:relative;z-index:1;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.13);display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center}
.portal-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f97316;color:#fff;font-weight:850}
.portal-profile strong,.portal-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-profile small{color:#9db0c3;margin-top:2px}
.portal-workspace{min-width:0;padding:28px clamp(22px,4vw,64px) 48px}
.portal-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 auto 30px;max-width:1240px}
.portal-topbar>img{display:none}
.portal-topbar>span{color:#68798b;font-size:13px;font-weight:700;letter-spacing:.04em}
.portal-top-actions{display:flex;align-items:center;gap:10px}
.portal-account-menu{position:relative}
.portal-account-menu summary{list-style:none;width:44px;height:44px;border:1px solid #dce5ed;border-radius:50%;background:rgba(255,255,255,.82);color:#132b46;display:grid;place-items:center;cursor:pointer}
.portal-account-menu summary::-webkit-details-marker{display:none}.portal-account-menu summary svg{width:20px;height:20px}
.portal-account-menu>div{position:absolute;z-index:40;top:52px;right:0;width:min(290px,calc(100vw - 24px));padding:16px;border:1px solid #dce5ed;border-radius:13px;background:#fff;box-shadow:0 20px 55px rgba(19,43,70,.18);display:grid;gap:9px}
.portal-account-menu>div strong,.portal-account-menu>div small{display:block;overflow-wrap:anywhere}.portal-account-menu>div small{color:#68798b}
.portal-account-menu>div a,.portal-account-menu>div button{width:100%;min-height:44px;padding:9px 11px;border:1px solid #dce5ed;border-radius:8px;background:#f8fafc;color:#132b46;text-decoration:none;font-weight:720;display:flex;align-items:center;justify-content:center}
.portal-account-menu>div form{margin:0}
.portal-content{max-width:1240px;margin:auto}
.portal-content>.alert{margin-bottom:16px}
.portal-hero{position:relative;isolation:isolate;min-height:280px;padding:42px clamp(28px,5vw,68px);border-radius:28px;background:linear-gradient(122deg,#0b2138,#173d61);color:#fff;overflow:hidden;box-shadow:0 24px 70px rgba(19,43,70,.13)}
.portal-hero:before{content:"";position:absolute;z-index:-1;inset:auto -90px -190px auto;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(63,171,226,.5),rgba(63,171,226,0) 66%)}
.portal-hero:after{content:"";position:absolute;z-index:-1;width:330px;height:330px;right:70px;top:-210px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 50px rgba(255,255,255,.03),0 0 0 100px rgba(255,255,255,.025)}
.portal-eyebrow{display:block;color:#ff9d54;font-size:12px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.portal-hero h1{margin:12px 0;font-size:clamp(32px,5vw,58px);line-height:1.02;letter-spacing:-.045em;max-width:680px;color:#fff}
.portal-hero>p{max-width:610px;margin:0;color:#c8d5e2;font-size:clamp(15px,2vw,18px)}
.portal-site-picker{position:absolute;right:34px;bottom:30px;min-width:270px;min-height:70px;padding:10px 48px 9px 17px;border:1px solid rgba(255,255,255,.22);border-radius:15px;background:rgba(255,255,255,.1);backdrop-filter:blur(12px);color:#fff}
.portal-site-picker label{display:block;color:#adc0d1;font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.portal-site-picker select{display:block;width:100%;min-height:44px;padding:2px 0;border:0;border-radius:0;background:transparent;color:#fff;font-size:16px;font-weight:760;appearance:none;cursor:pointer}
.portal-site-picker select:focus{outline:0}.portal-site-picker option{color:#14263a;background:#fff}
.portal-site-picker svg{position:absolute;right:17px;top:25px;width:19px;height:19px;pointer-events:none}
.portal-section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:38px 0 17px}
.portal-section-title h2{margin:0;color:#132b46;font-size:clamp(23px,3vw,32px);letter-spacing:-.03em}.portal-section-title p{margin:4px 0 0;color:#68798b}.portal-section-title>span{color:#68798b;font-size:13px}.portal-section-title>span strong{color:#132b46}
.portal-modules{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.portal-module{position:relative;min-height:270px;padding:28px;border:1px solid rgba(255,255,255,.9);border-radius:21px;background:rgba(255,255,255,.88);box-shadow:0 13px 35px rgba(23,48,73,.075);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.portal-module:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(23,48,73,.12)}
.portal-module.is-active{background:#fff;border-color:#fff}.portal-module.is-active:after{content:"";position:absolute;width:170px;height:170px;right:-80px;top:-70px;border-radius:50%;background:#edf7fc;box-shadow:0 0 0 30px rgba(84,177,225,.07)}
.portal-module-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.portal-module-icon{width:56px;height:56px;border-radius:15px;background:#132b46;color:#fff;display:grid;place-items:center;box-shadow:0 12px 25px rgba(19,43,70,.2)}
.portal-module-icon svg{width:27px;height:27px}.portal-module-icon.locked{background:#e8eef3;color:#6d7f91;box-shadow:none}
.portal-state{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:5px 10px;border-radius:99px;background:#e7f7ef;color:#188451;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.portal-state:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.portal-state.locked{background:#edf1f5;color:#6f7f8e}
.portal-module h3{position:relative;z-index:1;margin:22px 0 6px;color:#132b46;font-size:26px;letter-spacing:-.035em}.portal-module>p{position:relative;z-index:1;margin:0;max-width:420px;color:#68798b}
.portal-module-footer{position:relative;z-index:1;margin-top:auto;padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:16px}.portal-module-footer>span{color:#8a99a8;font-size:12px;text-align:right}
.portal-open{min-height:46px;padding:0 9px 0 15px;border:1px solid #d7e1e9;border-radius:10px;background:#f8fafc;color:#132b46;text-decoration:none;font-weight:760;display:inline-flex;align-items:center;gap:10px;transition:background .2s,border-color .2s}
.portal-open svg{width:28px;height:28px;padding:7px;border-radius:8px;background:#e7eef4;transition:transform .2s}.portal-open:hover{background:#f1f5f8;border-color:#c5d2dd}.portal-open:hover svg{transform:translateX(2px)}
.portal-module-footer form{margin:0}.portal-request{min-height:46px;padding:0;border:0;background:transparent;color:#132b46;font-weight:760;text-decoration:underline;text-decoration-color:#b9c5d1;text-underline-offset:5px;cursor:pointer}.portal-request:hover{background:transparent;color:#31516f;filter:none}
.portal-utility{margin-top:20px;padding:20px 22px;border-top:1px solid #dce5ed;display:flex;align-items:center;justify-content:space-between;gap:18px}.portal-utility>div{display:flex;align-items:center;gap:14px}.portal-utility-icon{width:42px;height:42px;border-radius:12px;background:#e5edf4;color:#132b46;display:grid;place-items:center}.portal-utility-icon svg{width:21px;height:21px}.portal-utility strong,.portal-utility small{display:block}.portal-utility small{margin-top:3px;color:#68798b}.portal-utility>a{min-height:44px;color:#132b46;font-weight:750;display:inline-flex;align-items:center;text-decoration:none}
.portal-empty{padding:40px;border-radius:20px;background:#fff}.portal-empty h1{margin-top:0;color:#132b46}
.portal-mobile-nav{display:none}
@media(max-width:900px){.portal-app{display:block}.portal-sidebar{display:none}.portal-workspace{padding:0 0 96px}.portal-topbar{height:74px;margin:0;padding:0 18px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid #dce5ed;position:sticky;top:0;z-index:20}.portal-topbar>img{display:block;width:116px;height:42px;object-fit:contain;object-position:left center;transform:scale(1.65);transform-origin:left center}.portal-topbar>span{display:none}.portal-content{padding:16px}.portal-hero{min-height:300px;padding:30px 24px 112px;border-radius:22px}.portal-site-picker{left:22px;right:22px;bottom:22px;width:auto}.portal-modules{grid-template-columns:1fr}.portal-module{min-height:245px}.portal-mobile-nav{position:fixed;z-index:30;left:12px;right:12px;bottom:12px;min-height:66px;padding:7px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);box-shadow:0 14px 45px rgba(15,35,55,.2);display:grid;grid-template-columns:repeat(3,1fr)}.portal-mobile-nav a{min-height:52px;border-radius:13px;color:#718294;text-decoration:none;font-size:11px;font-weight:750;display:grid;place-items:center;align-content:center;gap:3px}.portal-mobile-nav a.active{background:#edf2f6;color:#132b46;box-shadow:inset 0 0 0 1px #d9e3eb}.portal-mobile-nav svg{width:20px;height:20px}.portal-utility{padding-inline:4px}}
@media(max-width:540px){.portal-content{padding:12px}.portal-hero{padding:27px 21px 112px;border-radius:19px}.portal-hero h1{font-size:36px}.portal-hero>p{font-size:15px}.portal-section-title{align-items:start;flex-direction:column;margin-top:29px}.portal-modules{gap:13px}.portal-module{min-height:230px;padding:21px;border-radius:17px}.portal-module h3{margin-top:18px;font-size:23px}.portal-module-icon{width:50px;height:50px}.portal-module-footer{padding-top:21px}.portal-utility{align-items:flex-start}.portal-utility>div{align-items:flex-start}.portal-utility>a{white-space:nowrap}.portal-module-footer>span{display:none}}
@media(prefers-reduced-motion:reduce){.portal-shell *{scroll-behavior:auto!important;transition:none!important}}
