@font-face{font-family:'Poppins';src:url('fonts/Poppins-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Poppins';src:url('fonts/Poppins-Medium.ttf') format('truetype');font-weight:500 600;font-display:swap}
@font-face{font-family:'Poppins';src:url('fonts/Poppins-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Lora';src:url('fonts/Lora-Variable.ttf') format('truetype');font-weight:400 700;font-display:swap}

*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:#111827;background:#F4F5F7;line-height:1.45}
a{color:#1D4ED8}a:hover{color:#1E3A8A}
h1,h2,h3{margin:0;line-height:1.2}
h1{font-size:26px}h2{font-size:18px}h3{font-size:16px}
.muted{color:#4B5563;font-size:14px}
.small{font-size:13px}

/* Layout Portal */
.shell{display:flex;flex-wrap:wrap;min-height:100vh}
.side{flex:1 1 220px;max-width:250px;min-width:200px;background:#111827;color:#F9FAFB;padding:22px 14px;display:flex;flex-direction:column;gap:4px}
.side .brand{font-weight:700;font-size:19px;padding:0 8px 18px}
.side a{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 12px;border-radius:10px;color:#D1D5DB;text-decoration:none;font-size:14px}
.side a.on,.side a:hover{background:#1F2937;color:#fff}
.badge{background:#F59E0B;color:#111827;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:600}
.main{flex:999 1 560px;min-width:0;padding:28px 32px;display:flex;flex-direction:column;gap:20px;max-width:1240px}
@media (max-width:700px){.main{padding:18px 14px}.side{max-width:none}}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.between{justify-content:space-between}
.grow{flex:1 1 260px;min-width:0}
.card{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:14px}
.grid4{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.stat .n{font-size:26px;font-weight:600}
.cols{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.steps{flex:1 1 200px;max-width:240px;background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:4px}
.steps a{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;border-radius:8px;text-decoration:none;color:#111827;font-size:14px}
.steps a.on{background:#EFF6FF;font-weight:600}
.steps .dot{width:24px;height:24px;border-radius:50%;background:#E5E7EB;color:#374151;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}
.steps a.on .dot{background:#1D4ED8;color:#fff}
.steps a.done .dot{background:#15803D;color:#fff}
.content{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:20px}

/* Formulare */
label{font-size:14px;font-weight:600}
.field{display:flex;flex-direction:column;gap:6px}
input[type=text],input[type=email],input[type=password],input[type=number],input:not([type]),textarea,select{height:44px;border-radius:10px;border:1px solid #D1D5DB;padding:0 12px;font:inherit;font-size:15px;background:#fff;color:#111827;width:100%}
textarea{height:auto;min-height:70px;padding:10px 12px}
input[type=color]{width:56px;height:44px;border:1px solid #D1D5DB;border-radius:10px;padding:4px;background:#fff}
input[type=checkbox]{width:20px;height:20px;accent-color:#1D4ED8}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid #D1D5DB;background:#fff;color:#111827;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{border-color:#9CA3AF;color:#111827}
.btn.primary{background:#1D4ED8;border-color:#1D4ED8;color:#fff}
.btn.primary:hover{background:#1E40AF;color:#fff}
.btn.dark{background:#111827;border-color:#111827;color:#fff}
.btn.danger{background:#FEE2E2;border-color:#FECACA;color:#991B1B}
.btn.small{min-height:36px;padding:0 12px;font-size:13px}
.inline{display:inline}
.flash{padding:12px 14px;border-radius:10px;font-size:14px}
.flash.ok{background:#DCFCE7;color:#166534}
.flash.error{background:#FEE2E2;color:#991B1B}
.pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}
.pill.live{background:#DCFCE7;color:#166534}.pill.draft{background:#F3F4F6;color:#374151}
.pill.warn{background:#FEF3C7;color:#92400E}.pill.info{background:#EFF6FF;color:#1E3A8A}
table.list{width:100%;border-collapse:collapse;font-size:14px}
table.list th{text-align:left;color:#4B5563;font-weight:500;font-size:13px;padding:10px 12px}
table.list td{padding:12px;border-top:1px solid #F3F4F6;vertical-align:middle}
.scroll{overflow-x:auto}
.change{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px;border-radius:10px}
.change.open{background:#FFFBEB}
.item{border:1px solid #E5E7EB;border-radius:10px;padding:14px}
.item.review{border-color:#F59E0B;background:#FFFBEB}
details>summary{cursor:pointer;list-style:none}
details>summary::-webkit-details-marker{display:none}
.vrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.vrow input{flex:1 1 140px}
.qrgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.qrcard{border:1px solid #E5E7EB;border-radius:12px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.qrcard img{width:100%;max-width:150px;height:auto}
.secret{font-family:ui-monospace,Menlo,monospace;background:#F3F4F6;padding:2px 6px;border-radius:6px;word-break:break-all}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.login{max-width:380px;margin:12vh auto;padding:0 16px}
