/* Plärrdeifl Portal V4 – kanonische Frontend-Oberfläche */

*{box-sizing:border-box}
html{min-height:100%;background:var(--canvas)}
body{margin:0;min-height:100vh;background:linear-gradient(145deg,#f6f9ff 0%,var(--canvas) 60%,#e7eef9 100%);color:var(--ink-900)}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
[hidden]{display:none!important}
.noscript{margin:20px;padding:18px;border-radius:16px;background:#fff0f1;color:var(--danger);font-weight:700}
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:calc(22px + var(--safe-top)) 18px calc(18px + var(--safe-bottom));background:linear-gradient(180deg,var(--blue-900),#062549);color:#fff;display:flex;flex-direction:column;overflow:hidden}
.brand{display:flex;align-items:center;gap:12px;padding:2px 8px 22px}
.brand img{width:54px;height:54px;border-radius:16px;box-shadow:0 6px 18px rgba(0,0,0,.24)}
.brand strong{display:block;font-size:1.05rem}
.brand span{display:block;margin-top:3px;color:#c7daf4;font-size:.82rem}
.nav{display:grid;gap:6px}
.nav button{width:100%;min-width:0;border:0;border-radius:13px;padding:12px 13px;background:transparent;color:#dce9fa;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer;font-weight:700}
.nav button:hover{background:rgba(255,255,255,.09);color:#fff}
.nav button.active{background:#fff;color:var(--blue-900);box-shadow:0 8px 22px rgba(0,0,0,.18)}
.nav-icon{width:26px;text-align:center;font-size:1.08rem}
.sidebar-footer{margin-top:auto;padding:20px 8px 4px;color:#bcd0e9;font-size:.8rem;line-height:1.45}
.app-main{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.topbar{min-height:var(--topbar-height);padding:calc(15px + var(--safe-top)) calc(26px + var(--safe-right)) 15px calc(26px + var(--safe-left));display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,228,240,.9);position:sticky;top:0;z-index:50}
.topbar-title h1{margin:0;font-size:1.35rem}
.topbar-title p{margin:4px 0 0;color:var(--ink-500);font-size:.9rem}
.topbar-actions{display:flex;align-items:center;gap:10px}
.mobile-menu-toggle{display:none}
.view{width:min(1180px,100%);margin:0 auto;padding:30px 30px 42px;outline:none;flex:1}
.app-footer{display:flex;justify-content:space-between;gap:16px;padding:18px 30px calc(18px + var(--safe-bottom));color:var(--ink-500);font-size:.8rem;border-top:1px solid var(--line)}
.app-splash{position:fixed;inset:0;z-index:1400;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;min-height:100dvh;padding:calc(32px + env(safe-area-inset-top)) 24px calc(32px + env(safe-area-inset-bottom));overflow:hidden;color:#fff;text-align:center;background:radial-gradient(circle at 50% 22%,rgba(47,119,207,.46),transparent 38%),
    radial-gradient(circle at 15% 80%,rgba(7,36,83,.42),transparent 45%),
    linear-gradient(155deg,#0b4f9c 0%,#0a4389 46%,#062b61 100%)}
.app-splash::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 1px,transparent 1px 7px),
    repeating-linear-gradient(25deg,rgba(0,0,0,.04) 0 1px,transparent 1px 9px)}
.app-splash>*{position:relative;z-index:1}
.app-splash img{width:min(260px,58vw);height:auto;border-radius:24%;box-shadow:0 24px 54px rgba(0,0,0,.3)}
.app-splash strong{margin-top:8px;color:#fff;font-size:clamp(1.7rem,5.5vw,2.35rem);font-weight:900;letter-spacing:-.025em}
.splash-loading-dots{display:flex;align-items:center;justify-content:center;gap:11px;height:24px}
.splash-loading-dots span{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.28);animation:pdSplashDot 1.35s infinite ease-in-out}
.splash-loading-dots span:nth-child(2){animation-delay:.13s}
.splash-loading-dots span:nth-child(3){animation-delay:.26s}
.splash-loading-dots span:nth-child(4){animation-delay:.39s}
.splash-loading-dots span:nth-child(5){animation-delay:.52s}
@keyframes pdSplashDot{0%,55%,100%{opacity:.34;transform:scale(.78)}
  22%{opacity:1;transform:scale(1.12);background:#fff}}
@media (prefers-reduced-motion:reduce){.splash-loading-dots span{animation:none}
.splash-loading-dots span:nth-child(-n+3){background:#fff;opacity:1}}
html,body{max-width:100%;overflow-x:clip}
.app-shell,.app-main,.view,#view{min-width:0;max-width:100%}
.app-splash{transition:opacity .18s ease,visibility .18s ease}
html[data-auth-transition="true"] body{overflow:hidden!important}
.splash-status{position:absolute;left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));bottom:calc(28px + env(safe-area-inset-bottom));display:grid;justify-items:center;gap:6px;max-width:760px;margin-inline:auto;color:#fff}
.splash-status>span{color:#fff;font-weight:850;font-size:clamp(.98rem,2.8vw,1.1rem)}
.splash-status small{color:#d9e9fb;line-height:1.45;max-width:680px}
.splash-reload{margin-top:8px;border:1px solid rgba(255,255,255,.5);border-radius:14px;background:rgba(255,255,255,.12);color:#fff;padding:11px 16px;font-weight:850;cursor:pointer;min-height:46px}
.splash-reload:hover,.splash-reload:focus-visible{background:#fff;color:var(--blue-900);outline:3px solid rgba(255,255,255,.28);outline-offset:3px}
.data-table-wrap,.module-tabs{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.grid,.list-grid,.admin-actions,.surface-grid,.form-grid,.settings-grid,.meta-grid,.dashboard-widget-grid,.split-view,.module-toolbar,.button-row,.section-title,.entity-head,.topbar,.topbar-actions{min-width:0}
.card,.entity-card,.dashboard-widget,.meta-item,.settings-row,.permission-row{min-width:0;overflow-wrap:anywhere}
img,svg,video,canvas,iframe{max-width:100%}
input,select,textarea,button{max-width:100%}
.page{display:grid;gap:22px}
.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.page-header h2{margin:0;font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:-.025em}
.page-header p{margin:7px 0 0;color:var(--ink-500);max-width:720px;line-height:1.55}
.hero{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:clamp(24px,4vw,44px);background:linear-gradient(135deg,var(--blue-900),var(--blue-700));color:#fff;box-shadow:var(--shadow-md)}
.hero:after{content:"";position:absolute;width:320px;height:320px;right:-95px;top:-140px;border-radius:50%;background:rgba(255,255,255,.09)}
.hero-content{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px}
.hero h2{font-size:clamp(1.9rem,4vw,3rem);margin:0;letter-spacing:-.035em}
.hero p{color:#d8e8fb;margin:12px 0 0;max-width:720px;line-height:1.6}
.hero img{width:150px;height:150px;border-radius:24%;box-shadow:0 15px 35px rgba(0,0,0,.25)}
.grid{display:grid;gap:18px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:22px;box-shadow:var(--shadow-sm)}
.card h3{margin:0 0 8px;font-size:1.05rem}
.card p{margin:0;color:var(--ink-500);line-height:1.55}
.card .card-icon{width:46px;height:46px;border-radius:14px;background:var(--blue-050);display:grid;place-items:center;font-size:1.3rem;margin-bottom:16px}
.card.disabled{opacity:.68}
.card-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 11px;background:var(--blue-050);color:var(--blue-900);font-size:.78rem;font-weight:800}
.status-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue-700)}
.status-pill.success{background:#e9f8f1;color:#0f6940}
.status-pill.success:before{background:var(--success)}
.status-pill.warning{background:#fff5df;color:#7a4700}
.status-pill.warning:before{background:#d98300}
.button{border:0;border-radius:13px;padding:12px 16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;cursor:pointer;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.button:hover{transform:translateY(-1px)}
.button.primary{background:var(--blue-800);color:#fff;box-shadow:0 8px 20px rgba(11,79,156,.22)}
.button.secondary{background:var(--blue-050);color:var(--blue-900)}
.button.ghost{background:#fff;color:var(--ink-700);border:1px solid var(--line)}
.button:disabled{cursor:not-allowed;opacity:.5;transform:none}
.icon-button{width:40px;height:40px;border:0;border-radius:12px;background:transparent;color:inherit;cursor:pointer;font-size:1.3rem}
.icon-button:hover{background:rgba(11,79,156,.08)}
.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.info-list{display:grid;gap:12px}
.info-item{display:flex;align-items:flex-start;gap:12px}
.info-item span:first-child{width:30px;height:30px;border-radius:10px;background:var(--blue-050);display:grid;place-items:center;flex:none}
.info-item strong{display:block;font-size:.92rem}
.info-item small{display:block;color:var(--ink-500);margin-top:2px;line-height:1.4}
.route-placeholder{min-height:380px;display:grid;place-items:center;text-align:center}
.route-placeholder-inner{max-width:620px}
.route-placeholder .big-icon{font-size:3rem}
.route-placeholder h2{font-size:1.9rem;margin:14px 0 8px}
.route-placeholder p{color:var(--ink-500);line-height:1.6;margin:0}
.toast-region{position:fixed;z-index:1200;right:calc(18px + var(--safe-right));bottom:calc(18px + var(--safe-bottom));display:grid;gap:10px}
.toast{max-width:360px;background:#13233b;color:#fff;border-radius:14px;padding:13px 15px;box-shadow:var(--shadow-md);animation:toast-in .2s ease}
.toast.error{background:#7b1721}
.toast.success{background:#10613d}
@keyframes toast-in{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.install-banner{position:fixed;z-index:1100;left:50%;bottom:calc(18px + var(--safe-bottom));transform:translateX(-50%);width:min(720px,calc(100% - 28px));background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 14px 14px 18px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:14px}
.install-banner div{min-width:0;flex:1}
.install-banner strong{display:block}
.install-banner span{display:block;color:var(--ink-500);font-size:.84rem;margin-top:3px;line-height:1.35}
.mobile-backdrop{display:none}
.backend-bridge{position:fixed!important;width:1px!important;height:1px!important;left:-9999px!important;top:-9999px!important;border:0!important;opacity:0!important;pointer-events:none!important}
.user-summary{display:grid;line-height:1.15;text-align:right;max-width:220px}
.user-summary strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-summary span{font-size:.74rem;color:var(--ink-500);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notice{margin-top:16px;padding:13px 15px;border-radius:13px;background:var(--blue-050);color:var(--blue-900);font-weight:700;line-height:1.45}
.notice.warning{background:#fff5df;color:#7a4700}
.notice.success{background:#e9f8f1;color:#0f6940}
.notice.error{background:#fff0f1;color:#7b1721}
.login-card{align-self:start}
.stat-card strong{display:block;font-size:clamp(1.35rem,3vw,2rem);margin-top:12px;color:var(--blue-900)}
.loading-card{min-height:120px;display:grid;align-content:center}
.topbar-leading{display:flex;align-items:center;gap:11px;min-width:0}
.topbar-title{min-width:0}
.module-shell{display:grid;gap:18px}
.module-tabs{display:flex;gap:8px;overflow:auto;padding:4px 2px 8px;scrollbar-width:thin}
.module-tab{flex:none;border:1px solid var(--line);background:#fff;color:var(--ink-700);border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer;white-space:nowrap}
.module-tab.active{background:var(--blue-800);border-color:var(--blue-800);color:#fff;box-shadow:0 7px 18px rgba(11,79,156,.2)}
.module-panel{display:grid;gap:18px}
.module-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.module-toolbar .grow{flex:1;min-width:220px}
.field,input,select,textarea{border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-900);padding:11px 12px;min-height:44px}
textarea{min-height:110px;resize:vertical}
.field:focus,input:focus,select:focus,textarea:focus{outline:3px solid rgba(19,105,189,.16);border-color:var(--blue-700)}
label{display:grid;gap:7px;color:var(--ink-700);font-size:.88rem;font-weight:750}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-grid .full{grid-column:1/-1}
.readonly{border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);padding:12px;min-height:44px}
.check-row{display:flex;gap:9px;align-items:center;font-weight:700}
.check-row input{min-height:auto;width:18px;height:18px;padding:0}
.table-card{padding:0;overflow:hidden}
.data-table-wrap{overflow:auto}
.data-table{width:100%;border-collapse:collapse;min-width:760px}
.data-table th,.data-table td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.data-table th{font-size:.77rem;color:var(--ink-500);text-transform:uppercase;letter-spacing:.045em;background:var(--surface-soft);position:sticky;top:0}
.data-table tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:#f9fbff}
.right{text-align:right!important}
.nowrap{white-space:nowrap}
.subtle{color:var(--ink-500);font-size:.82rem}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:850;background:#eef1f6;color:var(--ink-700)}
.badge.success{background:#e7f8ef;color:#0f6940}
.badge.warning{background:#fff3d8;color:#7a4700}
.badge.danger{background:#fff0f1;color:#8a1c27}
.badge.neutral{background:#eef1f6;color:var(--ink-700)}
.button.small{padding:8px 11px;border-radius:10px;font-size:.82rem}
.button.danger{background:var(--danger);color:#fff}
.button.link{background:transparent;color:var(--blue-800);padding:7px}
.button-row{display:flex;gap:8px;flex-wrap:wrap}
.loading-panel,.empty-state{min-height:150px;display:grid;place-content:center;justify-items:center;text-align:center;gap:12px;border:1px dashed var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,.55);color:var(--ink-500);padding:24px}
.spinner{width:30px;height:30px;border:3px solid var(--blue-100);border-top-color:var(--blue-800);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.section-title h3{margin:0}
.section-title p{margin:5px 0 0;color:var(--ink-500)}
.list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.entity-card{display:grid;gap:12px}
.entity-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.entity-head h3{margin:0}
.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.meta-item{background:var(--surface-soft);border-radius:12px;padding:10px}
.meta-item small{display:block;color:var(--ink-500);margin-bottom:3px}
.member-list{display:grid;gap:7px}
.member-line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;border-radius:11px;background:var(--surface-soft)}
.task-card{display:grid;gap:12px}
.task-title{font-weight:850}
.priority-high{border-left:5px solid #d98300}
.priority-urgent{border-left:5px solid var(--danger)}
.app-dialog{border:0;padding:0;background:transparent;width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 24px)}
.app-dialog.wide{width:min(1060px,calc(100% - 24px))}
.app-dialog::backdrop{background:rgba(4,18,38,.64);backdrop-filter:blur(3px)}
.dialog-shell{background:#fff;border-radius:22px;box-shadow:var(--shadow-md);overflow:hidden}
.dialog-shell>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line)}
.dialog-shell h2{margin:3px 0 0;font-size:1.35rem}
.dialog-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--blue-700);font-weight:900}
.dialog-body{padding:22px;max-height:calc(100dvh - 120px);overflow:auto}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.settings-grid{display:grid;gap:12px}
.settings-row{display:grid;grid-template-columns:1.4fr .7fr .7fr .7fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px}
.permission-grid{display:grid;gap:8px}
.permission-row{display:grid;grid-template-columns:1.5fr repeat(3,90px);gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}
.permission-row:last-child{border-bottom:0}
.permission-row label{display:flex;justify-content:center}
.permission-row input{width:18px;height:18px;min-height:auto}
.surface-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.surface-card{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fff}
.admin-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.admin-action{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;text-align:left;cursor:pointer}
.admin-action:hover{border-color:var(--blue-700);box-shadow:var(--shadow-sm)}
.admin-action strong{display:block;margin-bottom:5px}
.admin-action span{display:block;color:var(--ink-500);font-size:.84rem;line-height:1.4}
.code-output{background:#0b1930;color:#dbeaff;border-radius:14px;padding:14px;overflow:auto;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;max-height:380px}
.split-view{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.8fr);gap:16px}
.sticky-card{position:sticky;top:104px;align-self:start}
.danger-zone{border-color:#f0bdc2;background:#fff8f8}
.stat-card small{display:block;color:var(--ink-500);margin-top:8px}
.mobile-cards{display:none}
.google-signin-slot{min-height:44px;display:flex;align-items:center;justify-content:flex-start;margin:18px 0 10px;max-width:380px}
.google-signin-slot[aria-busy="true"]::before{content:"Google-Anmeldung wird geladen …";color:var(--muted);font-weight:700}
.google-signin-slot iframe{max-width:100%}
#updateBanner{bottom:calc(96px + var(--safe-bottom))}
.public-note{margin-top:14px;max-width:680px}
.public-section{scroll-margin-top:95px}
.public-content-grid{margin-top:4px}
.dashboard-widget-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.dashboard-widget{position:relative;min-height:180px;display:flex;flex-direction:column;gap:16px}
.dashboard-widget.widget-s{grid-column:span 3}
.dashboard-widget.widget-m{grid-column:span 6}
.dashboard-widget.widget-l{grid-column:span 12}
.dashboard-widget.is-clickable{cursor:pointer}
.dashboard-widget.is-clickable:hover{border-color:var(--blue-700);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.dashboard-widget:focus-visible{outline:3px solid rgba(19,105,189,.25)}
.dashboard-widget-head{display:flex;gap:12px;align-items:flex-start}
.dashboard-widget-head h3{margin:0}
.dashboard-widget-head p{margin:4px 0 0;color:var(--ink-500);font-size:.84rem}
.dashboard-widget-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--blue-050);font-size:1.35rem;flex:none}
.dashboard-widget-body{display:grid;gap:8px;margin-top:auto}
.widget-main-value{font-size:clamp(1.45rem,4vw,2.15rem);color:var(--blue-900)}
.widget-values{display:grid;gap:6px}
.widget-value-line{display:flex;justify-content:space-between;gap:12px;padding-top:7px;border-top:1px solid var(--line)}
.dashboard-widget-arrow{position:absolute;right:16px;bottom:13px;font-size:1.6rem;color:var(--blue-700)}
.role-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.portal-structure-row,.dashboard-config-row{grid-template-columns:minmax(220px,1.4fr) .45fr .55fr 1fr auto}
.install-banner{width:min(440px,calc(100% - 24px));bottom:calc(12px + var(--safe-bottom));border-radius:16px;padding:11px 12px 11px 14px;gap:10px}
.install-banner span{font-size:.78rem}
.install-banner .button{padding:9px 12px;font-size:.82rem}
.install-banner .icon-button{width:36px;height:36px}
.public-home-page{max-width:980px;margin:0 auto}
.public-page{max-width:920px;margin:0 auto}
.public-page-card{min-height:280px}
.public-page-card h2{margin-top:12px}
.install-instructions{margin:18px 0;color:var(--ink-700);line-height:1.65}
.install-instructions ol{margin:0;padding-left:24px}
.install-instructions li+li{margin-top:8px}
.google-signin-slot{position:relative;min-height:48px;display:flex;align-items:center}
.google-signin-slot.is-busy{pointer-events:none;opacity:.72}
.google-signin-slot.is-busy::after{content:attr(data-status);position:absolute;left:0;right:0;top:calc(100% + 7px);font-size:.78rem;color:var(--ink-500)}
.role-rights-toolbar{align-items:end}
.role-rights-role-select{min-width:min(320px,100%)}
.role-rights-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.role-rights-summary strong{font-size:1rem}
.role-rights-summary span:not(.badge){color:var(--ink-500);font-size:.84rem}
.permission-row-head{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:.76rem;text-transform:uppercase;letter-spacing:.045em;color:var(--ink-500)}
.role-rights-grid .permission-row:not(.permission-row-head){padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.role-rights-grid .permission-row:not(.permission-row-head):hover{border-color:var(--blue-100);background:#fbfdff}
.role-rights-actions{align-items:center;flex-wrap:wrap}
.role-rights-actions .subtle{margin-right:auto}
.field-error{display:block;min-height:1.25em;color:var(--danger,#a61b1b);font-weight:700;margin-top:.3rem}
.narrow-card{max-width:760px;margin-inline:auto}
.profile-completion-page input:invalid{border-color:var(--danger,#a61b1b)}
@media (max-width: 860px){:root{--topbar-height:70px}
.app-shell{display:block}
.sidebar{position:fixed;z-index:200;inset:0 auto 0 0;width:min(320px,86vw);height:100dvh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:var(--shadow-md)}
.sidebar.open{transform:translateX(0)}
.mobile-backdrop{position:fixed;z-index:190;inset:0;background:rgba(4,18,38,.55);backdrop-filter:blur(2px)}
.mobile-backdrop.show{display:block}
.mobile-menu-toggle{display:grid;place-items:center}
.topbar{padding-left:calc(14px + var(--safe-left));padding-right:calc(14px + var(--safe-right))}
.topbar-title h1{font-size:1.08rem}
.topbar-title p{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}
.topbar-actions .status-pill{display:none}
.view{padding:22px 16px 34px}
.app-footer{padding-left:16px;padding-right:16px}
.grid.two,.grid.three{grid-template-columns:1fr}
.hero-content{grid-template-columns:1fr}
.hero img{width:96px;height:96px;order:-1}
.page-header{align-items:flex-start;flex-direction:column}
.install-banner{align-items:flex-start;flex-wrap:wrap}
.install-banner .button{width:calc(100% - 52px)}}
@media (max-width: 480px){.hero{padding:24px 20px}
.card{padding:18px}
.view{padding-top:18px}
.app-footer{flex-direction:column;gap:4px}
.topbar-title p{max-width:45vw}}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media (max-width:720px){.user-summary{display:none!important}
.topbar-actions{gap:4px}
.topbar .status-pill{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media (max-width:860px){.form-grid,.list-grid,.surface-grid,.admin-actions,.split-view{grid-template-columns:1fr}
.settings-row{grid-template-columns:1fr 1fr}
.settings-row>*:first-child{grid-column:1/-1}
.permission-row{grid-template-columns:1fr repeat(3,62px)}
.data-table-wrap.desktop-only{display:none}
.mobile-cards{display:grid;gap:12px}
.entity-card{padding:16px}
.dialog-body{padding:16px}
.dialog-shell>header{padding:16px}
.module-toolbar>*{width:100%}
.module-toolbar .button-row,.button-row{width:auto}
.sticky-card{position:static}
.meta-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.settings-row{grid-template-columns:1fr}
.settings-row>*:first-child{grid-column:auto}
.permission-row{grid-template-columns:1fr;gap:5px}
.permission-row label{justify-content:flex-start}
.dialog-actions{flex-direction:column-reverse}
.dialog-actions .button{width:100%}
.meta-grid{grid-template-columns:1fr}}
@media (max-width:860px){.dashboard-widget.widget-s,.dashboard-widget.widget-m,.dashboard-widget.widget-l{grid-column:1/-1}
.portal-structure-row,.dashboard-config-row{grid-template-columns:1fr 1fr}
.portal-structure-row>*:first-child,.dashboard-config-row>*:first-child{grid-column:1/-1}
.role-check-grid{grid-template-columns:1fr}
.install-banner{align-items:center;flex-wrap:nowrap}
.install-banner .button{width:auto;flex:none}}
@media (max-width:520px){.portal-structure-row,.dashboard-config-row{grid-template-columns:1fr}
.install-banner{left:12px;right:12px;transform:none;width:auto}
.install-banner span{display:none}
.install-banner strong{font-size:.9rem}}
@media (max-width:520px){.app-splash{gap:18px}
.app-splash img{width:min(230px,62vw)}}
@media (max-width:520px){.permission-row-head{display:none}
.role-rights-grid .permission-row{grid-template-columns:1fr repeat(3,52px);gap:7px}
.role-rights-grid .permission-row>div:first-child{grid-column:1/-1}
.role-rights-grid .permission-row label{justify-content:center;padding:8px 0;border-radius:9px;background:var(--surface-soft)}
.role-rights-actions{align-items:stretch}
.role-rights-actions .subtle{width:100%;margin:0 0 4px}}
@media (max-width: 700px){.view{width:100%;padding-left:max(14px,var(--safe-left));padding-right:max(14px,var(--safe-right))}
.topbar{max-width:100%;overflow:hidden}
.topbar-title{min-width:0;flex:1}
.topbar-actions{flex:none}
.module-toolbar,.section-title,.entity-head{flex-wrap:wrap}
.module-toolbar>.grow,.module-toolbar>input,.module-toolbar>select{min-width:0;width:100%}
.button-row{display:flex;flex-wrap:wrap}
.data-table{min-width:680px}
.app-dialog,.app-dialog.wide{width:calc(100% - 16px);max-width:calc(100% - 16px)}
.dialog-shell,.dialog-body{max-width:100%}
.splash-status{bottom:calc(20px + env(safe-area-inset-bottom))}}
@media (max-width: 420px){.topbar-title p{max-width:42vw}
.app-footer{overflow-wrap:anywhere}
.module-tabs{margin-inline:-2px;padding-bottom:4px}
.module-tab{white-space:nowrap}}
html,body{max-width:100%;overflow-x:hidden}
body{background:var(--canvas);color:var(--ink-900)}
.app-splash{gap:16px;background:radial-gradient(circle at 50% 18%,rgba(20,120,226,.34),transparent 34%),linear-gradient(160deg,#052b4d 0%,#031a30 58%,#020f1d 100%)}
.app-splash::before{opacity:.11}
.splash-logo-shell{width:min(166px,42vw);aspect-ratio:1;border-radius:34px;padding:10px;background:rgba(255,255,255,.96);box-shadow:0 28px 70px rgba(0,0,0,.34);display:grid;place-items:center}
.app-splash .splash-logo-shell img{width:100%;height:100%;object-fit:contain;border-radius:25%;box-shadow:none}
.splash-wordmark{display:flex;flex-direction:column;align-items:center;line-height:.92;margin-top:5px}
.splash-wordmark strong{margin:0;color:#1689ff;font-family:var(--font-brand);font-size:clamp(2rem,8vw,3.25rem);font-weight:900;letter-spacing:-.055em}
.splash-wordmark span{margin-top:12px;color:#fff;font-size:clamp(.95rem,3.6vw,1.25rem);font-weight:900;letter-spacing:.18em}
.splash-status{margin-top:14px;display:grid;justify-items:center;gap:5px;color:#fff}
.splash-status>span{font-weight:800}
.splash-status small{color:#bcd0e4}
.splash-reload{margin-top:12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;padding:11px 16px;font-weight:800}
.app-shell{background:var(--canvas)}
.sidebar{background:radial-gradient(circle at 20% 5%,rgba(25,132,237,.18),transparent 34%),linear-gradient(180deg,#052944 0%,#031a30 52%,#021322 100%);padding:calc(25px + var(--safe-top)) 18px calc(18px + var(--safe-bottom));border-right:1px solid rgba(255,255,255,.06)}
.brand{padding:0 7px 20px;gap:13px}
.brand-logo-shell{width:60px;height:60px;border-radius:18px;padding:5px;background:#fff;box-shadow:0 14px 30px rgba(0,0,0,.25);flex:none}
.brand-logo-shell img{display:block;width:100%;height:100%;object-fit:contain;border-radius:14px;box-shadow:none}
.brand-wordmark{display:flex;flex-direction:column;line-height:.9}
.brand-wordmark strong{font-family:var(--font-brand);font-size:1.42rem;color:#1689ff;letter-spacing:-.045em}
.brand-wordmark span{margin-top:8px;color:#fff;font-size:.8rem;font-weight:900;letter-spacing:.16em}
.sidebar-caption{margin:0 9px 12px;color:#7e9ab5;font-size:.7rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.nav{gap:7px}
.nav button{min-height:49px;border-radius:15px;padding:11px 13px;color:#b9c9d8;font-size:.94rem;transition:background .18s ease,color .18s ease,transform .18s ease}
.nav button:hover{background:rgba(255,255,255,.075);transform:translateX(2px)}
.nav button.active{background:linear-gradient(135deg,#1689ff,#0b6fd0);color:#fff;box-shadow:0 12px 28px rgba(11,111,208,.28)}
.nav-icon{width:25px;height:25px;display:grid;place-items:center;flex:none}
.nav-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sidebar-footer{padding:18px 7px 3px}
.app-main{background:var(--canvas)}
.topbar{min-height:var(--topbar-height);padding:calc(14px + var(--safe-top)) calc(28px + var(--safe-right)) 14px calc(28px + var(--safe-left));background:rgba(255,255,255,.92);border-bottom:1px solid rgba(225,231,239,.92);box-shadow:0 5px 20px rgba(4,28,51,.035);backdrop-filter:blur(18px)}
.topbar-title h1{font-size:1.28rem;letter-spacing:-.025em}
.topbar-title p{color:var(--ink-500)}
.mobile-brand{display:none}
.topbar-actions{gap:9px}
.topbar .status-pill{padding:8px 12px;background:#e8f8f0;color:#0f7143}
.topbar .status-pill.warning{background:#fff4d8;color:#825600}
.user-summary{display:flex;align-items:center;gap:9px;text-align:left;max-width:245px;padding:5px 8px 5px 5px;border:1px solid var(--line);border-radius:999px;background:#fff}
.user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#1689ff,#075da9);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.02em}
.user-summary-copy{display:grid;min-width:0}
.user-summary-copy strong,.user-summary-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-summary-copy strong{font-size:.8rem}
.user-summary-copy small{font-size:.68rem;color:var(--ink-500);margin-top:2px}
.icon-button{display:grid;place-items:center;border-radius:13px}
.icon-button:hover{background:var(--blue-050)}
.view{width:min(1220px,100%);padding:31px 32px 48px}
.app-footer{color:#8794a5;background:transparent}
.page{gap:22px}
.page-header h2{color:var(--ink-950);font-weight:900}
.card{border-color:rgba(225,231,239,.95);border-radius:20px;box-shadow:var(--shadow-card);padding:22px}
.button{min-height:46px;border-radius:14px}
.button.primary{background:linear-gradient(135deg,#1689ff,#0b6fd0);box-shadow:0 10px 24px rgba(11,111,208,.22)}
.button.secondary{background:#eaf4ff;color:#075da9}
.button.ghost{border-color:var(--line);box-shadow:var(--shadow-xs)}
.status-pill{padding:7px 11px;font-weight:850}
.module-tabs{gap:9px}
.module-tab{min-height:44px;border-radius:14px;box-shadow:var(--shadow-xs)}
.module-tab.active{background:#0c76df;border-color:#0c76df}
.field,input,select,textarea{border-radius:14px;border-color:#dbe3ec;background:#fff}
.loading-panel,.empty-state{border-radius:20px}
.dialog-shell{border-radius:26px}
.toast{border-radius:16px}
.install-banner{border-radius:20px}
.dashboard-page{gap:0;max-width:1120px;margin:0 auto}
.dashboard-widget-grid{display:grid;grid-template-columns:1fr;gap:14px}
.dashboard-widget{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:126px;padding:18px 20px;border:0;border-radius:20px;background:#fff;box-shadow:var(--shadow-card);transition:transform .18s ease,box-shadow .18s ease}
.dashboard-widget.widget-s,.dashboard-widget.widget-m,.dashboard-widget.widget-l{grid-column:auto}
.dashboard-widget.is-clickable:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(4,28,51,.13)}
.dashboard-widget:focus-visible{outline:3px solid rgba(22,137,255,.24);outline-offset:2px}
.dashboard-widget-icon{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;background:#e8f8ef;color:#159958}
.dashboard-widget-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-widget.tone-yellow .dashboard-widget-icon{background:#fff3d5;color:#d39500}
.dashboard-widget.tone-blue .dashboard-widget-icon{background:#e8f2ff;color:#126fd0}
.dashboard-widget.tone-purple .dashboard-widget-icon{background:#f0e9ff;color:#7046df}
.dashboard-widget.tone-red .dashboard-widget-icon{background:#ffebed;color:#d93240}
.dashboard-widget.tone-teal .dashboard-widget-icon{background:#e4f7f5;color:#008f82}
.dashboard-widget-main{min-width:0}
.dashboard-widget-head{display:block}
.dashboard-widget-head h3{margin:0;font-size:1.08rem;color:var(--ink-950)}
.dashboard-widget-head p{margin:5px 0 0;color:var(--ink-500);font-size:.86rem;line-height:1.42}
.dashboard-widget-body{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px}
.dashboard-widget-body p{margin:0;color:var(--ink-700);font-size:.83rem}
.dashboard-widget-body small{color:var(--ink-500)}
.widget-main-value{font-size:1rem;color:var(--ink-900)}
.widget-values{display:flex;gap:7px;flex-wrap:wrap}
.widget-value-line{display:inline-flex;gap:5px;border:0;padding:5px 9px;border-radius:9px;background:var(--surface-soft);font-size:.75rem}
.dashboard-value-badge{display:inline-flex;align-items:center;min-height:27px;padding:5px 10px;border-radius:9px;background:#e7f7ed;color:#0d8148;font-size:.78rem;font-weight:850}
.dashboard-value-badge.warning{background:#fff1ca;color:#8a5d00}
.dashboard-value-badge.info{background:#e8f2ff;color:#0d65be}
.dashboard-value-badge.purple{background:#efe7ff;color:#6634d2}
.dashboard-count-bubble{min-width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffc400;color:#342400;font-weight:950}
.dashboard-widget-arrow{position:static;width:36px;height:36px;border-radius:12px;background:var(--surface-soft);color:var(--ink-900);display:grid;place-items:center;font-size:1.55rem}
.dashboard-widget:not(.is-clickable) .dashboard-widget-arrow{visibility:hidden}
.dashboard-widget-side{display:flex;align-items:center;gap:10px}
@media (max-width:860px){:root{--topbar-height:78px}
body{background:#f8fafc}
.app-shell{display:block;background:#f8fafc}
.app-main{background:#f8fafc}
.sidebar{width:min(320px,88vw)}
.topbar{min-height:calc(var(--topbar-height) + var(--safe-top));padding:calc(11px + var(--safe-top)) calc(15px + var(--safe-right)) 11px calc(13px + var(--safe-left));background:linear-gradient(135deg,#052b4b,#03192e);border:0;color:#fff;box-shadow:none;position:sticky;top:0}
.topbar-leading{gap:11px}
.mobile-menu-toggle{display:grid;color:#fff}
.menu-lines{display:grid;gap:4px}
.menu-lines i{display:block;width:23px;height:2px;border-radius:3px;background:currentColor}
.mobile-brand{display:flex;align-items:center;gap:9px;min-width:0}
.mobile-brand img{width:38px;height:38px;border-radius:11px;background:#fff;padding:3px}
.mobile-brand>span{display:flex;flex-direction:column;line-height:.88}
.mobile-brand strong{font-family:var(--font-brand);font-size:1.05rem;color:#1689ff;letter-spacing:-.04em}
.mobile-brand small{margin-top:6px;color:#fff;font-size:.57rem;font-weight:900;letter-spacing:.16em}
.topbar-title{display:none}
.topbar-actions{margin-left:auto}
.topbar .status-pill,.user-summary-copy{display:none!important}
.user-summary{display:flex!important;border:0;padding:0;background:transparent}
.user-avatar{width:40px;height:40px;border:2px solid rgba(255,255,255,.72);background:linear-gradient(135deg,#1689ff,#0b6fd0)}
.view{width:100%;padding:0 0 24px}
.app-footer{display:none}
.page:not(.dashboard-page){padding:22px 16px 28px}
.page:not(.dashboard-page)>.page-header{margin-bottom:2px}
.dashboard-page{width:100%;max-width:none}
.dashboard-widget{grid-template-columns:54px minmax(0,1fr) 34px;gap:13px;min-height:123px;padding:17px 15px;border-radius:19px}
.dashboard-widget-icon{width:54px;height:54px;border-radius:18px}
.dashboard-widget-head h3{font-size:1.02rem}
.dashboard-widget-head p{font-size:.81rem}
.dashboard-widget-body{margin-top:8px}
.dashboard-widget-arrow{width:32px;height:32px;background:transparent}
.toast-region{right:12px;left:12px}
.toast{max-width:none}}
@media (max-width:420px){.dashboard-widget{grid-template-columns:50px minmax(0,1fr) 28px;padding-left:13px;padding-right:12px}
.dashboard-widget-icon{width:50px;height:50px}}
@media (min-width:861px){.dashboard-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-widget{grid-template-columns:58px minmax(0,1fr) 38px}
.dashboard-widget.widget-l{grid-column:1/-1}
.dashboard-widget.widget-s,.dashboard-widget.widget-m{grid-column:auto}}
@media (prefers-reduced-motion:reduce){.dashboard-widget,.nav button{transition:none}}
@media (max-width:860px){.user-summary[hidden]{display:none!important}}
.dashboard-widget.tone-green .dashboard-widget-icon{background:#e8f8ef;color:#159958}
.app-shell,.app-main,.view,#view,.page,.page-header,.module-shell,.module-panel,.module-toolbar,.module-tabs,.card,.list-grid,.mobile-cards{min-width:0;max-width:100%}
.page,.module-shell,.module-panel{width:100%}
.page-header h2,.page-header p,.section-title h3,.section-title p,.entity-head,.entity-card,.task-card,.member-line{overflow-wrap:anywhere}
.data-table-wrap,.code-output{max-width:100%}
@media (max-width:860px){html,body{width:100%;max-width:100%;overflow-x:clip}
.app-main,.view,#view{width:100%;max-width:100%;overflow-x:clip}
.page:not(.dashboard-page){width:100%;max-width:100%;overflow-x:clip}
.module-shell,.module-panel,.module-toolbar{width:100%;max-width:100%;min-width:0}
.module-toolbar>*{min-width:0;max-width:100%}
.module-toolbar .grow{min-width:0}
.module-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:100%;padding:0;overflow:visible}
.module-tab{width:100%;min-width:0;min-height:48px;padding:10px 8px;white-space:normal;text-align:center;line-height:1.2}
.card,.entity-card,.task-card,.member-line,.section-title{min-width:0;max-width:100%}
.member-line,.entity-head,.section-title{flex-wrap:wrap}
.data-table-wrap{width:100%;max-width:100%;overflow:auto}}
@media (max-width:420px){.module-tabs{grid-template-columns:1fr}}
.p3-card-eyebrow{display:block;margin-bottom:10px;color:#70baff;font-size:.73rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.app-dialog{scrollbar-gutter:stable}
.dialog-shell{border:1px solid rgba(216,226,237,.8);box-shadow:0 24px 70px rgba(2,19,33,.24)}
.dialog-shell>header{background:linear-gradient(180deg,#fff,#fbfdff);padding:21px 23px}
.dialog-shell h2{font-size:1.42rem;letter-spacing:-.025em}
.dialog-kicker{letter-spacing:.11em}
.dialog-body{background:#f8fafc;padding:22px 23px}
.dialog-body>form,.dialog-body>.settings-grid,.dialog-body>.card,.dialog-body>.notice{position:relative}
.dialog-body .card{border-color:#e1e8f0;border-radius:18px;box-shadow:var(--shadow-xs)}
.dialog-actions{position:sticky;bottom:-22px;z-index:4;margin:20px -23px -22px;padding:14px 23px calc(14px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);box-shadow:0 -8px 22px rgba(4,28,51,.06)}
.app-dialog .icon-button{width:40px;height:40px;border-radius:13px;background:#edf5ff;color:#0d75d8;font-size:1.25rem}
.app-dialog .form-grid{gap:15px}
.app-dialog label{font-size:.83rem}
.app-dialog input,.app-dialog select,.app-dialog textarea{border-radius:14px}
.app-dialog .notice{border-radius:16px}
.app-dialog .settings-row{border-radius:17px;background:#fff}
.app-dialog .permission-row{padding:11px 0}
.role-rights-toolbar,.role-rights-summary,.role-rights-actions{border-radius:16px}
.role-rights-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;background:#edf5ff;color:#36536f}
.p3-fanbus-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.p3-fanbus-primary-card{grid-column:1/-1;display:grid;grid-template-columns:74px minmax(0,1fr);gap:18px;align-items:center;padding:22px;border:1px solid #dce7f2;border-radius:23px;background:linear-gradient(145deg,#fff,#f5f9ff);box-shadow:var(--shadow-card)}
.p3-fanbus-icon{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,#1689ff,#075da9);color:#fff;font-size:2rem;box-shadow:0 12px 26px rgba(11,111,208,.22)}
.p3-fanbus-primary-card h3{margin:0;color:var(--ink-950);font-size:1.32rem}
.p3-fanbus-primary-card p{margin:7px 0 0;color:var(--ink-600);line-height:1.55}
.p3-preview-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:11px;align-items:start;padding:17px;border:1px solid #e2e8f0;border-radius:19px;background:#fff;box-shadow:var(--shadow-xs)}
.p3-preview-icon{grid-row:1/3;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#eaf4ff;color:#0d75d8;font-size:1.1rem;font-weight:900}
.p3-preview-card strong{align-self:end}
.p3-preview-card p{margin:2px 0 0;color:var(--ink-500);font-size:.78rem;line-height:1.42}
@media (max-width:860px){.p3-fanbus-preview-grid{grid-template-columns:1fr}
.p3-fanbus-primary-card{grid-column:auto}
.dialog-body{padding:17px}
.dialog-actions{bottom:-17px;margin:18px -17px -17px;padding:13px 17px calc(13px + env(safe-area-inset-bottom))}}
@media (max-width:520px){.p3-fanbus-primary-card{grid-template-columns:1fr;text-align:center}
.p3-fanbus-icon{margin:0 auto}
.p3-preview-card{grid-template-columns:42px minmax(0,1fr)}
.p3-preview-icon{width:42px;height:42px}
.dialog-shell{border-radius:22px}
.dialog-shell>header{padding:16px 17px}
.dialog-body{padding:14px}
.dialog-actions{bottom:-14px;margin:16px -14px -14px;padding:12px 14px calc(12px + env(safe-area-inset-bottom))}}
.google-signin-slot.is-authenticating{position:relative;min-height:48px;overflow:hidden}
.google-signin-slot.is-authenticating>*{visibility:hidden!important;pointer-events:none!important}
.google-signin-slot.is-authenticating::before{content:"Google-Konto und Rechte werden geprüft …"!important;display:flex!important;align-items:center;min-height:48px;width:100%;color:var(--ink-500);font-weight:750;line-height:1.35}
.splash-logo-shell,.brand-logo-shell,.auth-brand-logo-shell{padding:1px!important}
.mobile-brand img{padding:0!important}
.splash-logo-shell img,.brand-logo-shell img,.mobile-brand img,.auth-brand-logo-shell img{object-fit:contain!important;object-position:center}
.button,.auth-card button:not(.icon-button),.auth-card .button{min-height:46px;font-size:.86rem;line-height:1.1;white-space:nowrap}
.button.small{min-height:40px;font-size:.78rem;white-space:nowrap}
.button>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-route="profile"] .app-shell{grid-template-columns:minmax(0,1fr)}
html[data-route="profile"] #sidebarSlot,html[data-route="profile"] #topbarSlot,html[data-route="profile"] .app-footer{display:none!important}
html[data-route="profile"] .app-main{min-height:100dvh;padding:0!important;background:#f8fafc}
html[data-route="profile"] .view{width:100%;max-width:none;padding:0!important}
.auth-page{width:100%;min-height:100dvh;display:grid;grid-template-columns:minmax(310px,.88fr) minmax(390px,1.12fr);overflow:hidden;background:#f8fafc}
.auth-brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:calc(48px + env(safe-area-inset-top)) 34px calc(48px + env(safe-area-inset-bottom));color:#fff;text-align:center;background:radial-gradient(circle at 50% 18%,rgba(20,120,226,.34),transparent 34%),linear-gradient(160deg,#052b4d 0%,#031a30 58%,#020f1d 100%)}
.auth-brand-panel::after{content:"";position:absolute;inset:0;opacity:.1;pointer-events:none;background-image:repeating-linear-gradient(120deg,rgba(255,255,255,.07) 0 1px,transparent 1px 9px)}
.auth-brand-panel>*{position:relative;z-index:1}
.auth-brand-logo-shell{width:min(170px,42vw);aspect-ratio:1;display:grid;place-items:center;border-radius:34px;background:#fff;box-shadow:0 28px 70px rgba(0,0,0,.34)}
.auth-brand-logo-shell img{display:block;width:100%;height:100%;border-radius:31px}
.auth-brand-wordmark{display:flex;flex-direction:column;align-items:center;line-height:.92;margin-top:24px}
.auth-brand-wordmark strong{color:#1689ff;font-family:var(--font-brand);font-size:clamp(2.15rem,6vw,3.35rem);font-weight:900;letter-spacing:-.055em}
.auth-brand-wordmark span{margin-top:12px;color:#fff;font-size:clamp(.88rem,2.5vw,1.1rem);font-weight:900;letter-spacing:.2em}
.auth-brand-panel p{max-width:430px;margin:24px 0 0;color:#bfd2e5;line-height:1.55}
.auth-card-wrap{display:grid;place-items:center;padding:38px clamp(24px,5vw,70px)}
.auth-card{width:min(540px,100%);border:1px solid rgba(219,227,236,.96);border-radius:28px;background:#fff;padding:clamp(24px,4vw,36px);box-shadow:0 24px 65px rgba(4,28,51,.13)}
.auth-card-header{display:grid;gap:10px}
.auth-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.auth-title-copy{min-width:0}
.auth-eyebrow{color:#1689ff;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.auth-card h2{margin:5px 0 0;color:var(--ink-950);font-size:clamp(1.75rem,4vw,2.3rem);letter-spacing:-.035em}
.auth-card #loginMessage,.auth-card .auth-intro{margin:10px 0 0;color:var(--ink-500);line-height:1.55}
.auth-card #loginStatusPill{flex:none;margin-top:4px;font-size:.7rem;padding:6px 9px}
.auth-card .notice{margin-top:18px}
.auth-card .google-signin-slot{width:100%;max-width:none;min-height:52px;margin:22px 0 10px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.auth-card .google-signin-slot>div,.auth-card .google-signin-slot iframe{max-width:100%!important}
.auth-security-note{display:flex;align-items:flex-start;gap:9px;margin:14px 0 0;color:var(--ink-500);font-size:.79rem;line-height:1.45}
.auth-security-note svg{width:18px;height:18px;flex:none;fill:none;stroke:#1689ff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.auth-help{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}
.auth-help summary{cursor:pointer;color:#075da9;font-size:.84rem;font-weight:850;list-style:none}
.auth-help summary::-webkit-details-marker{display:none}
.auth-help summary::after{content:"+";float:right;font-size:1.1rem}
.auth-help[open] summary::after{content:"−"}
.auth-help-content{display:grid;gap:12px;margin-top:14px;padding:14px;border-radius:16px;background:#f5f8fc}
.auth-help .info-list{gap:10px}
.auth-help .info-item span:first-child{width:28px;height:28px}
.auth-help .info-item strong{font-size:.82rem}
.auth-help .info-item small{font-size:.74rem}
.auth-help .action-row{margin-top:2px}
.auth-help .button{width:100%}
.auth-registration-account{grid-column:1/-1;padding:13px 14px;border:1px solid #dce6f0;border-radius:14px;background:#f5f8fc}
.auth-registration-account small{display:block;color:var(--ink-500);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.auth-registration-account strong{display:block;margin-top:5px;overflow-wrap:anywhere;color:var(--ink-900)}
.auth-card #registrationSlot{margin-top:18px}
.auth-card #registrationSlot .form-grid{margin-top:16px}
.auth-card #registrationSlot .dialog-actions{position:static;margin:4px 0 0;padding:0;border:0;box-shadow:none;background:transparent}
.auth-card #registrationSlot .dialog-actions .button{width:100%}
.auth-pending-state{display:grid;justify-items:center;gap:12px;padding:20px 0 2px;text-align:center}
.auth-pending-icon{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:#eaf4ff;color:#0b6fd0;font-size:1.6rem}
.auth-pending-state h3{margin:2px 0 0;font-size:1.2rem}
.auth-pending-state p{margin:0;color:var(--ink-500);line-height:1.5}
.auth-pending-actions{width:100%;display:grid;gap:9px;margin-top:6px}
.auth-pending-actions .button{width:100%}
.auth-profile-card .form-grid{margin-top:20px}
.auth-profile-card .dialog-actions{position:static;display:grid;grid-template-columns:1fr;gap:9px;margin:5px 0 0;padding:0;background:transparent;box-shadow:none}
.auth-profile-card .dialog-actions .button{width:100%}
@media (max-width:860px){.sidebar{width:min(360px,92vw);padding-left:14px;padding-right:14px}
.sidebar .sidebar-caption,.sidebar .sidebar-footer{display:none!important}
.mobile-menu-avatar{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#1689ff,#0b6fd0);color:#fff;font-weight:950}
.mobile-menu-subroutes{display:grid;gap:5px;padding-left:14px}
body.mobile-menu-open{overflow:hidden}
.auth-page{display:block;min-height:100dvh;overflow:visible}
.auth-brand-panel{min-height:282px;padding:calc(30px + env(safe-area-inset-top)) 22px 75px}
.auth-brand-logo-shell{width:min(142px,37vw);border-radius:29px}
.auth-brand-logo-shell img{border-radius:27px}
.auth-brand-wordmark{margin-top:16px}
.auth-brand-wordmark strong{font-size:2.2rem}
.auth-brand-wordmark span{margin-top:9px;font-size:.78rem}
.auth-brand-panel p{margin-top:14px;font-size:.85rem}
.auth-card-wrap{display:block;padding:0 14px calc(24px + env(safe-area-inset-bottom));margin-top:-48px;position:relative;z-index:2}
.auth-card{width:100%;border-radius:25px;padding:24px 20px;box-shadow:0 20px 48px rgba(4,28,51,.17)}
.auth-title-row{gap:10px}
.auth-card h2{font-size:1.72rem}
.auth-card #loginStatusPill{font-size:.64rem;padding:5px 8px}
.auth-card .google-signin-slot{margin-top:19px}
.auth-card .form-grid{grid-template-columns:1fr}
.auth-card .form-grid .full{grid-column:auto}}
@media (max-width:360px){.auth-brand-panel{min-height:260px;padding-left:17px;padding-right:17px}
.auth-brand-logo-shell{width:118px}
.auth-brand-panel p{font-size:.79rem}
.auth-card-wrap{padding-left:9px;padding-right:9px}
.auth-card{padding:21px 16px}
.auth-card h2{font-size:1.52rem}
.auth-title-row{display:grid}
.auth-card #loginStatusPill{justify-self:start}}
@media (prefers-reduced-motion:reduce){.auth-card,.auth-brand-panel{transition:none!important}}
button,.button{white-space:nowrap}
.button{min-height:46px;font-size:.86rem;line-height:1.1}
.button.small{min-height:40px;font-size:.78rem}
.button{overflow:hidden;text-overflow:ellipsis}
html[data-route="profile"] .app-main{background:#f8fafc!important}
html[data-route="profile"] .view{overflow:visible!important}
.auth-page{display:block;width:100%;min-height:100dvh;overflow-x:hidden!important;background:#f8fafc;padding-bottom:40px}
.auth-brand-panel{min-height:300px!important;width:100%;justify-content:flex-start!important;padding:calc(34px + env(safe-area-inset-top)) 22px 86px!important;background:radial-gradient(circle at 50% 8%,rgba(20,120,226,.35),transparent 31%),linear-gradient(160deg,#052b4d 0%,#031a30 58%,#020f1d 100%)!important}
.auth-brand-logo-shell{width:106px!important;border-radius:25px!important;padding:1px!important}
.auth-brand-logo-shell img{border-radius:23px!important}
.auth-brand-wordmark{margin-top:16px!important}
.auth-brand-wordmark strong{font-size:2.35rem!important}
.auth-brand-wordmark span{margin-top:9px!important;font-size:.82rem!important}
.auth-brand-panel p{margin-top:14px!important;font-size:.88rem!important;max-width:520px!important}
.auth-card-wrap{display:block!important;width:min(600px,100%);margin:-62px auto 0!important;padding:0 20px calc(38px + env(safe-area-inset-bottom))!important;position:relative;z-index:2}
.auth-card{width:100%!important;padding:30px 32px!important;border-radius:27px!important;box-shadow:0 24px 64px rgba(4,28,51,.16)!important}
.auth-card h2{font-size:clamp(1.82rem,3vw,2.25rem)!important}
.auth-card .google-signin-slot{min-height:54px!important}
@media (min-width:861px){html,body{max-width:100%!important;overflow-x:hidden!important}
.app-shell{width:100%;min-height:100dvh;grid-template-columns:var(--sidebar-width) minmax(0,1fr)!important}
.sidebar{position:sticky!important;top:0!important;height:100dvh!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;align-self:start}
.app-main{width:100%;min-width:0;overflow-x:hidden!important}
.topbar{width:100%;min-width:0}
.view{width:100%!important;max-width:1500px!important;min-width:0!important;padding-left:clamp(24px,2.4vw,40px)!important;padding-right:clamp(24px,2.4vw,40px)!important;overflow-x:auto;scrollbar-width:none}
.view::-webkit-scrollbar{height:0}
#view>.page,.page{width:100%;min-width:0;max-width:100%}
.module-toolbar{min-width:0;flex-wrap:wrap!important}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:861px) and (max-width:1180px){.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
.topbar-actions{position:relative}
.corr4-horizontal-scrollbar{position:fixed;right:0;bottom:0;z-index:130;height:17px;overflow-x:auto;overflow-y:hidden;border-top:1px solid #d8e2ec;background:rgba(248,250,252,.97);box-shadow:0 -5px 16px rgba(4,28,51,.08)}
.corr4-horizontal-scrollbar>div{height:1px}
.corr4-scroll-target{scrollbar-width:none!important}
.corr4-scroll-target::-webkit-scrollbar{height:0!important}
body.corr4-scrollbar-visible .app-footer{padding-bottom:32px}
@media (max-width:860px){.auth-page{padding-bottom:20px}
.auth-brand-panel{min-height:270px!important;padding:calc(28px + env(safe-area-inset-top)) 18px 74px!important}
.auth-brand-logo-shell{width:96px!important;border-radius:23px!important}
.auth-brand-logo-shell img{border-radius:21px!important}
.auth-brand-wordmark{margin-top:14px!important}
.auth-brand-wordmark strong{font-size:2.05rem!important}
.auth-brand-wordmark span{font-size:.75rem!important}
.auth-brand-panel p{margin-top:12px!important;font-size:.82rem!important}
.auth-card-wrap{width:100%;margin:-52px auto 0!important;padding:0 12px calc(24px + env(safe-area-inset-bottom))!important}
.auth-card{padding:24px 20px!important;border-radius:25px!important}
.auth-card h2{font-size:1.72rem!important}
.corr4-horizontal-scrollbar{display:none!important}}
@media (max-width:360px){.auth-brand-panel{min-height:252px!important;padding-left:14px!important;padding-right:14px!important}
.auth-brand-logo-shell{width:86px!important}
.auth-brand-wordmark strong{font-size:1.85rem!important}
.auth-card-wrap{padding-left:8px!important;padding-right:8px!important}
.auth-card{padding:21px 16px!important}}
:root{--corr5-auth-blue-1:#06335b;--corr5-auth-blue-2:#031f3a;--corr5-auth-blue-3:#020f1d}
html[data-route="profile"],html[data-route="profile"] body,html[data-route="profile"] .app-main{background:linear-gradient(160deg,var(--corr5-auth-blue-1) 0%,var(--corr5-auth-blue-2) 58%,var(--corr5-auth-blue-3) 100%)!important}
html[data-route="profile"] .view{background:transparent!important}
.auth-page{position:relative;isolation:isolate;min-height:100dvh;padding-bottom:max(44px,calc(28px + env(safe-area-inset-bottom)))!important;background:radial-gradient(circle at 50% 7%,rgba(25,132,235,.35),transparent 31%),
    radial-gradient(circle at 12% 78%,rgba(10,79,147,.28),transparent 42%),
    linear-gradient(160deg,var(--corr5-auth-blue-1) 0%,var(--corr5-auth-blue-2) 58%,var(--corr5-auth-blue-3) 100%)!important}
.auth-page::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.11;background-image:repeating-linear-gradient(120deg,rgba(255,255,255,.08) 0 1px,transparent 1px 9px)}
.auth-page>*{position:relative;z-index:1}
.auth-brand-panel{background:transparent!important}
.auth-brand-panel::after{display:none!important}
.auth-card-wrap{background:transparent!important}
.auth-card{border-color:rgba(219,227,236,.98)!important;box-shadow:0 28px 72px rgba(0,0,0,.28)!important}
.auth-card,.auth-title-row,.auth-title-copy,.google-signin-slot,.google-signin-slot>div,.google-signin-slot iframe{min-width:0!important;max-width:100%!important}
.auth-card .google-signin-slot{overflow:hidden!important}
.auth-card .google-signin-slot>div,.auth-card .google-signin-slot iframe{width:100%!important}
@media (min-width:861px){.auth-brand-panel{min-height:285px!important;padding-top:calc(30px + env(safe-area-inset-top))!important;padding-bottom:82px!important}
.auth-card-wrap{width:min(580px,100%)!important;margin-top:-58px!important;padding-bottom:max(54px,calc(34px + env(safe-area-inset-bottom)))!important}}
@media (max-width:520px){.auth-brand-panel{min-height:270px!important;padding:calc(24px + env(safe-area-inset-top)) 18px 68px!important}
.auth-brand-logo-shell{width:92px!important;border-radius:22px!important}
.auth-brand-logo-shell img{border-radius:20px!important}
.auth-brand-wordmark{margin-top:13px!important}
.auth-brand-wordmark strong{font-size:clamp(1.9rem,9.2vw,2.2rem)!important;line-height:.94!important}
.auth-brand-wordmark span{margin-top:8px!important;font-size:.72rem!important}
.auth-brand-panel p{max-width:330px!important;margin-top:12px!important;font-size:.8rem!important;line-height:1.45!important}
.auth-card-wrap{width:100%!important;margin-top:-42px!important;padding:0 max(12px,env(safe-area-inset-left)) max(34px,calc(22px + env(safe-area-inset-bottom))) max(12px,env(safe-area-inset-right))!important}
.auth-card{width:100%!important;padding:23px 19px!important;border-radius:24px!important}
.auth-card-header{gap:9px!important}
.auth-title-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:11px!important}
.auth-card h2{margin-top:4px!important;font-size:clamp(1.82rem,9.4vw,2.12rem)!important;line-height:1.04!important;letter-spacing:-.045em!important}
.auth-card #loginMessage,.auth-card .auth-intro{margin-top:9px!important;font-size:.94rem!important;line-height:1.45!important}
.auth-card #loginStatusPill{justify-self:start!important;margin-top:0!important;font-size:.68rem!important;padding:6px 10px!important}
.auth-card .google-signin-slot{width:100%!important;min-height:52px!important;margin:18px 0 8px!important;justify-content:center!important}
.auth-security-note{width:100%!important;gap:9px!important;margin-top:13px!important;font-size:.77rem!important;line-height:1.43!important}
.auth-help{margin-top:18px!important;padding-top:14px!important}
.auth-help summary{font-size:.82rem!important;line-height:1.35!important}}
@media (max-width:350px){.auth-brand-panel{min-height:252px!important;padding-left:14px!important;padding-right:14px!important}
.auth-brand-logo-shell{width:84px!important}
.auth-brand-wordmark strong{font-size:1.82rem!important}
.auth-brand-panel p{font-size:.76rem!important}
.auth-card-wrap{margin-top:-36px!important;padding-left:9px!important;padding-right:9px!important}
.auth-card{padding:20px 16px!important;border-radius:22px!important}
.auth-card h2{font-size:1.72rem!important}
.auth-card #loginMessage{font-size:.88rem!important}}
html[data-public-fast-start="true"],html[data-public-fast-start="true"] body{min-height:100%}
html[data-public-fast-start="true"] #sidebarSlot,html[data-public-fast-start="true"] #topbarSlot,html[data-public-fast-start="true"] .app-footer{display:block}
html[data-route="home"] .public-home-page #publicLoginButton{display:none!important}
@media (max-width:860px){html[data-route="news"] #mobileMenuToggle,html[data-route="dates"] #mobileMenuToggle,html[data-route="about"] #mobileMenuToggle,html[data-route="contact"] #mobileMenuToggle,html[data-route="install"] #mobileMenuToggle{display:grid!important}
html[data-route="home"] #topbarSlot,html[data-route="news"] #topbarSlot,html[data-route="dates"] #topbarSlot,html[data-route="about"] #topbarSlot,html[data-route="contact"] #topbarSlot,html[data-route="install"] #topbarSlot{display:block!important}}
:root{--corr7-header-left:#0b4f9c;--corr7-header-mid:#073b75;--corr7-header-right:#041c33;--corr7-ice:#edf7fc}
.splash-logo-shell,.brand-logo-shell,.auth-brand-logo-shell{padding:0!important;border:0!important;background:transparent!important}
.splash-logo-shell img,.brand-logo-shell img,.auth-brand-logo-shell img,.mobile-brand img{border:0!important;outline:0!important}
.mobile-brand img{padding:0!important;background:transparent!important}
.topbar{color:#fff!important;background:linear-gradient(90deg,var(--corr7-header-left) 0%,var(--corr7-header-mid) 52%,var(--corr7-header-right) 100%)!important;border-bottom:1px solid rgba(255,255,255,.12)!important;box-shadow:0 8px 24px rgba(4,28,51,.18)!important;backdrop-filter:none!important}
.topbar-title h1,.mobile-brand strong{color:#fff!important}
.topbar-title p,.mobile-brand small,.user-summary-copy small,.user-summary span{color:#c7daf0!important}
.topbar .icon-button{color:#fff!important}
.topbar .icon-button:hover,.topbar .icon-button:focus-visible{background:rgba(255,255,255,.12)!important}
.topbar .status-pill{color:#fff!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.16)!important}
.topbar .status-pill::before{background:#63e8a0!important}
.topbar .status-pill.warning::before{background:#ffd269!important}
.app-main{background-color:var(--corr7-ice)!important;background-image:linear-gradient(90deg,transparent 0 24.72%,rgba(38,104,182,.075) 24.72% 25.05%,transparent 25.05% 74.95%,rgba(38,104,182,.075) 74.95% 75.28%,transparent 75.28% 100%),
    linear-gradient(90deg,transparent 0 49.78%,rgba(196,45,59,.07) 49.78% 50.22%,transparent 50.22% 100%),
    radial-gradient(circle at 50% 50%,transparent 0 72px,rgba(196,45,59,.06) 73px 75px,transparent 76px),
    radial-gradient(circle at 24% 31%,transparent 0 42px,rgba(196,45,59,.045) 43px 45px,transparent 46px),
    radial-gradient(circle at 76% 31%,transparent 0 42px,rgba(196,45,59,.045) 43px 45px,transparent 46px),
    radial-gradient(circle at 24% 69%,transparent 0 42px,rgba(196,45,59,.045) 43px 45px,transparent 46px),
    radial-gradient(circle at 76% 69%,transparent 0 42px,rgba(196,45,59,.045) 43px 45px,transparent 46px),
    repeating-linear-gradient(115deg,rgba(255,255,255,.16) 0 1px,transparent 1px 14px),
    linear-gradient(150deg,rgba(255,255,255,.72),rgba(220,239,248,.5));background-repeat:no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, repeat, no-repeat}
.view{background:transparent!important}
.app-footer{background:rgba(237,247,252,.72)!important}
html[data-route="profile"] .app-main{background:radial-gradient(circle at 50% 7%,rgba(25,132,235,.35),transparent 31%),
    radial-gradient(circle at 12% 78%,rgba(10,79,147,.28),transparent 42%),
    linear-gradient(160deg,#06335b 0%,#031f3a 58%,#020f1d 100%)!important}
@media (min-width:861px){html[data-route="profile"] .app-shell{grid-template-columns:minmax(0,1fr)!important}
html[data-route="profile"] .auth-page{display:grid!important;grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr)!important;min-height:100dvh!important;padding:0!important;overflow:hidden!important}
html[data-route="profile"] .auth-brand-panel{width:100%!important;min-height:100dvh!important;justify-content:center!important;padding:clamp(42px,6vw,82px)!important}
html[data-route="profile"] .auth-brand-logo-shell{width:min(170px,35vw)!important;border-radius:30px!important}
html[data-route="profile"] .auth-card-wrap{display:grid!important;place-items:center!important;width:100%!important;max-width:none!important;min-height:100dvh!important;margin:0!important;padding:clamp(34px,5vw,76px)!important}
html[data-route="profile"] .auth-card{width:min(620px,100%)!important}}
@media (min-width:861px) and (min-height:680px){html[data-route="home"] body{overflow-y:hidden!important}
html[data-route="home"] .app-shell,html[data-route="home"] .app-main{height:100dvh!important;min-height:0!important}
html[data-route="home"] .view{display:grid!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;padding-top:22px!important;padding-bottom:22px!important}
html[data-route="home"] .public-home-page{width:100%!important;height:100%!important;min-height:0!important}
html[data-route="home"] .app-footer{flex:none!important;padding-top:11px!important;padding-bottom:11px!important}}
@media (max-width:860px){.topbar{box-shadow:0 6px 18px rgba(4,28,51,.2)!important}
.mobile-brand small{font-size:.58rem!important;letter-spacing:.1em!important}}
.v4-google-button{width:100%;min-height:50px;font-size:1rem}
.v4-google-button span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:#174ea6;font-weight:900}
.v4-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.v4-toolbar h3,.v4-toolbar p{margin:0}
.v4-toolbar p{margin-top:4px;color:var(--ink-500)}
.v4-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:thin}
.v4-tab{border:1px solid var(--line);background:#fff;color:var(--ink-700);border-radius:999px;padding:10px 14px;font-weight:850;cursor:pointer;white-space:nowrap}
.v4-tab:hover{border-color:var(--blue-700)}
.v4-tab.active{background:var(--blue-800);border-color:var(--blue-800);color:#fff;box-shadow:0 7px 18px rgba(11,79,156,.2)}
.v4-tab span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:6px;padding:0 6px;border-radius:999px;background:rgba(11,79,156,.09);font-size:.72rem}
.v4-tab.active span{background:rgba(255,255,255,.2)}
.v4-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.v4-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.v4-card-header h3,.v4-card-header p{margin:0}
.v4-card-header p{margin-top:5px;color:var(--ink-500);line-height:1.45}
.v4-card-actions,.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v4-card-actions{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.badge-stack{display:flex;gap:6px;align-items:flex-end;flex-direction:column}
.badge.error{background:#fff0f1;color:#8a1c27}
.v4-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
.v4-table{width:100%;border-collapse:collapse;min-width:760px}
.v4-table th,.v4-table td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.v4-table th{font-size:.76rem;color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-soft)}
.v4-table tr:last-child td{border-bottom:0}
.v4-table tbody tr:hover{background:#f9fbff}
.v4-table small{display:block;color:var(--ink-500);margin-top:4px}
.v4-metric-card{display:flex;align-items:center;gap:16px;min-height:145px}
.v4-metric-card strong{display:block;font-size:2rem;line-height:1;color:var(--blue-800)}
.v4-metric-card h3{margin:8px 0 2px}
.v4-metric-card p{margin:0;color:var(--ink-500)}
.v4-metric-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--blue-050);font-size:1.6rem;flex:none}
.v4-office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v4-office-grid .card{display:grid;gap:10px}
.v4-office-grid .card span{font-weight:850;color:var(--ink-900)}
.v4-office-grid .full{grid-column:1/-1}
.v4-team-card,.v4-task-card{display:grid;align-content:start}
.v4-team-members{display:grid;gap:8px}
.v4-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:13px;background:var(--surface-soft)}
.v4-list-row strong,.v4-list-row small{display:block}
.v4-list-row small{margin-top:3px;color:var(--ink-500)}
.v4-task-card[data-priority="URGENT"]{border-left:5px solid var(--danger)}
.v4-task-card[data-priority="HIGH"]{border-left:5px solid var(--warning)}
.v4-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.v4-meta-grid div{padding:10px;border-radius:12px;background:var(--surface-soft)}
.v4-meta-grid dt{font-size:.72rem;text-transform:uppercase;color:var(--ink-500);font-weight:850}
.v4-meta-grid dd{margin:4px 0 0;font-weight:750}
.v4-note-preview{padding:12px;border-radius:13px;background:#fff8e7;border:1px solid #f3d99a}
.v4-note-preview p{margin:5px 0 0;white-space:pre-wrap}
.v4-status-select{width:auto;min-width:145px}
.v4-dialog{border:0;padding:0;background:transparent;width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px)}
.v4-dialog::backdrop{background:rgba(4,18,38,.64);backdrop-filter:blur(3px)}
.v4-dialog-shell{max-height:calc(100dvh - 32px);background:#fff;border-radius:18px;box-shadow:var(--shadow-md);overflow:hidden}
.v4-dialog-shell>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid var(--line)}
.v4-dialog-shell>header h2{margin:2px 0 0;font-size:1.2rem}
.v4-dialog-shell #v4DialogBody{padding:16px 17px;max-height:calc(100dvh - 96px);overflow:auto;overscroll-behavior:contain}
.checkbox-row{display:flex!important;align-items:center;gap:10px}
.checkbox-row input{width:19px;height:19px;min-height:auto}
.v4-capability-groups{display:grid;gap:14px}
.v4-capability-groups fieldset{border:1px solid var(--line);border-radius:15px;padding:14px}
.v4-capability-groups legend{font-weight:900;padding:0 7px}
.v4-capability{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;padding:10px;border-radius:12px}
.v4-capability:hover{background:var(--surface-soft)}
.v4-capability input{width:19px;height:19px;min-height:auto;flex:none;margin-top:2px}
.v4-capability strong,.v4-capability small,.v4-capability code{display:block}
.v4-capability small{color:var(--ink-500);margin:3px 0}
.v4-capability code{font-size:.72rem;color:var(--blue-800)}
.v4-history{margin-top:20px}
.v4-history summary{cursor:pointer;font-weight:850;padding:12px 0}
.v4-admin-tabs{margin-bottom:18px}
.loading-card,.empty-card{min-height:130px;display:grid;place-content:center;text-align:center}
.empty-card p{margin:0;color:var(--ink-500)}
@media(max-width:900px){.v4-card-grid,.v4-office-grid{grid-template-columns:1fr}
.v4-meta-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){input,select,textarea{font-size:16px!important}
.v4-toolbar{align-items:stretch}
.v4-toolbar>.button{width:100%}
.v4-card-actions{align-items:stretch}
.v4-card-actions>.button,.v4-card-actions>.v4-status-select{flex:1 1 140px}
.v4-list-row{align-items:flex-start;flex-direction:column}
.row-actions{width:100%}
.row-actions .button{flex:1}
.v4-meta-grid{grid-template-columns:1fr}
.v4-dialog-shell #v4DialogBody{padding:16px}
.v4-dialog-shell>header{padding:17px}
.form-grid{grid-template-columns:1fr}
.form-grid .full{grid-column:auto}}
@media(max-width:620px){#connectionStatus{display:none}}
.v4-member-match{margin:0 0 16px;padding:13px 15px;border:1px solid rgba(14,116,144,.25);border-radius:12px;background:rgba(14,116,144,.08)}
.v4-member-match strong,.v4-member-match span{display:block}
.v4-member-match span{margin-top:4px;line-height:1.45}
.v4-member-match.warning{border-color:rgba(180,83,9,.28);background:rgba(180,83,9,.08)}
.v4-assignment-reason small{display:block;margin-top:7px;color:var(--ink-500);line-height:1.4}
.v4-assignment-reason[hidden]{display:none!important}
.v4-task-card[data-status="ARCHIVED"]{border-style:dashed;background:var(--surface-soft)}
.v4-task-card[data-status="ARCHIVED"] .v4-card-actions{justify-content:flex-end}
.v4-task-card .button.danger{margin-left:auto}
@media(max-width:620px){.v4-task-card .button.danger{margin-left:0}}
.v4-finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}
.v4-finance-summary .card{display:grid;gap:6px;min-height:0}
.v4-finance-summary span{color:var(--ink-500);font-size:.88rem}
.v4-finance-summary strong{font-size:1.35rem}
.v4-money{white-space:nowrap;font-variant-numeric:tabular-nums}
.v4-inline-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.v4-inline-actions select{min-width:190px}
.v4-contribution-config{margin-top:16px}
@media(max-width:900px){.v4-finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.v4-finance-summary{grid-template-columns:1fr}
.v4-inline-actions{width:100%;justify-content:flex-start}
.v4-inline-actions select{width:100%}}
.v4-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.v4-account-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
.v4-account-card.is-inactive{border-style:dashed;opacity:.78}
.v4-account-card .v4-inline-actions{grid-column:1 / -1;justify-content:flex-start}
.v4-account-balance{white-space:nowrap;font-size:1.3rem;font-variant-numeric:tabular-nums}
.v4-cashbook-section{margin-top:16px}
.v4-cashbook-table tr.is-reversed,.v4-account-statement tr.is-reversed{opacity:.68}
.v4-account-statement{min-width:900px}
.v4-task-archive-filter,.v4-team-task-dependency{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:12px 0}
.v4-money.is-positive{color:var(--success-700,#166534)}
.v4-money.is-negative{color:var(--danger-700,#991b1b)}
@media(max-width:980px){.v4-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.v4-account-grid{grid-template-columns:1fr}
.v4-account-card{grid-template-columns:1fr}}
html,body{width:100%;height:100%;min-height:100%;overflow:hidden!important;overscroll-behavior:none;background:#e8eef6}
body{background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.78),transparent 34%),
    radial-gradient(circle at 88% 92%,rgba(151,174,204,.22),transparent 38%),
    linear-gradient(145deg,#f2f5f9 0%,#e5ebf3 50%,#dbe4ef 100%)!important}
body,.app-shell,.app-main,.view,.page,.v4-module-surface{background-image:none!important}
.app-shell::before,.app-shell::after,.app-main::before,.app-main::after,.view::before,.view::after{display:none!important}
.app-shell{height:100dvh;min-height:100dvh;overflow:hidden}
.app-main{height:100dvh;min-height:0;overflow:hidden;background:transparent!important}
#topbarSlot{position:relative;z-index:80;flex:none}
.topbar{position:relative!important;top:auto!important;flex:none;min-height:64px;padding:calc(10px + env(safe-area-inset-top))
    max(18px,env(safe-area-inset-right))
    10px
    max(18px,env(safe-area-inset-left));background:rgba(247,250,253,.9)!important;border-bottom:1px solid rgba(112,135,164,.2);box-shadow:0 8px 24px rgba(36,55,79,.06);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.topbar-leading{min-width:0;display:flex;align-items:center;gap:10px}
.topbar-title{display:none!important}
.topbar-actions{display:flex;align-items:center;gap:9px;flex:none}
.view{width:min(1180px,100%);min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:24px 30px calc(34px + env(safe-area-inset-bottom));background:transparent!important;scrollbar-gutter:stable}
.app-footer{display:none!important}
.v4-compact-page{min-height:0;padding:0!important}
.v4-module-surface{min-height:0;padding:0;background:transparent!important}
.page-header,.sidebar-footer{display:none!important}
.card,.v4-table-wrap,.v4-dialog-shell,.p3-preview-card,.p3-fanbus-primary-card{background:rgba(255,255,255,.94)!important;border-color:rgba(126,145,171,.22)!important}
.connection-indicator{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid rgba(84,113,145,.18);border-radius:999px;background:rgba(255,255,255,.78);color:#38506c;font-size:.78rem;font-weight:850;white-space:nowrap}
.connection-indicator i{width:8px;height:8px;flex:none;border-radius:50%;background:#1f9d55;box-shadow:0 0 0 4px rgba(31,157,85,.12)}
.connection-indicator.loading i{background:#4776a8;box-shadow:none;animation:pdConnectionPulse .9s infinite ease-in-out}
.connection-indicator.error{color:#9b2734;border-color:rgba(155,39,52,.22);background:rgba(255,244,246,.92)}
.connection-indicator.error i{background:#c83c4d;box-shadow:0 0 0 4px rgba(200,60,77,.12)}
@keyframes pdConnectionPulse{0%,100%{opacity:.35;transform:scale(.76)}
  50%{opacity:1;transform:scale(1.12)}}
#connectionStatus.connection-indicator{display:inline-flex!important}
#userSummary.user-summary:not([hidden]){display:flex!important}
.user-menu-toggle{appearance:none;border:0;border-radius:999px;padding:3px;background:transparent;color:var(--ink-900);cursor:pointer;display:flex;align-items:center;gap:9px;text-align:left}
.user-menu-toggle:hover,.user-menu-toggle:focus-visible{background:rgba(65,97,132,.09);outline:3px solid rgba(56,103,155,.13)}
.user-avatar{position:relative;display:grid;place-items:center;width:42px;height:42px;flex:none;overflow:hidden;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:linear-gradient(145deg,#476f9c,#7894b4);color:#fff;box-shadow:0 4px 13px rgba(42,70,101,.2);font-size:.8rem;font-weight:900}
.user-avatar img{width:100%;height:100%;max-width:none;object-fit:cover}
.user-avatar.has-photo{background:#dce5ef}
.user-summary-copy{display:grid;gap:1px;max-width:180px}
.user-summary-copy strong,.user-summary-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-summary-copy small{color:var(--ink-500);font-size:.72rem}
.user-menu-backdrop{position:fixed;z-index:480;inset:0;background:rgba(16,31,49,.34);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.user-menu-panel{position:fixed;z-index:490;top:calc(10px + env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));width:min(460px,calc(100vw - 20px));overflow:hidden;border:1px solid rgba(111,135,163,.22);border-radius:22px;background:#f8fafc;box-shadow:0 28px 70px rgba(19,39,62,.28)}
.user-menu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 20px 17px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.9)}
.user-menu-header h2,.user-menu-header p{margin:0}
.user-menu-header h2{margin-top:3px;font-size:1.2rem}
.user-menu-header p{margin-top:3px;color:var(--ink-500)}
.user-menu-scroll{height:calc(100% - 82px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px}
.user-menu-section{padding:16px;border:1px solid rgba(122,143,168,.2);border-radius:17px;background:#fff}
.user-menu-section + .user-menu-section{margin-top:13px}
.user-menu-section h3,.user-menu-section p{margin:0}
.user-menu-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.user-menu-section-heading p{margin-top:4px;color:var(--ink-500);line-height:1.4}
.user-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:13px 0}
.user-profile-value{min-width:0;padding:10px 11px;border-radius:12px;background:var(--surface-soft)}
.user-profile-value span,.user-profile-value strong{display:block;overflow-wrap:anywhere}
.user-profile-value span{color:var(--ink-500);font-size:.72rem;font-weight:800;text-transform:uppercase}
.user-profile-value strong{margin-top:3px}
.user-profile-form{margin-top:13px}
.user-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.v4-profile-change-table{min-width:650px}
.sidebar-mobile-header{display:none}
body.overlay-open .view{overflow:hidden!important;touch-action:none}
@media(max-width:860px){.sidebar{width:min(240px,65vw)!important;height:100dvh!important;min-height:100dvh;padding:calc(10px + env(safe-area-inset-top))
      13px
      calc(16px + env(safe-area-inset-bottom))!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.sidebar-mobile-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 2px 8px 7px;color:#d8e6f7;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.mobile-sidebar-close{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(255,255,255,.1);color:#fff;font-size:1.5rem;cursor:pointer}
.brand{padding:4px 7px 16px!important}
.brand img{width:46px!important;height:46px!important}
.topbar{min-height:calc(58px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top))
      max(12px,env(safe-area-inset-right))
      8px
      max(12px,env(safe-area-inset-left))}
.view{padding:18px
      max(14px,env(safe-area-inset-right))
      calc(96px + env(safe-area-inset-bottom))
      max(14px,env(safe-area-inset-left));scrollbar-gutter:auto}
.connection-indicator{min-height:32px;padding:6px 9px;font-size:.72rem}
.user-avatar{width:39px;height:39px}
.user-summary-copy{display:none}}
@media(max-width:520px){.mobile-brand span small{display:none}
.connection-indicator{gap:6px;padding-inline:8px}
.user-menu-panel{top:env(safe-area-inset-top);right:0;bottom:0;width:100vw;border-radius:18px 18px 0 0}
.user-menu-scroll{padding:12px}
.user-profile-grid,.user-menu-actions{grid-template-columns:1fr}
.user-menu-section{padding:14px}}
@media(prefers-reduced-motion:reduce){.connection-indicator.loading i{animation:none}}
.topbar{color:#fff!important;background:linear-gradient(135deg,#102a46 0%,#173d63 100%)!important;border-bottom-color:rgba(255,255,255,.12)!important;box-shadow:0 8px 24px rgba(7,24,43,.22)!important}
.topbar .mobile-brand,.topbar .mobile-brand strong,.topbar .mobile-brand small{color:#fff!important}
.topbar .mobile-brand small{color:#c9dbed!important}
.topbar .icon-button{color:#fff!important}
.topbar .menu-lines i{background:#fff!important}
#connectionStatus.connection-indicator{color:#eef7ff!important;border-color:rgba(255,255,255,.2)!important;background:rgba(255,255,255,.1)!important}
#userSummary.user-menu-toggle{color:#fff!important}
#userSummary.user-menu-toggle:hover,#userSummary.user-menu-toggle:focus-visible{background:rgba(255,255,255,.12)!important}
#userSummary .user-summary-copy small{color:#c9dbed!important}
.public-home-clean{min-height:100%;display:grid;place-items:center;padding:clamp(18px,4vw,42px)!important}
.public-home-card{width:min(660px,100%);padding:clamp(24px,6vw,48px);border:1px solid rgba(95,121,151,.2);border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 22px 55px rgba(44,68,94,.14);text-align:center}
.public-home-logo{width:88px;height:88px;margin:0 auto 18px;border-radius:22px;object-fit:cover;box-shadow:0 10px 24px rgba(26,55,86,.18)}
.public-home-eyebrow{display:block;color:#496783;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.public-home-card h2{margin:10px 0 12px;color:#17324e;font-size:clamp(2rem,6vw,3.35rem);line-height:1.04;letter-spacing:-.035em}
.public-home-card p{max-width:540px;margin:0 auto;color:#526a82;font-size:clamp(1rem,2.6vw,1.18rem);line-height:1.6}
.public-home-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:25px}
.user-menu-panel{display:flex;flex-direction:column;min-height:0}
.user-menu-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px}
.user-profile-open-button{width:100%;margin-top:14px}
.user-menu-footer{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:13px 16px calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
.user-profile-dialog{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:22px;background:transparent}
.user-profile-dialog::backdrop{background:rgba(8,24,41,.58);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.user-profile-dialog-shell{max-height:calc(100dvh - 24px);overflow:hidden;border:1px solid rgba(111,135,163,.22);border-radius:22px;background:#f7f9fc;box-shadow:0 30px 75px rgba(15,35,57,.32)}
.user-profile-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 20px;border-bottom:1px solid var(--line);background:#fff}
.user-profile-dialog-header h2,.user-profile-dialog-header p{margin:0}
.user-profile-dialog-header p{margin-top:4px;color:var(--ink-500)}
.user-profile-dialog-body{max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;padding:16px}
@media(max-width:860px){.view{padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
.public-home-clean{align-items:start;padding-top:18px!important}
.public-home-card{padding:25px 20px;border-radius:20px}
.public-home-logo{width:72px;height:72px}}
@media(max-width:520px){.user-menu-panel{top:calc(8px + env(safe-area-inset-top))!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;width:calc(100vw - 16px)!important;border-radius:18px!important}
.user-menu-footer{grid-template-columns:1fr 1fr}
.user-profile-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}
.user-profile-dialog-shell{max-height:calc(100dvh - 16px);border-radius:18px}
.user-profile-dialog-body{max-height:calc(100dvh - 102px);padding:12px}
.public-home-actions .button{width:100%}}
.topbar-home-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.1);color:#fff;font-weight:850;cursor:pointer}
.topbar-home-button:hover,.topbar-home-button:focus-visible{background:rgba(255,255,255,.2);outline:3px solid rgba(255,255,255,.13)}
.topbar-home-button[hidden]{display:none!important}
.user-profile-grid-single{grid-template-columns:1fr}
@media(min-width:861px){.dashboard-widget-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))!important;gap:12px!important}
.dashboard-page .v4-metric-card{min-height:88px!important;padding:14px 15px!important;gap:11px!important;border-radius:16px!important}
.dashboard-page .v4-metric-icon{width:42px!important;height:42px!important;border-radius:13px!important;font-size:1.25rem!important}
.dashboard-page .v4-metric-card strong{font-size:1.45rem!important}
.dashboard-page .v4-metric-card h3{margin:4px 0 0!important;font-size:.93rem!important}
.dashboard-page .v4-metric-card p{display:none!important}}
@media(max-width:620px){.topbar-home-button{width:40px;min-width:40px;padding:7px}
.topbar-home-button span:last-child{display:none}}

/* Öffentliche Anmeldung über Google Identity Services */
.public-login-inline{
  width:min(660px,100%);
  min-height:calc(100dvh - var(--topbar-height) - 72px);
  margin:0 auto;
  align-content:center;
  justify-items:stretch;
  gap:20px;
}

.public-login-intro{
  padding:0 14px;
  text-align:center;
}

.public-login-intro h2{
  margin:0;
  color:#123b62;
  font-size:clamp(2rem,4vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.04em;
}

.public-login-intro p{
  margin:10px 0 0;
  color:#58728d;
  font-size:1.02rem;
  line-height:1.55;
}

.public-login-main{
  position:relative;
  width:min(580px,100%);
  margin-inline:auto;
  overflow:hidden;
  padding:30px;
  border:1px solid rgba(64,101,137,.16);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.99),rgba(249,252,255,.98));
  box-shadow:
    0 24px 64px rgba(27,54,82,.14),
    0 4px 14px rgba(27,54,82,.06);
}

.public-login-main::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg,#1689ff,#65b8ff);
}

.public-login-summary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:24px;
  text-align:left;
}

.public-login-summary>div{
  min-width:0;
}

.public-login-summary strong{
  display:block;
  color:#183b5d;
  font-size:1.05rem;
}

.public-login-summary p{
  margin:3px 0 0;
  color:#667e96;
  font-size:.88rem;
  line-height:1.45;
}

.public-login-summary-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:none;
  border-radius:13px;
  background:linear-gradient(145deg,#e3f2ff,#d3eaff);
  color:#0876df;
  font-size:1.08rem;
  font-weight:950;
  box-shadow:inset 0 0 0 1px rgba(22,137,255,.12);
}

.google-signin-slot{
  width:100%;
  min-width:0;
  min-height:44px;
  padding-inline:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

.google-signin-slot>div{
  flex:0 0 auto;
  max-width:none!important;
  overflow:visible;
  margin-inline:auto!important;
}

.google-signin-slot iframe{
  display:block;
  max-width:none!important;
  margin-inline:auto!important;
}

.google-signin-slot[aria-busy="true"]{
  opacity:.62;
  pointer-events:none;
}

.public-login-status{
  min-height:1.3em;
  margin:10px 0 0;
  color:#58728d;
  font-size:.86rem;
  text-align:center;
}

.public-login-note{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-top:22px;
  padding:13px 14px;
  border:1px solid rgba(67,104,143,.13);
  border-radius:15px;
  background:#f3f8fd;
  color:#49627d;
}

.public-login-note>span{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  flex:none;
  border-radius:9px;
  background:#e5f1fc;
  color:#146eaf;
  font-size:.82rem;
  font-weight:950;
}

.public-login-note p{
  margin:1px 0 0;
  color:inherit;
  font-size:.91rem;
  line-height:1.5;
}

@media(max-width:860px){
  .public-login-inline{
    min-height:calc(100dvh - var(--topbar-height) - 48px);
  }
}

@media(max-width:520px){
  .public-login-inline{
    min-height:calc(100dvh - var(--topbar-height) - 36px);
    gap:16px;
  }

  .public-login-main{
    padding:24px 18px 20px;
    border-radius:20px;
  }

  .public-login-summary{
    align-items:flex-start;
    margin-bottom:20px;
  }

  .public-login-summary p{
    font-size:.84rem;
  }

  .public-login-note{
    padding:12px;
  }
}

/* Mobile Bottom-Navigation: fester Bestandteil der Portalhülle */
.mobile-bottom-nav{
  display:none;
}

@media(max-width:860px){
  .app-main{
    padding-bottom:0;
  }

  .view{
    padding-bottom:0;
  }

  .mobile-bottom-nav{
    position:fixed;
    z-index:620;
    left:0;
    right:0;
    bottom:0;
    height:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom));
    min-height:0;
    max-height:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom));
    padding:
      4px
      max(8px,var(--safe-right))
      var(--mobile-safe-bottom)
      max(8px,var(--safe-left));
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(0,1fr);
    align-items:center;
    gap:2px;
    background:rgba(3,25,46,.98);
    border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 -12px 30px rgba(3,25,46,.2);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  .mobile-bottom-nav[hidden]{
    display:none!important;
  }

  .mobile-nav-button{
    position:relative;
    min-width:0;
    min-height:56px;
    height:56px;
    border:0;
    border-radius:14px;
    background:transparent;
    color:#a7b7c7;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:7px 2px 5px;
    font-size:.65rem;
    font-weight:800;
    line-height:1;
    cursor:pointer;
  }

  .mobile-nav-button .nav-icon{
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
  }

  .mobile-nav-button .nav-icon svg{
    width:25px;
    height:25px;
  }

  .mobile-nav-button>span:last-child{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .mobile-nav-button.active{
    color:#45a7ff;
    background:rgba(22,137,255,.16);
  }

  .mobile-nav-button.more-active::after{
    content:"";
    position:absolute;
    top:7px;
    right:14px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#ff3948;
  }

  .toast-region{
    bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 12px);
  }

  .install-banner{
    bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 10px);
  }
}
/* Mobile Profilregistrierung mit virtueller Tastatur */
:root{--profile-keyboard-inset:0px}
html[data-route="profile"]{height:100%;overflow:hidden!important}
html[data-route="profile"] body{height:100%;min-height:0!important;overflow:hidden!important}
html[data-route="profile"] .app-shell,html[data-route="profile"] .app-main{height:100dvh!important;min-height:0!important;overflow:hidden!important}
html[data-route="profile"] .view{height:100%!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y!important;scroll-padding-bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + var(--profile-keyboard-inset) + 32px)}
html[data-route="profile"] .auth-page{min-height:100%;overflow:visible!important}
html[data-route="profile"] .auth-profile-card input{scroll-margin-top:calc(var(--safe-top) + 24px);scroll-margin-bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + var(--profile-keyboard-inset) + 32px)}
@media(max-width:860px){html[data-route="profile"] .app-main{padding-bottom:0!important}
html[data-route="profile"] .view{padding-bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + var(--profile-keyboard-inset) + 32px)!important}
html[data-route="profile"] .auth-page{padding-bottom:0!important}
html[data-route="profile"] .auth-card-wrap{padding-bottom:32px!important}
html[data-route="profile"] .auth-profile-card{scroll-margin-bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + var(--profile-keyboard-inset) + 24px)}}

/* Mobile Portal Layout und Fanclub */
html,body,.app-shell,.app-main,.view{max-width:100%}
.app-main,.view,.page,.module-shell,.module-panel,.v4-module-surface,.v4-toolbar,.v4-inline-actions,.v4-tabs,.v4-table-wrap{min-width:0;max-width:100%}
.v4-toolbar,.v4-inline-actions{flex-wrap:wrap}
.v4-toolbar>*,.v4-inline-actions>*{min-width:0}
.v4-table-wrap{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.v4-mobile-records{display:none}
.sidebar .nav{display:flex;min-height:0;flex-direction:column}
.sidebar .nav-main{flex:1 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.sidebar .nav-footer{flex:0 0 auto;overflow:visible;position:relative;z-index:2;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.11)}
.sidebar .nav button[data-route="install"]{margin-top:0}
.sidebar .nav button>span:last-child{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important}
.topbar-home-button{display:none!important}
.v4-section-heading h3{margin:0}
.v4-board-grid{align-items:start}
.v4-office-card{display:grid;gap:11px}
.v4-office-title{color:var(--ink-500);font-size:.76rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.v4-board-name{font-size:1.05rem}
.v4-board-contact:empty{display:none}
.v4-board-phone{display:inline-flex;align-items:center;min-height:38px;width:max-content;max-width:100%;padding:8px 11px;border-radius:12px;background:var(--blue-050);color:var(--blue-900);font-weight:800;text-decoration:none;overflow-wrap:anywhere}
.v4-mobile-records{gap:12px}
.v4-mobile-record{display:grid;gap:12px;padding:16px;border:1px solid rgba(126,145,171,.22);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:var(--shadow-sm)}
.v4-mobile-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.v4-mobile-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v4-mobile-record-grid>div{min-width:0;padding:10px;border-radius:12px;background:var(--surface-soft)}
.v4-mobile-record-grid .full{grid-column:1/-1}
.v4-mobile-record-grid span,.v4-mobile-record-grid strong{display:block;overflow-wrap:anywhere}
.v4-mobile-record-grid span{margin-bottom:3px;color:var(--ink-500);font-size:.7rem;font-weight:800;text-transform:uppercase}

@media(max-width:860px){
  html,body,.app-shell,.app-main,.view{overflow-x:hidden!important}
  html[data-portal-area="portal"]:not([data-route="profile"]) .view>.page{padding-bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 16px)!important}
  .sidebar{width:min(300px,calc(100vw - 52px))!important;max-width:calc(100vw - 52px)!important}
  html[data-portal-area="portal"] .sidebar{overflow:hidden!important;padding-bottom:calc(18px + var(--mobile-nav-height) + var(--mobile-safe-bottom))!important}
  .sidebar .nav-main{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
  .sidebar .nav-footer{overflow:visible}
  .topbar-leading{flex:1 1 auto;overflow:hidden}
  .mobile-brand{min-width:0}
  .mobile-brand span strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:clip}
  .topbar-actions{gap:7px}
  .connection-indicator{flex:none}
  .v4-toolbar{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important}
  .v4-toolbar>div:first-child{flex:1 1 180px}
  .v4-inline-actions{width:100%;display:grid!important;grid-template-columns:1fr;gap:8px!important}
  .v4-inline-actions>*,.v4-toolbar button,.v4-toolbar select{width:100%;max-width:100%}
  #fanclubTabs .v4-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important}
  #fanclubTabs .v4-tab{width:100%;min-width:0;white-space:normal}
  #fanclubTabs .v4-tab:last-child:nth-child(odd){grid-column:1/-1}
  .v4-desktop-table{display:none!important}
  .v4-mobile-records{display:grid}
  .v4-table-wrap{overflow:visible!important}
  .v4-table{display:block!important;width:100%!important;min-width:0!important;border:0!important;background:transparent!important}
  .v4-table thead{display:none!important}
  .v4-table tbody{display:grid!important;gap:12px!important;width:100%}
  .v4-table tbody tr{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;width:100%;padding:13px 14px;border:1px solid rgba(126,145,171,.22);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:var(--shadow-sm)}
  .v4-table tbody td{display:grid!important;grid-template-columns:minmax(90px,.38fr) minmax(0,1fr);gap:10px;align-items:start;width:100%!important;min-width:0!important;padding:9px 0!important;border:0!important;border-bottom:1px solid rgba(126,145,171,.14)!important;white-space:normal!important;overflow-wrap:anywhere}
  .v4-table tbody td:last-child{border-bottom:0!important}
  .v4-table tbody td::before{content:attr(data-label);color:var(--ink-500);font-size:.7rem;font-weight:900;letter-spacing:.025em;text-transform:uppercase}
  .v4-table tbody td:not([data-label]){grid-template-columns:1fr}
  .v4-table tbody td:not([data-label])::before{display:none}
  .v4-table tbody td small{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .v4-table .v4-inline-actions{display:flex!important;width:100%;flex-wrap:wrap}
  .v4-table .v4-inline-actions .button{width:100%}
  .v4-account-statement,.v4-cashbook-table,.v4-profile-change-table{min-width:0!important}
  .user-menu-panel{top:auto!important;right:max(10px,var(--safe-right))!important;bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 10px)!important;width:min(420px,calc(100vw - 20px))!important;max-height:min(560px,calc(100dvh - var(--mobile-nav-height) - var(--safe-top) - var(--safe-bottom) - 30px));border-radius:20px!important}
  .user-menu-content{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px}
  .user-menu-footer{position:relative;z-index:2;grid-template-columns:1fr 1fr!important;padding-bottom:13px}
  .public-login-inline{min-height:0!important;align-content:start!important;gap:12px!important;padding-top:4px!important}
  .public-login-intro{padding-inline:8px!important}
  .public-login-intro h2{font-size:clamp(1.75rem,8.5vw,2.15rem)!important}
  .public-login-intro p{margin-top:6px!important;font-size:.92rem!important;line-height:1.4!important}
  .public-login-main{padding:20px 18px 18px!important}
  .public-login-summary{margin-bottom:16px!important}
  .public-login-note{margin-top:16px!important}
  .public-login-main .google-signin-slot{min-height:44px!important}
}

@media(max-width:430px){
  .connection-indicator{padding-inline:7px!important}
  .mobile-brand img{width:30px;height:30px}
  .user-menu-footer{grid-template-columns:1fr!important}
  .v4-mobile-record-grid{grid-template-columns:1fr}
  .v4-mobile-record-grid .full{grid-column:auto}
}

/* Fanclub-Abschlussrunde: Datenschutz, kompakte Beiträge und Kasse */
.v4-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v4-detail-grid>div{min-width:0;padding:11px 12px;border-radius:13px;background:var(--surface-soft)}
.v4-detail-grid>div.full{grid-column:1/-1}
.v4-detail-grid span,.v4-detail-grid strong{display:block;overflow-wrap:anywhere}
.v4-detail-grid span{margin-bottom:4px;color:var(--ink-500);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em}
.v4-preserve-lines{white-space:pre-wrap}
.v4-detail-actions{margin-top:16px}
.v4-member-table{min-width:560px}
.v4-member-name-cell strong,.v4-member-name-cell .button{display:block}
.v4-member-name-cell .button{margin-top:7px}
.v4-member-mobile-card{gap:8px;padding:13px 14px}
.v4-member-mobile-card>.button{justify-self:start;width:auto}
.v4-board-save{display:flex;justify-content:flex-end;padding-top:4px}
.v4-board-save .button{position:static!important}
.v4-contribution-mobile-list{display:none}
.v4-contribution-mobile-card{width:100%;min-width:0;border:1px solid rgba(126,145,171,.22);border-radius:15px;background:#fff;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;box-shadow:var(--shadow-sm);cursor:pointer}
.v4-contribution-mobile-card>strong{min-width:0;overflow-wrap:anywhere}
.v4-contribution-status{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:.78rem;font-weight:900}
.v4-contribution-status i{width:9px;height:9px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 4px rgba(194,37,55,.1)}
.v4-contribution-status.is-paid i{background:#1b9a5a;box-shadow:0 0 0 4px rgba(27,154,90,.11)}
.v4-contribution-status.is-open{color:#9b2533}
.v4-contribution-status.is-paid{color:#137747}
.v4-payment-mobile-list{gap:8px}
.v4-compact-row{width:100%;border:1px solid rgba(126,145,171,.2);border-radius:14px;background:#fff;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}
.v4-compact-row span,.v4-compact-row strong,.v4-compact-row small{display:block;min-width:0}
.v4-compact-row small{margin-top:3px;color:var(--ink-500)}
.v4-compact-row-end{text-align:right}
.v4-account-grid-compact{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.v4-account-card-button{width:100%;min-width:0;border:1px solid rgba(126,145,171,.22);padding:14px;display:grid;gap:5px;text-align:left;cursor:pointer;appearance:none;color:inherit}
.v4-account-card-button:hover{border-color:var(--blue-500);transform:translateY(-1px)}
.v4-account-name{font-weight:900;overflow-wrap:anywhere}
.v4-account-balance{font-size:1.25rem;color:var(--blue-900)}
.v4-account-meta{color:var(--ink-500)}
.v4-account-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;padding:14px;border-radius:15px;background:linear-gradient(135deg,var(--blue-050),#fff)}
.v4-account-detail-head span,.v4-account-detail-head strong{display:block}
.v4-account-detail-head span{margin-bottom:4px;color:var(--ink-500);font-size:.75rem;font-weight:850;text-transform:uppercase}
.v4-account-detail-head>div>strong{font-size:1.15rem}
.v4-account-detail-balance{font-size:1.45rem;color:var(--blue-900);white-space:nowrap}
.v4-dialog-ledger{margin-top:18px}
.v4-dialog-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.v4-dialog-section-title h3,.v4-dialog-section-title span{margin:0}
.v4-dialog-section-title span{color:var(--ink-500);font-size:.8rem;font-weight:800}
.v4-compact-entry-list{display:grid;gap:6px;max-height:min(390px,48dvh);overflow-y:auto;overscroll-behavior:contain;padding-right:2px}
.v4-compact-entry{width:100%;min-width:0;border:1px solid rgba(126,145,171,.18);border-radius:12px;background:#fff;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}
.v4-compact-entry:hover{border-color:var(--blue-400);background:var(--blue-050)}
.v4-compact-entry.is-reversed{opacity:.62;text-decoration:none}
.v4-compact-entry-main,.v4-compact-entry-main strong,.v4-compact-entry-main small,.v4-compact-entry-amount,.v4-compact-entry-amount strong,.v4-compact-entry-amount small{display:block;min-width:0}
.v4-compact-entry-main{flex:1 1 auto}
.v4-compact-entry-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-compact-entry-main small{margin-top:3px;color:var(--ink-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-compact-entry-amount{flex:none;text-align:right;white-space:nowrap}
.v4-compact-entry-amount small{margin-top:3px;color:var(--ink-500);font-size:.7rem}
.v4-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v4-management-grid .button{min-height:54px}
.v4-ledger-search{margin-bottom:9px}
.v4-ledger-search input{width:100%;min-height:42px}
.v4-cashbook-ledger{display:grid;gap:6px;max-height:min(520px,56dvh);overflow-y:auto;overscroll-behavior:contain;padding-right:2px}
.v4-cashbook-compact-section{margin-top:14px}

@media(max-width:860px){
  .v4-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .v4-board-grid .v4-office-card{padding:12px!important;gap:7px!important;border-radius:15px!important}
  .v4-board-grid .v4-office-card[data-office-code="VORSTAND_1"]{grid-column:1/-1}
  .v4-board-grid .v4-board-save{grid-column:1/-1;padding-top:2px}
  .v4-board-grid .v4-board-save .button{width:100%}
  .v4-office-title{font-size:.68rem!important}
  .v4-board-name{font-size:.96rem!important}
  .v4-board-phone{min-height:32px!important;padding:6px 8px!important;font-size:.78rem!important}
  .v4-contribution-mobile-list{display:grid;gap:8px}
  .v4-contribution-members-section{padding:13px!important}
  .v4-payment-report-section,.v4-contribution-config{padding:13px!important}
  .v4-finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .v4-finance-summary .card{min-height:0!important;padding:11px 12px!important}
  .v4-finance-summary .card strong{font-size:1.05rem!important}
  .v4-account-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .v4-account-card-button{min-height:86px;padding:11px!important;border-radius:14px!important}
  .v4-account-name{font-size:.86rem;line-height:1.2}
  .v4-account-balance{font-size:1rem}
  .v4-account-meta{display:none}
  .v4-cashbook-compact-section{padding:13px!important}
  .v4-cashbook-ledger{max-height:52dvh}
  .v4-compact-entry{padding:8px 9px}
  .v4-compact-entry-main strong{font-size:.84rem}
  .v4-compact-entry-main small,.v4-compact-entry-amount{font-size:.75rem}
  .v4-detail-grid{grid-template-columns:1fr;gap:7px}
  .v4-detail-grid>div.full{grid-column:auto}
  .v4-detail-grid>div{padding:9px 10px}
  .v4-management-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:390px){
  .v4-management-grid{grid-template-columns:1fr}
}

/* Projektweiter UX-Interaktionsstandard: kompakte Listen, kleine Verwaltungsaktionen, Drill-down */
.v4-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.v4-heading-row h3,.v4-heading-row p{margin:0}
.v4-heading-row p{margin-top:3px;color:var(--ink-500)}
.button.v4-heading-action{min-height:36px!important;padding:7px 11px!important;border-color:#d4dbe6!important;background:#edf1f6!important;color:#314156!important;box-shadow:none!important;font-size:.82rem!important}
.button.v4-heading-action:hover{border-color:#bdc8d7!important;background:#e4e9f0!important;color:#17283d!important}
.v4-row-action{display:inline-flex;align-items:center;gap:6px}
.v4-row-chevron{display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--ink-400);font-size:1.28rem;font-weight:900;line-height:1}
.v4-member-filterbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.v4-compact-search{flex:1 1 260px}
.v4-compact-search input,.v4-ledger-search input{min-height:40px!important;padding:8px 11px!important}
.v4-compact-check{display:inline-flex!important;align-items:center;gap:7px;white-space:nowrap;font-size:.8rem;font-weight:800;color:var(--ink-600)}
.v4-compact-check input{width:17px!important;height:17px!important;min-height:0!important;margin:0}
.v4-member-mobile-list{gap:7px!important}
.v4-member-compact-row{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(126,145,171,.22);border-radius:14px;background:#fff;color:inherit;text-align:left;box-shadow:var(--shadow-sm)}
button.v4-member-compact-row{cursor:pointer}
button.v4-member-compact-row:hover{border-color:var(--blue-400);background:var(--blue-050)}
.v4-member-compact-row.is-static{grid-template-columns:minmax(0,1fr) auto}
.v4-member-compact-copy strong,.v4-member-compact-copy small{display:block;min-width:0}
.v4-member-compact-copy strong{font-size:.94rem;overflow-wrap:anywhere}
.v4-member-compact-copy small{margin-top:2px;color:var(--ink-500);font-size:.72rem}
.v4-member-compact-status .badge{padding:5px 9px;font-size:.7rem}
.v4-inline-empty{padding:12px;border:1px dashed var(--line);border-radius:12px;color:var(--ink-500);font-size:.82rem;text-align:center}
.v4-board-save{gap:8px;flex-wrap:wrap}
.v4-section-note{margin:0 0 10px;color:var(--ink-500);font-size:.78rem}
.v4-settings-list{display:grid;gap:7px}
.v4-settings-row{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(126,145,171,.2);border-radius:13px;background:#fff;color:inherit;text-align:left;cursor:pointer}
.v4-settings-row:hover{border-color:var(--blue-400);background:var(--blue-050)}
.v4-settings-row-copy strong,.v4-settings-row-copy small{display:block}
.v4-settings-row-copy small{margin-top:2px;color:var(--ink-500)}
.v4-settings-row-end{display:inline-flex;align-items:center;gap:10px;flex:none}
.v4-inline-state{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:900}
.v4-inline-state i{width:8px;height:8px;border-radius:50%;background:var(--ink-400)}
.v4-inline-state.is-active{color:#137747}.v4-inline-state.is-active i{background:#1b9a5a}
.v4-inline-state.is-inactive{color:var(--ink-500)}
.v4-contribution-season-control{margin:0 0 12px}
.v4-contribution-season-control select{width:100%;min-height:42px}
.v4-subheading-row{margin-bottom:9px}
.v4-contribution-row-end{display:inline-flex;align-items:center;gap:9px;flex:none}
.v4-contribution-status.is-unassigned{color:var(--ink-500)}
.v4-contribution-status.is-unassigned i{background:var(--ink-400);box-shadow:0 0 0 4px rgba(112,127,147,.1)}
.v4-contribution-status.is-open{color:#9b2533}
.v4-contribution-status.is-open i{background:var(--danger);box-shadow:0 0 0 4px rgba(194,37,55,.1)}
.v4-contribution-status.is-pending{color:#946200}
.v4-contribution-status.is-pending i{background:#e6a400;box-shadow:0 0 0 4px rgba(230,164,0,.12)}
.v4-contribution-status.is-paid{color:#137747}
.v4-contribution-status.is-paid i{background:#1b9a5a;box-shadow:0 0 0 4px rgba(27,154,90,.11)}
.v4-account-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.v4-account-card-button{min-height:0!important;padding:10px 11px!important;gap:2px!important}
.v4-account-name{font-size:.82rem!important;line-height:1.18}
.v4-account-meta{display:block!important;font-size:.68rem!important;line-height:1.2;color:var(--ink-500)!important}
.v4-account-balance{margin-top:4px;font-size:1rem!important;line-height:1.1}
.v4-compact-entry-list,.v4-cashbook-ledger{max-height:none!important;overflow:visible!important;overscroll-behavior:auto!important;padding-right:0!important}
.v4-compact-entry{grid-template-columns:minmax(0,1fr) auto auto;display:grid;align-items:center;padding:8px 9px!important}
.v4-load-more-row{display:flex;justify-content:center;margin-top:10px}
.v4-dialog-ledger{margin-top:14px}
.v4-cashbook-compact-section{margin-top:12px!important}

@media(max-width:860px){
  .v4-heading-row{margin-bottom:9px}
  .v4-member-filterbar{align-items:stretch;flex-direction:column;margin-bottom:8px}
  .v4-compact-check{padding:0 2px}
  .v4-board-grid .v4-board-save .button{width:auto!important;flex:1 1 140px}
  .v4-contribution-config,.v4-contribution-members-section,.v4-payment-report-section,.v4-cashbook-compact-section{padding:11px!important}
  .v4-contribution-mobile-list{gap:6px!important}
  .v4-contribution-mobile-card{min-height:48px;padding:9px 10px!important;border-radius:13px!important}
  .v4-contribution-mobile-card>strong{font-size:.84rem}
  .v4-contribution-status{font-size:.7rem!important;gap:6px!important}
  .v4-account-grid-compact{gap:7px!important}
  .v4-account-card-button{min-height:74px!important}
  .v4-ledger-search{margin-bottom:7px!important}
  .v4-compact-entry-main strong{font-size:.8rem!important}
  .v4-compact-entry-main small,.v4-compact-entry-amount strong{font-size:.71rem!important}
}
/* Phase 2 Fanclub-Abschluss: einheitliche Dialoge, klare Button-Hierarchie und mobile Aktionsflächen */
.fanclub-page .button,.v4-dialog .button{border:1px solid #1f2d3d}
.fanclub-page .button.primary,.v4-dialog .button.primary{border-color:#062b61}
.fanclub-page .button.secondary,.v4-dialog .button.secondary{border-color:#1f2d3d}
.fanclub-page .button.ghost,.v4-dialog .button.ghost{border-color:#526174}
.fanclub-page .button.danger,.v4-dialog .button.danger{border-color:#65131d;background:#a91f2d;color:#fff}
.fanclub-page .button.v4-heading-action{border-color:#1f2d3d!important}
.v4-dialog .dialog-actions{display:flex;align-items:stretch;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.v4-dialog .dialog-actions .button{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.v4-dialog .button>span{white-space:normal;overflow:visible;text-overflow:clip}
.v4-dialog .v4-fanclub-form{gap:14px}
.v4-dialog .v4-fanclub-form label{min-width:0}
.v4-dialog .v4-fanclub-form input,.v4-dialog .v4-fanclub-form select,.v4-dialog .v4-fanclub-form textarea{width:100%}
.v4-management-grid .button{width:100%;min-width:0;min-height:48px;padding:11px 14px;white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.v4-contribution-management-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.v4-contribution-management-grid .button.danger{grid-column:1/-1}
.v4-management-note{margin:12px 0 0;color:var(--ink-500);font-size:.8rem;line-height:1.45}
.v4-assignment-note{display:block;margin-top:6px;color:var(--ink-500);font-size:.76rem;line-height:1.4}
@media(max-width:860px){.v4-management-grid,.v4-contribution-management-grid{grid-template-columns:1fr!important}.v4-contribution-management-grid .button.danger{grid-column:auto}.v4-dialog .dialog-actions{display:grid;grid-template-columns:1fr}.v4-dialog .dialog-actions .button{width:100%}}

/* ==========================================================================
   Portal Phase 2 – portalweiter Abnahme- und Designstandard
   ========================================================================== */
:root{
  --portal-control-height:44px;
  --portal-radius:16px;
  --portal-gap:12px;
  --portal-border:#c6d0dc;
  --portal-border-strong:#26384d;
  --portal-income-bg:#edf9f1;
  --portal-income-border:#b9dfc5;
  --portal-expense-bg:#fff0f1;
  --portal-expense-border:#efc0c5;
  --portal-pending-bg:#fff8df;
  --portal-pending-border:#ead79a;
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

html[data-portal-area="portal"] .view{
  width:min(1180px,100%)!important;
  padding:20px 20px 36px!important;
}

html[data-portal-area="portal"] .page{
  gap:14px!important;
}

html[data-portal-area="portal"] .card{
  border-color:#d5dde7;
  border-radius:var(--portal-radius)!important;
  padding:15px!important;
  box-shadow:0 5px 16px rgba(23,42,66,.07)!important;
}

html[data-portal-area="portal"] .loading-card,
html[data-portal-area="portal"] .empty-card{
  min-height:86px!important;
  padding:16px!important;
  place-content:center!important;
  text-align:center;
}

html[data-portal-area="portal"] .v4-module-surface{
  display:grid;
  gap:12px;
}

html[data-portal-area="portal"] .module-panel{
  display:grid;
  gap:10px;
  min-width:0;
}

html[data-portal-area="portal"] .module-panel>*{
  margin-block:0!important;
}

html[data-portal-area="portal"] .button,
.v4-dialog .button,
.user-menu-panel .button,
.user-profile-dialog .button{
  min-height:var(--portal-control-height)!important;
  border:1px solid var(--portal-border-strong)!important;
  border-radius:13px!important;
  padding:9px 13px!important;
  font-size:.84rem!important;
  line-height:1.2!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere;
  box-shadow:none!important;
}

html[data-portal-area="portal"] .button.primary,
.v4-dialog .button.primary,
.user-menu-panel .button.primary,
.user-profile-dialog .button.primary{
  border-color:#063664!important;
  background:#176fce!important;
  color:#fff!important;
}

html[data-portal-area="portal"] .button.secondary,
.v4-dialog .button.secondary,
.user-menu-panel .button.secondary,
.user-profile-dialog .button.secondary{
  border-color:#33465b!important;
  background:#eef2f7!important;
  color:#24364b!important;
}

html[data-portal-area="portal"] .button.ghost,
.v4-dialog .button.ghost,
.user-menu-panel .button.ghost,
.user-profile-dialog .button.ghost{
  border-color:#5b6a7b!important;
  background:#fff!important;
  color:#2f4054!important;
}

html[data-portal-area="portal"] .button.danger,
.v4-dialog .button.danger,
.user-menu-panel .button.danger,
.user-profile-dialog .button.danger{
  border-color:#6f1420!important;
  background:#c63847!important;
  color:#fff!important;
}

html[data-portal-area="portal"] .button.small{
  min-height:38px!important;
  padding:7px 10px!important;
  font-size:.76rem!important;
}

html[data-portal-area="portal"] .button:focus-visible,
.v4-dialog .button:focus-visible,
.user-menu-panel .button:focus-visible,
.user-profile-dialog .button:focus-visible{
  outline:3px solid rgba(24,118,211,.25)!important;
  outline-offset:2px;
}

/* Kompakte Tabs, Überschriften und Werkzeuge */
html[data-portal-area="portal"] .v4-tabs{
  gap:7px!important;
}

html[data-portal-area="portal"] .v4-tab{
  min-height:43px!important;
  border:1px solid #cbd5e1!important;
  border-radius:14px!important;
  padding:8px 12px!important;
  background:#fff!important;
  color:#34455a!important;
  font-size:.86rem!important;
  line-height:1.2!important;
}

html[data-portal-area="portal"] .v4-tab.active{
  border-color:#063664!important;
  background:#0c4f88!important;
  color:#fff!important;
  box-shadow:none!important;
}

html[data-portal-area="portal"] .v4-heading-row{
  gap:9px!important;
  margin-bottom:8px!important;
}

html[data-portal-area="portal"] .v4-heading-row h3{
  font-size:1.08rem!important;
  line-height:1.2;
}

html[data-portal-area="portal"] .button.v4-heading-action{
  min-height:39px!important;
  padding:7px 11px!important;
  border-color:#33465b!important;
  background:#f3f6fa!important;
  color:#26384d!important;
}

html[data-portal-area="portal"] .v4-toolbar{
  gap:10px!important;
  margin-bottom:8px;
}

html[data-portal-area="portal"] .v4-toolbar p{
  margin-top:3px!important;
  font-size:.79rem!important;
  line-height:1.35!important;
}

/* Gemeinsamer kompakter Dialog */
.v4-dialog{
  width:min(720px,calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
  margin:auto!important;
  border:0!important;
  padding:0!important;
  background:transparent!important;
  overflow:hidden!important;
}

.v4-dialog::backdrop,
.user-profile-dialog::backdrop{
  background:rgba(3,20,38,.66)!important;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

.v4-dialog-shell{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 24px)!important;
  overflow:hidden!important;
  border:1px solid rgba(198,208,220,.95)!important;
  border-radius:22px!important;
  background:#f7f9fc!important;
  box-shadow:0 22px 65px rgba(3,22,42,.28)!important;
}

.v4-dialog-shell>header{
  padding:13px 16px!important;
  gap:12px!important;
  background:#fff!important;
  border-bottom:1px solid #dbe3ec!important;
}

.v4-dialog-shell>header .subtle{
  font-size:.72rem!important;
  line-height:1.2!important;
}

.v4-dialog-shell h2{
  margin:3px 0 0!important;
  font-size:1.23rem!important;
  line-height:1.15!important;
  letter-spacing:-.02em;
}

.v4-dialog-shell .icon-button,
.user-profile-dialog .icon-button,
.user-menu-panel .icon-button{
  width:36px!important;
  height:36px!important;
  min-height:36px!important;
  border:1px solid #d2dbe6!important;
  border-radius:11px!important;
  background:#f2f6fa!important;
}

#v4DialogBody{
  flex:0 1 auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:13px 16px!important;
  background:#f7f9fc!important;
  scroll-padding-bottom:84px;
}

.v4-dialog form,
.user-profile-dialog form{
  min-width:0;
}

.v4-dialog .form-grid:not(.v4-smart-form),
.user-profile-dialog .form-grid:not(.v4-smart-form){
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px 11px!important;
  margin:0!important;
}

.v4-dialog .form-grid>.full,
.user-profile-dialog .form-grid>.full{
  grid-column:1/-1!important;
}

.v4-dialog label,
.user-profile-dialog label{
  display:grid!important;
  align-content:start;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  color:#40526a!important;
  font-size:.74rem!important;
  font-weight:850!important;
  line-height:1.25!important;
}

.v4-dialog input,
.v4-dialog select,
.v4-dialog textarea,
.user-profile-dialog input,
.user-profile-dialog select,
.user-profile-dialog textarea{
  display:block!important;
  width:100%!important;
  inline-size:100%!important;
  min-width:0!important;
  min-inline-size:0!important;
  max-width:100%!important;
  max-inline-size:100%!important;
  min-height:42px!important;
  border:1px solid #c9d4e0!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:8px 10px!important;
  color:#17283d!important;
  font-size:16px!important;
  line-height:1.25!important;
  box-shadow:none!important;
}

.v4-dialog select,
.user-profile-dialog select{
  overflow:hidden!important;
  text-overflow:ellipsis;
}

.v4-dialog input[type="date"],
.user-profile-dialog input[type="date"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  inline-size:100%!important;
  min-width:0!important;
  min-inline-size:0!important;
  max-width:100%!important;
  max-inline-size:100%!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  block-size:42px!important;
  min-block-size:42px!important;
  max-block-size:42px!important;
  margin:0!important;
  padding:8px 10px!important;
  line-height:24px!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums;
}

.v4-dialog input[type="date"]::-webkit-date-and-time-value,
.user-profile-dialog input[type="date"]::-webkit-date-and-time-value{
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  line-height:24px!important;
  text-align:left!important;
}

.v4-dialog input[type="date"]::-webkit-datetime-edit,
.user-profile-dialog input[type="date"]::-webkit-datetime-edit{
  min-width:0!important;
  padding:0!important;
}

.v4-dialog input[type="date"]::-webkit-calendar-picker-indicator,
.user-profile-dialog input[type="date"]::-webkit-calendar-picker-indicator{
  flex:none;
  margin:0!important;
  padding:0!important;
}

.v4-dialog textarea,
.user-profile-dialog textarea{
  min-height:78px!important;
  resize:vertical;
}

.v4-dialog input:focus,
.v4-dialog select:focus,
.v4-dialog textarea:focus,
.user-profile-dialog input:focus,
.user-profile-dialog select:focus,
.user-profile-dialog textarea:focus{
  border-color:#1876d3!important;
  outline:3px solid rgba(24,118,211,.14)!important;
  outline-offset:0!important;
}

.v4-dialog [aria-invalid="true"],
.user-profile-dialog [aria-invalid="true"]{
  border-color:#be3342!important;
  background:#fff8f8!important;
}

.field-error{
  display:block!important;
  min-height:0!important;
  margin:0!important;
  color:#a72131!important;
  font-size:.69rem!important;
  font-weight:750!important;
  line-height:1.25!important;
}

.field-error:empty{
  display:none!important;
}

.v4-dialog .dialog-actions,
.user-profile-dialog .dialog-actions{
  position:static!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin:10px 0 0!important;
  padding:10px 0 0!important;
  border-top:1px solid #dbe3ec!important;
  background:transparent!important;
  box-shadow:none!important;
}

#v4DialogBody>.dialog-actions{
  position:sticky!important;
  z-index:5!important;
  bottom:0!important;
  margin:13px -16px -13px!important;
  padding:10px 16px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 -8px 20px rgba(12,35,58,.07)!important;
}

.v4-dialog .dialog-actions .button,
.user-profile-dialog .dialog-actions .button{
  width:100%!important;
  min-width:0!important;
}

.v4-dialog .dialog-actions .button:only-child,
.user-profile-dialog .dialog-actions .button:only-child{
  grid-column:1/-1;
}

.v4-confirm-copy{
  padding:12px 13px;
  border:1px solid #d8e1eb;
  border-radius:14px;
  background:#fff;
}

.v4-confirm-copy p{
  margin:0;
  color:#25384e;
  line-height:1.5;
}

/* Benutzermenü */
.user-menu-panel{
  display:flex!important;
  flex-direction:column!important;
  top:calc(10px + var(--safe-top))!important;
  right:max(10px,var(--safe-right))!important;
  bottom:auto!important;
  width:min(410px,calc(100vw - 24px))!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100dvh - var(--safe-top) - 20px)!important;
  overflow:hidden!important;
  border:1px solid #c9d4e0!important;
  border-radius:22px!important;
  background:#f7f9fc!important;
  box-shadow:0 24px 70px rgba(2,22,42,.3)!important;
}

.user-menu-panel[hidden],
.user-menu-backdrop[hidden]{
  display:none!important;
}

.user-menu-header{
  padding:14px 16px 12px!important;
  gap:10px!important;
  background:#fff!important;
}

.user-menu-header .subtle{
  font-size:.72rem!important;
}

.user-menu-header h2{
  margin:3px 0 0!important;
  font-size:1.24rem!important;
  line-height:1.15!important;
}

.user-menu-header p{
  margin:4px 0 0!important;
  font-size:.82rem!important;
}

.user-menu-content{
  flex:0 1 auto!important;
  display:grid!important;
  gap:10px!important;
  min-height:0!important;
  padding:12px 16px!important;
  overflow:auto!important;
}

.user-profile-grid{
  gap:7px!important;
}

.user-profile-value{
  padding:9px 11px!important;
  border-radius:12px!important;
  background:#fff!important;
}

.user-profile-value span{
  margin-bottom:3px!important;
  font-size:.66rem!important;
}

.user-profile-value strong{
  font-size:.88rem!important;
  overflow-wrap:anywhere;
}

.user-menu-content .notice{
  margin:0!important;
  padding:10px 11px!important;
  font-size:.78rem!important;
}

.user-menu-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.user-menu-footer{
  flex:none!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  padding:10px 16px!important;
  background:#fff!important;
  border-top:1px solid #dbe3ec!important;
}

/* Profil- und Datendialog */
.user-profile-dialog{
  width:min(720px,calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:hidden!important;
}

.user-profile-dialog-shell{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 24px)!important;
  overflow:hidden!important;
  border:1px solid #c9d4e0!important;
  border-radius:22px!important;
  background:#f7f9fc!important;
  box-shadow:0 24px 70px rgba(2,22,42,.3)!important;
}

.user-profile-dialog-header{
  padding:13px 16px!important;
  gap:10px!important;
  background:#fff!important;
}

.user-profile-dialog-header h2{
  margin:3px 0 0!important;
  font-size:1.23rem!important;
}

.user-profile-dialog-header p{
  margin:4px 0 0!important;
  font-size:.77rem!important;
  line-height:1.35!important;
}

.user-profile-dialog-body{
  flex:0 1 auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:auto!important;
  display:grid!important;
  gap:10px!important;
  padding:12px 16px 14px!important;
}

.user-menu-section{
  padding:12px!important;
  border:1px solid #d7e0e9!important;
  border-radius:15px!important;
  background:#fff!important;
}

.user-menu-section h3{
  margin:0 0 8px!important;
  font-size:1rem!important;
}

.user-menu-section-heading{
  gap:8px!important;
  margin-bottom:8px!important;
}

.user-menu-section-heading p{
  margin-top:3px!important;
  font-size:.75rem!important;
  line-height:1.35!important;
}

/* Mitgliederfilter ohne künstliche Leerfläche */
.v4-member-filterbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  justify-content:initial!important;
  gap:8px!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:7px 0 9px!important;
  padding:0!important;
}

.v4-compact-search{
  display:block!important;
  flex:none!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}

.v4-compact-search::before,
.v4-compact-search::after{
  display:none!important;
  content:none!important;
}

.v4-compact-search input{
  width:100%!important;
  min-height:42px!important;
  margin:0!important;
  font-size:16px!important;
}

.v4-compact-check{
  align-self:center!important;
  min-height:36px!important;
  margin:0!important;
  padding:0 2px!important;
}

/* Vorstand: erste Karte mittig, Bearbeitung mobil stabil */
.v4-board-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  width:100%!important;
}

.v4-board-grid .v4-office-card{
  min-width:0!important;
  justify-items:center!important;
  align-content:start!important;
  gap:7px!important;
  padding:12px!important;
  text-align:center!important;
}

.v4-board-grid .v4-office-card:first-child{
  grid-column:1/-1!important;
  justify-self:center!important;
  width:min(100%,430px)!important;
  margin-inline:auto!important;
}

.v4-board-grid .v4-office-card label,
.v4-board-grid .v4-office-card select{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

.v4-board-grid .v4-board-save{
  position:static!important;
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  padding:2px 0 0!important;
}

.v4-board-grid .v4-board-save .button{
  width:100%!important;
  min-width:0!important;
}

/* Beiträge und Kasse weiter verdichten */
.v4-contribution-season-control{
  margin:0 0 8px!important;
}

.v4-contribution-season-control select{
  min-height:42px!important;
  padding:7px 10px!important;
  font-size:16px!important;
}

.v4-finance-summary{
  gap:7px!important;
  margin:0 0 10px!important;
}

.v4-finance-summary .card{
  min-height:0!important;
  padding:10px 11px!important;
}

.v4-finance-summary .card span{
  font-size:.72rem!important;
}

.v4-finance-summary .card strong{
  margin-top:3px!important;
  font-size:1.03rem!important;
}

.v4-contribution-summary-card{
  transition:border-color .15s ease,background .15s ease;
}

.v4-contribution-summary-card.is-confirmed{
  border-color:var(--portal-income-border)!important;
  background:var(--portal-income-bg)!important;
}

.v4-contribution-summary-card.is-confirmed strong{
  color:#147747!important;
}

.v4-contribution-summary-card.is-open{
  border-color:var(--portal-expense-border)!important;
  background:var(--portal-expense-bg)!important;
}

.v4-contribution-summary-card.is-open strong{
  color:#a62434!important;
}

.v4-contribution-summary-card.is-pending{
  border-color:var(--portal-pending-border)!important;
  background:var(--portal-pending-bg)!important;
}

.v4-contribution-summary-card.is-pending strong{
  color:#946200!important;
}

.v4-contribution-members-section,
.v4-payment-report-section,
.v4-contribution-config,
.v4-cashbook-compact-section{
  padding:12px!important;
}

.v4-contribution-mobile-list,
.v4-payment-mobile-list,
.v4-settings-list,
.v4-member-mobile-list{
  gap:6px!important;
}

.v4-contribution-mobile-card,
.v4-compact-row,
.v4-settings-row,
.v4-member-compact-row{
  min-height:46px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
}

.v4-account-grid-compact{
  gap:7px!important;
}

.v4-account-card-button{
  min-height:72px!important;
  padding:10px 11px!important;
  border-radius:14px!important;
}

.v4-cashbook-compact-section{
  margin-top:10px!important;
}

.v4-ledger-search{
  margin-bottom:7px!important;
}

.v4-ledger-search input{
  min-height:42px!important;
  font-size:16px!important;
}

/* Kontoauszüge und Buchungslisten: Einnahme grün, Ausgabe rot */
.v4-compact-entry{
  min-height:48px!important;
  border-width:1px!important;
  padding:8px 10px!important;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}

.v4-compact-entry.is-income{
  border-color:var(--portal-income-border)!important;
  background:var(--portal-income-bg)!important;
}

.v4-compact-entry.is-expense{
  border-color:var(--portal-expense-border)!important;
  background:var(--portal-expense-bg)!important;
}

.v4-compact-entry.is-income:hover{
  border-color:#83c99a!important;
  background:#e1f5e7!important;
}

.v4-compact-entry.is-expense:hover{
  border-color:#df8e98!important;
  background:#ffe5e8!important;
}

.v4-compact-entry.is-reversed{
  opacity:.7!important;
}

.v4-compact-entry-amount.is-positive,
.is-positive{
  color:#147747!important;
}

.v4-compact-entry-amount.is-negative,
.is-negative{
  color:#a62434!important;
}

/* Aufgaben */
.tasks-page .v4-toolbar{
  align-items:center!important;
}

#tasksTabs .v4-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}

#tasksTabs .v4-tab{
  flex:1 1 150px;
}

.v4-card-grid{
  gap:10px!important;
}

.v4-task-card{
  display:grid!important;
  gap:9px!important;
  padding:14px!important;
}

.v4-card-header{
  gap:9px!important;
}

.v4-card-header h3{
  margin:2px 0 0!important;
  font-size:1rem!important;
  line-height:1.25!important;
  overflow-wrap:anywhere;
}

.v4-task-card>p{
  font-size:.82rem!important;
  line-height:1.45!important;
}

.v4-meta-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
}

.v4-meta-grid>div{
  padding:8px 9px!important;
  border-radius:11px!important;
}

.v4-meta-grid dt{
  font-size:.65rem!important;
}

.v4-meta-grid dd{
  margin-top:2px!important;
  font-size:.77rem!important;
  overflow-wrap:anywhere;
}

.v4-card-actions{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(115px,1fr))!important;
  gap:7px!important;
  margin-top:2px!important;
}

.v4-card-actions>*{
  min-width:0!important;
  width:100%!important;
}

.v4-task-status-control,
.v4-status-select{
  width:100%!important;
  min-width:0!important;
}

.v4-status-select{
  min-height:38px!important;
  font-size:16px!important;
}

/* Teams */
.teams-page .v4-toolbar{
  align-items:center!important;
}

.v4-team-card{
  display:grid!important;
  gap:9px!important;
  padding:14px!important;
}

.v4-team-members{
  display:grid!important;
  gap:6px!important;
}

.v4-list-row{
  min-width:0!important;
  padding:8px 9px!important;
  border-radius:11px!important;
}

.v4-list-row strong,
.v4-list-row small{
  overflow-wrap:anywhere;
}

.v4-list-row .row-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end;
  gap:6px!important;
}

.v4-team-task-dependency{
  margin:0!important;
  padding:10px 11px!important;
}

/* Dashboard */
.dashboard-widget-grid{
  grid-template-columns:repeat(auto-fit,minmax(185px,1fr))!important;
  gap:10px!important;
}

.v4-metric-card{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  padding:14px!important;
}

.v4-metric-icon{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  background:#eaf3fd!important;
  font-size:1.05rem!important;
}

.v4-metric-card strong{
  font-size:1.3rem!important;
  line-height:1.1!important;
}

.v4-metric-card h3{
  margin:3px 0 0!important;
  font-size:.86rem!important;
}

.v4-metric-card p{
  margin-top:3px!important;
  font-size:.72rem!important;
  line-height:1.35!important;
}

/* Toasts und Statusmeldungen */
.toast-region{
  width:min(390px,calc(100vw - 24px))!important;
  right:max(12px,var(--safe-right))!important;
  bottom:max(12px,var(--safe-bottom))!important;
  gap:7px!important;
}

.toast{
  width:100%!important;
  max-width:none!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:13px!important;
  padding:10px 12px!important;
  font-size:.84rem!important;
  line-height:1.38!important;
  box-shadow:0 12px 30px rgba(3,22,42,.22)!important;
  cursor:pointer;
}

.notice{
  overflow-wrap:anywhere;
}

.notice.error{
  border:1px solid #ecc2c7;
}

/* Mobile und PWA */
@media(max-width:860px){
  html[data-portal-area="portal"]:not([data-route="profile"]) .view{
    padding:
      13px
      max(12px,var(--safe-right))
      calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 16px)
      max(12px,var(--safe-left))!important;
  }

  html[data-portal-area="portal"]:not([data-route="profile"]) .view>.page{
    padding-bottom:18px!important;
  }

  html[data-portal-area="portal"] .v4-module-surface{
    gap:10px!important;
  }

  #fanclubTabs .v4-tabs{
    gap:7px!important;
  }

  .v4-member-filterbar{
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:7px!important;
    margin-bottom:8px!important;
  }

  .v4-compact-check{
    justify-self:start!important;
  }

  .v4-board-grid.is-editing{
    grid-template-columns:1fr!important;
  }

  .v4-board-grid.is-editing .v4-office-card:first-child{
    grid-column:auto!important;
    width:100%!important;
  }

  .v4-board-grid.is-editing .v4-board-save{
    grid-column:auto!important;
  }

  .v4-dialog{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
  }

  .v4-dialog-shell{
    max-height:calc(100dvh - 16px)!important;
    border-radius:19px!important;
  }

  .v4-dialog-shell>header{
    padding:11px 13px!important;
  }

  #v4DialogBody{
    padding:11px 13px!important;
  }

  #v4DialogBody>.dialog-actions{
    margin:11px -13px -11px!important;
    padding:9px 13px!important;
  }

  .v4-dialog .form-grid:not(.v4-smart-form),
  .user-profile-dialog .form-grid:not(.v4-smart-form){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px 9px!important;
  }

  .user-menu-panel{
    top:auto!important;
    right:max(8px,var(--safe-right))!important;
    bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 8px)!important;
    width:calc(100vw - 16px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - var(--mobile-nav-height) - var(--safe-top) - var(--safe-bottom) - 22px)!important;
  }

  .user-menu-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .user-profile-dialog{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
  }

  .user-profile-dialog-shell{
    max-height:calc(100dvh - 16px)!important;
    border-radius:19px!important;
  }

  .toast-region{
    left:12px!important;
    right:12px!important;
    width:auto!important;
    bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 10px)!important;
  }

  .v4-meta-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .dashboard-widget-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .v4-metric-card{
    grid-template-columns:1fr!important;
    gap:6px!important;
    padding:11px!important;
  }

  .v4-metric-icon{
    width:32px!important;
    height:32px!important;
  }

  .v4-metric-card p{
    display:none!important;
  }

  .v4-task-card,
  .v4-team-card{
    padding:12px!important;
  }
}

@media(max-width:430px){
  .user-menu-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .user-menu-actions .button{
    padding-inline:8px!important;
    font-size:.78rem!important;
  }

  .v4-board-grid:not(.is-editing){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .v4-board-grid.is-editing{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:350px){
  .v4-dialog .form-grid:not(.v4-smart-form),
  .user-profile-dialog .form-grid:not(.v4-smart-form),
  .v4-dialog .dialog-actions,
  .user-profile-dialog .dialog-actions,
  .user-menu-actions,
  .v4-board-grid .v4-board-save{
    grid-template-columns:1fr!important;
  }

  .v4-dialog .form-grid:not(.v4-smart-form)>.full,
  .user-profile-dialog .form-grid:not(.v4-smart-form)>.full{
    grid-column:auto!important;
  }

  .dashboard-widget-grid{
    grid-template-columns:1fr!important;
  }
}

@media(display-mode:standalone) and (max-width:860px){
  :root{
    --mobile-safe-bottom:var(--safe-bottom);
  }

  html[data-portal-area="portal"]:not([data-route="profile"]){
    width:100%;
    height:100dvh;
    min-height:100dvh;
    overflow:hidden!important;
    background:#03192e!important;
  }

  html[data-portal-area="portal"]:not([data-route="profile"]) body{
    width:100%;
    height:100dvh;
    min-height:100dvh!important;
    overflow:hidden!important;
  }

  html[data-portal-area="portal"]:not([data-route="profile"]) .app-shell,
  html[data-portal-area="portal"]:not([data-route="profile"]) .app-main{
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
  }

  html[data-portal-area="portal"]:not([data-route="profile"]) .app-shell,
  html[data-portal-area="portal"]:not([data-route="profile"]) .app-main{
    overflow:hidden!important;
  }

  html[data-portal-area="portal"]:not([data-route="profile"]) .view{
    height:auto!important;
    min-height:0!important;
    flex:1 1 auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 12px)!important;
  }

  html[data-portal-area="portal"]:not([data-route="profile"]) .view>.page{
    min-height:0!important;
    padding-bottom:0!important;
  }

  html[data-portal-area="portal"] .mobile-bottom-nav{
    bottom:0!important;
    height:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom))!important;
    min-height:0!important;
    max-height:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom))!important;
    overflow:visible!important;
  }

  html[data-portal-area="portal"] .user-menu-panel{
    bottom:calc(
      var(--mobile-nav-height)
      + var(--mobile-safe-bottom)
      + 8px
    )!important;
  }

  .toast-region{
    bottom:calc(
      var(--mobile-nav-height)
      + var(--mobile-safe-bottom)
      + 14px
    )!important;
  }

  .install-banner{
    bottom:calc(
      var(--mobile-nav-height)
      + var(--mobile-safe-bottom)
      + 10px
    )!important;
  }
}

/* Kompakte Workflows R1 – gemeinsame Struktur statt seitenweiser Sonderlösungen */
.v4-smart-form{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;align-items:start!important;gap:9px 12px!important}.v4-smart-form>[class*="v4-field-"]{min-width:0!important;max-width:100%!important;contain:inline-size}.v4-smart-form>label:has(>input[type="date"]){overflow:hidden}.v4-smart-form>.v4-field-full{grid-column:span 12!important}.v4-smart-form>.v4-field-nine{grid-column:span 9!important}.v4-smart-form>.v4-field-seven{grid-column:span 7!important}.v4-smart-form>.v4-field-half{grid-column:span 6!important}.v4-smart-form>.v4-field-five{grid-column:span 5!important}.v4-smart-form>.v4-field-four{grid-column:span 4!important}.v4-smart-form>.v4-field-three{grid-column:span 3!important}.v4-smart-form textarea{min-height:68px!important}
.v4-account-summary-button{position:relative;display:grid!important;grid-template-areas:"name arrow" "balance arrow"!important;grid-template-columns:minmax(0,1fr) 18px!important;align-items:center!important;gap:3px 8px!important;min-height:68px!important;padding:10px 12px!important;text-align:left!important}.v4-account-summary-button .v4-account-name,.v4-account-summary-button .v4-account-balance{min-width:0;margin:0!important}.v4-account-summary-button .v4-account-name{grid-area:name;font-size:.88rem!important;line-height:1.2!important;overflow-wrap:anywhere}.v4-account-summary-button .v4-account-balance{grid-area:balance;font-size:1rem!important;white-space:nowrap}.v4-account-summary-button .v4-row-chevron{grid-area:arrow;align-self:center;justify-self:end}.v4-account-summary-button.is-inactive{opacity:.68;border-style:dashed!important}
.v4-account-detail-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid #d7e0e9;border-radius:14px;background:#fff}.v4-account-detail-summary>div{display:grid;gap:3px;min-width:0}.v4-account-detail-summary>div>strong{font-size:1rem;overflow-wrap:anywhere}.v4-account-detail-summary small{color:#718096;font-size:.75rem;line-height:1.35}.v4-account-detail-summary .v4-account-detail-balance{font-size:1.35rem!important;white-space:nowrap}
.v4-finance-detail-grid,.v4-task-detail-grid,.v4-team-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.v4-finance-detail-grid>div,.v4-task-detail-grid>div,.v4-team-detail-grid>div{min-height:0!important;padding:9px 10px!important}.v4-detail-grid>.v4-detail-wide{grid-column:1/-1!important}
.v4-task-list,.v4-team-list{display:grid;gap:7px}.v4-task-list-row,.v4-team-list-row{width:100%;min-width:0;min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d2dce7;border-radius:14px;background:#fff;color:#14283f;text-align:left;box-shadow:0 4px 12px rgba(20,40,63,.06)}.v4-task-list-row:hover,.v4-team-list-row:hover{border-color:#8eb9df;background:#f7fbff}.v4-task-list-copy,.v4-team-list-row>span:first-child{display:grid;gap:2px;min-width:0}.v4-task-list-copy small,.v4-team-list-row small{color:#748297;font-size:.7rem}.v4-task-list-copy strong,.v4-team-list-row strong{font-size:.9rem;line-height:1.25;overflow-wrap:anywhere}.v4-task-list-copy>span{color:#65758b;font-size:.74rem;line-height:1.3}.v4-task-list-end{display:flex;align-items:center;gap:8px}.v4-task-list-end .badge{font-size:.67rem!important}.v4-task-detail-actions{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}.v4-task-detail-actions .v4-task-status-control,.v4-task-detail-actions .v4-status-select{width:100%}
.v4-team-detail-members{margin-top:10px}.v4-team-member-list{display:grid;gap:6px}.v4-team-member-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid #d8e1ea;border-radius:11px;background:#fff}.v4-team-member-row>span:first-child{display:grid;gap:2px;min-width:0}.v4-team-member-row strong{overflow-wrap:anywhere}.v4-team-member-row small{color:#738196;font-size:.7rem}.v4-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.v4-teams-heading{margin-top:8px}
@media(max-width:430px){.v4-smart-form{gap:8px 12px!important}.v4-smart-form>.v4-field-seven,.v4-smart-form>.v4-field-five,.v4-smart-form>.v4-field-four{grid-column:span 6!important}.v4-smart-form>.v4-field-account-select{grid-column:1/-1!important}.v4-account-detail-summary{padding:10px 11px}.v4-account-detail-summary .v4-account-detail-balance{font-size:1.15rem!important}.v4-task-list-row,.v4-team-list-row{min-height:54px;padding:9px 10px}.v4-task-list-end .badge{max-width:82px}}
@media(max-width:350px){.v4-smart-form>*{grid-column:1/-1!important}.v4-finance-detail-grid,.v4-task-detail-grid,.v4-team-detail-grid{grid-template-columns:1fr!important}.v4-detail-grid>.v4-detail-wide{grid-column:auto!important}.v4-account-detail-summary{grid-template-columns:1fr}.v4-account-detail-summary .v4-account-detail-balance{justify-self:start}.v4-team-member-row{grid-template-columns:1fr}.v4-row-actions{justify-content:flex-start}}

/* V4 TASK HISTORY R1 – 30-MINUTEN-UPDATEVERLAUF */
.v4-task-history{
  display:grid;
  gap:16px;
}

.v4-task-history-loading{
  min-height:120px;
  display:grid;
  place-items:center;
  color:var(--ink-500);
  font-weight:750;
}

.v4-task-update-form,
.v4-task-history-inline-form{
  display:grid;
  gap:12px;
  padding:15px;
  border:1px solid rgba(210,220,232,.9);
  border-radius:18px;
  background:rgba(246,249,252,.94);
}

.v4-task-update-form label,
.v4-task-history-inline-form label{
  display:grid;
  gap:7px;
  font-weight:800;
}

.v4-task-update-form textarea,
.v4-task-history-inline-form textarea{
  width:100%;
  resize:vertical;
}

.v4-task-history-form-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.v4-task-history-form-footer small{
  color:var(--ink-500);
  line-height:1.35;
}

.v4-task-history-list{
  display:grid;
  gap:11px;
}

.v4-task-history-entry{
  display:grid;
  gap:9px;
  padding:14px 15px;
  border:1px solid rgba(210,220,232,.9);
  border-radius:17px;
  background:#fff;
  box-shadow:0 4px 14px rgba(7,35,65,.055);
}

.v4-task-history-entry.is-system{
  background:rgba(244,247,250,.88);
  box-shadow:none;
}

.v4-task-history-entry.is-hidden{
  border-style:dashed;
  opacity:.78;
}

.v4-task-history-entry > header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.v4-task-history-entry > header > div{
  min-width:0;
  display:grid;
  gap:2px;
}

.v4-task-history-entry > header strong{
  color:var(--ink-900);
  font-size:.91rem;
}

.v4-task-history-entry > header span:not(.badge){
  color:var(--ink-500);
  font-size:.76rem;
  line-height:1.35;
}

.v4-task-history-entry > p{
  margin:0;
  color:var(--ink-900);
  line-height:1.55;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.v4-task-history-entry > footer{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding-top:3px;
}

.v4-task-history-edited,
.v4-task-history-hidden-reason{
  color:var(--ink-500);
  line-height:1.4;
}

.v4-task-history-hidden-reason{
  font-style:italic;
}

@media(max-width:640px){
  .v4-task-history-form-footer{
    align-items:stretch;
    flex-direction:column;
  }

  .v4-task-history-form-footer .button{
    width:100%;
  }

  .v4-task-history-entry{
    padding:13px;
    border-radius:15px;
  }

  .v4-task-history-entry > header{
    align-items:flex-start;
    flex-direction:column;
  }

  .v4-task-history-entry > footer{
    display:grid;
    grid-template-columns:1fr;
  }

  .v4-task-history-entry > footer .button{
    width:100%;
  }
}

/* V4 TASK WORKFLOW R2 CORE */
.v4-task-assignment-readonly{
  display:grid;
  gap:4px;
  align-content:center;
  min-height:68px;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface-soft);
}
.v4-task-assignment-readonly span,
.v4-task-assignment-readonly small{
  color:var(--ink-500);
  font-size:.76rem;
}
.v4-task-list-row.has-unread{
  border-color:rgba(22,137,255,.45)!important;
  box-shadow:0 6px 18px rgba(22,137,255,.09)!important;
}
.v4-task-list-row.is-waiting{
  border-left:4px solid #d39500!important;
}
.v4-task-list-meta{
  color:var(--ink-500)!important;
  font-size:.74rem!important;
  line-height:1.35!important;
}
.v4-task-unread-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:4px 8px;
  border-radius:999px;
  background:#126fd0;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  white-space:nowrap;
}
.v4-task-waiting-notice,
.v4-task-transfer-notice{
  margin-top:12px;
}
.v4-task-waiting-notice p,
.v4-task-transfer-notice p{
  margin:5px 0 0;
}
@media(max-width:640px){
  .v4-task-list-end{
    align-items:flex-end!important;
    flex-direction:column!important;
  }
  .v4-task-detail-actions{
    grid-template-columns:1fr!important;
  }
  .v4-task-detail-actions .button,
  .v4-task-detail-actions .v4-task-status-control{
    width:100%!important;
  }
}

/* V4 WEB PUSH R1 */
.v4-push-dialog .v4-dialog-shell{
  width:min(620px,calc(100vw - 24px));
}
.v4-push-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.v4-push-summary>div{
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface-soft);
}
.v4-push-summary span{
  color:var(--ink-500);
  font-size:.75rem;
}
.v4-push-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:14px 0 18px;
}
.v4-push-preferences{
  display:grid;
  gap:10px;
}
.v4-push-preferences h3{
  margin:4px 0 2px;
}
.v4-switch-row{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:58px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
}
.v4-switch-row span{
  display:grid;
  gap:3px;
}
.v4-switch-row small{
  color:var(--ink-500);
}
.v4-switch-row input[type="checkbox"]{
  width:22px;
  height:22px;
  flex:0 0 auto;
}
.v4-push-quiet-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
@media(max-width:640px){
  .v4-push-summary{
    grid-template-columns:1fr;
  }
  .v4-push-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .v4-push-actions .button,
  .v4-push-preferences>.button{
    width:100%;
  }
}

/* V4 WEB PUSH DIALOG UI FIX1 */
.v4-push-dialog{
  width:min(560px,calc(100vw - 24px))!important;
  max-width:min(560px,calc(100vw - 24px))!important;
  max-height:calc(
    100dvh
    - max(12px,var(--safe-top))
    - max(12px,var(--safe-bottom))
  )!important;
  overflow:visible!important;
}

.v4-push-dialog::backdrop{
  background:rgba(3,25,46,.58)!important;
  backdrop-filter:blur(4px)!important;
  -webkit-backdrop-filter:blur(4px)!important;
}

.v4-push-dialog .v4-dialog-shell{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  width:100%!important;
  height:min(
    760px,
    calc(
      100dvh
      - max(12px,var(--safe-top))
      - max(12px,var(--safe-bottom))
    )
  )!important;
  max-height:none!important;
  overflow:hidden!important;
  border:1px solid rgba(111,135,163,.22)!important;
  border-radius:20px!important;
  background:#f8fafc!important;
  box-shadow:0 28px 70px rgba(19,39,62,.28)!important;
}

.v4-push-dialog .v4-dialog-shell>header{
  position:relative!important;
  z-index:5!important;
  min-height:64px!important;
  align-items:center!important;
  padding:12px 14px!important;
  border-bottom:1px solid rgba(126,145,171,.18)!important;
  background:rgba(248,250,252,.96)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}

.v4-push-dialog .v4-dialog-shell>header h2{
  margin:0!important;
  color:var(--ink-900)!important;
  font-size:1.08rem!important;
  line-height:1.2!important;
  letter-spacing:-.015em!important;
}

.v4-push-dialog .icon-button{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border:1px solid rgba(95,121,151,.2)!important;
  border-radius:12px!important;
  background:#eef3f8!important;
  color:#263d58!important;
  font-size:1.25rem!important;
}

#pushSettingsBody.v4-push-scroll-region{
  min-width:0!important;
  min-height:0!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  scrollbar-gutter:stable!important;
  padding:12px 14px calc(16px + max(0px,var(--safe-bottom)))!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(255,255,255,.8),transparent 32%),
    linear-gradient(180deg,#f3f6fa 0%,#eef3f8 100%)!important;
}

.v4-push-summary{
  display:grid!important;
  grid-template-columns:1.2fr 1fr .75fr!important;
  gap:7px!important;
  margin:0 0 10px!important;
}

.v4-push-summary>div{
  min-width:0!important;
  min-height:62px!important;
  align-content:center!important;
  gap:3px!important;
  padding:9px 10px!important;
  border:1px solid rgba(126,145,171,.2)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 4px 12px rgba(29,53,79,.04)!important;
}

.v4-push-summary span{
  overflow:hidden!important;
  color:#6c7f96!important;
  font-size:.65rem!important;
  font-weight:800!important;
  line-height:1.15!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.v4-push-summary strong{
  overflow:hidden!important;
  color:#213851!important;
  font-size:.82rem!important;
  line-height:1.2!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.v4-push-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
  margin:10px 0 15px!important;
}

.v4-push-actions .button{
  width:100%!important;
  min-height:42px!important;
  padding:9px 11px!important;
  border-radius:12px!important;
  font-size:.78rem!important;
  line-height:1.2!important;
  box-shadow:none!important;
}

.v4-push-actions [data-enable-push]{
  grid-column:1/-1!important;
  background:#126fd0!important;
}

.v4-push-actions [data-send-push-test]{
  border:1px solid rgba(47,95,145,.2)!important;
  background:#eaf2fb!important;
  color:#173d68!important;
}

.v4-push-actions [data-disable-push]{
  border:1px solid rgba(166,36,52,.22)!important;
  background:#fff4f5!important;
  color:#9b2734!important;
}

.v4-push-preferences{
  display:grid!important;
  gap:7px!important;
  padding-bottom:2px!important;
}

.v4-push-preferences h3{
  margin:2px 2px 4px!important;
  color:#263d58!important;
  font-size:.9rem!important;
  line-height:1.3!important;
  letter-spacing:0!important;
}

.v4-switch-row{
  display:flex!important;
  min-width:0!important;
  min-height:56px!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:9px 11px!important;
  border:1px solid rgba(126,145,171,.2)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 3px 10px rgba(29,53,79,.035)!important;
  cursor:pointer!important;
}

.v4-switch-row>span{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
}

.v4-switch-row strong{
  color:#2a405b!important;
  font-size:.82rem!important;
  line-height:1.2!important;
}

.v4-switch-row small{
  color:#71839a!important;
  font-size:.7rem!important;
  line-height:1.25!important;
}

.v4-switch-row input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  display:block!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:26px!important;
  min-height:26px!important;
  max-height:26px!important;
  flex:0 0 44px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#cbd5e1!important;
  box-shadow:inset 0 0 0 1px rgba(67,88,112,.12)!important;
  cursor:pointer!important;
  transition:background .16s ease!important;
}

.v4-switch-row input[type="checkbox"]::after{
  content:""!important;
  position:absolute!important;
  top:3px!important;
  left:3px!important;
  width:20px!important;
  height:20px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 2px 6px rgba(22,42,64,.24)!important;
  transform:translateX(0)!important;
  transition:transform .16s ease!important;
}

.v4-switch-row input[type="checkbox"]:checked{
  background:#1689ff!important;
}

.v4-switch-row input[type="checkbox"]:checked::after{
  transform:translateX(18px)!important;
}

.v4-switch-row input[type="checkbox"]:focus-visible{
  outline:3px solid rgba(22,137,255,.2)!important;
  outline-offset:3px!important;
}

.v4-push-quiet-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
  padding:2px 0!important;
}

.v4-push-quiet-grid label{
  min-width:0!important;
  gap:4px!important;
  color:#64778f!important;
  font-size:.7rem!important;
  font-weight:800!important;
}

.v4-push-quiet-grid input[type="time"]{
  min-height:42px!important;
  padding:8px 10px!important;
  border-radius:11px!important;
  background:#fff!important;
}

.v4-push-preferences>.button[type="submit"]{
  position:sticky!important;
  z-index:4!important;
  bottom:calc(-1px - max(0px,var(--safe-bottom)))!important;
  width:100%!important;
  min-height:44px!important;
  margin-top:5px!important;
  padding:10px 13px!important;
  border:1px solid rgba(8,71,139,.16)!important;
  border-radius:12px!important;
  background:#0b4f9c!important;
  color:#fff!important;
  box-shadow:
    0 -10px 20px rgba(238,243,248,.92),
    0 7px 18px rgba(11,79,156,.18)!important;
  font-size:.82rem!important;
}

#pushSettingsBody>.notice{
  margin:0 0 10px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  font-size:.76rem!important;
}

#pushSettingsBody>.notice p{
  margin:4px 0 0!important;
  font-size:.72rem!important;
  line-height:1.4!important;
}

@media(max-width:640px){
  .v4-push-dialog{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(
      100dvh
      - max(8px,var(--safe-top))
      - max(8px,var(--safe-bottom))
    )!important;
  }

  .v4-push-dialog .v4-dialog-shell{
    height:calc(
      100dvh
      - max(8px,var(--safe-top))
      - max(8px,var(--safe-bottom))
    )!important;
    border-radius:18px!important;
  }

  .v4-push-dialog .v4-dialog-shell>header{
    min-height:58px!important;
    padding:9px 11px!important;
  }

  #pushSettingsBody.v4-push-scroll-region{
    padding:
      10px
      11px
      calc(14px + max(0px,var(--safe-bottom)))!important;
  }

  .v4-push-summary{
    grid-template-columns:1.25fr 1fr .65fr!important;
    gap:6px!important;
  }

  .v4-push-summary>div{
    min-height:57px!important;
    padding:8px!important;
  }

  .v4-push-summary span{
    font-size:.59rem!important;
  }

  .v4-push-summary strong{
    font-size:.75rem!important;
  }
}

@media(max-width:370px){
  .v4-push-summary{
    grid-template-columns:1fr 1fr!important;
  }

  .v4-push-summary>div:last-child{
    grid-column:1/-1!important;
    min-height:48px!important;
  }

  .v4-push-actions{
    grid-template-columns:1fr!important;
  }

  .v4-push-actions [data-enable-push]{
    grid-column:auto!important;
  }
}

/* V4 WEB PUSH BADGE QUIETTIME FIX1 */
.v4-push-quiet-grid{
  margin-top:4px!important;
  padding:4px 0 2px!important;
}

.v4-push-quiet-grid label{
  display:grid!important;
  gap:6px!important;
  min-width:0!important;
  color:#5f738d!important;
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1.2!important;
}

.v4-push-quiet-grid input[type="time"]{
  width:100%!important;
  min-height:48px!important;
  padding:10px 12px!important;
  border:1px solid rgba(126,145,171,.22)!important;
  border-radius:14px!important;
  background:#ffffff!important;
  color:#223852!important;
  font-size:1rem!important;
  font-weight:800!important;
  text-align:center!important;
  box-shadow:0 2px 8px rgba(29,53,79,.04)!important;
}

.v4-push-quiet-grid.is-disabled input[type="time"]{
  pointer-events:none!important;
  background:#eef3f8!important;
  color:#8a98aa!important;
  border-color:rgba(126,145,171,.14)!important;
  box-shadow:none!important;
  opacity:1!important;
}

.v4-push-quiet-grid.is-disabled label{
  color:#8a98aa!important;
}

.v4-push-preferences>.button[type="submit"]{
  margin-top:8px!important;
  margin-bottom:4px!important;
}

@media(max-width:640px){
  .v4-push-quiet-grid input[type="time"]{
    min-height:46px!important;
    font-size:.96rem!important;
  }
}

/* V4 WEB PUSH QUIETTIME COMPACT FIX1 */
.v4-push-quiet-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin:3px 0 1px!important;
  padding:0!important;
}

.v4-push-quiet-grid label{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  min-height:44px!important;
  margin:0!important;
  padding:5px 7px 5px 10px!important;
  border:1px solid rgba(126,145,171,.2)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.92)!important;
  color:#60758e!important;
  font-size:.7rem!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:0 3px 10px rgba(29,53,79,.035)!important;
}

.v4-push-quiet-grid input[type="time"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  box-sizing:border-box!important;
  display:block!important;
  inline-size:100%!important;
  width:100%!important;
  block-size:34px!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  margin:0!important;
  padding:0 7px!important;
  border:1px solid rgba(126,145,171,.18)!important;
  border-radius:9px!important;
  background:#f4f7fa!important;
  color:#223852!important;
  font-family:inherit!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1!important;
  text-align:center!important;
  box-shadow:none!important;
  vertical-align:middle!important;
}

.v4-push-quiet-grid input[type="time"]::-webkit-date-and-time-value{
  display:flex!important;
  min-height:0!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  color:inherit!important;
  font:inherit!important;
  line-height:1!important;
  text-align:center!important;
}

.v4-push-quiet-grid input[type="time"]::-webkit-datetime-edit{
  display:flex!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  color:inherit!important;
  font:inherit!important;
  line-height:1!important;
}

.v4-push-quiet-grid input[type="time"]::-webkit-datetime-edit-fields-wrapper{
  display:flex!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  color:inherit!important;
  font:inherit!important;
  line-height:1!important;
}

.v4-push-quiet-grid input[type="time"]::-webkit-datetime-edit-hour-field,
.v4-push-quiet-grid input[type="time"]::-webkit-datetime-edit-minute-field,
.v4-push-quiet-grid input[type="time"]::-webkit-datetime-edit-text{
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  font:inherit!important;
  line-height:1!important;
}

.v4-push-quiet-grid input[type="time"]::-webkit-calendar-picker-indicator{
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
}

.v4-push-quiet-grid.is-disabled label{
  pointer-events:none!important;
  border-color:rgba(126,145,171,.12)!important;
  background:#eef3f8!important;
  color:#8998aa!important;
  box-shadow:none!important;
}

.v4-push-quiet-grid.is-disabled input[type="time"]{
  pointer-events:none!important;
  border-color:rgba(126,145,171,.1)!important;
  background:#e7edf3!important;
  color:#8998aa!important;
  opacity:1!important;
}

@media(max-width:390px){
  .v4-push-quiet-grid{
    gap:6px!important;
  }

  .v4-push-quiet-grid label{
    gap:5px!important;
    padding-inline:7px!important;
    font-size:.66rem!important;
  }

  .v4-push-quiet-grid input[type="time"]{
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    padding-inline:4px!important;
    font-size:16px!important;
  }
}


/* V4 ADMIN TASK ACCESS R1 */
.v4-task-access-form .notice small{
  display:block;
  margin-top:8px;
  line-height:1.45;
}
.v4-task-access-fieldset{
  display:grid;
  gap:10px;
  min-width:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
}
.v4-task-access-fieldset legend{
  padding:0 6px;
  font-weight:800;
}
.v4-task-access-teams{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
}
.v4-task-access-teams[hidden]{
  display:none!important;
}
.v4-task-access-team{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft);
}
.v4-task-access-team input{
  width:auto;
  margin:0;
}
.v4-task-access-reset{
  display:flex;
  justify-content:flex-start;
}
.v4-row-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}
@media(max-width:720px){
  .v4-task-access-teams{
    grid-template-columns:1fr;
  }
  .v4-row-actions{
    justify-content:flex-start;
  }
}


/* V4 DASHBOARD ROLE AWARE R1 */
.dashboard-widget-grid.is-empty{
  display:block;
  min-height:0;
}
.v4-dashboard-contribution-status{
  display:flex;
  align-items:center;
  min-height:34px;
}
.v4-dashboard-card-foot{
  display:block;
  margin-top:4px;
  color:var(--ink-500);
  line-height:1.45;
}
.v4-dashboard-task-list{
  display:grid;
  gap:8px;
}
.v4-dashboard-task-row{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--surface-soft);
  color:var(--ink-900);
  text-align:left;
  cursor:pointer;
}
.v4-dashboard-task-row:hover,
.v4-dashboard-task-row:focus-visible{
  border-color:var(--blue-700);
  background:#fff;
  outline:none;
  box-shadow:var(--shadow-sm);
}
.v4-dashboard-task-copy{
  min-width:0;
  display:grid;
  gap:3px;
}
.v4-dashboard-task-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.v4-dashboard-task-copy small{
  color:var(--ink-500);
}
.v4-dashboard-task-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
}
.v4-dashboard-task-arrow{
  color:var(--blue-700);
  font-size:1.45rem;
  font-weight:800;
}
.v4-dashboard-status-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.v4-dashboard-status-summary span{
  display:grid;
  gap:2px;
  padding:10px;
  border-radius:12px;
  background:var(--blue-050);
  color:var(--ink-500);
  font-size:.78rem;
}
.v4-dashboard-status-summary strong{
  color:var(--blue-900);
  font-size:1.1rem;
}
.v4-dashboard-birthday-list{
  display:grid;
  gap:8px;
}
.v4-dashboard-birthday-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}
.v4-dashboard-birthday-row:last-child{
  border-bottom:0;
}
.v4-dashboard-birthday-row span{
  min-width:0;
  display:grid;
  gap:3px;
}
.v4-dashboard-birthday-row small{
  color:var(--ink-500);
}
.v4-dashboard-birthday-row>strong{
  color:var(--blue-900);
  white-space:nowrap;
}
.v4-dashboard-finance .widget-main-value{
  margin-bottom:4px;
}
@media(max-width:900px){
  .dashboard-widget.widget-s{
    grid-column:span 6;
  }
}
@media(max-width:640px){
  .dashboard-widget.widget-s,
  .dashboard-widget.widget-m,
  .dashboard-widget.widget-l{
    grid-column:span 12;
  }
  .v4-dashboard-task-row{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .v4-dashboard-task-badges{
    grid-column:1/-1;
    justify-content:flex-start;
  }
  .v4-dashboard-task-arrow{
    grid-column:2;
    grid-row:1;
  }
  .v4-dashboard-status-summary{
    grid-template-columns:1fr;
  }
}


/* V4 DASHBOARD LAYOUT CORR1 */
.dashboard-page{
  padding-bottom:calc(140px + var(--mobile-safe-bottom));
}
.dashboard-widget-grid{
  align-items:start;
}
.dashboard-widget{
  min-width:0;
}
.dashboard-widget.widget-s{
  grid-column:span 6;
}
.dashboard-widget.widget-m{
  grid-column:span 6;
}
.dashboard-widget.widget-l{
  grid-column:span 12;
}
.v4-dashboard-card-layout{
  display:grid;
  grid-template-columns:minmax(180px,220px) minmax(0,1fr);
  gap:20px;
  align-items:start;
}
.v4-dashboard-card-meta{
  min-width:0;
  display:grid;
  gap:14px;
  align-content:start;
}
.v4-dashboard-card-copy{
  min-width:0;
  display:grid;
  gap:8px;
}
.v4-dashboard-card-copy h3{
  margin:0;
  color:var(--ink-900);
  font-size:clamp(1.1rem,1rem + .45vw,1.55rem);
  line-height:1.15;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:auto;
}
.v4-dashboard-card-copy p{
  margin:0;
  color:var(--ink-500);
  line-height:1.45;
  word-break:normal;
  overflow-wrap:break-word;
}
.v4-dashboard-card-content{
  min-width:0;
  display:grid;
  gap:14px;
  align-content:start;
}
.v4-dashboard-topline{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.v4-dashboard-primary-value{
  color:var(--blue-900);
  font-size:clamp(1.9rem,1.45rem + .9vw,2.6rem);
  font-weight:800;
  line-height:1.05;
}
.v4-dashboard-inline-metric{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:14px;
}
.v4-dashboard-inline-metric strong{
  color:var(--blue-900);
  font-size:clamp(1.8rem,1.3rem + .6vw,2.3rem);
  line-height:1;
}
.v4-dashboard-inline-metric span{
  color:var(--ink-500);
  line-height:1.4;
}
.v4-dashboard-detail-grid{
  display:grid;
  gap:10px;
}
.v4-dashboard-detail-row{
  min-width:0;
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  padding:12px 14px;
  border-radius:14px;
  background:var(--surface-soft);
}
.v4-dashboard-detail-row span{
  min-width:0;
  color:var(--ink-700);
  overflow-wrap:anywhere;
}
.v4-dashboard-detail-row strong{
  color:var(--blue-900);
  text-align:right;
}
.v4-dashboard-status-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.v4-dashboard-status-summary>div{
  display:grid;
  gap:3px;
  padding:12px 14px;
  border-radius:14px;
  background:var(--blue-050);
}
.v4-dashboard-status-summary strong{
  color:var(--blue-900);
  font-size:1.5rem;
  line-height:1;
}
.v4-dashboard-status-summary span{
  color:var(--ink-500);
  line-height:1.3;
}
.v4-dashboard-task-list{
  display:grid;
  gap:10px;
}
.v4-dashboard-task-row{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface-soft);
  color:var(--ink-900);
  text-align:left;
  cursor:pointer;
}
.v4-dashboard-task-row:hover,
.v4-dashboard-task-row:focus-visible{
  border-color:var(--blue-700);
  background:#fff;
  outline:none;
  box-shadow:var(--shadow-sm);
}
.v4-dashboard-task-main{
  min-width:0;
  display:grid;
  gap:6px;
}
.v4-dashboard-task-main strong{
  margin:0;
  color:var(--blue-900);
  font-size:clamp(1.05rem,.98rem + .2vw,1.2rem);
  line-height:1.2;
  word-break:normal;
  overflow-wrap:break-word;
}
.v4-dashboard-task-main small{
  color:var(--ink-500);
  line-height:1.35;
}
.v4-dashboard-task-side{
  display:flex;
  align-items:center;
  gap:12px;
}
.v4-dashboard-task-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
}
.v4-dashboard-task-arrow{
  color:var(--blue-700);
  font-size:1.6rem;
  font-weight:800;
  line-height:1;
}
.v4-dashboard-card-foot{
  display:block;
  color:var(--ink-500);
  line-height:1.45;
}
.v4-dashboard-birthday-list{
  display:grid;
  gap:8px;
}
.v4-dashboard-birthday-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}
.v4-dashboard-birthday-row:last-child{
  border-bottom:0;
}
.v4-dashboard-birthday-row span{
  min-width:0;
  display:grid;
  gap:4px;
}
.v4-dashboard-birthday-row small{
  color:var(--ink-500);
}
.v4-dashboard-birthday-row>strong{
  color:var(--blue-900);
  white-space:nowrap;
}
@media(max-width:980px){
  .dashboard-widget.widget-s,
  .dashboard-widget.widget-m{
    grid-column:span 12;
  }
  .v4-dashboard-card-layout{
    grid-template-columns:1fr;
    gap:16px;
  }
}
@media(max-width:640px){
  .dashboard-page{
    padding-bottom:calc(150px + var(--mobile-safe-bottom));
  }
  .dashboard-widget{
    border-radius:24px;
  }
  .v4-dashboard-card-layout{
    gap:14px;
  }
  .v4-dashboard-card-meta{
    gap:12px;
  }
  .v4-dashboard-task-row{
    grid-template-columns:1fr;
    gap:10px;
    padding:14px 15px;
  }
  .v4-dashboard-task-side{
    justify-content:space-between;
    width:100%;
  }
  .v4-dashboard-task-badges{
    justify-content:flex-start;
  }
  .v4-dashboard-status-summary{
    grid-template-columns:1fr;
  }
  .v4-dashboard-birthday-row{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* V4 DASHBOARD LAYOUT CORR3 */
.dashboard-widget-grid{
  align-items:start;
  gap:18px;
}
.dashboard-widget{
  min-width:0;
  min-height:0;
  display:block;
  gap:0;
  overflow-wrap:normal;
}
.dashboard-widget,
.dashboard-widget *{
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.dashboard-widget.widget-s{
  grid-column:span 4;
}
.dashboard-widget.widget-m{
  grid-column:span 6;
}
.dashboard-widget.widget-l{
  grid-column:span 12;
}
.dashboard-widget.v4-dashboard-birthdays,
.dashboard-widget.v4-dashboard-finance{
  grid-column:span 8;
}
.dashboard-widget.v4-dashboard-metric-card{
  grid-column:span 4;
}
.v4-dashboard-card-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.v4-dashboard-card-meta{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.v4-dashboard-card-copy{
  min-width:0;
  flex:1;
  display:grid;
  gap:4px;
  padding-top:2px;
}
.v4-dashboard-card-copy h3{
  margin:0;
  color:var(--ink-900);
  font-size:clamp(1.12rem,1.04rem + .28vw,1.35rem);
  line-height:1.2;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.v4-dashboard-card-copy p{
  margin:0;
  color:var(--ink-500);
  font-size:.9rem;
  line-height:1.42;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.dashboard-widget-icon{
  width:48px;
  height:48px;
  border-radius:15px;
  font-size:1.45rem;
}
.v4-dashboard-card-content{
  min-width:0;
  width:100%;
  display:grid;
  gap:14px;
  align-content:start;
}
.v4-dashboard-detail-grid{
  display:grid;
  gap:8px;
}
.v4-dashboard-detail-row{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:12px 14px;
  border-radius:14px;
  background:var(--surface-soft);
}
.v4-dashboard-detail-row span{
  min-width:0;
  color:var(--ink-700);
  word-break:normal;
  overflow-wrap:normal;
}
.v4-dashboard-detail-row strong{
  color:var(--blue-900);
  text-align:right;
  white-space:nowrap;
}
.v4-dashboard-task-list{
  display:grid;
  gap:10px;
}
.v4-dashboard-task-row{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:15px 16px;
  border-radius:16px;
}
.v4-dashboard-task-main{
  min-width:0;
  display:grid;
  gap:4px;
}
.v4-dashboard-task-main strong{
  min-width:0;
  font-size:clamp(1.02rem,.98rem + .16vw,1.12rem);
  line-height:1.25;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.v4-dashboard-task-main small{
  color:var(--ink-500);
  line-height:1.35;
}
.v4-dashboard-task-side{
  display:flex;
  align-items:center;
  gap:10px;
}
.v4-dashboard-task-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
}
.v4-dashboard-status-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.v4-dashboard-status-summary>div{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border-radius:14px;
  background:var(--blue-050);
}
.v4-dashboard-status-summary span{
  display:block;
  padding:0;
  border-radius:0;
  background:transparent;
  color:var(--ink-500);
  font-size:.8rem;
  line-height:1.3;
}
.v4-dashboard-status-summary strong{
  color:var(--blue-900);
  font-size:1.45rem;
  line-height:1;
}
.v4-dashboard-primary-value{
  font-size:clamp(1.9rem,1.45rem + .9vw,2.6rem);
  line-height:1.05;
}
.v4-dashboard-inline-metric{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:12px;
}
.v4-dashboard-inline-metric span{
  color:var(--ink-500);
  line-height:1.4;
}
@media(max-width:1000px){
  .dashboard-widget.widget-s,
  .dashboard-widget.widget-m,
  .dashboard-widget.widget-l,
  .dashboard-widget.v4-dashboard-birthdays,
  .dashboard-widget.v4-dashboard-finance,
  .dashboard-widget.v4-dashboard-metric-card{
    grid-column:1/-1;
  }
}
@media(max-width:640px){
  .dashboard-widget-grid{
    gap:14px;
  }
  .dashboard-widget{
    border-radius:22px;
  }
  .v4-dashboard-card-layout{
    gap:16px;
  }
  .v4-dashboard-card-meta{
    gap:12px;
  }
  .dashboard-widget-icon{
    width:44px;
    height:44px;
    border-radius:14px;
    font-size:1.32rem;
  }
  .v4-dashboard-card-copy h3{
    font-size:1.14rem;
  }
  .v4-dashboard-card-copy p{
    font-size:.86rem;
  }
  .v4-dashboard-detail-row{
    gap:10px;
    padding:11px 12px;
  }
  .v4-dashboard-task-row{
    grid-template-columns:minmax(0,1fr);
    gap:10px;
    padding:14px;
  }
  .v4-dashboard-task-side{
    width:100%;
    justify-content:space-between;
  }
  .v4-dashboard-task-badges{
    justify-content:flex-start;
  }
  .v4-dashboard-status-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }
  .v4-dashboard-status-summary>div{
    padding:10px 8px;
  }
  .v4-dashboard-status-summary span{
    font-size:.7rem;
  }
}

/* V4 PERSONAL DASHBOARD WIDGETS R1 */
.dashboard-page{
  padding-bottom:calc(108px + var(--mobile-safe-bottom));
}
.v4-dashboard-toolbar{
  display:flex;
  justify-content:flex-end;
  min-height:34px;
  margin-bottom:10px;
}
.v4-dashboard-customize{
  min-height:34px;
  padding:7px 11px;
  border-radius:11px;
  font-size:.8rem;
}
.dashboard-widget-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:start;
  gap:12px;
}
.dashboard-widget{
  min-width:0;
  min-height:0;
  padding:15px;
  border-radius:17px;
  overflow-wrap:normal;
}
.dashboard-widget.widget-size-compact{
  grid-column:span 4;
}
.dashboard-widget.widget-size-standard{
  grid-column:span 6;
}
.dashboard-widget.widget-size-wide{
  grid-column:span 12;
}
.dashboard-widget,
.dashboard-widget *{
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.v4-dashboard-card-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:11px;
}
.v4-dashboard-card-meta{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.dashboard-widget-icon{
  width:38px;
  height:38px;
  border-radius:12px;
  font-size:1.12rem;
}
.v4-dashboard-card-copy{
  min-width:0;
  flex:1;
  display:grid;
  gap:2px;
  padding-top:1px;
}
.v4-dashboard-card-copy h3{
  margin:0;
  font-size:1rem;
  line-height:1.18;
}
.v4-dashboard-card-copy p{
  margin:0;
  color:var(--ink-500);
  font-size:.76rem;
  line-height:1.32;
}
.v4-dashboard-card-content{
  min-width:0;
  width:100%;
  display:grid;
  gap:9px;
  align-content:start;
}
.widget-size-compact{
  padding:13px;
}
.widget-size-compact .v4-dashboard-card-layout{
  gap:9px;
}
.widget-size-compact .v4-dashboard-card-meta{
  gap:8px;
}
.widget-size-compact .dashboard-widget-icon{
  width:34px;
  height:34px;
  border-radius:11px;
  font-size:1rem;
}
.widget-size-compact .v4-dashboard-card-copy h3{
  font-size:.9rem;
}
.widget-size-compact .v4-dashboard-card-copy p{
  display:none;
}
.widget-size-compact .v4-dashboard-card-content{
  gap:7px;
}
.v4-dashboard-primary-value{
  color:var(--blue-900);
  font-size:clamp(1.55rem,1.25rem + .7vw,2rem);
  font-weight:850;
  line-height:1;
}
.widget-size-compact .v4-dashboard-primary-value{
  font-size:1.65rem;
}
.v4-dashboard-compact-value{
  min-width:0;
  display:grid;
  gap:2px;
}
.v4-dashboard-compact-value strong{
  min-width:0;
  color:var(--blue-900);
  font-size:1.35rem;
  line-height:1.05;
}
.v4-dashboard-compact-value span{
  color:var(--ink-500);
  font-size:.72rem;
  line-height:1.25;
}
.v4-dashboard-topline{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
.dashboard-widget .badge{
  padding:4px 7px;
  font-size:.67rem;
}
.v4-dashboard-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.widget-size-wide .v4-dashboard-detail-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.v4-dashboard-detail-row{
  min-width:0;
  display:grid;
  align-content:start;
  gap:2px;
  padding:8px 9px;
  border-radius:10px;
  background:var(--surface-soft);
}
.v4-dashboard-detail-row span{
  min-width:0;
  color:var(--ink-500);
  font-size:.68rem;
  line-height:1.2;
}
.v4-dashboard-detail-row strong{
  min-width:0;
  color:var(--blue-900);
  text-align:left;
  white-space:normal;
  font-size:.82rem;
  line-height:1.22;
}
.v4-dashboard-inline-metric{
  display:grid;
  gap:2px;
}
.v4-dashboard-inline-metric strong{
  color:var(--blue-900);
  font-size:1.55rem;
  line-height:1;
}
.v4-dashboard-inline-metric span{
  color:var(--ink-500);
  font-size:.72rem;
  line-height:1.25;
}
.v4-dashboard-task-list{
  display:grid;
  gap:6px;
}
.v4-dashboard-task-row{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:9px 10px;
  border-radius:11px;
}
.v4-dashboard-task-main{
  min-width:0;
  display:grid;
  gap:2px;
}
.v4-dashboard-task-main strong{
  min-width:0;
  font-size:.82rem;
  line-height:1.22;
}
.v4-dashboard-task-main small{
  color:var(--ink-500);
  font-size:.68rem;
  line-height:1.2;
}
.v4-dashboard-task-side{
  display:flex;
  align-items:center;
  gap:6px;
}
.v4-dashboard-task-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:4px;
}
.v4-dashboard-task-arrow{
  font-size:1.2rem;
}
.widget-size-compact .v4-dashboard-task-row{
  padding:8px;
}
.widget-size-compact .v4-dashboard-task-badges{
  display:none;
}
.v4-dashboard-open-module{
  justify-self:start;
  min-height:0;
  padding:3px 0;
  font-size:.72rem;
}
.v4-dashboard-status-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.v4-dashboard-status-summary>div{
  display:grid;
  gap:2px;
  padding:8px;
  border-radius:10px;
  background:var(--blue-050);
}
.v4-dashboard-status-summary strong{
  color:var(--blue-900);
  font-size:1.15rem;
  line-height:1;
}
.v4-dashboard-status-summary span{
  display:block;
  padding:0;
  border-radius:0;
  background:transparent;
  color:var(--ink-500);
  font-size:.64rem;
  line-height:1.2;
}
.v4-dashboard-birthday-list{
  display:grid;
  gap:0;
}
.v4-dashboard-birthday-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding:7px 0;
  border-bottom:1px solid var(--line);
}
.v4-dashboard-birthday-row:last-child{
  border-bottom:0;
}
.v4-dashboard-birthday-row span{
  min-width:0;
  display:grid;
  gap:1px;
}
.v4-dashboard-birthday-row span strong{
  font-size:.8rem;
  line-height:1.2;
}
.v4-dashboard-birthday-row small{
  color:var(--ink-500);
  font-size:.66rem;
}
.v4-dashboard-birthday-row>strong{
  color:var(--blue-900);
  font-size:.78rem;
  white-space:nowrap;
}
.v4-dashboard-editor-form{
  display:grid;
  gap:14px;
}
.v4-dashboard-editor-intro{
  margin:0;
  line-height:1.45;
}
.v4-dashboard-editor-list{
  display:grid;
  gap:8px;
}
.v4-dashboard-editor-row{
  min-width:0;
  display:grid;
  grid-template-columns:auto auto minmax(130px,1fr) auto minmax(120px,.55fr) auto;
  align-items:center;
  gap:9px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.v4-dashboard-editor-row.is-dragging{
  opacity:.55;
  border-color:var(--blue-700);
}
.v4-dashboard-drag-handle{
  color:var(--ink-500);
  cursor:grab;
  font-weight:900;
  letter-spacing:-.22em;
}
.v4-dashboard-editor-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:var(--blue-050);
}
.v4-dashboard-editor-copy{
  min-width:0;
  display:grid;
  gap:1px;
}
.v4-dashboard-editor-copy strong{
  min-width:0;
  font-size:.84rem;
  line-height:1.2;
}
.v4-dashboard-editor-copy small{
  color:var(--ink-500);
  font-size:.67rem;
}
.v4-dashboard-visible-toggle{
  display:flex;
  align-items:center;
  gap:5px;
  font-size:.72rem;
}
.v4-dashboard-visible-toggle input{
  width:17px;
  height:17px;
  min-height:0;
  padding:0;
}
.v4-dashboard-size-field{
  display:block;
}
.v4-dashboard-size-field select{
  width:100%;
  min-height:34px;
  padding:6px 8px;
  font-size:.75rem;
}
.v4-dashboard-order-buttons{
  display:flex;
  gap:2px;
}
.v4-dashboard-order-buttons .icon-button{
  width:31px;
  height:31px;
  font-size:.85rem;
}
@media(max-width:1050px){
  .dashboard-widget-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .dashboard-widget.widget-size-compact,
  .dashboard-widget.widget-size-standard{
    grid-column:span 1;
  }
  .dashboard-widget.widget-size-wide{
    grid-column:span 2;
  }
}
@media(max-width:700px){
  .dashboard-page{
    padding-bottom:calc(112px + var(--mobile-safe-bottom));
  }
  .v4-dashboard-toolbar{
    margin-bottom:8px;
  }
  .dashboard-widget-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .dashboard-widget.widget-size-compact{
    grid-column:span 1;
  }
  .dashboard-widget.widget-size-standard,
  .dashboard-widget.widget-size-wide{
    grid-column:span 2;
  }
  .dashboard-widget{
    padding:12px;
    border-radius:15px;
  }
  .widget-size-compact{
    padding:10px;
    border-radius:14px;
  }
  .widget-size-compact .v4-dashboard-card-meta{
    gap:6px;
  }
  .widget-size-compact .dashboard-widget-icon{
    width:30px;
    height:30px;
    border-radius:9px;
    font-size:.88rem;
  }
  .widget-size-compact .v4-dashboard-card-copy h3{
    font-size:.78rem;
    line-height:1.14;
  }
  .widget-size-compact .v4-dashboard-compact-value strong,
  .widget-size-compact .v4-dashboard-primary-value{
    font-size:1.35rem;
  }
  .widget-size-compact .v4-dashboard-compact-value span,
  .widget-size-compact .v4-dashboard-inline-metric span{
    font-size:.64rem;
  }
  .v4-dashboard-card-copy h3{
    font-size:.93rem;
  }
  .v4-dashboard-card-copy p{
    font-size:.72rem;
  }
  .v4-dashboard-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .v4-dashboard-task-side{
    gap:4px;
  }
  .v4-dashboard-editor-row{
    grid-template-columns:auto auto minmax(0,1fr) auto;
    gap:7px;
  }
  .v4-dashboard-visible-toggle{
    grid-column:2/4;
  }
  .v4-dashboard-size-field{
    grid-column:2/4;
  }
  .v4-dashboard-order-buttons{
    grid-column:4;
    grid-row:1/4;
    flex-direction:column;
  }
}
@media(max-width:380px){
  .dashboard-widget-grid{
    gap:7px;
  }
  .widget-size-compact{
    padding:9px;
  }
  .widget-size-compact .dashboard-widget-icon{
    width:27px;
    height:27px;
    font-size:.8rem;
  }
  .widget-size-compact .v4-dashboard-card-copy h3{
    font-size:.72rem;
  }
}

/* V4 DASHBOARD SMALL WIDGETS R1 */
.dashboard-widget.widget-size-small{
  grid-column:span 3;
  min-height:112px;
  padding:11px;
}
.widget-size-small .v4-dashboard-card-layout{
  gap:7px;
}
.widget-size-small .v4-dashboard-card-meta{
  align-items:center;
  gap:6px;
}
.widget-size-small .dashboard-widget-icon{
  width:28px;
  height:28px;
  border-radius:9px;
  font-size:.82rem;
}
.widget-size-small .v4-dashboard-card-copy{
  gap:0;
  padding-top:0;
}
.widget-size-small .v4-dashboard-card-copy h3{
  font-size:.72rem;
  line-height:1.12;
  white-space:nowrap;
}
.widget-size-small .v4-dashboard-card-copy p{
  display:none;
}
.widget-size-small .v4-dashboard-card-content{
  gap:4px;
}
.widget-size-small .v4-dashboard-primary-value{
  font-size:1.28rem;
  line-height:1;
  white-space:nowrap;
}
.widget-size-small .v4-dashboard-inline-metric{
  gap:2px;
}
.widget-size-small .v4-dashboard-inline-metric strong{
  font-size:1.28rem;
  line-height:1;
}
.widget-size-small .v4-dashboard-inline-metric span{
  font-size:.58rem;
  line-height:1.18;
}
.v4-dashboard-small-row-button{
  justify-self:start;
}
@media(max-width:1050px){
  .dashboard-widget-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .dashboard-widget.widget-size-small{
    grid-column:span 2;
  }
  .dashboard-widget.widget-size-compact{
    grid-column:span 3;
  }
  .dashboard-widget.widget-size-standard,
  .dashboard-widget.widget-size-wide{
    grid-column:span 6;
  }
}
@media(max-width:700px){
  .dashboard-widget-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:8px;
  }
  .dashboard-widget.widget-size-small{
    grid-column:span 2;
    min-height:108px;
    padding:9px 8px;
    border-radius:13px;
  }
  .dashboard-widget.widget-size-compact{
    grid-column:span 3;
  }
  .dashboard-widget.widget-size-standard,
  .dashboard-widget.widget-size-wide{
    grid-column:span 6;
  }
  .widget-size-small .v4-dashboard-card-meta{
    gap:5px;
  }
  .widget-size-small .dashboard-widget-icon{
    width:25px;
    height:25px;
    border-radius:8px;
    font-size:.74rem;
  }
  .widget-size-small .v4-dashboard-card-copy h3{
    font-size:.66rem;
  }
  .widget-size-small .v4-dashboard-primary-value,
  .widget-size-small .v4-dashboard-inline-metric strong{
    font-size:1.16rem;
  }
  .widget-size-small .v4-dashboard-inline-metric span{
    font-size:.54rem;
  }
}
@media(max-width:380px){
  .dashboard-widget-grid{
    gap:6px;
  }
  .dashboard-widget.widget-size-small{
    min-height:102px;
    padding:8px 7px;
  }
  .widget-size-small .dashboard-widget-icon{
    width:22px;
    height:22px;
    font-size:.66rem;
  }
  .widget-size-small .v4-dashboard-card-copy h3{
    font-size:.61rem;
  }
  .widget-size-small .v4-dashboard-primary-value,
  .widget-size-small .v4-dashboard-inline-metric strong{
    font-size:1.05rem;
  }
}
