:root{--tesla-blue:#0070f3;--tesla-mint:#50e3c2;--muted:#6b7280}.octh-hero{padding:18px;border:1px solid #e5e7eb;border-radius:20px;background:linear-gradient(180deg,rgba(0,112,243,.06),rgba(80,227,194,.06));margin-bottom:14px}.octh-hero-title{font-size:1.4rem;font-weight:800}.octh-hero-sub{color:var(--muted);margin-top:2px}.octh-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.octh-kpi{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:10px;text-align:center;animation:octhPulse 9s infinite ease-in-out}.octh-kpi span{display:block;font-size:1.2rem;font-weight:700}.octh-kpi label{color:var(--muted);font-size:.85rem}.octh-live{margin-top:8px;font-size:.9rem;color:#0ea5e9;display:flex;align-items:center;gap:6px}.octh-dot{width:8px;height:8px;border-radius:9999px;background:linear-gradient(90deg,var(--tesla-blue),var(--tesla-mint));display:inline-block;animation:octhBlink 2s infinite}.octh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:10px}.octh-card{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px;text-decoration:none;color:#111;box-shadow:0 2px 10px rgba(0,0,0,.04);transition:transform .15s ease,box-shadow .15s ease}.octh-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08)}.octh-sticky-card{border:1px solid #bae6fd;background:linear-gradient(180deg,rgba(186,230,253,.35),rgba(80,227,194,.08))}.octh-card-title{font-weight:700;margin-bottom:6px}.octh-card-meta{color:var(--muted);font-size:.85rem}.octh-empty{padding:16px;border:1px dashed #e5e7eb;border-radius:14px;color:var(--muted);text-align:center}.octh-form input[type=text],.octh-form textarea,.octh-form select{width:100%;padding:10px;border:1px solid #e5e7eb;border-radius:12px;margin:8px 0;background:#fff}.octh-btn{padding:10px 16px;border-radius:9999px;border:0;box-shadow:0 1px 6px rgba(0,0,0,.08);cursor:pointer;background:linear-gradient(90deg,var(--tesla-blue),var(--tesla-mint));color:#fff;font-weight:700}.octh-ok{background:#ecfeff;border:1px solid #67e8f9;padding:10px;border-radius:12px;margin:10px 0}.octh-err{background:#fef2f2;border:1px solid #fecaca;padding:10px;border-radius:12px;margin:10px 0}.octh-muted{color:var(--muted)}.octh-chat #octh-chat-stream{border:1px solid #e5e7eb;border-radius:16px;padding:10px;min-height:200px;max-height:420px;overflow:auto;background:#fff}.octh-dashboard .octh-hero-mini{margin-bottom:12px}.octh-hero-title-mini{font-weight:800}.octh-hero-sub-mini{color:var(--muted);margin-bottom:6px}.octh-kpis-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.octh-kpi-mini{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:8px;text-align:center;animation:octhPulse 9s infinite ease-in-out}.octh-kpi-mini span{display:block;font-weight:700}.octh-link{display:inline-block;margin-top:8px;text-decoration:none;color:#111;border-bottom:2px solid var(--tesla-blue)}.octh-admin .octh-sub{color:var(--muted)}.octh-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.octh-card-admin{display:block;padding:16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;text-decoration:none;font-weight:600;color:#000;box-shadow:0 2px 8px rgba(0,0,0,.04)}#octh-help-btn{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border-radius:9999px;background:linear-gradient(90deg,var(--tesla-blue),var(--tesla-mint));color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:9999;box-shadow:0 4px 14px rgba(0,0,0,.18)}#octh-help-modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;align-items:center;justify-content:center;z-index:99999}#octh-help-modal .octh-help-box{background:#fff;border-radius:16px;max-width:520px;width:92%;padding:16px;border:1px solid #e5e7eb;box-shadow:0 10px 30px rgba(0,0,0,.2)}.octh-fadein{animation:octhFadeIn .35s ease both}.octh-fadeup{animation:octhFadeUp .45s ease both}@keyframes octhFadeIn{from{opacity:0}to{opacity:1}}@keyframes octhFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes octhBlink{0%,100%{opacity:1}50%{opacity:.25}}@keyframes octhPulse{0%,100%{box-shadow:0 0 0 0 rgba(0,112,243,0)}50%{box-shadow:0 0 0 6px rgba(0,112,243,.08)}}