/* BITS Konverter · Design 0.4 */
:root{
 color-scheme:dark;
 --bg:#071923;--panel:#0b2531;--panel2:#0c2d3b;--line:#224551;--line-strong:#33606e;
 --text:#edf7fa;--muted:#a0bcc7;--cyan:#70e1dc;--cyan-strong:#a0f0e9;--teal:#249bb1;--green:#5fe0b8;
 --error:#ffb4a4;--warn:#f5d69a;--attention:#edc987;
 --radius:14px;
 font-family:Inter,'Segoe UI',system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;font-size:16px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;background-image:radial-gradient(ellipse 80% 55% at 12% -5%,#15465a66,transparent 70%),radial-gradient(ellipse 60% 40% at 95% 10%,#0f3c3a55,transparent 70%);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
button,input,select{font:inherit}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
a{color:inherit}
button{cursor:pointer;border:0;border-radius:10px;padding:12px 18px;min-height:44px;font-weight:600;transition:background .2s,color .2s,box-shadow .2s,transform .2s}
button:disabled{cursor:not-allowed;opacity:.45}
button:not(:disabled):active{transform:translateY(1px)}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.primary{background:linear-gradient(180deg,#86ece6,var(--cyan));color:#042c35;box-shadow:inset 0 1px 0 #ffffff60,0 6px 18px #70e1dc22}
.primary:not(:disabled):hover{background:var(--cyan-strong)}
.secondary{border:1px solid #426372;background:#133847;color:#e3f4f7}
.secondary:not(:disabled):hover{background:#1a4556;border-color:#56808f}
.quiet{background:transparent;color:var(--muted);font-size:.9rem}
.quiet:hover{color:#fff;background:#ffffff0a}
.wide{width:100%;margin-top:18px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.muted{color:var(--muted);font-size:.94rem;line-height:1.6}
small{font-size:.8rem;line-height:1.5;color:var(--muted)}
code{font-size:.84rem;color:var(--cyan)}

/* Formulare */
label{display:block;font-size:.84rem;color:#c2d8e1;margin-top:18px}
input,select{display:block;width:100%;margin-top:8px;background:#061d28;border:1px solid #33505e;border-radius:8px;color:var(--text);padding:12px;min-width:0;min-height:44px;transition:border-color .2s,box-shadow .2s}
input:hover,select:hover{border-color:#44697a}
input:focus,select:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px #70e1dc22}
input::placeholder{color:#73939f}
input[type=date]{color-scheme:dark}
form small{display:block;margin-top:12px}
.privacy-consent{margin-top:18px;padding:13px 14px;border:1px solid #355865;border-radius:10px;background:#0a202b}
.privacy-consent p{margin:8px 0 0 31px;color:var(--muted);font-size:.78rem;line-height:1.5}
.check-label{display:flex;align-items:flex-start;gap:9px;margin:0!important;color:#d9eef1;font-size:.82rem!important;line-height:1.45}
.check-label input{display:block;flex:0 0 auto;width:20px;height:20px;min-height:0;margin:0;padding:0;accent-color:var(--cyan)}
.inline-link{display:inline;padding:0;min-height:0;background:none;color:var(--cyan);font-size:inherit;text-decoration:underline;text-underline-offset:2px;font-weight:600}
.inline-link:hover{color:#b4fff5}

/* Kopfzeile */
.topbar{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #2a4f5c66;padding:10px 5vw;background:#06161f99;backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;font-size:1.25rem;font-weight:600;letter-spacing:.02em}
.brand img{width:80px;height:62px;object-fit:contain}
.brand span{padding-left:16px;border-left:1px solid var(--line)}
.brand small{display:block;letter-spacing:.04em;font-size:.72rem;font-weight:400;margin-top:4px}
.topbar nav{display:flex;align-items:center;gap:10px}
.tag{font-size:.72rem;color:#bddee7;border:1px solid #294955;border-radius:30px;padding:6px 11px}
.topbar #userName{font-size:.84rem;color:var(--muted)}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.17em;color:#8fc6d2}

main{width:min(1280px,90vw);margin:0 auto;flex:1}
h1,h2,h3,p{margin-top:0}
h1{font-weight:650;letter-spacing:-.035em;text-wrap:balance}
h2{font-size:1.36rem;letter-spacing:-.02em;font-weight:600;text-wrap:balance}
h3{font-size:1.03rem}

/* Anmeldung */
.auth-layout{display:grid;grid-template-columns:1fr 470px;gap:72px;align-items:center;max-width:1050px;margin:64px auto}
.auth-intro h1{font-size:clamp(3.4rem,6vw,5.4rem);line-height:1.05;margin:22px 0}
.auth-intro h1 span{color:var(--cyan)}
.auth-intro p{color:#9abbc9;line-height:1.75;font-size:1.1rem}
.format-labels{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.format-labels span{color:#8eb8c4;border:1px solid #28505d;border-radius:6px;padding:7px 10px;font-size:.72rem;background:#0a212b}
.auth-card{background:linear-gradient(150deg,#113240,#0a222d);padding:32px;border:1px solid #31515e;border-radius:20px;box-shadow:0 30px 90px #0005,inset 0 1px 0 #ffffff0d}
.tabs{display:flex;background:#061d26;border-radius:10px;padding:4px;margin-bottom:28px}
.tabs button{flex:1;background:transparent;color:#96b5c2;font-size:.9rem;min-height:40px}
.tabs .active{background:#1c4554;color:#e9fcff;box-shadow:inset 0 1px 0 #ffffff12}
.auth-card h2{font-size:1.5rem}

.notice{background:#163644;border:1px solid #356171;border-left:3px solid var(--cyan);padding:16px 18px;margin:20px 0;border-radius:8px;line-height:1.6;font-size:.95rem;overflow-wrap:anywhere}
.notice.error{border-left-color:var(--error);color:#ffd1c9;background:#392b2c;border-color:#5a3c3a}
.notice.success{border-left-color:#8ae3be}

/* Arbeitsbereich */
.workspace-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:36px 0 22px}
.workspace-heading h1{font-size:2.6rem;margin:10px 0 0}
.privacy-banner{display:flex;align-items:flex-start;gap:14px;margin:0 0 20px;padding:15px 18px;border:1px solid #2c6974;border-left:4px solid var(--cyan);border-radius:10px;background:linear-gradient(105deg,#103945,#0b2834);color:#d5f4f1}
.privacy-banner strong{font-size:.94rem;color:#e9fffc}
.privacy-banner p{margin:4px 0 0;color:#a8ccd2;font-size:.82rem;line-height:1.55}
.privacy-mark{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:var(--cyan);color:#07363b;font-weight:800;font-size:.85rem}

/* Schritte */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:0 0 14px}
.steps li{display:flex;align-items:center;gap:16px;position:relative;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:#0b2531;padding:16px 20px;color:#8aa8b5;transition:background .25s,border-color .25s,box-shadow .25s}
.steps b{display:grid;place-items:center;flex-shrink:0;width:56px;height:56px;border-radius:13px;border:1px solid #325462;background:#0b1f2a;color:#87a9b9;font-size:1.75rem;line-height:1;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.step-copy{font-size:1rem;font-weight:600;line-height:1.35}
.step-status{display:block;margin-top:5px;font-size:.75rem;font-weight:400;color:#8daab6}
.steps .active{border-color:var(--cyan);background:linear-gradient(110deg,#174852,#10323f);box-shadow:inset 0 -3px var(--cyan),0 10px 30px #70e1dc14;color:#f0fffe}
.steps .active b{background:linear-gradient(180deg,#8ff0ea,var(--cyan));border-color:var(--cyan);color:#06343d;box-shadow:0 6px 20px #70e1dc35}
.steps .active .step-status{color:#a2eee8;font-weight:600}
.steps .complete{border-color:#367477;color:#c3e8e6}
.steps .complete b{color:#91dfd6;background:#153e44;border-color:#397b7c}
.steps .complete .step-status{color:#8dd9cd}
.flow-guidance{min-height:44px;margin:0 0 20px;padding:11px 16px;border-left:3px solid var(--cyan);border-radius:0 8px 8px 0;background:#70e1dc0d;color:#c7e9ec;font-size:.93rem;line-height:1.5}

.work-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:stretch}

/* Würfel-Panel */
.cube-panel{position:relative;min-height:560px;background:radial-gradient(ellipse 60% 50% at 50% 42%,#17607244,transparent 70%),linear-gradient(150deg,#0d2e3c,#081e29);border:1px solid var(--line);border-radius:18px;text-align:center;padding:30px 28px 24px;overflow:hidden;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.cube-panel::before{content:'';position:absolute;inset:0;background-image:linear-gradient(#70e1dc08 1px,transparent 1px),linear-gradient(90deg,#70e1dc08 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse at 50% 55%,#000 20%,transparent 70%);pointer-events:none}
.cube-panel>*{position:relative}
.cube-panel.dragover{border-color:var(--cyan);box-shadow:inset 0 0 90px #59d5e226}
.panel-corner{position:absolute;top:22px;left:24px;z-index:1;font-size:.68rem;letter-spacing:.15em;color:#7dabbc}
.tiny-square{display:inline-block;width:7px;height:7px;border:1px solid #52b9c7;transform:rotate(45deg);margin-right:7px}
.file-badge{position:absolute;right:22px;top:20px;z-index:1;font-size:.72rem;max-width:50%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#cfeef0;background:#0a2a36;border:1px solid #2f5b69;border-radius:20px;padding:4px 10px}

/*
 BITS-Paketwürfel
 Aufbau: .cube-stage (Perspektive) > .cube-flight (Einflug, Anheben) > .cube (Blickwinkel, Drehung) > Flächen.
 .cube-flight und .cube tragen transform-style:preserve-3d. Auf diesen beiden Ebenen niemals opacity < 1,
 filter, overflow, clip-path, mask oder mix-blend-mode setzen: das zwingt den Browser, die Flächen flach zu rendern.
 Außen- und Innenflächen sind getrennt und mit backface-visibility:hidden versehen,
 so entsteht bei geöffneter Klappe ein echter, dunklerer Innenraum.
*/
.cube-stage{
 --s:150px;--h:calc(var(--s) / 2);--in:calc(1.5px - var(--h));
 --tilt:-30deg;--view:rotateX(var(--tilt)) rotateY(-34deg);
 --lid-closed:translateZ(calc(var(--h) * -1)) rotateX(90deg);
 --lid-open:translateZ(calc(var(--h) * -1)) rotateX(212deg);
 --token-y:calc(var(--h) * -1 - 44px);
 position:relative;height:380px;margin-top:30px;perspective:1200px;perspective-origin:50% 38%;
}
.cube-glow{position:absolute;left:50%;top:calc(100% - var(--h) - 58px);width:calc(var(--s) * 2.4);height:calc(var(--s) * 2.4);margin:calc(var(--s) * -1.2) 0 0 calc(var(--s) * -1.2);border-radius:50%;background:radial-gradient(circle,#70e1dc30,transparent 62%);pointer-events:none;transition:opacity .6s}
.cube-shadow{position:absolute;left:50%;bottom:10px;width:calc(var(--s) * 1.75);height:36px;margin-left:calc(var(--s) * -.875);background:radial-gradient(ellipse,#000b,transparent 70%);border-radius:50%;animation:shadow-in 1.15s cubic-bezier(.2,.8,.25,1) backwards}
.cube-flight{position:absolute;left:50%;top:calc(100% - var(--h) - 58px);width:var(--s);height:var(--s);margin:calc(var(--h) * -1) 0 0 calc(var(--h) * -1);transform-style:preserve-3d;animation:fly-in 1.15s cubic-bezier(.2,.8,.25,1) backwards;transition:transform .35s cubic-bezier(.3,.7,.3,1)}
.cube{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:var(--view);transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}

.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.outer{box-shadow:inset 0 0 0 1.5px #a8f4ee55}
.front{transform:translateZ(var(--h));background:linear-gradient(160deg,#2ba3bd 0%,#157a98 55%,#0a5572 100%);display:grid;place-items:center;box-shadow:inset 0 2px 0 #b6fbf6aa,inset 0 0 0 1.5px #8fe6e666,inset 0 -18px 30px #04304433}
.front .label{display:grid;place-items:center;width:74%;height:62%;border-radius:10px;background:linear-gradient(170deg,#f6feff,#d5f0f3);box-shadow:0 2px 0 #ffffff80 inset,0 4px 12px #03324433,0 0 0 1px #0a5a7033}
.front img{width:84%;height:auto;pointer-events:none}
.right{transform:rotateY(90deg) translateZ(var(--h));background:linear-gradient(150deg,#79e8e6 0%,#3cc2cf 50%,#1892ad 100%);display:grid;place-items:center;box-shadow:inset 0 2px 0 #e2fffccc,inset 0 0 0 1.5px #c5fff966,inset 18px 0 30px #ffffff14}
.right span{font-size:1.45rem;letter-spacing:.2em;font-weight:700;color:#e9fffe;text-shadow:0 1px 0 #0b7f97,0 2px 8px #0b6f8555}
.back{transform:rotateY(180deg) translateZ(var(--h));background:linear-gradient(160deg,#166f8a,#0a4861)}
.left{transform:rotateY(-90deg) translateZ(var(--h));background:linear-gradient(160deg,#12607a,#073a50)}
.bottom{transform:rotateX(-90deg) translateZ(var(--h));background:#062c3d}

.inner{box-shadow:inset 0 3px 0 #b4fbf4cc}
.inner-back{transform:translateZ(var(--in));background:linear-gradient(180deg,#041c28 0%,#073244 45%,#12707e 100%)}
.inner-left{transform:rotateY(90deg) translateZ(var(--in));background:linear-gradient(180deg,#0b4a60 0%,#0f5f73 50%,#2aa3ad 100%)}
.inner-right{transform:rotateY(-90deg) translateZ(var(--in));background:linear-gradient(180deg,#041c28 0%,#073244 50%,#12707e 100%)}
.inner-front{transform:rotateY(180deg) translateZ(var(--in));background:linear-gradient(180deg,#062838 0%,#0a4354 50%,#1b8793 100%)}
.state-processing .inner{filter:brightness(.6)}
.floor{transform:rotateX(90deg) translateZ(var(--in));background:radial-gradient(circle at 50% 50%,#1e8390 0%,#0c4859 50%,#05293a 100%);box-shadow:inset 0 0 26px #01141ccc}
.floor::after{content:'';position:absolute;inset:20%;border:2px dashed #8ff0e8aa;border-radius:10px;transition:border-color .3s,background .3s}
.state-open .floor::after{background:#70e1dc14}
.dragover .floor::after{border-color:#b8fff8;background:#70e1dc30}

.lid{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:50% 0;transform:var(--lid-closed);transition:transform .9s cubic-bezier(.55,0,.2,1);animation:lid-intro .9s 1s cubic-bezier(.3,.6,.2,1) backwards}
.lid-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.lid-outer{transform:translateZ(.5px);background:linear-gradient(135deg,#2bb3a8 0%,#5fe0c8 55%,#aef5dc 100%);box-shadow:inset 0 0 0 2px #b9fbe6aa,inset 0 0 30px #ffffff22}
.lid-outer::before{content:'';position:absolute;left:41%;right:41%;top:0;bottom:0;background:linear-gradient(90deg,#0e6a7a55,#0e6a7a33);box-shadow:inset 1px 0 #ffffff33,inset -1px 0 #ffffff33}
.lid-inner{transform:rotateX(180deg) translateZ(.5px);background:linear-gradient(180deg,#1f9aa2 0%,#157784 60%,#0f5d6c 100%);box-shadow:inset 0 0 0 2px #7fe9dc88,inset 0 -20px 30px #04303f44}
.lid-inner::after{content:'';position:absolute;left:12px;right:12px;bottom:10px;height:4px;border-radius:2px;background:#0b4c5a}

.state-open .lid,.state-review .lid,.state-ready .lid{transform:var(--lid-open)}
.state-processing .cube{animation:spin-cube 2.4s linear infinite}
.state-processing .cube-glow{opacity:.35}
.state-ready .cube{animation:ready-cube 1s cubic-bezier(.2,.7,.2,1) both}

.file-token{position:absolute;left:50%;top:50%;width:62px;height:78px;margin:-39px 0 0 -31px;display:grid;place-items:end center;padding-bottom:12px;border-radius:7px;background:linear-gradient(160deg,#ffffff,#c9f3f1 60%,#8fdcd8);box-shadow:0 0 0 1px #e6ffff,0 12px 28px #02202c77;color:#074852;font-weight:800;font-size:.85rem;letter-spacing:.08em;opacity:0;transform:translate3d(0,10px,0) rotateY(34deg) rotateX(calc(var(--tilt) * -1)) scale(.6);transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .4s;pointer-events:none}
.file-token::before{content:'';position:absolute;top:8px;left:50%;height:34px;margin-left:-2px;border-left:4px dashed #178488}
.file-token::after{content:'';position:absolute;top:0;right:0;width:16px;height:16px;border-radius:0 7px 0 6px;background:linear-gradient(225deg,#0e5d6a 50%,#d8f7f6 50%)}
.state-ready .file-token{opacity:1;transform:translate3d(0,var(--token-y),0) rotateY(34deg) rotateX(calc(var(--tilt) * -1));transition-delay:.45s,.45s;animation:token-float 3s 1.4s ease-in-out infinite}

@media(hover:hover){.cube-panel:hover:has(.state-open) .cube-flight{transform:translateY(-6px)}}
.cube-panel.dragover .cube-flight{transform:translateY(-14px) scale(1.05)}

.cube-caption h2{margin:4px 0 10px;font-size:1.55rem}
.cube-caption p{color:var(--muted);font-size:.95rem;line-height:1.6;max-width:440px;margin:0 auto 22px}
.upload-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.cube-panel>small{display:block;margin-top:16px;font-size:.72rem}

/* Einstellungen */
.settings-panel{background:linear-gradient(170deg,#0f2d3a,#0b2430);border:1px solid var(--line);border-radius:18px;padding:28px 25px;align-self:stretch;transition:border-color .2s,box-shadow .2s}
.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.section-top .eyebrow{font-size:.65rem}
.small-tag{font-size:.62rem;color:#88cbd3;border:1px solid #36606b;padding:5px 7px;border-radius:5px;letter-spacing:.08em}
.settings-panel h2{font-size:1.22rem}
.settings-panel .muted{font-size:.875rem}
.settings-panel label{font-size:.875rem}
.settings-panel input,.settings-panel select{font-size:.94rem;padding:10px 9px}
.settings-panel .two{gap:12px}
.settings-panel details{font-size:.82rem;margin-top:20px;border-top:1px solid var(--line);padding-top:6px}
.settings-foot{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;line-height:1.6}
.settings-foot strong{color:#d3e7ee;font-weight:600}
.settings-foot p{margin:6px 0 0}
summary{cursor:pointer;color:#c9e1e7;padding:10px 0;list-style-position:inside}
details[open]>summary{margin-bottom:12px}

/* Prüfung */
.review-panel{margin:24px 0 36px;background:#0c2531;border:1px solid var(--line);border-radius:16px;padding:26px;transition:border-color .2s,box-shadow .2s}
.review-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.review-heading h2{margin:10px 0 0}
.review-actions{display:flex;flex-wrap:wrap;gap:8px}
.review-actions button{font-size:.82rem;padding:10px 14px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:22px 0}
.stat{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#0a202b}
.stat strong{font-size:1.6rem;font-weight:600;display:block;color:#a3eeeb;margin-bottom:4px;font-variant-numeric:tabular-nums}
.stat span{color:var(--muted);font-size:.78rem}
.issue{padding:10px 14px;font-size:.86rem;line-height:1.5;margin:7px 0;border-radius:8px;background:#1b3842;border-left:3px solid #e0bf7a}
.issue.error{background:#3c2c2d;border-color:#f29782}
.issue small{color:inherit;opacity:.7;margin-right:10px}
.table-scroll{overflow-x:auto;margin-top:18px}
table{width:100%;border-collapse:collapse;text-align:left;font-size:.83rem;line-height:1.5}
th{color:#8fbbc8;font-size:.73rem;font-weight:600;padding:12px 10px;border-bottom:1px solid #456370}
td{padding:12px 10px;border-bottom:1px solid #23434f;vertical-align:top}
td small{display:block;max-width:320px;font-size:.75rem}
td select{font-size:.8rem;margin:0;min-width:170px;max-width:350px}
td button{font-size:.76rem;padding:9px 11px;margin:3px;min-height:36px}
td input{margin:0}
.state-pill{font-size:.74rem;border-radius:5px;padding:4px 7px;background:#254632;color:#a7e9bc;white-space:nowrap}
.state-pill.pending{background:#4e422c;color:#f8d595}
.admin-table{background:#0d2834;padding:20px;border:1px solid var(--line);border-radius:16px}
.review-panel details{margin-top:18px}

footer{width:90vw;max-width:1280px;display:flex;justify-content:space-between;gap:20px;margin:42px auto 22px;padding-top:20px;border-top:1px solid #22434e;font-size:.72rem;color:#7498a5}
footer a{text-decoration:none}
footer a:hover{color:var(--cyan)}

dialog{background:#10303e;color:#e5f4f9;border:1px solid #416876;border-radius:18px;width:min(620px,92vw);max-height:85vh;padding:36px;line-height:1.7;box-shadow:0 30px 90px #000a}
dialog::backdrop{background:#021019be;backdrop-filter:blur(4px)}
dialog .eyebrow{margin-bottom:16px}
.dialog-close{float:right;margin:-18px -18px 0 0;font-size:1.6rem;width:44px;padding:0}
.help-list{padding-left:20px}
.help-list li{padding-left:6px;margin-bottom:12px}
#adminLinkBox input{margin:12px 0}
#adminLinkBox small{display:block;margin-top:14px}

/* Hervorhebung der jeweils erforderlichen Eingabe */
.cube-panel.is-current,.settings-panel.is-current,.review-panel.is-current{border-color:#71ded8;box-shadow:0 0 0 3px #70e1dc1f,0 14px 40px #0003}
.cube-panel.is-current .panel-corner{color:#a9ebe5}
.action-current{box-shadow:0 0 0 4px #70e1dc30,0 6px 24px #70e1dc22}
.settings-panel .needs-input{border-color:var(--attention);box-shadow:0 0 0 3px #edc98726;background:#172e35}
.settings-panel label.needs-attention{color:#ffe0a7}
.field-hint{display:none;color:#ffe0a7;font-size:.74rem;line-height:1.4;margin-top:7px!important}
.needs-attention .field-hint{display:block}
.settings-panel .invalid-field{border-color:var(--error)}
#matchingRows select.needs-input{border-color:var(--attention);box-shadow:0 0 0 3px #edc98726}
#matchingDetails.needs-attention>summary{color:#ffe0a7;font-weight:600}

/* Animationen */
@keyframes fly-in{
 0%{transform:translate3d(-260px,-220px,-260px) rotateY(-150deg) rotateX(30deg) scale(.55)}
 65%{transform:translate3d(0,10px,0) rotateY(8deg) scale(1.02)}
 82%{transform:translate3d(0,-6px,0) rotateY(-2deg)}
 100%{transform:none}
}
@keyframes shadow-in{0%{transform:scale(.25);opacity:0}65%{transform:scale(1.05);opacity:1}100%{transform:none}}
@keyframes lid-intro{from{transform:var(--lid-closed)}}
@keyframes spin-cube{from{transform:rotateX(var(--tilt)) rotateY(-34deg)}to{transform:rotateX(var(--tilt)) rotateY(326deg)}}
@keyframes ready-cube{0%{transform:rotateX(var(--tilt)) rotateY(250deg) translateY(-8px)}70%{transform:rotateX(var(--tilt)) rotateY(330deg) translateY(-12px)}100%{transform:rotateX(var(--tilt)) rotateY(326deg)}}
@keyframes token-float{0%,100%{transform:translate3d(0,var(--token-y),0) rotateY(34deg) rotateX(calc(var(--tilt) * -1))}50%{transform:translate3d(0,calc(var(--token-y) - 8px),0) rotateY(34deg) rotateX(calc(var(--tilt) * -1))}}

/* Responsiv */
@media(min-width:761px) and (max-width:1000px){
 .steps li{padding:14px 12px;gap:10px}
 .steps b{width:46px;height:46px;font-size:1.5rem}
 .step-copy{font-size:.875rem}
}
@media(max-width:1000px){
 .auth-layout{gap:38px;grid-template-columns:1fr 420px}
 .work-grid{grid-template-columns:1fr 315px}
 .settings-panel{padding:24px 18px}
 .workspace-heading h1{font-size:2.2rem}
 .cube-panel{padding-left:16px;padding-right:16px}
}
@media(max-width:760px){
 .topbar{min-height:72px;padding:8px 5vw;flex-wrap:wrap;gap:8px}
 .brand img{width:58px;height:46px}
 .brand{gap:10px;font-size:1.02rem;flex-shrink:0}
 .brand span{padding-left:10px}
 .brand small{font-size:.6rem}
 .topbar nav{gap:2px;margin-left:auto}
 .topbar .tag,.topbar #userName{display:none}
 .topbar .quiet{padding:9px 10px;font-size:.8rem}
 .auth-layout{grid-template-columns:1fr;gap:26px;margin:30px auto}
 .auth-intro h1{font-size:2.8rem;line-height:1.08}
 .auth-intro h1 br{display:none}
 .auth-intro h1 span{display:block}
 .auth-intro p,.format-labels{display:none}
 .auth-card{padding:24px 20px}
 .workspace-heading{display:block;margin-top:26px}
 .workspace-heading h1{font-size:1.9rem}
 .privacy-banner{padding:13px 14px}
 .work-grid{grid-template-columns:1fr}
 .steps{gap:7px}
 .steps li{padding:12px 10px;display:block}
 .steps b{width:48px;height:48px;font-size:1.55rem;margin-bottom:10px}
 .step-copy{font-size:.82rem;display:block;overflow-wrap:anywhere;hyphens:auto}
 .step-status{font-size:.7rem}
 .flow-guidance{font-size:.875rem}
 .cube-panel{min-height:0;padding:24px 16px 22px}
 .cube-stage{--s:128px;height:330px;margin-top:40px}
 .settings-panel{padding:24px 20px}
 .settings-panel label{font-size:.84rem}
 .review-heading{display:block}
 .review-actions{margin-top:16px}
 .review-panel{padding:20px 16px}
 .stats{grid-template-columns:1fr 1fr}
 .stat strong{font-size:1.35rem}
 .stat span{font-size:.73rem}
 footer{flex-wrap:wrap;font-size:.68rem;gap:12px}
 .cube-caption h2{font-size:1.3rem}
 .cube-caption p{font-size:.88rem}
 .file-badge{max-width:44%}
}
@media(max-width:420px){
 .two{grid-template-columns:1fr;gap:0}
 .upload-actions{flex-direction:column;align-items:stretch}
 .upload-actions button{width:100%}
}
@media(max-width:360px){
 .cube-stage{--s:112px;height:295px}
 .steps b{width:42px;height:42px;font-size:1.35rem}
}

/* Reduzierte Bewegung: keine Animationen, der Würfel bleibt räumlich (keine opacity am 3D-Elternelement). */
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .state-processing .cube{transform:rotateX(var(--tilt)) rotateY(-34deg)}
 .state-processing .cube-glow{opacity:.2}
}

/* HK-Portal: Konto- und Verwaltungsformulare */
.auth-contact{margin-top:20px;font-size:.875rem}.auth-contact a,dialog a{color:var(--cyan)}
.user-editor{background:#0b2430;border:1px solid var(--line);border-radius:14px;padding:18px 24px;margin:24px 0}.user-editor summary{font-size:1rem;font-weight:600;cursor:pointer}.user-editor form{max-width:900px}.invite-check{margin-top:22px!important}.editor-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.admin-table td button{margin:3px}footer{flex-wrap:wrap}footer button{font-size:.875rem!important}
