:root{--bg:#07111d;--surface:#0c1a2b;--surface2:#112239;--surface3:#172d48;--line:#24405c;--text:#edf6ff;--muted:#90a6bc;--accent:#a3f152;--accent2:#72d4c2;--warn:#ffd17a;--red:#ff8e96;--radius:20px;--shadow:0 24px 70px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);font-size:15px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:inherit}input,textarea{outline:none}svg{flex-shrink:0}::selection{background:#a3f152;color:#081320}body:before{content:"";position:fixed;width:60vw;height:50vw;background:radial-gradient(circle,rgba(49,110,107,.14),transparent 70%);top:-27vw;right:-17vw;pointer-events:none;z-index:-1}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-1px}.logo-square{height:40px;width:40px;border-radius:13px;display:grid;place-items:center;background:var(--accent);color:#10220b;font-size:13px;font-weight:900;letter-spacing:-.7px}.logo span{display:block}.logo small{display:block;margin-top:2px;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted)}.app-shell{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:32px 20px 18px;background:#091625;border-right:1px solid #1b314a;display:flex;flex-direction:column;gap:32px}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.nav-button{display:flex;align-items:center;gap:13px;text-align:left;color:#9bb0c3;background:transparent;border:none;padding:14px 15px;width:100%;border-radius:12px;font-weight:700;transition:.18s}.nav-button:hover{color:white;background:#13253a}.nav-button.active{background:#1a3048;color:var(--accent)}.nav-button svg{width:19px;height:19px}.side-footer{margin-top:auto;border:1px solid var(--line);border-radius:16px;padding:14px;background:#101f30}.side-footer .label{font-size:10px;letter-spacing:1.7px;color:var(--muted);font-weight:800}.side-footer strong{display:block;margin:10px 0 5px;font-size:13px}.side-footer .mini{display:block;color:var(--muted);font-size:11px}.sign-out{border:0;color:#b2c3d6;background:transparent;display:flex;align-items:center;gap:7px;font-size:12px;padding:13px 0 0}.main{max-width:1420px;width:100%;margin:0 auto;padding:33px 43px 70px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:31px}.eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:800;font-size:11px}.eyebrow.dim{color:#8faec4}.page-title{font-family:Manrope,sans-serif;font-size:clamp(30px,3vw,46px);font-weight:800;letter-spacing:-1.8px;line-height:1.12;margin:10px 0}.sub{color:var(--muted);line-height:1.6;margin:0}.user-pill{border:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:8px 13px;border-radius:30px;color:#d6e8f8;background:rgba(17,34,57,.85);font-size:12px;font-weight:700;white-space:nowrap}.user-dot{height:7px;width:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(163,241,82,.13)}.hero{position:relative;overflow:hidden;padding:36px;border-radius:26px;background:linear-gradient(113deg,#183852 0%,#102d3f 49%,#234b43 100%);border:1px solid #31556e;min-height:252px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;box-shadow:var(--shadow)}.hero:before{content:"";position:absolute;border-radius:50%;width:300px;height:300px;border:55px solid rgba(163,241,82,.07);right:-75px;top:-118px;transform:rotate(-25deg)}.hero:after{content:"";position:absolute;background:radial-gradient(circle,rgba(165,248,97,.20),transparent 72%);height:450px;width:450px;right:-60px;bottom:-240px}.hero>*{position:relative;z-index:1}.hero h2{font-family:Manrope;font-weight:800;font-size:clamp(28px,4vw,46px);letter-spacing:-1.9px;line-height:1.14;margin:13px 0 11px;max-width:720px}.hero p{color:#c0d6dc;line-height:1.6;margin:0 0 23px;max-width:510px}.hero .primary{box-shadow:0 12px 25px rgba(102,169,66,.15)}.big-figure{position:absolute;right:50px;bottom:9px;font-size:200px;line-height:1;opacity:.065;font-weight:900;z-index:0;color:white;letter-spacing:-12px;pointer-events:none}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:20px}.panel{background:linear-gradient(155deg,rgba(17,35,56,.96),rgba(11,25,42,.98));border:1px solid #243c54;border-radius:19px;padding:23px;min-width:0}.panel:hover{border-color:#355976}.stat{display:flex;flex-direction:column;gap:14px}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat h3{font-size:12px;color:var(--muted);margin:0;font-weight:700}.stat strong{font-family:Manrope;font-size:36px;line-height:1;letter-spacing:-1px}.stat small{color:#aac0d1}.glyph{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#213b47;color:var(--accent)}.glyph svg{width:19px;height:19px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:32px 0 16px}.section-heading h3{font-family:Manrope;font-size:19px;margin:0;letter-spacing:-.5px}.section-heading p{color:var(--muted);font-size:12px;margin:6px 0 0}.button{border:1px solid var(--line);border-radius:12px;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#152a40;color:var(--text);font-weight:800;font-size:13px;transition:transform .15s,background .15s;line-height:1.2}.button:hover:not(:disabled){background:#213a52;transform:translateY(-1px)}.button svg{width:17px;height:17px}.button.primary{background:var(--accent);color:#12220d;border-color:var(--accent)}.button.primary:hover:not(:disabled){background:#c6ff8b}.button.ghost{background:transparent;border-color:#35516b}.button.danger{border-color:#673f4f;background:#352337;color:#ffc9cc}.button.sm{padding:8px 11px;font-size:12px;border-radius:9px}.button.full{width:100%}.button.large{padding:16px 22px;font-size:15px}.status{display:inline-flex;align-items:center;gap:7px;background:#16392f;color:#aff4b3;border:1px solid #2d6854;padding:6px 10px;border-radius:99px;font-size:11px;font-weight:800;white-space:nowrap}.status.wait{color:#ffe0ad;background:#3c3126;border-color:#776044}.status.issue{color:#ffc7ca;background:#3d2330;border-color:#7c4c60}.status.muted{color:#a5bfd0;background:#1e3043;border-color:#37536b}.two-col{display:grid;grid-template-columns:1.45fr 1fr;gap:17px}.itemrow{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #273b52}.itemrow:last-child{border:0}.itemrow .name{flex:1;min-width:0}.itemrow strong{font-weight:800}.itemrow p{font-size:12px;color:var(--muted);margin:5px 0 0}.qty-pill{font-family:Manrope;font-weight:800;white-space:nowrap;color:var(--accent);border-radius:10px;background:#1c3940;padding:9px 10px;font-size:13px}.empty{padding:50px 18px;text-align:center;color:var(--muted);border:1px dashed #38546f;border-radius:17px}.empty svg{width:35px;height:35px;color:#a7c3db;margin-bottom:12px}.empty strong{display:block;color:#e2f0fa;font-size:16px;margin:7px 0}.item-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.item-head h3{font-size:17px;margin:0}.item-head p{font-size:12px;color:var(--muted);margin:6px 0 0}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label{font-size:12px;font-weight:800;color:#bed0de}.field input,.field select,.field textarea{width:100%;min-width:0;border-radius:11px;padding:13px;background:#0b1b2c;border:1px solid #36516a;color:white;font-size:14px}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(163,241,82,.10)}.field input::placeholder,.field textarea::placeholder{color:#778ba1}.form-grid{display:grid;grid-template-columns:2fr .9fr 1fr;gap:12px;margin-bottom:14px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.footnotes{font-size:12px;line-height:1.6;color:var(--muted);padding:10px 0}.right-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.inventory-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.mini-icon{width:20px;height:20px}.steps{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:22px;flex-wrap:wrap}.steps .current{color:var(--accent)}.steps .point{width:8px;height:8px;background:#506783;border-radius:50%}.steps .current .point{background:var(--accent)}.sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:18px}.sign-pad{background:#f6fbff;border:1px solid #9aafc1;border-radius:12px;touch-action:none;width:100%;height:177px;display:block;cursor:crosshair}.signature-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;gap:10px}.signature-head span{font-weight:800;font-size:13px}.notice{display:flex;align-items:flex-start;gap:11px;padding:15px 17px;border-radius:12px;background:#263444;border:1px solid #3b5063;font-size:12px;line-height:1.6;color:#c5d9e8;margin-bottom:18px}.notice svg{width:19px;height:19px;color:#e8bf6f}.notice.success{background:#19352d;border-color:#336752}.round-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.progress{height:8px;border-radius:10px;background:#1f3649;overflow:hidden;margin:16px 0 22px}.progress span{display:block;background:linear-gradient(90deg,var(--accent),#74d9be);height:100%;border-radius:10px;transition:width .3s}.round-card{max-width:700px;margin:0 auto;background:#102238;border:1px solid #31506b;border-radius:22px;padding:27px;box-shadow:var(--shadow)}.round-card .index{letter-spacing:2px;font-size:11px;font-weight:800;color:var(--accent)}.round-card h3{font-family:Manrope;letter-spacing:-1px;font-size:29px;margin:12px 0 8px}.round-card p{color:var(--muted);margin:0 0 15px}.quantity-control{display:flex;justify-content:center;align-items:center;gap:20px;padding:18px}.stepper{height:54px;width:54px;border-radius:15px;background:#1c3a4a;border:1px solid #3b6370;color:var(--accent);font-size:30px}.qty-display{text-align:center;min-width:92px}.qty-display strong{font-size:45px;font-family:Manrope}.qty-display span{display:block;color:var(--muted);font-size:11px;letter-spacing:2px}.choice-pills{display:flex;gap:9px;margin:13px 0 15px}.choice{border:1px solid #36536e;background:#152e46;border-radius:10px;padding:13px 18px;color:#c0d3e3;font-weight:800;flex:1}.choice.selected{background:#1f493c;border-color:var(--accent);color:var(--accent)}.choice.bad.selected{background:#54323b;border-color:var(--red);color:#ffd1d3}.round-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:17px}.list-table{width:100%;border-collapse:collapse}.list-table th{text-align:left;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#8da9be;padding:13px 8px;border-bottom:1px solid #385269}.list-table td{padding:15px 8px;border-bottom:1px solid #273e54;font-size:13px}.list-table tr:last-child td{border-bottom:0}.muted{color:var(--muted)}.badge-num{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#1f374e;color:#b9d5e8;font-size:12px;font-weight:800}.inventory-list{display:flex;flex-direction:column;gap:9px}.inventory-list-item{display:flex;align-items:center;gap:12px;background:#0d2034;border:1px solid #284259;border-radius:13px;padding:13px}.inventory-list-item .details{flex:1;min-width:0}.inventory-list-item strong{font-size:13px}.inventory-list-item small{display:block;color:var(--muted);margin-top:4px;font-size:11px}.inventory-list-item button{padding:5px 8px;border:0;background:transparent;color:#ffc1c6}.modal-backdrop{position:fixed;inset:0;z-index:30;background:rgba(0,8,18,.83);backdrop-filter:blur(8px);display:grid;place-items:center;padding:17px}.modal{width:100%;max-width:475px;max-height:92vh;overflow-y:auto;background:#102136;border:1px solid #38546c;border-radius:23px;padding:29px;box-shadow:0 20px 85px rgba(0,0,0,.45)}.modal h3{font-family:Manrope;font-size:22px;letter-spacing:-.7px;margin:11px 0 10px}.modal p{line-height:1.65;font-size:13px;color:var(--muted)}.qr-box{width:258px;height:258px;max-width:100%;padding:16px;border-radius:15px;background:#fff;margin:18px auto;display:grid;place-items:center}.qr-box canvas{max-width:100%;height:auto}.url-text{color:#9cb6cb;word-break:break-all;font-size:11px;text-align:center;margin:12px 0}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.03fr 1fr;background:#091624}.login-image{position:relative;overflow:hidden;background:radial-gradient(circle at 25% 60%,#234947,#0a1e2f 60%);display:flex;flex-direction:column;justify-content:space-between;padding:65px 55px}.login-image:after{content:"";position:absolute;width:680px;height:680px;right:-300px;bottom:-360px;border:110px solid rgba(152,240,88,.09);border-radius:50%}.login-image h1{font-size:clamp(42px,5vw,76px);max-width:660px;line-height:1.06;letter-spacing:-3px;font-family:Manrope;margin:0}.login-image .tagline{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:800}.login-image .copy{color:#acc5d2;font-size:16px;line-height:1.6;max-width:450px}.login-box-wrap{display:grid;place-items:center;padding:35px}.login-box{width:100%;max-width:440px}.login-box h2{font-family:Manrope;font-size:35px;letter-spacing:-1.5px;margin:0 0 10px}.login-box>p{color:var(--muted);line-height:1.6;margin-bottom:32px}.login-fields{display:flex;flex-direction:column;gap:16px;margin-bottom:25px}.version{color:#728ca2;font-size:11px;margin-top:21px;letter-spacing:1px}.inline-message{font-size:12px;color:var(--red);margin:11px 0}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,160px);background:#edf5fa;color:#102138;border-radius:12px;padding:13px 19px;z-index:100;box-shadow:var(--shadow);font-weight:800;font-size:13px;transition:transform .3s;max-width:85vw;text-align:center}.toast.show{transform:translate(-50%,0)}.bottom-nav{display:none}.mobile-only{display:none}.divider{height:1px;background:#30485d;margin:18px 0}.item-icon{background:#223b4b;color:#b4e6c0;width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.item-icon svg{height:21px;width:21px}.center{text-align:center}.nowrap{white-space:nowrap}.mt{margin-top:18px}.mt2{margin-top:30px}.date{font-family:Manrope;font-weight:800;color:#c9e1ef}.loading-layer{position:fixed;inset:0;background:rgba(3,11,21,.66);z-index:99;display:grid;place-items:center;color:white;font-weight:800}.spinner{width:32px;height:32px;border:3px solid #426070;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 14px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1150px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.main{padding:30px 25px 80px}.cards{gap:11px}.panel{padding:17px}}@media(max-width:790px){.app-shell{display:block}.sidebar{display:none}.main{padding:25px 17px 100px}.bottom-nav{display:flex;align-items:center;justify-content:space-around;position:fixed;left:0;right:0;bottom:0;z-index:20;background:#0b1b2c;border-top:1px solid #2a455e;padding:8px 8px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(14px)}.bottom-nav button{border:0;background:transparent;color:#91a8b9;font-size:10px;font-weight:800;display:flex;align-items:center;gap:5px;flex-direction:column;min-width:60px}.bottom-nav button.active{color:var(--accent)}.bottom-nav svg{width:21px;height:21px}.topbar{margin-bottom:23px}.two-col{grid-template-columns:1fr}.login-wrap{grid-template-columns:1fr}.login-image{padding:30px 26px;min-height:260px}.login-image h1{font-size:40px;letter-spacing:-2px}.login-image .copy{font-size:13px}.login-box-wrap{padding:40px 24px}.login-box h2{font-size:29px}.hero{min-height:215px;padding:26px}.hero h2{font-size:31px}.big-figure{font-size:145px;right:20px}.mobile-only{display:block}}@media(max-width:590px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards .panel:last-child{grid-column:span 2}.form-grid{grid-template-columns:1fr 100px}.form-grid .field:last-child{grid-column:span 2}.sign-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}.round-top{display:block}.round-card{padding:18px}.round-card h3{font-size:25px}.stat strong{font-size:27px}.user-pill{max-width:165px;overflow:hidden;text-overflow:ellipsis;font-size:11px}.page-title{font-size:30px}.section-heading h3{font-size:16px}.button.sm{padding:8px}.modal{padding:20px}.list-table th,.list-table td{padding:11px 5px}.hide-small{display:none}}

.admin-entry{display:inline-flex;align-items:center;gap:8px;margin:14px 0 0;color:#a9c3d7;font-weight:700;font-size:12px;text-decoration:none}.admin-entry:hover{color:var(--accent)}

/* Sichtbarer Abmelden-Button fuer Mitarbeiter auf Tablet & Smartphone */
.mobile-sign-out{display:none}
@media(max-width:790px){.mobile-sign-out{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:#152a40;color:var(--text);font-weight:800;font-size:12px;white-space:nowrap;min-height:42px}.mobile-sign-out svg{width:18px;height:18px}.topbar>.eyebrow.dim{display:none}}
@media(max-width:590px){.topbar>.user-pill{display:none}.topbar>.logo{min-width:0}.mobile-sign-out{margin-left:auto}}

/* Zusatzmodule: Dienstanweisung und QR-Checkpoints */
.directive-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;color:#e6f1f8;background:#071928;border:1px solid #2e5166;border-radius:13px;padding:20px;margin-top:18px;max-height:60vh;overflow:auto}
.directive-confirm{display:flex;gap:12px;align-items:flex-start;background:#142c3c;border:1px solid #406276;padding:15px;border-radius:12px;margin:16px 0 24px;font-weight:750;line-height:1.5}.directive-confirm input{margin-top:5px;width:20px;height:20px;accent-color:#b7f58c;flex:0 0 20px}
.directive-pdf{margin-top:17px;padding:16px;border:1px solid #354b65;border-radius:12px;background:#0b1b2c}.directive-pdf p{color:var(--muted);font-size:13px}
.directive-pdf-view iframe{display:block;width:100%;height:65vh;min-height:320px;border:1px solid #38516a;border-radius:10px;background:#f1f1f1;margin:15px 0}
.scan-box{margin-top:18px;display:grid;gap:12px;justify-items:center}.scan-box video{width:100%;max-height:410px;object-fit:contain;border-radius:14px;border:1px solid #497087;background:#02070b}
@media(max-width:790px){.bottom-nav{overflow-x:auto;justify-content:flex-start;gap:12px}.bottom-nav button{flex:0 0 63px}.directive-text{max-height:56vh}}
