:root{color-scheme:dark;--bg:#081016;--panel:#0e1821;--panel2:#121f29;--line:#20313d;--text:#eef7fb;--muted:#8fa3b2;--accent:#38d39f;--accent2:#22b98b;--danger:#ff6b72;--warn:#f6c85f;--blue:#4ca6ff;--shadow:0 24px 80px rgba(0,0,0,.35)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% -10%,#173142 0,#0b151d 34%,var(--bg) 70%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}body{min-height:100vh}.app-shell{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.card{width:min(100%,520px);background:rgba(14,24,33,.94);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}.brandmark{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,var(--accent),#1d8dff);display:grid;place-items:center;color:#061016;font-weight:900;letter-spacing:-1px;font-size:19px}.brand h1{margin:0;font-size:22px;line-height:1.1}.brand p{margin:5px 0 0;color:var(--muted);font-size:13px}h2{margin:0 0 8px;font-size:26px;letter-spacing:-.4px}.lead{margin:0 0 24px;color:var(--muted);line-height:1.55}.field{margin:15px 0}.label{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:#cfe0e9}.muted{color:var(--muted)}.input{width:100%;border:1px solid #2a3c49;background:#091219;color:var(--text);border-radius:14px;padding:15px 16px;font-size:17px;outline:none;transition:.2s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(56,211,159,.12)}.challenge{display:flex;gap:10px;align-items:center}.challenge-box{min-width:126px;padding:15px 14px;border:1px solid #2a3c49;border-radius:14px;background:#0a141b;text-align:center;font-size:18px;font-weight:800}.consent-word{margin:0 auto;width:max-content}.btn{width:100%;border:0;border-radius:14px;padding:15px 18px;font-size:16px;font-weight:800;cursor:pointer;transition:.18s;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06120e}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.btn.secondary{background:#16242d;color:var(--text);border:1px solid #2b3b46}.btn.link{background:transparent;color:var(--accent);padding:8px}.actions{display:grid;gap:10px;margin-top:20px}.hint{font-size:12px;color:var(--muted);line-height:1.5;margin-top:10px}.message{margin:14px 0 0;padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.45;display:none}.message.show{display:block}.message.error{background:rgba(255,107,114,.11);border:1px solid rgba(255,107,114,.32);color:#ffd7da}.message.ok{background:rgba(56,211,159,.1);border:1px solid rgba(56,211,159,.28);color:#c9ffeb}.message.warn{background:rgba(246,200,95,.09);border:1px solid rgba(246,200,95,.28);color:#ffedb8}.otp{font-variant-numeric:tabular-nums;letter-spacing:.45em;text-align:center;font-size:28px;font-weight:900}.terms{max-height:190px;overflow:auto;background:#091219;border:1px solid #263843;border-radius:14px;padding:15px;color:#a9bcc8;font-size:13px;line-height:1.55}.check{display:flex;gap:11px;align-items:flex-start;margin-top:14px;color:#d9e6ec;font-size:14px}.check input{margin-top:3px;transform:scale(1.2)}.wait-icon{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:rgba(56,211,159,.11);display:grid;place-items:center;font-size:31px}.center{text-align:center}.spinner{width:24px;height:24px;border:3px solid #29414f;border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite;margin:16px auto}@keyframes spin{to{transform:rotate(360deg)}}
.portal{width:min(100%,1080px);padding:0 0 88px}.portal-head{display:flex;align-items:center;justify-content:space-between;padding:8px 2px 18px}.portal-brand{margin:0}.portal-title{margin:8px 0 18px}.portal-title h2{font-size:30px}.iconbtn{width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:22px;cursor:pointer}.stats{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:16px}.stat{background:rgba(14,24,33,.94);border:1px solid var(--line);border-radius:18px;padding:17px}.stat span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.stat b{font-size:24px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile,.section,.product{background:rgba(14,24,33,.94);border:1px solid var(--line);border-radius:18px;padding:18px}.tile h3,.section h3,.product h3{margin:0}.tile p,.product p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.tile-top,.product-head,.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:14px}.statusdot{width:10px;height:10px;border-radius:50%;background:#42515b;box-shadow:0 0 0 5px rgba(66,81,91,.14)}.statusdot.on{background:var(--accent);box-shadow:0 0 0 5px rgba(56,211,159,.12)}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(56,211,159,.12);color:#baffea;font-size:11px;font-weight:800;margin-top:12px}.badge.off{background:#18232b;color:#7f929f}.section{margin-top:14px}.sectionhead a{color:var(--accent);font-size:13px;text-decoration:none}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chip{display:flex;gap:8px;align-items:center;background:#0a141b;border:1px solid #243844;border-radius:999px;padding:8px 11px;font-size:12px}.chip b{color:var(--accent)}.empty{padding:17px 0;color:var(--muted);font-size:13px}.listrow{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 0;border-bottom:1px solid #1d2d37}.listrow:last-child{border-bottom:0}.listrow b,.listrow small{display:block}.listrow small{color:var(--muted);margin-top:4px}.plus{color:var(--accent)}.minus{color:var(--danger)}.bottomnav{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 24px),620px);display:grid;grid-template-columns:repeat(3,1fr);background:rgba(12,22,29,.96);border:1px solid #263943;border-radius:18px;padding:7px;box-shadow:0 18px 55px rgba(0,0,0,.45);backdrop-filter:blur(18px);z-index:20}.bottomnav a{display:grid;place-items:center;gap:3px;padding:8px;border-radius:12px;text-decoration:none;color:var(--muted);font-size:11px;font-weight:700}.bottomnav a span{font-size:18px}.bottomnav a.active{background:#162830;color:var(--accent)}.productlist{display:grid;gap:12px}.product-head small{color:var(--muted)}.product-meta{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #1d2d37;color:var(--muted);font-size:12px}.product-meta strong{color:var(--text)}.formsection .btn{margin-top:8px}.preflist{display:grid;gap:1px;margin-top:12px}.prefrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #1d2d37}.prefrow:last-child{border-bottom:0}.prefrow b,.prefrow small{display:block}.prefrow small{color:var(--muted);margin-top:3px}.switches{display:flex;gap:7px}.switches label{cursor:pointer}.switches input{display:none}.switches span{display:grid;place-items:center;min-width:42px;height:32px;border:1px solid #2a3c49;border-radius:10px;color:#7f929f;font-size:11px;font-weight:800}.switches input:checked+span{border-color:rgba(56,211,159,.5);background:rgba(56,211,159,.12);color:var(--accent)}.accountinfo .kv{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #1d2d37}.accountinfo .kv:last-child{border-bottom:0}.accountinfo .kv span{color:var(--muted)}
@media(max-width:650px){.app-shell{padding:14px 12px;place-items:start center}.card{padding:22px 18px;border-radius:20px}.challenge{align-items:stretch}.challenge-box{min-width:110px}.otp{font-size:24px}.portal-title h2{font-size:25px}.stats{grid-template-columns:1fr 1fr}.stats .stat:first-child{grid-column:1/-1}.grid{grid-template-columns:1fr}.stat b{font-size:22px}.portal-head .brand p{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prefrow{align-items:flex-start;flex-direction:column}.switches{width:100%}.switches label{flex:1}.switches span{width:100%}}

/* Step 4D-2 FIX: real project logo */
.brandlogo{width:74px;height:74px;object-fit:cover;border-radius:18px;border:1px solid #1f3845;box-shadow:0 8px 28px rgba(0,0,0,.32);flex:0 0 auto}
.brandtext{min-width:0}.brandtext h1{margin:0;font-size:22px;line-height:1.1}.brandtext p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.35}
.portal-brand .brandlogo{width:58px;height:58px;border-radius:15px}.portal-brand{margin-bottom:4px}.portal-sub{margin:0 0 0 72px;color:var(--muted);font-size:12px}
@media(max-width:650px){.brandlogo{width:64px;height:64px}.brandtext h1{font-size:20px}.brandtext p{font-size:11px}.portal-brand .brandlogo{width:52px;height:52px}.portal-sub{margin-left:66px}}


/* Step 4D-3: Admin user & entitlement management */
.bottomnav.adminnav{grid-template-columns:repeat(4,1fr)}
.adminstats{grid-template-columns:repeat(4,1fr)}
.adminfilters{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin:14px 0}.select{appearance:auto}.userlist{display:grid;gap:8px}.userrow{width:100%;border:1px solid #22343f;background:#0a141b;border-radius:14px;padding:13px 14px;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;cursor:pointer}.userrow:hover{border-color:#365161}.userrow b,.userrow small{display:block}.userrow small{color:var(--muted);margin-top:4px}.userrow>div:last-child{text-align:right}.statuspill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#18232b;color:#9eafba;font-size:10px;font-weight:900}.statuspill.ok{background:rgba(56,211,159,.12);color:#baffea}.statuspill.warn{background:rgba(246,200,95,.12);color:#ffe9aa}.statuspill.danger{background:rgba(255,107,114,.12);color:#ffc5ca}.admin-detail{margin-top:16px;padding:18px;border:1px solid #2b4350;border-radius:17px;background:#0a141b}.admin-detail h4{margin:14px 0 8px}.kvgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.kvgrid>div{padding:10px 12px;background:#0d1921;border:1px solid #1d303b;border-radius:12px}.kvgrid span,.kvgrid b{display:block}.kvgrid span{font-size:11px;color:var(--muted);margin-bottom:4px}.admin-actions{display:flex;flex-wrap:wrap;gap:8px}.smallbtn{border:1px solid #2a3c49;background:#15232c;color:var(--text);border-radius:10px;padding:9px 11px;font-size:12px;font-weight:800;cursor:pointer}.smallbtn.good{border-color:rgba(56,211,159,.35);color:#baffea}.smallbtn.danger{border-color:rgba(255,107,114,.35);color:#ffc5ca}.divider{height:1px;background:#1c2d37;margin:16px 0}.grantgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;align-items:center}.grantgrid .btn{grid-column:1/-1}.check.compact{margin:0}.entlist{display:grid;gap:8px}.entrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #1c2d37}.entrow:last-child{border-bottom:0}.entrow b,.entrow small{display:block}.entrow small{color:var(--muted);margin-top:4px}.entrow>div:last-child{display:flex;align-items:center;gap:8px}.entrow .badge{margin:0}.adminproducts{display:grid;gap:8px;margin-top:14px}.adminproduct{display:grid;grid-template-columns:1.2fr 2fr;gap:14px;align-items:center;padding:12px;border:1px solid #1f313c;border-radius:13px;background:#0a141b;transition:.2s}.adminproduct.saved{border-color:var(--accent);box-shadow:0 0 0 2px rgba(56,211,159,.08)}.adminproduct b,.adminproduct small{display:block}.adminproduct small{color:var(--muted);margin-top:4px}.adminproduct-controls{display:grid;grid-template-columns:auto auto 100px auto;gap:8px;align-items:center;justify-content:end}.adminproduct-controls label{font-size:11px;color:var(--muted);white-space:nowrap}.miniinput{width:100px;border:1px solid #2a3c49;background:#091219;color:var(--text);border-radius:9px;padding:8px;font-size:12px}
@media(max-width:760px){.adminstats{grid-template-columns:1fr 1fr}.adminfilters{grid-template-columns:1fr}.userrow{align-items:flex-start}.kvgrid{grid-template-columns:1fr}.grantgrid{grid-template-columns:1fr}.adminproduct{grid-template-columns:1fr}.adminproduct-controls{grid-template-columns:1fr 1fr}.adminproduct-controls .miniinput,.adminproduct-controls .smallbtn{width:100%}.entrow{align-items:flex-start;flex-direction:column}.entrow>div:last-child{width:100%;justify-content:space-between}}


/* Step 4D-7: Admin-Inbox, Feedback-Liste und Web-Nachrichten */
.header-actions{display:flex;align-items:center;gap:8px}
.bellbtn{position:relative}
.bellcount{position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;border:2px solid var(--bg);font-size:10px;font-weight:900;line-height:15px;text-align:center}
.notifpanel{position:fixed;z-index:60;top:72px;right:max(16px,calc((100vw - min(100vw,1080px))/2));width:min(430px,calc(100vw - 24px));max-height:min(72vh,720px);background:#171d22;border:1px solid #43505a;border-radius:15px;box-shadow:0 22px 70px rgba(0,0,0,.6);overflow:hidden}
.notifhead{display:flex;align-items:center;justify-content:space-between;padding:18px 16px;border-bottom:1px solid #667078;background:#22292f}.notifhead b{font-size:17px}.notifclear{border:0;background:transparent;color:#d7e0e5;font-size:12px;cursor:pointer}.notiflist{overflow:auto;max-height:calc(min(72vh,720px) - 58px)}
.notifrow{width:100%;display:grid;grid-template-columns:38px 1fr 10px;gap:10px;align-items:start;padding:15px 14px;border:0;border-bottom:1px solid #454d53;background:#292f34;color:var(--text);text-align:left;cursor:pointer}.notifrow:hover{background:#32393f}.notifrow.read{background:#252b30;opacity:.82}.notifrow.unread{background:#30363b}.notificon{font-size:22px;padding-top:2px}.notifbody b,.notifbody span,.notifbody small{display:block}.notifbody b{font-size:14px;margin-bottom:5px}.notifbody span{font-size:13px;line-height:1.4;color:#e2e8ec}.notifbody small{margin-top:7px;color:#a6b2b9;font-size:11px}.newdot{width:8px;height:8px;border-radius:50%;background:var(--danger);margin-top:6px}.notifempty{padding:28px 18px}
.feedbacklist,.sentmsglist,.webmsglist{display:grid;gap:9px;margin-top:10px}.feedbackrow,.sentmsgrow,.webmsg{border:1px solid #21343f;border-radius:13px;background:#0d1921;padding:12px}.feedbackrow.highlight{border-color:var(--accent);box-shadow:0 0 0 3px rgba(56,211,159,.11)}.feedbacktop,.webmsghead{display:flex;justify-content:space-between;gap:12px;align-items:start}.feedbacktop small,.webmsghead small{color:var(--muted);font-size:11px}.feedbackmeta{color:var(--muted);font-size:11px;margin-top:5px}.feedbacktext,.webmsgbody{margin-top:9px;line-height:1.5;font-size:13px}.sentmsgrow .hint{margin-top:7px}.textarea{resize:vertical;min-height:110px}.webmsg.unread{border-color:rgba(56,211,159,.45);background:rgba(56,211,159,.055)}.webmsg.read{opacity:.83}.webmsg .smallbtn{margin-top:10px}
@media(max-width:650px){.notifpanel{top:68px;right:12px;left:12px;width:auto;max-height:75vh}.feedbacktop,.webmsghead{flex-direction:column;gap:3px}}


/* Step 4D-8: generische Admin-Einstellungen und Textvorlagen */
.settingslist,.templatelist{display:grid;gap:10px}
.settingrow{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(220px,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid #21343f;border-radius:13px;background:#0d1921}
.settingmeta b,.settingmeta small{display:block}.settingmeta b{font-size:13px;overflow-wrap:anywhere}.settingmeta small{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.35}
.templaterow{border:1px solid #21343f;border-radius:13px;background:#0d1921;overflow:hidden}.templaterow summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 14px;cursor:pointer;list-style:none}.templaterow summary::-webkit-details-marker{display:none}.templaterow summary div b,.templaterow summary div small{display:block}.templaterow summary div small{margin-top:4px;color:var(--muted);font-size:11px}.templaterow summary>span{color:var(--muted);font-size:11px}.templatebody{padding:0 14px 14px;border-top:1px solid #21343f}.templatebody>.hint{margin-top:12px}
@media(max-width:760px){.settingrow{grid-template-columns:1fr}.settingrow .smallbtn{width:100%}}


/* Step 4D-10C: Admin API usage & costs */
.usage-section .sectionhead{align-items:flex-start}.usagecontrols{display:flex;gap:8px;align-items:center}.mini-select{width:auto;min-width:105px;padding:8px 10px;font-size:12px}.usagekpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.usagekpi{padding:13px;border:1px solid #21343f;border-radius:13px;background:#0d1921}.usagekpi.wide{grid-column:span 2}.usagekpi span,.usagekpi b,.usagekpi small{display:block}.usagekpi span{font-size:11px;color:var(--muted)}.usagekpi b{font-size:20px;margin-top:5px}.usagekpi small{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.35}.usagesub{margin-top:18px}.usagesub h4{margin:0 0 9px}.sectionhead.compact{margin-bottom:9px}.usagelist,.officiallist{display:grid;gap:7px}.usagerow{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,1.3fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid #1f313c;border-radius:12px;background:#0a141b}.usagerow b,.usagerow small,.usagerow span{display:block}.usagerow small{color:var(--muted);font-size:11px;margin-top:3px}.usagerow>div:nth-child(2){text-align:right;font-size:12px}.usageerror{font-size:11px;color:var(--muted);white-space:nowrap}.usageerror.haserror{color:#ffc5ca}.officialrow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #1f313c;border-radius:12px;background:#0a141b}.officialrow b,.officialrow small{display:block}.officialrow small{color:var(--muted);font-size:10px;margin-top:4px;overflow-wrap:anywhere}.officialrow>div:last-child{text-align:right}.usage-note{margin-top:14px;line-height:1.45}
@media(max-width:760px){.usage-section .sectionhead{flex-direction:column;gap:10px}.usagecontrols{width:100%}.usagecontrols .mini-select,.usagecontrols .smallbtn{flex:1}.usagekpis{grid-template-columns:1fr 1fr}.usagekpi.wide{grid-column:1/-1}.usagerow{grid-template-columns:1fr}.usagerow>div:nth-child(2){text-align:left}.officialrow{align-items:flex-start;flex-direction:column}.officialrow>div:last-child{text-align:left}}

/* 4D-10D: einklappbare Admin-Bereiche */
.admin-collapsible .collapsehead{align-items:flex-start}.collapseheading{min-width:0}.collapseheading h3{margin:0}.collapseheading .hint{display:block;margin-top:4px}.collapseactions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.collapsebtn{flex:0 0 36px;width:36px;height:36px;border:1px solid #2a3c49;border-radius:11px;background:#101d25;color:var(--text);cursor:pointer;display:grid;place-items:center}.collapsebtn:hover{border-color:#3a5362;background:#142630}.collapsechevron{display:block;font-size:20px;line-height:1;transform:rotate(180deg);transition:transform .18s ease}.admin-collapsible.is-collapsed .collapsechevron{transform:rotate(0deg)}.admin-collapsible .collapsebody{margin-top:14px}.admin-collapsible.is-collapsed .collapsebody{display:none}.admin-collapsible.is-collapsed{padding-bottom:18px}.admin-collapsible.is-collapsed .collapsehead{margin-bottom:0}.admin-collapsible .usagecontrols{margin-left:auto}
@media(max-width:760px){.admin-collapsible .collapsehead{gap:10px}.admin-collapsible .collapseactions{width:auto;max-width:100%}.admin-collapsible.usage-section .collapsehead{flex-direction:column}.admin-collapsible.usage-section .collapseactions{width:100%}.admin-collapsible.usage-section .usagecontrols{flex:1;width:auto}.admin-collapsible.usage-section .collapsebtn{margin-left:auto}}

/* Step 4D-11A: System-/Worker-/WhatsApp-Status */
.statusgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.statusgroup{border:1px solid #21343f;border-radius:14px;background:#0d1921;padding:12px}.statusgroup h4{margin:0 0 10px}.statusrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #1c2d37}.statusrow:last-child{border-bottom:0}.statusrow>div:first-child{display:flex;align-items:center;gap:9px;min-width:0}.statusrow b,.statusrow small{display:block}.statusrow b{font-size:13px}.statusrow small{font-size:10px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.statusdot{width:9px;height:9px;border-radius:50%;flex:0 0 9px}.statusdot.online{background:var(--accent);box-shadow:0 0 0 3px rgba(56,211,159,.11)}.statusdot.offline{background:var(--danger);box-shadow:0 0 0 3px rgba(255,107,114,.10)}.statusword{font-size:10px;font-weight:900;white-space:nowrap}.statusword.online{color:#baffea}.statusword.offline{color:#ffc5ca}.statusnote{margin-top:10px;line-height:1.4}
@media(max-width:900px){.statusgrid{grid-template-columns:1fr}}

.statusgrid-secondary{margin-top:10px}.statusrow-detail{align-items:flex-start}.statusdetail.error{margin-top:5px;font-size:10px;color:#ffc5ca;line-height:1.35}.queuecount{font-size:11px;font-weight:900;white-space:nowrap;color:var(--muted)}.queuecount.haspending{color:#ffd28c}.statusrow.compact{padding:8px 0}.statuserrorrow{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #1c2d37}.statuserrorrow:last-child{border-bottom:0}.statuserrorrow b,.statuserrorrow small{display:block}.statuserrorrow b{font-size:12px}.statuserrorrow small{font-size:10px;color:var(--muted);margin-top:3px}.statuserrorrow>span{font-size:10px;color:#ffc5ca;text-align:right;overflow-wrap:anywhere;max-width:42%}

/* Step 4E-1A: Profi-Analysen im Benutzer-WebUI */
.service-tile.service-open{cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.service-tile.service-open:hover{transform:translateY(-1px);border-color:#31505f;background:#10202a}.pro-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.55fr);gap:14px;align-items:start}.pro-list-section,.pro-detail-section{margin-top:0}.pro-list-section{position:sticky;top:14px;max-height:calc(100vh - 130px);display:flex;flex-direction:column}.pro-search{margin-top:12px}.pro-search .input{font-size:14px;padding:11px 12px}.pro-analysis-list{display:grid;gap:8px;margin-top:12px;overflow:auto;padding-right:2px}.pro-analysis-row{width:100%;border:1px solid #20333e;background:#0a141b;color:var(--text);border-radius:13px;padding:12px;text-align:left;cursor:pointer}.pro-analysis-row:hover,.pro-analysis-row.active{border-color:rgba(56,211,159,.5);background:rgba(56,211,159,.055)}.pro-analysis-rowtop{display:flex;justify-content:space-between;gap:10px;align-items:center}.pro-analysis-rowtop b{font-size:13px}.pro-analysis-rowtop span{font-size:10px;color:var(--muted);white-space:nowrap}.pro-analysis-title{font-size:12px;line-height:1.4;margin-top:7px}.pro-analysis-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pro-analysis-meta span{font-size:9px;color:var(--muted);border:1px solid #233641;border-radius:999px;padding:4px 6px}.pro-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.pro-detail-head h3{font-size:22px;line-height:1.25;margin:7px 0 4px}.pro-source{display:inline-flex;font-size:10px;font-weight:900;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.pro-asset{color:var(--muted);font-size:13px}.pro-asset b{color:var(--text);margin-left:5px}.pro-date{color:var(--muted);font-size:11px;white-space:nowrap}.pro-scoregrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.pro-scoregrid>div{background:#0a141b;border:1px solid #20333e;border-radius:12px;padding:11px}.pro-scoregrid span,.pro-scoregrid b{display:block}.pro-scoregrid span{font-size:10px;color:var(--muted)}.pro-scoregrid b{font-size:13px;margin-top:5px}.pro-block{margin-top:18px;padding-top:16px;border-top:1px solid #1d2d37}.pro-block h4{margin:0 0 9px;font-size:14px}.pro-block>p{margin:0;color:#d7e4ea;line-height:1.6;font-size:13px}.pro-facts,.pro-predictions,.pro-history{display:grid;gap:8px}.pro-fact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px 12px;border:1px solid #20333e;border-radius:12px;background:#0a141b}.pro-fact b,.pro-fact small,.pro-fact strong{display:block}.pro-fact small{font-size:10px;color:var(--muted);margin-top:3px}.pro-fact strong{text-align:right;font-size:13px}.pro-fact p{grid-column:1/-1;margin:2px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.pro-prediction{padding:11px 12px;border:1px solid #20333e;border-radius:12px;background:#0a141b;font-size:12px;line-height:1.5}.pro-pred-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}.pro-pred-head .badge{margin:0}.pro-prediction small{display:block;color:var(--muted);margin-top:5px}.pro-prediction p{margin:7px 0 0;color:var(--muted);font-size:11px}.pro-history-row{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #20333e;background:#0a141b;color:var(--text);border-radius:12px;padding:10px 11px;text-align:left;cursor:pointer}.pro-history-row:hover{border-color:#31505f}.pro-history-row b,.pro-history-row small{display:block}.pro-history-row b{font-size:12px}.pro-history-row small{font-size:10px;color:var(--muted);margin-top:4px}.pro-history-row>span{font-size:10px;color:var(--accent);white-space:nowrap}.pro-disclaimer{margin-top:18px;border-top:1px solid #1d2d37;padding-top:14px}.pro-disclaimer summary{cursor:pointer;color:var(--muted);font-size:11px;font-weight:800}.pro-disclaimer p{color:var(--muted);font-size:10px;line-height:1.55;margin:10px 0 0}.pro-backlink{display:block;text-decoration:none;text-align:center;margin-top:8px}
@media(max-width:820px){.pro-layout{grid-template-columns:1fr}.pro-list-section{position:static;max-height:none}.pro-analysis-list{max-height:420px}.pro-scoregrid{grid-template-columns:1fr 1fr}.pro-detail-head{flex-direction:column;gap:6px}.pro-date{white-space:normal}}

.tile-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.pro-new-count,.pro-unread-dot,.pro-history-new{background:rgba(56,211,159,.12);border:1px solid rgba(56,211,159,.35);color:var(--accent);font-weight:900}.pro-unread-dot{font-size:8px;border-radius:999px;padding:3px 5px;margin-left:6px;vertical-align:middle}.pro-row-asset{display:flex;align-items:center;min-width:0}.pro-history-new{display:inline-flex;font-size:8px;border-radius:999px;padding:2px 4px;margin-left:5px;vertical-align:middle}


/* Step 4E-2A: YouTube-Bereich im Benutzer-WebUI */
.yt-summary{margin-bottom:14px}.yt-quotas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.yt-quota{border:1px solid #20333e;border-radius:12px;background:#0a141b;padding:11px}.yt-quota span,.yt-quota b,.yt-quota small{display:block}.yt-quota span{font-size:10px;color:var(--muted)}.yt-quota b{font-size:13px;margin-top:5px}.yt-quota small{font-size:9px;color:var(--muted);margin-top:4px}.yt-topgrid{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:14px}.yt-channels{display:grid;gap:8px;margin-top:10px}.yt-channel{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #20333e;border-radius:12px;background:#0a141b;padding:11px 12px}.yt-channel b,.yt-channel small{display:block}.yt-channel b{font-size:12px}.yt-channel small{font-size:10px;color:var(--muted);margin-top:4px}.yt-video-row{width:100%;border:1px solid #20333e;background:#0a141b;color:var(--text);border-radius:13px;padding:12px;text-align:left;cursor:pointer}.yt-video-row:hover,.yt-video-row.active{border-color:rgba(56,211,159,.5);background:rgba(56,211,159,.055)}.yt-video-rowtop{display:flex;justify-content:space-between;gap:10px}.yt-video-rowtop b{font-size:11px;color:var(--accent)}.yt-video-rowtop span{font-size:9px;color:var(--muted);white-space:nowrap}.yt-video-title{font-size:12px;line-height:1.4;margin-top:7px}.yt-video-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.yt-video-meta span{font-size:9px;color:var(--muted);border:1px solid #233641;border-radius:999px;padding:4px 6px}.yt-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.yt-detail-head h3{font-size:22px;line-height:1.25;margin:7px 0 4px}.yt-list{margin:0;padding-left:20px;color:#d7e4ea;font-size:12px;line-height:1.55}.yt-list li+li{margin-top:6px}.yt-trades,.yt-simple-list,.yt-scenarios{display:grid;gap:8px}.yt-trade,.yt-scenario,.yt-simple-row{border:1px solid #20333e;border-radius:12px;background:#0a141b;padding:11px 12px}.yt-trade-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.yt-trade-meta,.yt-levels{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.yt-trade-meta span,.yt-levels span{font-size:9px;color:var(--muted);border:1px solid #233641;border-radius:999px;padding:4px 6px}.yt-trade p,.yt-scenario p{font-size:11px;line-height:1.5;color:var(--muted);margin:8px 0 0}.yt-scenario>span{font-size:10px;color:var(--accent);margin-left:8px}.yt-scenario small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.yt-simple-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.yt-simple-row b{font-size:11px}.yt-simple-row span{font-size:12px;font-weight:900}.yt-simple-row small{grid-column:1/-1;color:var(--muted);font-size:10px}.yt-external{margin-top:18px}.yt-external .btn{display:inline-block;text-decoration:none}
@media(max-width:820px){.yt-quotas{grid-template-columns:1fr}.yt-detail-head{flex-direction:column;gap:6px}.yt-video-rowtop{flex-direction:column;gap:4px}.yt-video-rowtop span{white-space:normal}}

/* Step 4E-2B */
.yt-unread-dot{display:inline-flex;margin-left:6px;padding:2px 5px;border-radius:999px;background:rgba(56,211,159,.12);border:1px solid rgba(56,211,159,.35);color:var(--accent);font-size:8px;font-weight:900;vertical-align:middle}.yt-history{display:grid;gap:7px}.yt-history-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #20333e;background:#0a141b;color:var(--text);border-radius:11px;padding:10px 11px;text-align:left;cursor:pointer}.yt-history-row:hover{border-color:rgba(56,211,159,.45)}.yt-history-row b,.yt-history-row small{display:block}.yt-history-row b{font-size:11px}.yt-history-row small{font-size:9px;color:var(--muted);margin-top:3px}.yt-history-row>span{font-size:9px;color:var(--muted)}

/* Step 4E-2C */
.yt-request-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.yt-request-grid>div{display:grid;gap:8px}.yt-jobs{display:grid;gap:8px;margin-top:16px}.yt-job{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.yt-job div{min-width:0}.yt-job small{display:block;color:var(--muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis}.error-text{color:#ef4444!important}@media(max-width:720px){.yt-request-grid{grid-template-columns:1fr}.yt-job{align-items:flex-start;flex-direction:column}}

/* Step 4E-3A: Market monitor */
.market-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}.market-filter-row label{display:grid;gap:6px;font-size:.85rem;color:var(--muted)}.market-event-row{width:100%;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:13px;display:grid;gap:8px;color:var(--txt);cursor:pointer}.market-event-row:hover,.market-event-row.active{border-color:var(--accent)}.market-event-top,.market-event-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.market-event-title{font-weight:700;line-height:1.35}.market-event-meta{font-size:.8rem;color:var(--muted);flex-wrap:wrap}.market-assets,.market-sources{display:grid;gap:9px}.market-asset-row,.market-source-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.market-asset-row>div,.market-source-row>div{display:grid;gap:3px}.market-asset-row small,.market-source-row small{color:var(--muted)}.market-source-row{color:var(--txt);text-decoration:none}.market-source-row:hover{border-color:var(--accent)}@media(max-width:820px){.market-filter-row{grid-template-columns:1fr}.market-event-meta{align-items:flex-start}.market-asset-row,.market-source-row{align-items:flex-start}}

.market-unread-dot{display:inline-flex;margin-left:7px}.market-history-row{text-align:left;width:100%}

.signal-levels-mini{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0;font-size:.86rem;color:var(--muted)}
.signal-levels-mini b{color:var(--txt)}
.signal-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.signal-level-grid>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}
.signal-level-grid span{display:block;color:var(--muted);font-size:.8rem;margin-bottom:5px}
.signal-level-grid b{font-size:1.02rem}
.signal-history-row{text-align:left;width:100%}
@media(max-width:720px){.signal-level-grid{grid-template-columns:1fr}}

.signal-unread-dot{display:inline-flex;margin-left:7px}
.signal-state-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.signal-state-row>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}
.signal-state-row span{display:block;color:var(--muted);font-size:.8rem;margin-bottom:5px}
.signal-state-row b{font-size:.95rem}
@media(max-width:720px){.signal-state-row{grid-template-columns:1fr}}

.assetnews-list{display:flex;flex-direction:column;gap:10px}
.assetnews-item{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}
.assetnews-item>div{min-width:0}.assetnews-item b{display:block;margin:5px 0}.assetnews-item small{display:block;color:var(--muted)}.assetnews-item p{margin:8px 0 0;color:var(--txt);line-height:1.45}
.assetnews-item>a{white-space:nowrap;align-self:flex-start}
@media(max-width:720px){.assetnews-item{flex-direction:column}}

.assetnews-runbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.assetnews-webjobs{display:flex;flex-direction:column;gap:12px}
.assetnews-webjob{padding:13px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.02)}
.assetnews-webjob.processing,.assetnews-webjob.queued{border-style:dashed}
.assetnews-webjob.error{border-color:rgba(239,68,68,.45)}
.assetnews-webjob-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}
.assetnews-webjob-head small{display:block;color:var(--muted);margin-top:3px}
.assetnews-ai-summary p{line-height:1.5}.assetnews-ai-summary h5{margin:12px 0 5px}.assetnews-ai-summary ul{margin:5px 0 10px;padding-left:20px}
.pro-scoregrid.compact{margin:12px 0}
