:root{--nav:#142750;--nav-dark:#0e1c3c;--blue:#375be7;--blue-hover:#2348cf;--ink:#172542;--muted:#63718a;--canvas:#f5f7fc;--panel:#fff;--line:#e7ecf5;--green:#17875c;--amber:#a56a0c;--red:#c23d48;--shadow:0 8px 28px rgba(28,49,91,.045);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;color:var(--ink)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--canvas);line-height:1.5}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1{font-size:clamp(1.55rem,2.7vw,2.1rem);line-height:1.25;letter-spacing:-.04em;margin-bottom:8px}h2{font-size:1.04rem;margin:0;letter-spacing:-.015em}.app-shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(175deg,var(--nav),var(--nav-dark));color:#f3f7ff;display:flex;flex-direction:column;padding:30px 16px 20px;z-index:10}.brand,.auth-brand{display:flex;align-items:center;gap:12px;padding:0 10px;margin-bottom:39px}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#5f77fb,#368ae7);box-shadow:0 6px 20px rgba(37,96,235,.24);flex:none;color:#fff}.brand strong,.auth-brand strong{font-size:1.12rem;display:block;white-space:nowrap;letter-spacing:-.025em}.brand span,.auth-brand span{font-size:.71rem;color:#bac9e9;display:block}.nav-caption{font-size:.69rem;color:#8598c4;letter-spacing:.15em;font-weight:800;margin:0 12px 14px}.sidebar nav{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:13px;color:#b9c8e6;border-radius:11px;padding:12px 13px;font-size:.9rem;font-weight:550;transition:background .15s,color .15s}.nav-link svg{width:19px;height:19px;flex-shrink:0}.nav-link:hover{color:#fff;background:#203968;text-decoration:none}.nav-link.selected{background:#395bdb;color:#fff;box-shadow:0 7px 17px rgba(0,0,0,.12)}.sidebar-bottom{margin-top:auto}.sidebar-info{display:flex;align-items:flex-start;gap:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);padding:14px;border-radius:12px;font-size:.77rem;color:#e7edff}.sidebar-info svg{width:18px;height:18px;flex:none}.sidebar-info small{font-size:.71rem;color:#aabce2}.sidebar-foot{display:block;font-size:.68rem;margin:19px 10px 0;color:#8fa1ca}.main-column{min-width:0}.topbar{height:78px;background:rgba(255,255,255,.96);display:flex;align-items:center;justify-content:space-between;padding:0 37px;border-bottom:1px solid var(--line);gap:16px}.crumb{font-weight:700;font-size:.84rem}.crumb span{color:#bac4d3;padding:0 10px}.topbar-right{display:flex;align-items:center;gap:15px}.secure-chip,.date-chip,.profile-pill{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border-radius:40px;font-size:.75rem;font-weight:750}.secure-chip{background:#eaf8f1;color:#1b8b61;padding:8px 12px}.secure-chip svg{width:14px;height:14px}.date-chip{color:var(--muted);background:#fff;border:1px solid var(--line);padding:9px 13px;align-self:start}.date-chip svg{width:15px;height:15px}.profile-pill{background:#eef2ff;color:#3952b5;padding:8px 12px}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #e4e9f4;border-radius:10px;background:#fff;color:#647393}.icon-button:hover{background:#eef2ff;color:var(--blue)}.menu-button{display:none}.inline{display:inline-flex;margin:0;gap:6px;align-items:center}.content{max-width:1580px;margin:0 auto;padding:34px 37px 58px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:29px}.eyebrow{color:#5775c8;font-size:.72rem;letter-spacing:.14em;font-weight:800;margin-bottom:9px}.lead{color:var(--muted);max-width:780px;margin:0;font-size:.91rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric{min-height:129px;border-radius:17px;border:1px solid rgba(61,89,153,.06);padding:20px;display:flex;flex-direction:column;justify-content:space-between;overflow-wrap:anywhere}.metric.blue{background:linear-gradient(135deg,#e9f0ff,#f1f5ff)}.metric.mint{background:linear-gradient(130deg,#e0f6f0,#edf9f6)}.metric.violet{background:linear-gradient(140deg,#eeeaff,#f5f2ff)}.metric.green{background:linear-gradient(135deg,#e9f7ed,#f1faf4)}.metric-label{font-size:.77rem;font-weight:720;color:#54637f}.metric strong{font-size:1.5rem;letter-spacing:-.04em;line-height:1.2}.metric-detail{font-size:.76rem;color:#64718a}.dashboard-grid,.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:23px 25px;margin-bottom:0;min-width:0;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;gap:10px;margin-bottom:19px}.heading-icon{width:33px;height:33px;color:#4963cd;background:#eff2ff;border-radius:10px;display:grid;place-items:center;flex:none}.heading-icon svg{width:18px;height:18px}.panel.wide{margin-bottom:19px}.data-row{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #eef1f8;font-size:.82rem}.data-row:last-of-type{border-bottom:0}.data-row span{color:var(--muted)}.data-row strong{text-align:right;font-weight:730;overflow-wrap:anywhere}.diagnostics-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.progress-top{display:flex;justify-content:space-between;gap:15px;font-size:.82rem}.progress-top span{font-weight:800;color:var(--blue)}.progress-bar{height:10px;border-radius:40px;background:#e8edfb;margin:11px 0 17px;overflow:hidden}.progress-bar>span{display:block;height:100%;border-radius:40px;background:linear-gradient(90deg,#4966e8,#7bb6f8)}.milestone-mini>div{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #eef1f8;padding:10px 0;font-size:.82rem}.badge{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800;border-radius:50px;padding:5px 9px;white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.state-done{background:#e6f8ec;color:#26875a}.state-active{background:#fff4db;color:#a8791d}.state-planned{background:#edf0f7;color:#68778c}.text-link{display:inline-flex;align-items:center;gap:5px;margin-top:17px;font-weight:760;font-size:.83rem}.text-link svg{width:15px;height:15px}.activity{display:flex;align-items:flex-start;gap:11px;border-bottom:1px solid #eef1f8;padding:10px 0}.activity-dot{width:9px;height:9px;border-radius:50%;background:#9aabc7;margin-top:6px;flex:none}.activity-dot.good{background:#42b98c}.activity-dot.warn{background:#e4ad4c}.activity strong{display:block;font-size:.82rem}.activity small{display:block;color:var(--muted);font-size:.72rem}.safety-block{background:#eff9f5;color:#23654d;border-radius:13px;padding:18px;margin-bottom:13px}.safety-block strong{display:flex;align-items:center;gap:8px}.safety-block svg{height:17px;width:17px}.safety-block p{font-size:.81rem;margin:8px 0 0;color:#4e7868}.notice{border-radius:11px;padding:12px 17px;margin-bottom:19px;font-weight:650;font-size:.84rem}.notice-success{background:#e7f8ec;color:#256f4c;border:1px solid #c8ecd7}.notice-error{background:#fff0f0;color:#aa2c37;border:1px solid #f9cdce}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:11px 16px;font-weight:750;font-size:.82rem;line-height:1.2;transition:background .15s,transform .1s;white-space:nowrap}.button svg{width:16px;height:16px}.button:active{transform:scale(.985)}.button.primary{background:var(--blue);color:#fff}.button.primary:hover{background:var(--blue-hover);text-decoration:none}.button.secondary{background:#eff2fc;color:#3456b5}.button.secondary:hover{background:#e0e8fd;text-decoration:none}.button.ghost{background:#fff;color:#53638b;border-color:#dfe6f3}.button.ghost:hover{background:#f3f6fd;text-decoration:none}.button.small{padding:7px 9px;font-size:.73rem;border-radius:7px}.button.danger-text,.danger-text{background:transparent;color:var(--red);border:0;font-size:.76rem}.stack{display:grid;gap:16px}.stack label,.field-row label{display:grid;gap:7px;font-size:.8rem;font-weight:750}.stack input,.stack textarea,.field-row input,.milestone-form select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid #dfe6f1;background:#fff;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}.stack input:focus,.stack textarea:focus,.field-row input:focus,.milestone-form select:focus{border-color:#6884ee;box-shadow:0 0 0 3px #e5eaff}.stack textarea{resize:vertical}.field-row{display:flex;align-items:end;gap:14px;max-width:650px}.field-row label{flex:1}.fineprint{font-size:.75rem;color:#718099;margin:17px 0 0}.breadcrumbs{display:flex;align-items:center;gap:9px;font-size:.83rem;font-weight:700;margin-bottom:15px;flex-wrap:wrap}.breadcrumbs span{color:#a9b7cc}.file-table{width:100%;overflow:auto}.file-table-head,.file-row{display:grid;grid-template-columns:minmax(130px,1.5fr) 100px minmax(230px,1fr);gap:12px;align-items:center;border-bottom:1px solid #edf0f7;padding:10px 4px;font-size:.8rem}.file-table-head{background:#f7f9fe;border-radius:8px;color:#647593;font-size:.73rem;font-weight:800;padding:10px 12px}.file-row{padding:12px}.file-name{display:flex;align-items:center;gap:7px;overflow-wrap:anywhere}.file-name svg{color:#6078c5;width:17px;height:17px;flex:none}.file-size{color:var(--muted)}.file-actions{display:flex;align-items:center;gap:5px;justify-content:flex-end;flex-wrap:wrap}.empty{color:var(--muted);font-size:.87rem;padding:15px 0}.roadmap-list{display:grid;gap:0}.milestone{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid #e9edf6}.step-index{width:34px;height:34px;display:grid;place-items:center;flex:none;background:#eef1f8;color:#637593;border-radius:50%;font-weight:850}.step-index.done{background:#def5e9;color:#168455}.step-index.active{background:#fff0ca;color:#956519}.milestone-text{flex:1;min-width:100px}.milestone-text strong{font-size:.83rem}.milestone-text p{color:var(--muted);font-size:.75rem;margin:4px 0 0}.milestone-form{display:flex;align-items:center;gap:7px}.milestone-form select{width:auto;padding:8px}.audit-table{overflow-x:auto}.audit-head,.audit-row{display:grid;grid-template-columns:minmax(170px,1.5fr) minmax(150px,1.2fr) 85px 105px;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #eef0f6;font-size:.8rem}.audit-head{font-size:.73rem;font-weight:850;color:#70819b;background:#f7f9fd}.audit-row small{display:block;color:#8592a6;font-size:.69rem}.audit-row time{color:#6b7b94}.code-editor{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem;line-height:1.6}.form-actions{display:flex;justify-content:flex-end;gap:9px}.auth-body{min-height:100vh;background:radial-gradient(circle at 8% 20%,#dfe9ff,transparent 33%),radial-gradient(circle at 92% 88%,#d9f4ed,transparent 35%),#f6f8fe}.auth-layout{width:min(100%,500px);padding:65px 18px 30px;margin:auto}.auth-brand{justify-content:center;margin-bottom:28px}.auth-brand span{color:#697a97}.auth-card{background:#fff;border:1px solid #e9eef7;border-radius:22px;padding:32px;box-shadow:0 22px 65px rgba(24,49,104,.11)}.auth-card h1{margin-top:15px}.auth-card .lead{margin-bottom:25px}.auth-card .button{width:100%;padding:14px}.pill.light{display:inline-flex;color:#546ad0;background:#eef1ff;border-radius:20px;font-size:.7rem;letter-spacing:.12em;padding:6px 11px;font-weight:800}.auth-footer{margin-top:23px;border-top:1px solid #e8edf6;padding-top:16px;display:flex;align-items:center;gap:8px;font-size:.72rem;color:#74829a}.auth-footer svg{width:17px;height:17px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}code{background:#f0f3fb;border-radius:5px;padding:2px 5px;font-size:.87em;word-break:break-word}@media(max-width:1250px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostics-list{grid-template-columns:1fr}.content{padding:28px}.topbar{padding:0 28px}}@media(max-width:920px){.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;width:255px;transform:translateX(-100%);transition:transform .2s;box-shadow:12px 0 35px rgba(0,0,0,.12)}.sidebar.visible{transform:translateX(0)}.menu-button{display:grid}.topbar{height:66px}.dashboard-grid,.two-col{grid-template-columns:1fr}.topbar-right{gap:8px}.secure-chip{display:none}}@media(max-width:580px){.content{padding:22px 14px 38px}.topbar{padding:0 15px}.profile-pill{display:none}.crumb{font-size:.75rem}.page-head{display:block}.date-chip{margin-top:13px}.metrics{grid-template-columns:1fr 1fr;gap:8px}.metric{padding:14px;min-height:105px}.metric strong{font-size:1.1rem}.metric-label,.metric-detail{font-size:.69rem}.panel{padding:18px 15px;border-radius:13px}.field-row,.milestone,.milestone-form{flex-wrap:wrap}.milestone-form{width:100%;margin-left:48px}.file-table-head,.file-row{grid-template-columns:minmax(110px,1fr) 65px;gap:5px}.file-table-head span:last-child{display:none}.file-actions{grid-column:1 / -1;justify-content:flex-start}.auth-layout{padding-top:30px}.auth-card{padding:25px 19px}.badge{font-size:.66rem}}
/* Maschinenfreigabe: eigener, gut sichtbarer Sicherheitsbereich */
.secret-panel{margin-top:20px;padding:17px;border:1px solid #eacb83;background:#fff9eb;border-radius:13px;overflow-wrap:anywhere}.secret-panel p{font-size:.8rem;color:#85611b}.secret-panel label{font-size:.77rem;font-weight:700}.secret-panel textarea{display:block;width:100%;margin:8px 0 12px;padding:10px;resize:vertical;border:1px solid #eacb83;border-radius:8px;background:#fff;color:#4c3d21;font-family:ui-monospace,Consolas,monospace;font-size:.77rem}.permission-row{display:flex!important;flex-direction:row;align-items:flex-start;gap:9px!important;line-height:1.5}.permission-row input{width:auto!important;margin-top:4px;flex:none}.panel code{user-select:text}

.progress-native{display:block;width:100%;height:10px;margin:11px 0 17px;appearance:none;border:0;border-radius:30px;overflow:hidden;background:#e8edfb}.progress-native::-webkit-progress-bar{background:#e8edfb;border-radius:30px}.progress-native::-webkit-progress-value{background:#4966e8;border-radius:30px}.progress-native::-moz-progress-bar{background:#4966e8;border-radius:30px}.spacing-top{margin-top:1rem}
