.shell{font-family:var(--font-ui);background:var(--n-0);padding:var(--sp-2);color:var(--n-900);position:fixed;inset:0}.stage3{gap:var(--sp-2);height:100%;display:flex}.map-col{flex:auto;min-width:0}.map-surface{border:1px solid var(--n-200);border-radius:var(--r-lg);width:100%;height:100%;box-shadow:var(--shadow-md);background:var(--n-100);position:relative;overflow:hidden}.sidebar{flex-direction:column;flex:0 0 280px;min-width:0;display:flex;overflow:hidden}.sb-title{font-size:var(--fs-base);font-weight:var(--fw-bold);letter-spacing:-.01em;padding:var(--sp-4) var(--sp-4) var(--sp-3);flex:none}.sb-chev{display:none}.sb-adminnav{gap:var(--sp-1);padding:0 var(--sp-2) var(--sp-2);flex-wrap:wrap;flex:none;display:flex}.sb-navbtn{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-base);font-weight:var(--fw-regular);color:var(--n-600);cursor:pointer;background:0 0;border:none;transition:background .15s,color .15s}.sb-navbtn:hover{color:var(--n-900);background:var(--n-50)}.sb-navbtn.on{background:var(--n-50);color:var(--n-900);font-weight:var(--fw-bold)}.sb-listhead{padding:var(--sp-2) var(--sp-4);flex:none;justify-content:space-between;align-items:center;display:flex}.sb-listhead .t{font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.05em;color:var(--n-600);text-transform:uppercase}.sb-listhead .all{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--n-900);cursor:pointer;background:0 0;border:none;padding:0}.sb-list{min-height:0;padding:0 var(--sp-2);flex:auto;overflow-y:auto}.sb-row{align-items:center;gap:var(--sp-3);padding:var(--sp-2);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-base);height:48px;margin:0;transition:background .12s;display:flex}.sb-row:hover,.sb-row.sel{background:var(--n-50)}.sb-row.sel .sb-nm{color:var(--n-900);font-weight:var(--fw-bold)}.sb-dot{border-radius:var(--r-full);width:12px;height:12px;box-shadow:0 0 0 2px var(--n-0), 0 0 0 3px #0000000f;flex:none}.sb-nm{white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.sb-eye{width:32px;height:32px;color:var(--n-600);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;flex:none;place-items:center;display:grid}.sb-eye:hover{color:var(--n-900)}.sb-row.off{opacity:.45}.sb-row.off .sb-dot{box-shadow:0 0 0 1.5px var(--n-600) inset, 0 0 0 2px var(--n-0);background:var(--n-0)!important}.sb-foot{padding:var(--sp-4);flex:none}.sb-login{width:100%}.sb-user{align-items:center;gap:var(--sp-2);justify-content:space-between;display:flex}.sb-email{font-size:var(--fs-base);color:var(--n-900);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sb-logout{border:1px solid var(--n-200);background:var(--n-0);color:var(--n-900);font-size:var(--fs-sm);font-weight:var(--fw-bold);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);cursor:pointer;flex:none;transition:background .15s}.sb-logout:hover{background:var(--n-50)}.content{border:1px solid var(--n-200);border-radius:var(--r-lg);background:var(--n-0);flex-direction:column;flex:0 0 0;min-width:0;transition:flex-basis .4s cubic-bezier(.4,0,.2,1),border-color .4s;display:flex;overflow:hidden}.stage3[data-content=open] .content{flex-basis:380px}.stage3[data-content=closed] .content{border-color:#0000;flex-basis:0}.content-head{padding:var(--sp-4);border-bottom:1px solid var(--n-200);flex:none;justify-content:space-between;align-items:center;min-width:380px;display:flex}.content-title{font-size:var(--fs-base);font-weight:var(--fw-bold);letter-spacing:-.01em}.content-close{font-size:var(--fs-xl);color:var(--n-600);cursor:pointer;padding:0 var(--sp-1);background:0 0;border:none;line-height:1}.content-close:hover{color:var(--n-900)}.content-body{flex:auto;min-width:380px;min-height:0;overflow-y:auto}.admincontent{padding:var(--sp-4)}.detailcard{flex-direction:column;min-width:380px;height:100%;display:flex}.detailcard .dbody{flex:auto;min-height:0}.pc-msg{color:var(--n-600);font-size:var(--fs-base);padding:var(--sp-2) 0}.skel{background:var(--n-100);border-radius:var(--r-sm)}@media (prefers-reduced-motion:no-preference){.skel{animation:1.8s ease-in-out infinite skel-pulse}}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.5}}.arow.skel-row{cursor:default}.arow.skel-row:hover{background:0 0}.ov{gap:var(--sp-5);flex-direction:column;display:flex}.ov-sh{font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.05em;color:var(--n-600);text-transform:uppercase;margin-bottom:var(--sp-2)}.ov-study-name{font-size:var(--fs-base);font-weight:var(--fw-bold);letter-spacing:-.01em}.ov-study-sum{font-size:var(--fs-base);color:var(--n-600);margin-top:var(--sp-1);line-height:1.6}.ov-grid{gap:var(--sp-2);grid-template-columns:repeat(2,1fr);display:grid}.ov-stat{background:var(--n-50);border:1px solid var(--n-200);border-radius:var(--r-md);padding:var(--sp-4)}.ov-stat.wide{grid-column:1/-1}.ov-stat-v{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ov-stat-k{font-size:var(--fs-sm);color:var(--n-600);text-transform:uppercase;letter-spacing:.04em;margin-top:var(--sp-1)}.ov-warn{gap:var(--sp-1);background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--r-md);padding:var(--sp-4);font-size:var(--fs-base);color:var(--warn-fg);flex-direction:column;display:flex}.ov-warn strong{font-weight:var(--fw-bold)}.ov-warn-list{font-variant-numeric:tabular-nums}.ov-warn-hint{color:var(--warn-fg);font-size:var(--fs-sm)}.runblock{gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-md);border:1px solid var(--n-200);background:var(--n-50);flex-direction:column;display:flex}.runblock-info{gap:var(--sp-1);flex-direction:column;display:flex}.runblock-line1{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--n-900)}.runblock-line2{font-size:var(--fs-sm);color:var(--n-600);line-height:1.5}.runblock-alert:empty{margin-bottom:calc(-1 * var(--sp-1))}.runblock.warn{background:var(--warn-bg);border-color:var(--warn-border)}.runblock.warn .runblock-line1,.runblock.warn .runblock-line2{color:var(--warn-fg)}.runblock.urgent{background:var(--err-bg);border-color:var(--err-border)}.runblock.urgent .runblock-line1,.runblock.urgent .runblock-line2{color:var(--err-fg)}.runblock-actions{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.runblock-btn{align-self:flex-start}.runblock-msg{font-size:var(--fs-sm);color:var(--n-600)}.stale-notice{gap:var(--sp-1);padding:var(--sp-4);border-radius:var(--r-md);background:var(--err-bg);border:1px solid var(--err-border);color:var(--err-fg);flex-direction:column;display:flex}.stale-notice strong{font-size:var(--fs-base);font-weight:var(--fw-bold)}.stale-notice span{font-size:var(--fs-sm);opacity:.9}.chip{font-size:var(--fs-sm);font-weight:var(--fw-bold);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-full);white-space:nowrap;border:1px solid #0000}.chip-status.veroeffentlicht{color:var(--n-900);background:var(--n-50);border-color:var(--n-200)}.chip-status.nicht_freigegeben{color:var(--n-600);background:var(--n-50);border-color:var(--n-600);border-style:dashed}.chip-status.entwurf{color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-border)}.alist{flex-direction:column;display:flex}.arow{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-2);margin:0 calc(-1 * var(--sp-2));border:none;border-bottom:1px solid var(--n-200);cursor:pointer;text-align:left;width:calc(100% + 2 * var(--sp-2));background:0 0;transition:background .15s;display:flex}.arow:hover{background:var(--n-50)}.arow-main{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.arow-name{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--n-900)}.arow-meta{font-size:var(--fs-sm);color:var(--n-600)}.form{gap:var(--sp-4);flex-direction:column;display:flex}.form-back{color:var(--n-900);font-size:var(--fs-base);font-weight:var(--fw-bold);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}.form-head h3{font-size:var(--fs-base);font-weight:var(--fw-bold);letter-spacing:-.01em}.form-sub{font-size:var(--fs-sm);color:var(--n-600)}.form-flags{gap:var(--sp-2);flex-wrap:wrap;display:flex}.flag{font-size:var(--fs-sm);font-weight:var(--fw-bold);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);border:1px solid #0000}.flag-unsaved,.flag-unpub{color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-border)}.flag-clean{color:var(--n-600);background:var(--n-50);border-color:var(--n-200)}.form-fields{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.fld{gap:var(--sp-1);font-size:var(--fs-base);flex-direction:column;display:flex}.fld.full{grid-column:1/-1}.fld>span{color:var(--n-600);font-weight:var(--fw-bold)}.fld input,.fld textarea{border:1px solid var(--n-200);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-base);color:var(--n-900);background:var(--n-0);width:100%;font-family:inherit;transition:border-color .15s}.fld textarea{resize:vertical;line-height:1.5}.fld input:focus,.fld textarea:focus{border-color:var(--n-900)}.form-actions{gap:var(--sp-2);margin-top:var(--sp-1);display:flex}.form-note{font-size:var(--fs-sm);color:var(--n-600);line-height:1.5}.btn-primary{background:var(--n-900);color:var(--n-0);font-size:var(--fs-base);font-weight:var(--fw-bold);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);cursor:pointer;border:none;transition:opacity .15s}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{opacity:.45;cursor:default}.btn-ghost{border:1px solid var(--n-200);background:var(--n-0);color:var(--n-900);font-size:var(--fs-base);font-weight:var(--fw-bold);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);cursor:pointer;transition:background .15s}.btn-ghost:hover:not(:disabled){background:var(--n-50)}.btn-ghost:disabled{opacity:.4;cursor:default}.release{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--n-200);border-radius:var(--r-md);background:var(--n-50);flex-direction:column;display:flex}.rel-status{font-size:var(--fs-base);font-weight:var(--fw-bold);padding:var(--sp-3);border-radius:var(--r-md);border:1px solid #0000;line-height:1.5}.rel-status.on{color:var(--n-900);background:var(--n-50);border-color:var(--n-200)}.rel-status.off{color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-border)}.switches{gap:var(--sp-3);flex-direction:column;display:flex}.flagsw{align-items:flex-start;gap:var(--sp-3);display:flex}.flagsw-toggle{border-radius:var(--r-full);background:var(--n-300);cursor:pointer;border:none;flex:none;width:40px;height:24px;margin-top:1px;padding:0;transition:background .15s;position:relative}.flagsw-toggle:disabled{opacity:.5;cursor:default}.flagsw.on .flagsw-toggle{background:var(--n-900)}.flagsw-knob{border-radius:var(--r-full);background:var(--n-0);width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.flagsw.on .flagsw-knob{transform:translate(16px)}.flagsw-text{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.flagsw-label{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--n-900);align-items:center;gap:var(--sp-1);flex-wrap:wrap;display:flex}.flagsw-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--n-600);background:var(--n-0);border:1px solid var(--n-200);border-radius:var(--r-sm);padding:0 var(--sp-1)}.flagsw-hint{font-size:var(--fs-sm);color:var(--n-600);line-height:1.4}.publish{margin-top:var(--sp-1)}.publish-btn{width:100%}.publish-confirm{gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--warn-border);background:var(--warn-bg);border-radius:var(--r-md);flex-direction:column;display:flex}.publish-q{font-size:var(--fs-base);color:var(--warn-fg);line-height:1.55}.publish-confirm-actions{gap:var(--sp-2);display:flex}.settings{flex-direction:column;display:flex}.settings-line{font-size:var(--fs-base);color:var(--n-900)}.settings-sec{margin-top:var(--sp-5)}.login-backdrop{z-index:20;background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:var(--sp-5);place-items:center;display:grid;position:fixed;inset:0}.login-card{background:var(--n-0);border:1px solid var(--n-200);border-radius:var(--r-lg);width:100%;max-width:360px;box-shadow:var(--shadow-lg);padding:var(--sp-5)}.login-head{margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;display:flex}.login-head h2{font-size:var(--fs-base);font-weight:var(--fw-bold);letter-spacing:-.01em}.login-close{font-size:var(--fs-xl);color:var(--n-600);cursor:pointer;padding:0 var(--sp-1);background:0 0;border:none;line-height:1}.login-close:hover{color:var(--n-900)}.login-card form{gap:var(--sp-4);flex-direction:column;display:flex}.login-card .fld>span{color:var(--n-600);font-weight:var(--fw-bold)}.login-err{font-size:var(--fs-base);color:var(--err-fg);margin:calc(-1 * var(--sp-1)) 0 0}.login-note{font-size:var(--fs-base);color:var(--n-600);line-height:1.6}.login-card .btn-primary{width:100%;margin-top:var(--sp-1)}@media (min-width:769px) and (max-width:900px){.stage3{flex-direction:column}.sidebar{flex:none;max-height:42vh}.stage3[data-content=open] .content{flex:auto;min-height:40vh}.content-head,.content-body,.detailcard{min-width:0}.map-col{flex:auto;min-height:42vh}.form-fields,.ov-grid{grid-template-columns:1fr}}@media (max-width:768px){.shell{--mobile:1;padding:0}.stage3{--sheet-head:52px;height:100%;display:block;position:relative}.map-col{min-height:0;position:absolute;inset:0}.map-surface{box-shadow:none;border:none;border-radius:0}.shell #basemaps{top:var(--sp-2);padding:var(--sp-1);bottom:auto}.shell #basemaps button{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.shell .maplibregl-ctrl-bottom-left{display:none}.sidebar,.content{background:var(--n-0);border:1px solid var(--n-200);border-radius:var(--r-lg) var(--r-lg) 0 0;width:auto;min-width:0;box-shadow:var(--shadow-lg);padding-bottom:env(safe-area-inset-bottom,0px);transition:transform var(--panel-ms) var(--panel-ease);border-bottom:none;flex:none;position:absolute;bottom:0;left:0;right:0}.sidebar{z-index:3;max-height:72dvh;transform:translateY(calc(100% - var(--sheet-head)))}.stage3[data-list=open] .sidebar{transform:translateY(0)}.sidebar{position:absolute}.sb-title{align-items:center;gap:var(--sp-2);height:52px;padding:0 var(--sp-4);cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;display:flex}.sb-chev{width:32px;height:32px;color:var(--n-600);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;place-items:center;margin-left:auto;padding:0;transition:transform .2s;display:grid;transform:rotate(180deg)}.stage3[data-list=open] .sb-chev{transform:rotate(0)}.sb-foot{align-items:center;height:52px;padding:0;display:flex;position:absolute;top:0;right:56px}.sb-email{display:none}.sb-login,.sb-logout{width:auto;font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3)}.sb-list{overscroll-behavior:contain;padding-bottom:var(--sp-2)}.sb-list[data-at-end=false]{-webkit-mask-image:linear-gradient(#000 calc(100% - 32px),#0000);mask-image:linear-gradient(#000 calc(100% - 32px),#0000)}.sb-row{height:52px}.content{z-index:4;height:88dvh;transform:translateY(100%)}.stage3[data-content=open] .content{transform:translateY(0)}.stage3[data-content=closed] .content{border-color:var(--n-200)}.content-head,.content-body,.detailcard{min-width:0}.content-body{overscroll-behavior:contain}.form-fields,.ov-grid{grid-template-columns:1fr}}
