:root{--navy:#123044;--ink:#172e41;--muted:#688091;--teal:#0e8e91;--teal-dark:#12676b;--line:#d7e4e9;--surface:#f4f8fa;--white:#fff;--danger:#af3643;--warning:#b8661a;--shadow:0 12px 28px rgba(16,50,67,.045);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--surface)}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--teal)}.muted{color:var(--muted)}.error{color:var(--danger);font-weight:650}.success{color:var(--teal-dark)}.eyebrow,.kicker{font-size:11px;letter-spacing:.13em;font-weight:800;text-transform:uppercase;color:var(--teal-dark)}.primary{border:1px solid var(--teal);background:var(--teal);color:white;padding:11px 18px;border-radius:11px;font-size:13px;font-weight:750;box-shadow:0 5px 12px rgba(10,129,136,.12)}.primary:hover{background:#087b7e}.secondary{background:white;border:1px solid var(--line);color:#244358;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:700}.secondary:hover,.outline:hover{border-color:#79b8c0;background:#f1fafb}.outline{background:transparent;border:1px solid #bdd7df;padding:9px 11px;border-radius:9px;color:var(--teal-dark);font-size:12px;font-weight:700}.danger-btn{border-color:#f0c1c5;color:#a4343d}.danger-btn:hover{background:#fff0f2}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(360px,530px) 1fr;background:#fff}.auth-card{padding:9vh min(8vw,84px);display:flex;flex-direction:column;justify-content:center;max-width:590px}.brandmark{font-size:25px;color:var(--navy);font-weight:900;letter-spacing:.04em;margin-bottom:60px}.brandmark span{color:var(--teal)}.auth-card h1{font-size:clamp(35px,4vw,51px);line-height:1.12;letter-spacing:-.045em;margin:13px 0}.auth-card p{line-height:1.7}.auth-card form{margin-top:24px;display:grid;gap:16px}.auth-card label,.field label{display:flex;flex-direction:column;gap:7px;color:#3d596a;font-size:12px;font-weight:800}.auth-card input,.field input,.field select,.field textarea,.qcard input,.qcard textarea,.qcard select,.editor-form input,.editor-form textarea,.editor-form select,.user-form input{background:#fff;border:1px solid #c8dbe1;padding:12px 13px;border-radius:10px;color:var(--ink);outline-color:var(--teal);width:100%;font-size:14px}.auth-card button{margin-top:8px}.auth-card .help{font-size:11px;margin-top:28px;color:#8395a0}.auth-aside{background:linear-gradient(140deg,#0e3548 0%,#092838 45%,#106a70 110%);padding:11vh 9vw;color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-aside .kicker{color:#71dbd1}.auth-aside h2{line-height:1.18;max-width:750px;font-size:clamp(35px,4vw,57px);font-weight:760;letter-spacing:-.045em}.auth-aside h2 span{color:#77d8cd}.auth-aside p{max-width:600px;color:#b9d5db;line-height:1.8}.auth-bullets{margin-top:35px;display:grid;gap:17px;font-weight:800;color:#63c8c8}.auth-bullets span{margin-left:15px;color:#fff;font-weight:600}.sidebar{width:286px;background:var(--navy);color:white;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10}.logo{display:flex;gap:11px;align-items:center;padding:28px 22px 24px;border-bottom:1px solid #315267}.logo strong{display:block;font-size:14px;letter-spacing:.04em}.logo small{color:#b3ccd3;font-size:11px;display:block;margin-top:4px}.logo-drop{width:38px;height:38px;border-radius:12px;background:#167f86;display:grid;place-items:center;font-size:25px;color:white}.who{padding:16px 18px;margin:17px 15px;background:#203e50;border-radius:12px;display:flex;gap:10px;align-items:center;min-height:64px}.who .avatar{width:36px;height:36px;border-radius:100%;background:#287a82;display:grid;place-items:center;font-weight:800}.who b{display:block;font-size:12px}.who small{display:block;font-size:10px;color:#b8ccd4;margin-top:5px}.main-nav{padding:8px 14px;display:grid;gap:5px}.main-nav button{display:flex;gap:12px;align-items:center;border:0;background:transparent;color:#c8d9e2;text-align:left;border-radius:9px;padding:11px 14px;font-weight:700;font-size:13px}.main-nav button.active{background:#2d5262;color:white}.section-nav{padding:17px 14px 14px;margin-top:12px;overflow:auto;flex:1;border-top:1px solid #32536a}.section-nav .smallheading{font-size:10px;letter-spacing:.13em;color:#95b7c4;font-weight:800;padding:2px 12px 9px}.section-nav button{display:flex;width:100%;align-items:start;justify-content:space-between;gap:8px;border:0;border-radius:9px;background:transparent;color:#bad0d8;text-align:left;font-size:11.5px;font-weight:650;line-height:1.5;padding:10px 12px}.section-nav button.active,.section-nav button:hover{background:#294e61;color:white}.section-nav .count{flex-shrink:0;font-size:10px;color:#a8c3cb}.sidebar-bottom{padding:16px 23px;border-top:1px solid #305267}.sidebar-bottom button{background:none;color:#d9ebef;border:0;font-weight:700}.sidebar-bottom small{display:block;margin-top:11px;color:#8eafbb;font-size:10px}.workspace{margin-left:286px;min-height:100vh;display:flex;flex-direction:column}.topbar{padding:35px clamp(23px,4vw,62px) 25px;border-bottom:1px solid var(--line);display:flex;align-items:end;gap:20px;justify-content:space-between;background:white}.topbar h1{margin:11px 0 9px;letter-spacing:-.035em;font-size:clamp(25px,2.5vw,36px);font-weight:820}.topbar p{margin:0;font-size:12px;color:var(--muted);line-height:1.6}.top-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.main-content{width:min(1320px,100%);padding:30px clamp(20px,4vw,62px);flex:1}.workspace>footer{padding:20px clamp(20px,4vw,62px);font-size:10px;color:#8a9da8;border-top:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:19px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:17px 19px;box-shadow:var(--shadow)}.stat span{display:block;font-size:11px;color:var(--muted);font-weight:700}.stat b{display:block;font-size:29px;letter-spacing:-.04em;margin-top:6px}.intro-panel{background:#eaf6f5;border:1px solid #c9e7e4;border-radius:14px;padding:18px 22px;margin-bottom:22px}.intro-panel strong{color:#17636c}.intro-panel p{font-size:12px;color:#47747a;margin:7px 0 0;line-height:1.65}.panel{background:white;border-radius:14px;border:1px solid var(--line);padding:22px;margin-bottom:17px;box-shadow:var(--shadow)}.panel-title{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:12px}.panel-title h2{font-size:20px;letter-spacing:-.02em;margin:1px 0 7px}.panel-title p{color:var(--muted);font-size:12px;line-height:1.65;margin:0;max-width:860px}.small-muted{font-size:11px;color:var(--muted)}.section-head{margin:22px 0 15px;display:flex;justify-content:space-between;gap:14px;align-items:center}.section-head h2{font-size:21px;letter-spacing:-.02em;margin:0}.section-head p{color:var(--muted);line-height:1.65;margin:6px 0;font-size:12px}.section-pill{display:inline-flex;color:#176971;background:#e8f7f7;border:1px solid #c7e5e8;border-radius:100px;padding:6px 10px;font-size:10px;font-weight:800}.toolbar{display:flex;gap:10px;margin:10px 0 22px;align-items:center;flex-wrap:wrap}.toolbar input{min-width:260px;flex:1;border:1px solid var(--line);border-radius:9px;padding:11px 12px;outline-color:var(--teal)}.toolbar select{border:1px solid var(--line);border-radius:9px;padding:11px 13px;background:white}.qcard{background:white;border:1px solid var(--line);border-radius:13px;margin-bottom:13px;padding:19px 22px;box-shadow:var(--shadow)}.qcard h3{font-size:14px;line-height:1.6;margin:7px 0 8px}.qcard .hint{font-size:11px;line-height:1.65;color:#647d8c;margin-bottom:15px}.qtop{display:flex;justify-content:space-between;align-items:center;gap:10px}.qtop .ref{font-size:10px;font-weight:800;color:var(--teal-dark);letter-spacing:.06em}.tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tag{border:1px solid #d9e7ec;background:#f4f8fa;color:#587181;border-radius:100px;padding:5px 8px;font-size:9px;font-weight:750}.tag.required{background:#fff5e6;border-color:#f3dbb5;color:#b46b27}.field{margin-bottom:13px}.field label{margin-bottom:8px}.field textarea{resize:vertical;min-height:88px;line-height:1.6}.field.notes textarea{min-height:63px}.row-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px}.qfooter{margin-top:12px;padding-top:12px;border-top:1px solid #e6eef1;display:flex;justify-content:space-between;align-items:center;gap:12px}.qfooter small{color:#8496a0;font-size:10px}.actions{display:flex;gap:8px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.formgrid .wide{grid-column:1/-1}.panel h2{margin-top:0}.change-list{display:grid;gap:10px}.change{background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px}.changehead{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px}.changehead b{font-size:13px}.changehead small{color:var(--muted);font-size:10px}.change .type{color:var(--teal-dark);font-weight:800;font-size:11px;margin:0 0 8px}.diff{border-top:1px solid #edf1f3;display:grid;grid-template-columns:130px 1fr;gap:11px;padding-top:8px;margin-top:8px;font-size:11px}.diff .before{color:#8b6065;text-decoration:line-through}.diff .after{color:#0a7175}.diff strong{font-size:11px}.diff-text{overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.5}.users-list{display:grid;gap:10px}.user-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:15px 17px}.user-row b{display:block;font-size:13px}.user-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.user-controls{display:flex;gap:5px;flex-wrap:wrap}.editor-form{background:#f8fbfc;padding:18px;border:1px solid #d9e7ed;border-radius:12px;margin-top:12px}.editor-form label{display:block;color:#385467;font-size:12px;font-weight:800;margin:11px 0}.editor-form input,.editor-form textarea,.editor-form select{margin-top:5px}.editor-form textarea{min-height:100px}.editor-form .buttons{display:flex;gap:8px;margin-top:15px}.toast{position:fixed;bottom:23px;right:22px;z-index:50;background:#173d4f;color:white;padding:12px 18px;font-size:12px;border-radius:10px;box-shadow:0 12px 25px #183a5040;max-width:420px}.notice{border-radius:10px;background:#fff7e9;border:1px solid #ead6b4;color:#775b27;padding:13px 15px;line-height:1.6;font-size:12px;margin-bottom:18px}.print-only{display:none}#printview{display:none}@media(max-width:1160px){.sidebar{width:250px}.workspace{margin-left:250px}.topbar{align-items:start;flex-direction:column}}@media(max-width:800px){.sidebar{position:static;width:auto}.logo{padding:16px}.who{display:none}.main-nav{display:flex;overflow:auto}.main-nav button{white-space:nowrap}.section-nav,.sidebar-bottom{display:none}.workspace{margin-left:0}.topbar{padding:25px 20px}.main-content{padding:20px}.stats{grid-template-columns:repeat(2,1fr)}.row-fields{grid-template-columns:1fr}.auth-wrap{grid-template-columns:1fr}.auth-aside{display:none}.auth-card{margin:auto;max-width:530px;width:100%;padding:50px 28px}.brandmark{margin-bottom:35px}.formgrid{grid-template-columns:1fr}.qfooter{align-items:start;flex-direction:column}.user-row{grid-template-columns:1fr}.diff{grid-template-columns:1fr}}@media print{body{background:white;color:black}.sidebar,.topbar,.workspace>footer,.toolbar,.qfooter,.top-actions,.button-row,.actions,.hide-print,.user-controls{display:none!important}.workspace{margin:0}.main-content{width:100%;padding:0}#view{display:none!important}#printview{display:block!important;padding:15mm 13mm;color:#222}#printview h1{font-size:23pt}#printview h2{font-size:16pt;margin-top:20pt;padding-top:12pt;border-top:1px solid #bbb}#printview .printq{page-break-inside:avoid;padding:10pt 0;border-bottom:1px solid #ccc}#printview p{font-size:10pt;white-space:pre-wrap;line-height:1.55}#printview small{color:#666;font-size:8pt}.panel,.qcard{box-shadow:none}#printview .printmeta{font-size:9pt;margin:10pt 0 18pt}}

/* AT-Projekt: Logos und Unternehmensrollen */
.auth-logos{display:flex;align-items:center;gap:18px;min-height:84px;margin-bottom:18px}
.auth-logos .optilemo-logotype{width:min(265px,65%);height:auto;object-fit:contain}
.auth-logos .neuequellen-stamp{width:74px;height:74px;object-fit:contain;border-radius:12px;background:#fff}
.sidebar-identity{width:86px;height:auto;max-height:38px;object-fit:contain;background:white;border-radius:5px;padding:5px}
.supplier-note{margin:22px 0 10px;padding:12px 14px;border:1px solid rgba(255,255,255,.27);border-radius:12px;font-size:13px;line-height:1.8}
.company-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:16px 0 22px}
.company-card{background:#fff;border:1px solid #dbe5e8;border-radius:17px;padding:22px;box-shadow:0 8px 30px #0b32420a;display:flex;flex-direction:column;align-items:start;gap:10px}
.company-card .company-role{display:inline-block;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#567980;font-weight:800}
.company-card img{max-width:120px;max-height:95px;object-fit:contain}
.company-card strong{font-size:20px;color:#15343c}.company-card p{font-size:13px;line-height:1.65;color:#536773;margin:0}
.migration-panel{border:1px solid #b5d7c9;background:#e8f8ef;border-radius:16px;padding:24px;margin-bottom:18px;color:#21473a}
.migration-panel p{margin:8px 0 14px;font-size:14px}.migration-panel strong{font-size:18px}
.danger-outline{border:1px solid #f0b3ae!important;background:#fff7f7!important;color:#99423a!important;border-radius:9px;padding:9px 12px;font-weight:600;cursor:pointer}
.danger-outline:hover{background:#ffe9e8!important}
.archive-group{margin:14px 0}.archive-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:15px}
.archive-line{padding:12px 0;border-top:1px solid #e7eded;display:flex;gap:16px;align-items:center;justify-content:space-between}
.archive-line b{display:block;font-size:14px}.archive-line small{display:block;color:#6e7d81;margin-top:4px}
@media(max-width:800px){.company-overview{grid-template-columns:1fr}.auth-logos{gap:10px}.auth-logos .optilemo-logotype{width:72%}.archive-line{align-items:start;flex-direction:column}}
@media print{.company-overview,.migration-panel,.danger-outline{display:none!important}}

/* Persönlicher Zugang mit getrenntem Start- und Benutzername/Passwort-Login */
.profile-panel{max-width:760px}
.credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.credential-tile{display:flex;flex-direction:column;gap:6px;padding:17px;border-radius:12px;background:#f5f9fa;border:1px solid #dce8eb;min-width:0}
.credential-tile span{color:#667e88;font-size:11px;font-weight:700}
.credential-tile strong{font-size:16px;overflow-wrap:anywhere;color:#143945}
.credential-tile small{font-size:11px;color:#6b818a;line-height:1.5}
.profile-panel input{width:100%;max-width:100%;box-sizing:border-box}
@media(max-width:600px){.credential-grid{grid-template-columns:1fr}}

/* Geschützter Dokumentenbereich V6 */
.doc-upload{margin-top:22px}.doc-upload input[type=file]{padding:13px;border:1px dashed #a1b8c4;border-radius:9px;background:#fff;width:100%}.doc-list{display:grid;gap:10px;margin-top:14px}.doc-row{display:flex;align-items:center;gap:14px;border:1px solid #dde8eb;border-radius:13px;background:#fbfdfd;padding:13px 15px;min-width:0}.doc-glyph{flex:none;background:#dcefed;color:#19596b;font-size:11px;font-weight:800;padding:12px 8px;border-radius:9px;min-width:56px;text-align:center}.doc-meta{flex:1;min-width:0;overflow-wrap:anywhere}.doc-meta strong{display:block;font-size:13px}.doc-meta small{display:block;color:#6b7e86;font-size:11px;margin:5px 0;line-height:1.5}.doc-note{display:block;font-size:11px;color:#355764}.doc-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.button-download{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:white;border:1px solid #d2dfe4;border-radius:8px;padding:10px 13px;font-size:12px;font-weight:700;color:#244757;white-space:nowrap}.button-download:hover{background:#ebf7f7}.doc-viewer{position:fixed;inset:3.5vh 3.5vw;max-width:1400px;max-height:93vh;width:93vw;height:93vh;background:#f7fafb;color:#14323c;border:1px solid #cfdbdf;border-radius:16px;box-shadow:0 20px 90px #091f2c85;padding:0;overflow:hidden}.doc-viewer::backdrop{background:#0b2235b8}.viewer-top{padding:14px 20px;background:white;border-bottom:1px solid #dde8eb;display:flex;gap:16px;justify-content:space-between;align-items:center}.viewer-top #doc-title{font-weight:800;font-size:14px;overflow-wrap:anywhere}.viewer-actions{display:flex;gap:8px;flex-shrink:0}.viewer-content{height:calc(100% - 75px);overflow:auto;padding:16px}.doc-frame{width:100%;height:100%;min-height:520px;border:0;background:white;border-radius:8px}.doc-image-wrap{display:flex;align-items:center;justify-content:center;min-height:100%;}.doc-image-wrap img{max-width:100%;max-height:calc(92vh - 110px);object-fit:contain;border-radius:10px}.doc-text{background:white;border:1px solid #dbe7eb;border-radius:12px;padding:26px;line-height:1.65;white-space:pre-wrap;overflow:auto}.doc-text p{overflow-wrap:anywhere}.doc-table-wrap{max-width:100%;overflow:auto;border:1px solid #e1e8eb;border-radius:9px;margin:12px 0}.doc-table{border-collapse:collapse;white-space:pre-wrap;width:max-content;min-width:100%;font-size:12px}.doc-table td{border:1px solid #e2e9ed;min-width:85px;max-width:360px;padding:8px 11px;vertical-align:top;overflow-wrap:anywhere}.doc-table tr:nth-child(odd){background:#f3f8f9}.qfiles{margin:14px 0;padding:12px;border:1px solid #e2edef;border-radius:10px;background:#f8fbfc}.qfiles-head{display:flex;gap:10px;align-items:center;justify-content:space-between}.qfiles-head b{font-size:11px;color:#3f6270}.qfiles .small-muted{font-size:10px;margin:7px 0 0}.small-btn{padding:6px 9px!important;font-size:10px!important}.qfiles-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.qfile-pill{padding:6px 9px;background:white;border:1px solid #cfe1e5;border-radius:8px;font-size:11px;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.qfile-pill span{color:#0a7781;font-weight:700;margin-left:5px}
@media(max-width:850px){.doc-row{align-items:flex-start;flex-wrap:wrap}.doc-actions{width:100%;justify-content:flex-start}.doc-viewer{inset:1vh 1vw;width:98vw;height:98vh;max-height:98vh}.viewer-top{padding:12px;flex-wrap:wrap}.viewer-content{height:calc(100% - 115px);padding:8px}.doc-text{padding:14px}.qfiles-head{flex-wrap:wrap}}
@media print{.doc-viewer,.qfiles{display:none!important}}


/* V7 - mobile app-like UI. No private data cached by a service worker. */
:root{color-scheme:light}
html{max-width:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden;overflow-wrap:break-word}
button,a,select{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #0096a4;outline-offset:2px}
.mobile-dock,.mobile-drawer,.mobile-section-strip{display:none}
.mobile-section-strip[hidden],.mobile-drawer[hidden],.pdf-fallback[hidden]{display:none!important}
.mobile-drawer{z-index:150}
.mobile-drawer-backdrop{border:0;border-radius:0;position:fixed;inset:0;background:rgba(10,31,46,.59);width:100%;height:100%;cursor:pointer}
.mobile-drawer-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom,0px));max-height:85dvh;overflow-y:auto;box-shadow:0 -20px 75px rgba(12,36,50,.2)}
.mobile-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 14px;font-size:17px}
.mobile-menu-links{display:grid;gap:6px}
.mobile-menu-links button{background:#f3f8f9;border:1px solid #dde9ec;border-radius:13px;min-height:49px;padding:13px 16px;text-align:left;display:flex;align-items:center;gap:13px;color:#1b3d4d;font-size:15px;font-weight:700}
.mobile-menu-links button.active{background:#e1f2f1;border-color:#6eb3b5}
.mobile-menu-links .mobile-logout{background:#fff3f3;color:#9a3542;border-color:#f1d4d4}
.pdf-fallback{font-size:11px;color:#55727c;padding:8px 12px;line-height:1.5}
@media (max-width:800px), (orientation:landscape) and (max-height:480px) and (max-width:950px){
  html,body{min-height:100%;width:100%;overscroll-behavior-y:contain}
  body.mobile-menu-open{overflow:hidden}
  #app-shell{min-height:100dvh;display:flex;flex-direction:column}
  .sidebar{position:relative;width:100%;height:auto;inset:auto;display:block;flex:none;z-index:2;padding-top:env(safe-area-inset-top,0px)}
  .sidebar .logo{padding:10px 17px;min-height:59px;border:0;gap:12px}
  .sidebar .logo strong{font-size:13px}
  .sidebar .logo small{font-size:10px}
  .sidebar .sidebar-identity{width:94px;max-height:34px}
  .sidebar .who,.sidebar .main-nav,.sidebar .section-nav,.sidebar .sidebar-bottom{display:none!important}
  .workspace{min-width:0;width:100%;margin-left:0;flex:1;padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
  .topbar{padding:14px 16px 13px;display:flex;flex-direction:column;gap:12px;align-items:stretch;background:white}
  .topbar .kicker{font-size:9px;letter-spacing:.085em;line-height:1.5}
  .topbar h1{font-size:clamp(21px,5.8vw,27px);line-height:1.2;margin:5px 0 3px}
  .topbar p{font-size:11px;line-height:1.45}
  .top-actions{display:flex;gap:7px;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .top-actions button{white-space:nowrap;min-height:42px;padding:9px 12px;font-size:12px;flex:none}
  .main-content{width:100%;min-width:0;padding:14px 12px 22px}
  .workspace>footer{font-size:10px;line-height:1.5;padding:12px 16px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}
  .stat{min-width:0;padding:13px;border-radius:13px}
  .stat b{font-size:25px}
  .stat span{font-size:10px;line-height:1.4}
  .panel,.qcard{border-radius:15px;padding:15px;margin-bottom:12px;min-width:0}
  .panel-title,.section-head{flex-direction:column;align-items:stretch;gap:11px}
  .section-head{margin:20px 0 12px}
  .section-head h2{font-size:20px}
  .section-head .actions{display:flex;gap:7px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .section-head .actions button{flex:none;white-space:nowrap}
  .qtop{align-items:start;flex-direction:column;gap:9px}
  .qtop .tags{max-width:100%;gap:6px}
  .qtop .tags button{font-size:12px;padding:10px}
  .qcard h3{font-size:15px;line-height:1.5}
  .qcard .hint{font-size:12px}
  .qfooter{flex-direction:column;align-items:stretch;gap:12px}
  .qfooter button{width:100%;min-height:48px}
  .qfooter small{line-height:1.5}
  .row-fields,.formgrid{grid-template-columns:minmax(0,1fr);gap:12px}
  .formgrid .wide{grid-column:auto}
  .toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:16px}
  .toolbar input,.toolbar select,.toolbar button{min-width:0;width:100%;margin:0}
  .intro-panel,.migration-panel{padding:16px;border-radius:14px}
  .company-card{padding:17px}
  .user-row{grid-template-columns:minmax(0,1fr)}
  .user-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .user-controls button{min-width:0;white-space:normal;min-height:44px}
  .credential-grid{grid-template-columns:minmax(0,1fr)}
  .diff{grid-template-columns:minmax(0,1fr)}
  .changehead{flex-direction:column;gap:4px}
  .doc-row{align-items:flex-start;flex-wrap:wrap;padding:12px;gap:10px}
  .doc-glyph{min-width:50px}
  .doc-meta{min-width:0;flex:1}
  .doc-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .doc-actions>*{width:100%;min-width:0;min-height:44px;white-space:normal}
  .doc-upload .buttons{display:flex;flex-direction:column;align-items:stretch}
  .doc-upload .buttons button{min-height:48px}
  .doc-upload input[type=file]{min-width:0;max-width:100%;font-size:14px}
  .mobile-section-strip{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#e8f2f4;border-bottom:1px solid #c9dde4;position:sticky;top:0;z-index:5}
  .mobile-section-strip label{font-size:11px;font-weight:800;color:#355d6b;white-space:nowrap}
  .mobile-section-strip select{flex:1;min-width:0;width:100%;background:white;color:#123044;border:1px solid #aec9d4;border-radius:12px;font-size:14px;font-weight:700;padding:11px 28px 11px 11px;min-height:46px}
  .mobile-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;z-index:70;bottom:0;left:0;right:0;min-height:calc(64px + env(safe-area-inset-bottom,0px));padding:5px max(6px,env(safe-area-inset-left,0px)) calc(4px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-right,0px));background:rgba(255,255,255,.98);border-top:1px solid #cfdee4;box-shadow:0 -7px 25px rgba(14,46,64,.08)}
  .mobile-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:#53717d;border-radius:12px;font-size:11px;font-weight:750;min-height:54px;padding:3px 4px}
  .mobile-dock button.active{background:#e6f6f4;color:#09747a}
  .dock-icon{font-size:23px;font-weight:500;line-height:1}
  .mobile-drawer:not([hidden]){display:block}
  .mobile-drawer-sheet{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;line-height:1.45}
  button,.primary,.secondary,.outline,.button-download{min-height:44px}
  textarea{max-width:100%;resize:vertical}
  .doc-viewer{position:fixed;inset:0!important;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
  .doc-viewer:not([open]){display:none}
  .viewer-top{padding:10px 12px;display:flex;align-items:stretch;flex-direction:column;gap:7px;flex:none;min-height:0}
  .viewer-top #doc-title{font-size:12px;max-height:42px;overflow:auto}
  .viewer-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:stretch;flex:none}
  .viewer-actions>*{flex:1;min-height:44px;text-align:center;padding:9px 8px;font-size:12px}
  .viewer-actions [hidden]{display:none!important}
  .viewer-content{flex:1;min-height:0;height:auto;padding:9px;overflow:auto;-webkit-overflow-scrolling:touch}
  .doc-frame{height:calc(100% - 36px);min-height:250px;border-radius:5px}
  .doc-image-wrap{min-height:100%;padding:5px}
  .doc-image-wrap img{max-height:calc(100dvh - 195px)}
  .doc-text{padding:12px;font-size:13px;min-width:0}
  .doc-table-wrap{max-width:100%;overflow:auto}
  .qfiles-head{align-items:flex-start;flex-wrap:wrap}
  .qfiles-head button{min-height:38px}
  .auth-card{padding:calc(25px + env(safe-area-inset-top,0px)) 20px calc(34px + env(safe-area-inset-bottom,0px));width:100%;max-width:520px}
  .auth-card h1{font-size:clamp(30px,8vw,39px)}
  .auth-card input{min-height:49px}
  .auth-card .primary{min-height:49px;font-size:15px}
  .auth-logos{margin-bottom:8px}
  .auth-logos .optilemo-logotype{max-width:260px}
  .auth-logos .neuequellen-stamp{width:60px;height:60px}
}
@media(max-width:365px){.mobile-section-strip{display:block}.mobile-section-strip label{display:block;margin-bottom:5px}.mobile-section-strip select{width:100%}.topbar h1{font-size:21px}.stats{gap:6px}.stat{padding:10px}.mobile-dock button{font-size:10px}}
@media(orientation:landscape) and (max-height:480px) and (max-width:950px){.mobile-dock{min-height:55px}.workspace{padding-bottom:70px}.doc-viewer{height:100dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.mobile-dock,.mobile-drawer,.mobile-section-strip{display:none!important}.workspace{padding-bottom:0!important}.doc-viewer{display:none!important}}

.draft-banner{background:#fff5d8;border-bottom:1px solid #eacb74;padding:10px 19px;font-size:12px;font-weight:750;color:#6c5311;line-height:1.5}.draft-banner[hidden]{display:none!important}@media(max-width:800px){.draft-banner{position:sticky;top:0;z-index:6;padding:9px 12px;font-size:11px}}
