:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#0f172a;background:#f8fafc}*{box-sizing:border-box}body{margin:0}.hidden{display:none!important}.shell{min-height:100vh}.topbar{height:66px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-weight:700}.logo{width:38px;height:38px;border-radius:12px;background:#0284c7;color:#fff;display:grid;place-items:center}.main{max-width:1280px;margin:auto;padding:30px 24px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#e0f2fe,#f8fafc 50%,#eef2ff);padding:20px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 5px 24px #0f172a0a}.login{width:min(440px,100%);padding:30px}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.field label{display:block;font-size:13px;font-weight:650;margin-bottom:6px;color:#334155}.field small{display:block;color:#64748b;margin-top:5px}.input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:11px;padding:10px 12px;background:#fff;font:inherit}.input:focus,select:focus,textarea:focus{outline:2px solid #7dd3fc;border-color:#0284c7}.btn{border:0;border-radius:11px;padding:10px 15px;font-weight:650;cursor:pointer}.primary{background:#0284c7;color:white}.secondary{background:#eef2f6;color:#334155}.danger{background:#fee2e2;color:#991b1b}.btn:disabled{opacity:.55;cursor:not-allowed}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.muted{color:#64748b}.title{font-size:30px;margin:0}.search{max-width:520px;margin:20px 0}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project{padding:20px;cursor:pointer}.project:hover{box-shadow:0 10px 30px #0f172a12}.pill{display:inline-block;background:#e0f2fe;color:#075985;border-radius:99px;padding:4px 9px;font-size:12px}.tabs{display:flex;gap:5px;background:#e9eef4;border-radius:14px;padding:5px;overflow:auto;margin:20px 0}.tab{white-space:nowrap;border:0;background:transparent;padding:10px 14px;border-radius:10px;cursor:pointer}.tab.active{background:#fff;box-shadow:0 2px 8px #0f172a12;color:#0369a1}.panel{padding:22px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{background:#f8fafc;color:#64748b;text-align:left;padding:11px}td{border-top:1px solid #e2e8f0;padding:11px}.notice{border-radius:11px;padding:10px 12px;background:#ecfdf5;color:#166534}.notice.error{background:#fef2f2;color:#991b1b}.modal-bg{position:fixed;inset:0;background:#0f172a66;display:grid;place-items:center;padding:18px;z-index:10}.modal{width:min(760px,100%);max-height:92vh;overflow:auto;padding:25px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.bohr-select{min-width:280px}.empty{padding:50px;text-align:center;color:#64748b}.swatch{width:18px;height:18px;border-radius:5px;border:1px solid #cbd5e1;display:inline-block;vertical-align:middle;margin-right:7px}@media(max-width:800px){.g2,.g3,.project-list{grid-template-columns:1fr}.topbar{padding:0 14px}.main{padding:22px 14px}.bohr-select{min-width:0;width:100%}.desktop-row{align-items:stretch;flex-direction:column}}

.project-form{display:grid;gap:18px}.form-section{border:1px solid #e2e8f0;border-radius:15px;padding:16px;background:#f8fafc}.form-section h3{margin:0 0 13px;font-size:15px;color:#0f172a}.login input[type=password]{pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important}


/* OSPAG Markenlayout */
:root{
  --ospag-ink:#202522;
  --ospag-dark:#2f3933;
  --ospag-green:#657a48;
  --ospag-green-dark:#4f6337;
  --ospag-sage:#dfe6d4;
  --ospag-stone:#eeece6;
  --ospag-paper:#f8f7f3;
  --ospag-line:#d8d7d0;
}
body{background:var(--ospag-paper);color:var(--ospag-ink)}
.shell{background:linear-gradient(180deg,#f5f4ef 0,#faf9f6 240px,#f8f7f3 100%)}
.topbar{background:rgba(32,37,34,.97);border-bottom:0;color:#fff;box-shadow:0 4px 18px #20252224}
.topbar .muted{color:#cbd3c4}
.brand{letter-spacing:.01em}
.ospag-wordmark{display:inline-flex;align-items:center;justify-content:center;background:var(--ospag-green);color:#fff;font-weight:800;letter-spacing:.16em;padding:12px 16px;border-radius:2px;line-height:1}
.ospag-wordmark.small{font-size:14px;padding:10px 12px}
.login-page{background:linear-gradient(135deg,var(--ospag-dark) 0%,#435047 42%,var(--ospag-sage) 42%,var(--ospag-paper) 100%)}
.login{border:0;border-radius:4px;box-shadow:0 24px 70px #20252245}
.login .ospag-wordmark{margin-bottom:12px}
.card{border-color:var(--ospag-line);border-radius:6px;box-shadow:0 5px 20px #2025220b}
.project:hover{border-color:#aab99a;box-shadow:0 12px 34px #20252218}
.btn{border-radius:3px;letter-spacing:.01em}
.primary{background:var(--ospag-green);color:#fff}
.primary:hover{background:var(--ospag-green-dark)}
.secondary{background:#e8ebe3;color:var(--ospag-dark)}
.danger{background:#eee0dc;color:#842f27}
.input,select,textarea{border-color:#cacdc5;border-radius:3px;background:#fff}
.input:focus,select:focus,textarea:focus{outline:2px solid #bac8aa;border-color:var(--ospag-green)}
.title{color:var(--ospag-dark);font-weight:700}
.pill{background:var(--ospag-sage);color:var(--ospag-green-dark);border-radius:2px}
.tabs{background:#e6e7e1;border-radius:4px;border-bottom:3px solid var(--ospag-green);padding:4px 4px 1px}
.tab{border-radius:2px;color:#4c554f}
.tab.active{background:var(--ospag-green);color:#fff;box-shadow:none}
.form-section{background:#f4f3ee;border-color:var(--ospag-line);border-radius:4px}
.form-section h3{color:var(--ospag-green-dark);border-bottom:2px solid #c8d1bd;padding-bottom:8px}
.notice{background:#e9eee3;color:#445731}
.notice.error{background:#f3e5e0;color:#822f28}
th{background:#ebece6;color:#4f5d53;border-bottom:2px solid var(--ospag-green)}
.modal{border-radius:6px}
.modal-bg{background:#20252288}
.swatch{border-radius:2px}

/* Upgrade 4: reine Anzeige und stabiles Mobilmenue */
.display-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--ospag-line);margin-top:16px}
.display-field{padding:14px 16px;border-right:1px solid var(--ospag-line);border-bottom:1px solid var(--ospag-line);min-height:76px;background:#fff}
.display-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#68736c;margin-bottom:6px}
.display-value{font-size:16px;color:var(--ospag-ink);overflow-wrap:anywhere}
.tabs{scrollbar-width:thin;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.tab{scroll-snap-align:center;flex:0 0 auto}
.desktop-row-tight{flex-wrap:wrap}
@media(max-width:800px){
 .display-grid{grid-template-columns:1fr 1fr}
 .tabs{position:sticky;top:66px;z-index:4;margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;box-shadow:0 4px 12px #20252212}
 .desktop-row-tight{align-items:stretch;flex-direction:column;width:100%}
 .desktop-row-tight .btn{width:100%}
}
@media(max-width:520px){.display-grid{grid-template-columns:1fr}.row.between{align-items:flex-start;gap:10px}.panel>.row.between{flex-direction:column}.panel>.row.between .btn{width:100%}}

/* Upgrade 5: kompakte mobile Eingabe */
@media(max-width:800px){
 .topbar{height:48px;padding:0 10px;position:sticky}.ospag-wordmark.small{font-size:11px;padding:7px 8px}.brand>div:last-child{font-size:13px;line-height:1.1}.brand small{display:none}.topbar>.btn{padding:7px 9px;font-size:12px}
 .main{padding:10px 10px 20px}.main>.row:first-child{gap:6px}.title{font-size:21px}.main h1{margin:3px 0}.main p.muted{font-size:12px;margin:4px 0 7px}
 .desktop-row-tight{display:grid;grid-template-columns:1fr 1fr;gap:6px}.desktop-row-tight .btn{font-size:12px;padding:7px 8px}.desktop-row-tight #exportProject{display:none}
 #exportBore{display:none}.bohr-select{height:38px}.row.desktop-row{gap:7px}
 .tabs{top:48px;margin-top:8px;margin-bottom:8px;padding-top:3px;padding-bottom:3px}.tab{padding:8px 11px;font-size:13px}
 .panel{padding:13px}.panel h2{font-size:18px;margin:2px 0}.display-field{min-height:57px;padding:9px 11px}.display-label{font-size:10px;margin-bottom:3px}.display-value{font-size:14px}
 .card.table-wrap{margin-top:8px}th,td{padding:8px}.modal{padding:16px}.modal h2{font-size:20px;margin:4px 0}.modal-bg{padding:7px}.actions{margin-top:12px}
}
@media(max-width:520px){.project-list{gap:9px}.project{padding:14px}.main>.row.between.desktop-row>div:first-child{display:none}.main>.row.between.desktop-row{margin-top:7px!important}.display-grid{margin-top:9px}}

/* Upgrade 6: Versuche nur am Desktop */
@media(max-width:800px){.tab[data-tab="versuche"]{display:none!important}}


/* Upgrade 7: Import, Versuchgruppen und Desktop-Administration */
.test-groups{display:grid;gap:10px;margin-top:12px}.test-group{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.import-row{align-items:center}.import-errors{max-height:220px;overflow:auto;color:#842f27;font-size:13px}.admin-grid{display:grid;gap:14px}.desktop-only{display:inline-flex}
@media(max-width:800px){.desktop-only,.import-panel{display:none!important}.test-group{align-items:flex-start;flex-direction:column;gap:10px}.test-group>.row{width:100%}.test-group .btn{flex:1}}

/* Upgrade 8: flexible Versuchsdateien */
.import-defaults{margin-bottom:14px}
