:root{color-scheme:light dark;--ink:#1d2023;--muted:#5d636b;--paper:#f5f3ef;--surface:#fffdf9;--surface-soft:#f0ede7;--line:rgba(29,32,35,.14);--brand:#8b1812;--accent:#d6aa64;--shadow:0 1.5rem 5rem rgba(0,0,0,.12)}
@media(prefers-color-scheme:dark){:root{--ink:#f4f1eb;--muted:#bbb9b5;--paper:#292b2d;--surface:#323437;--surface-soft:#3a3c3f;--line:rgba(244,241,235,.16);--brand:#d75b52;--accent:#e2b877;--shadow:0 1.5rem 5rem rgba(0,0,0,.28)}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0;background:var(--paper);color:var(--ink);font-family:Avenir Next,Avenir,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}a{color:inherit}.page-shell{min-height:100svh;max-width:1600px;margin:auto;padding:0 clamp(1.25rem,4vw,5rem);display:grid;grid-template-rows:auto 1fr auto}.site-header,.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;border-bottom:1px solid var(--line)}.site-header{min-height:5.75rem}.site-footer{min-height:5rem;border-top:1px solid var(--line);border-bottom:0;color:var(--muted);font-size:.82rem}.site-footer p{margin:0}.site-footer nav,.site-nav{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.75rem)}.wordmark{font-size:1.35rem;font-weight:800;letter-spacing:-.07em;text-decoration:none;white-space:nowrap}.wordmark-dot{color:var(--brand)}.wordmark small{margin-left:.4rem;color:var(--muted);font-size:.55em;font-weight:700;letter-spacing:.02em}.text-link{padding:0;border:0;background:transparent;color:var(--muted);font-size:.88rem;cursor:pointer;text-decoration:none}.text-link:hover,.text-link:focus-visible{color:var(--brand)}.login-link{border:1px solid var(--line);border-radius:999px;padding:.62rem .85rem;color:var(--ink);font-size:.88rem;font-weight:700;text-decoration:none;transition:background .2s,color .2s}.login-link:hover{background:var(--ink);color:var(--paper)}main{padding:clamp(2rem,5vw,4.5rem) 0;width:100%}.login-page main{padding:0}h1{margin:0 0 1.5rem;font-size:clamp(2.3rem,5vw,4.4rem);line-height:.94;letter-spacing:-.07em}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.15rem}.card{grid-column:span 6;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:1.1rem;background:var(--surface);box-shadow:var(--shadow)}.card.wide{grid-column:1/-1}.card>h2{margin:0 0 1rem;font-size:1.1rem;letter-spacing:-.02em}.card>h2::after{content:"";display:block;width:2.5rem;margin-top:.8rem;border-top:2px solid var(--brand)}.muted{color:var(--muted)}.small{font-size:.82rem;line-height:1.45}.flash{margin:0 0 1.5rem;padding:1rem 1.15rem;border:1px solid color-mix(in srgb,var(--brand) 45%,var(--line));border-radius:.8rem;background:color-mix(in srgb,var(--brand) 9%,var(--surface))}.flash.error{border-color:color-mix(in srgb,#c02b1d 50%,var(--line));background:color-mix(in srgb,#c02b1d 10%,var(--surface))}.danger{color:var(--brand)!important}label{display:block;margin:1rem 0 .4rem;font-size:.86rem;font-weight:750}input,textarea,select{width:100%;padding:.7rem .8rem;border:1px solid var(--line);border-radius:.55rem;outline:0;background:var(--surface-soft);color:var(--ink)}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}textarea{min-height:5.5rem;resize:vertical}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1rem;padding:.68rem 1rem;border:0;border-radius:999px;background:var(--brand);color:#fff8f2;font-size:.9rem;font-weight:800;text-decoration:none;cursor:pointer}.button:hover,button:hover{filter:brightness(1.12)}.button.secondary,button.secondary{border:1px solid var(--line);background:transparent;color:var(--ink)}.button.secondary:hover,button.secondary:hover{background:var(--ink);color:var(--paper)}table{width:100%;border-collapse:collapse}th,td{padding:.85rem .55rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-size:.74rem;letter-spacing:.07em;text-transform:uppercase}.actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.actions form{display:inline}.actions button{margin:0;padding:.45rem .7rem;font-size:.78rem}details{display:inline-block;margin:.2rem 0}details>summary{color:var(--brand);font-size:.82rem;font-weight:800;cursor:pointer}details>form{width:min(22rem,calc(100vw - 4rem));margin-top:.75rem;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface-soft);box-shadow:var(--shadow)}details label{margin-top:.65rem;font-size:.75rem}.progress{height:.55rem;margin-top:1rem;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.progress>i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--accent));transition:width .15s}#upload-status{min-height:1.3rem;margin-top:.8rem}.login-layout{min-height:calc(100svh - 10.75rem);display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(18rem,1.1fr);align-items:center;gap:clamp(1rem,7vw,8rem);padding:clamp(2rem,7vh,6rem) 0}.login-copy{max-width:27rem}.login-copy .eyebrow{margin:0 0 1rem;color:var(--brand);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.login-copy h1{max-width:8ch;font-size:clamp(3rem,6.5vw,6.4rem)}.login-card{max-width:27rem;padding:0;border:0;background:transparent;box-shadow:none}.login-card label{font-size:.9rem}.logo-stage{position:relative;display:grid;min-height:clamp(20rem,55vh,40rem);place-items:center;overflow:hidden}.logo-stage::before{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 45%,transparent),transparent 67%);content:"";opacity:.65}.logo-stage img{position:relative;z-index:1;width:min(100%,29rem);max-height:clamp(24rem,55vh,38rem);filter:drop-shadow(0 1.7rem 2rem rgba(0,0,0,.16))}dialog{width:min(44rem,calc(100% - 2rem));max-height:min(85svh,52rem);padding:0;border:1px solid var(--line);border-radius:1.25rem;background:var(--surface);color:var(--ink);box-shadow:0 1.5rem 5rem rgba(0,0,0,.35)}dialog::backdrop{background:rgba(11,12,13,.6);backdrop-filter:blur(5px)}.legal-content{position:relative;padding:clamp(1.5rem,5vw,3.5rem)}.legal-content h2{margin:0 0 1.75rem;font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.06em}.legal-content p{line-height:1.6;color:var(--muted)}.legal-content a{color:var(--brand)}.close-dialog{position:absolute;top:1rem;right:1rem;display:grid;width:2.3rem;height:2.3rem;margin:0;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:1.6rem;line-height:1}
@media(max-width:700px){.page-shell{padding:0 1.25rem}.site-header{min-height:4.75rem}.site-nav{gap:.7rem}.site-nav .app-link{display:none}.wordmark{font-size:1.2rem}.wordmark small{font-size:.5em}.text-link{font-size:.82rem}.login-link{padding:.55rem .7rem}.login-layout{min-height:auto;grid-template-columns:1fr;gap:1rem;padding:3.5rem 0 2rem}.logo-stage{grid-row:1;min-height:16rem}.logo-stage img{width:14.5rem;max-height:20rem}.login-copy h1{font-size:clamp(3.1rem,15vw,5rem)}.login-card{max-width:none}.grid{gap:.85rem}.card{grid-column:1/-1;padding:1.15rem;border-radius:.9rem}.card.wide{overflow-x:auto}table{min-width:620px;font-size:.86rem}.site-footer{min-height:6rem;align-items:flex-start;flex-direction:column;justify-content:center;gap:.55rem}.site-footer nav{gap:1.1rem}}
/* Freigabe-Dialog innerhalb der Dateiliste */
.actions{gap:.55rem}.actions>a.button,.actions>form>button,.actions details>summary{min-height:2.65rem;margin:0;padding:.55rem .85rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:.82rem;font-weight:800;cursor:pointer;text-decoration:none;list-style:none}.actions details>summary::-webkit-details-marker{display:none}.actions details>summary::after{content:'+';margin-left:.4rem;color:var(--brand);font-size:1.1em}.actions details>summary:hover,.actions>a.button:hover,.actions>form>button:hover{background:var(--ink);color:var(--paper);filter:none}.actions>form>button.danger{color:var(--brand)}.actions details[open]{position:fixed;z-index:100;inset:0;display:flex;flex-direction:column;align-items:center;overflow:auto;padding:clamp(1.25rem,6vh,4rem) 1rem;background:rgba(11,12,13,.66);backdrop-filter:blur(5px)}.actions details[open]>summary{position:relative;z-index:1;align-self:flex-end;width:min(44rem,100%);margin:0 auto .7rem;border-color:var(--line);background:var(--surface);color:var(--ink);text-align:right}.actions details[open]>summary::before{content:'Freigabe konfigurieren';float:left;color:var(--brand)}.actions details[open]>summary::after{content:'×';font-size:1.3rem}.actions details[open]>form{display:block;width:min(44rem,100%);margin:0 auto .85rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:1.1rem;background:var(--surface);box-shadow:var(--shadow)}.actions details[open]>form::before{display:block;margin:0 0 1.1rem;color:var(--ink);font-size:1.2rem;font-weight:800;letter-spacing:-.03em}.actions details[open]>form:first-of-type::before{content:'Für eine registrierte Person freigeben'}.actions details[open]>form:last-of-type::before{content:'Öffentlichen Downloadlink erstellen'}.actions details[open] label{color:var(--ink)}.actions details[open] input,.actions details[open] textarea{background:var(--surface-soft)}
td.actions{display:table-cell;white-space:nowrap}.actions>a.button,.actions>form,.actions details{display:inline-flex;vertical-align:middle}
@media(max-width:700px){.login-layout{min-height:calc(100svh - 10.75rem);display:flex;align-items:center;padding:1.25rem 0}.logo-stage{display:none}.login-copy{width:100%;max-width:none}.login-copy h1{max-width:11ch;margin-bottom:1.25rem;font-size:clamp(2.9rem,13vw,4.25rem);line-height:.9}.login-copy .eyebrow{margin-bottom:.7rem}.login-card{max-width:27rem}.actions details[open]{padding:.8rem}.actions details[open]>summary,.actions details[open]>form{width:100%}.actions details[open]>form{padding:1.15rem}.actions details[open] input,.actions details[open] textarea{font-size:16px}}
