@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");:root{color-scheme:light;--ink:#0f172a;--muted:#5b6475;--surface:#fff;--surface-soft:#f6f7fb;--border:#e4e7f0;--brand:#1f5cff;--brand-strong:#1a49c7;--navy:#0b1b3f;--shadow:0 18px 40px rgba(15,23,42,.12);font-family:Inter,IBM Plex Sans,Fira Sans,sans-serif;background-color:var(--surface-soft);color:var(--ink)}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.6}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:20px 32px;background:linear-gradient(120deg,#0b1b3f,#112b6b);color:#f8f9ff}.app-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{font-weight:700;letter-spacing:.2px;color:inherit;text-decoration:none}.nav-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header-pill{cursor:pointer;transition:background .2s ease,border-color .2s ease}.header-pill,.header-status{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(245,247,255,.12);border:1px solid rgba(245,247,255,.2);font-weight:600;white-space:nowrap;color:inherit}.status-dot{width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18)}.header-icon{color:#f8f9ff}.header-icon:hover{background:rgba(245,247,255,.18)}.header-action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:none;background:transparent;color:#f8f9ff;cursor:pointer;transition:background .2s ease,transform .15s ease}.header-action .icon{width:20px;height:20px}.header-action:hover{background:rgba(245,247,255,.18);transform:translateY(-1px)}.header-pill:hover{background:rgba(245,247,255,.18);border-color:rgba(245,247,255,.3)}.header-pill-text{max-width:160px;overflow:hidden;text-overflow:ellipsis}.icon{display:inline-flex;width:18px;height:18px}.icon svg{width:100%;height:100%}.menu{position:relative}.dropdown{position:absolute;right:0;top:calc(100% + 8px);background:var(--surface);color:var(--ink);border-radius:12px;box-shadow:0 16px 32px rgba(16,21,34,.15);min-width:180px;padding:8px;z-index:10}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:inherit;text-decoration:none;font-weight:600;cursor:pointer}.dropdown-item:hover{background:#eef2ff}.dropdown-separator{height:1px;background:#e5e9f4;margin:6px 0}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:none;background:#e8edff;color:var(--brand-strong);cursor:pointer}.icon-button.danger{background:#ffe2e2;color:#d92d20}.input-group{display:flex;align-items:center;gap:8px}.input-group .input{flex:1 1}.chat{width:100%}.chat-window{background:#f3f5fb;border-radius:12px;padding:12px;max-height:320px;overflow-y:auto;display:grid;grid-gap:8px;gap:8px}.chat-bubble{padding:10px 12px;border-radius:12px;max-width:85%;font-size:.95rem}.chat-bubble.user{background:var(--brand);color:#fff;justify-self:end}.chat-bubble.assistant{background:var(--surface);border:1px solid var(--border)}.sources{font-size:.85rem;background:#f3f5fb;border-radius:12px;padding:10px 12px}.sources ul{margin:8px 0 0;padding-left:18px}.chat-fab{bottom:20px;padding:12px 16px;border-radius:999px;border:none;background:var(--brand);color:#fff;font-weight:600;box-shadow:0 10px 24px rgba(45,91,255,.35);cursor:pointer}.chat-fab,.chat-widget{position:fixed;right:20px;z-index:20}.chat-widget{bottom:80px;width:min(360px,92vw);max-height:min(70vh,560px);background:var(--surface);border-radius:16px;box-shadow:0 20px 40px rgba(16,21,34,.2);padding:12px;display:grid;grid-template-rows:auto 1fr auto auto;grid-gap:12px;gap:12px}.chat-header{display:flex;justify-content:space-between;align-items:center;font-weight:600}.chat-widget .chat-window{max-height:none;overflow-y:auto}.message-sources{margin-top:8px;font-size:.8rem;color:#52607a;display:grid;grid-gap:4px;gap:4px}.message-source{font-size:.78rem;color:#6b7a96}.chat-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chat-actions .button.secondary{padding:6px 12px;font-size:.85rem}.app-main{flex:1 1;display:flex;align-items:flex-start;justify-content:center;padding:48px 24px}.card{width:min(420px,100%);padding:24px;background:var(--surface);border-radius:18px;box-shadow:var(--shadow)}.stack{display:grid;grid-gap:16px;gap:16px}.dashboard-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:20px;gap:20px}.action-tile{display:grid;grid-gap:10px;gap:10px;padding:16px;border-radius:16px;text-decoration:none;color:inherit;background:#f7f9ff;border:1px solid #e1e7f5;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.action-tile--hero{padding:28px;grid-template-columns:auto 1fr;align-items:center;gap:20px}.action-tile--full{grid-column:1/-1}.action-content{display:grid;grid-gap:4px;gap:4px;font-weight:500;color:var(--muted)}.action-content strong{font-size:1.05rem;color:var(--ink);font-weight:700}.action-tile:hover{transform:translateY(-2px);border-color:#cdd8ff;box-shadow:0 12px 24px rgba(15,23,42,.12)}.action-icon{width:72px;height:72px;border-radius:20px;background:#e8edff;color:var(--brand-strong);display:inline-flex;align-items:center;justify-content:center}.action-icon svg{width:36px;height:36px}.button{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:10px;border:none;background:var(--brand);color:#fff;font-weight:600;cursor:pointer;box-shadow:0 10px 18px rgba(31,92,255,.25);transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.button:hover{background:var(--brand-strong);box-shadow:0 12px 20px rgba(31,92,255,.32);transform:translateY(-1px)}.button.secondary{background:#e8edff;color:var(--brand-strong);box-shadow:none}.button.secondary:hover{background:#dfe6ff}.button.success{background:#16a34a;color:#fff;box-shadow:0 10px 18px rgba(22,163,74,.25)}.button.success:hover{background:#15803d;box-shadow:0 12px 20px rgba(22,163,74,.3)}.input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#fff}.input.invalid{border-color:#f04438;background:#fff5f5}.page{width:min(1100px,100%);grid-gap:24px}.app-layout,.page{display:grid;gap:24px}.app-layout{width:min(1200px,100%);grid-template-columns:1fr;grid-gap:24px}.app-layout.has-sidebar{grid-template-columns:220px 1fr}.app-content{min-width:0}.app-layout:not(.has-sidebar){justify-items:center}.app-layout:not(.has-sidebar) .app-content{width:min(900px,100%)}.sidebar{background:var(--surface);border-radius:16px;padding:18px 16px;box-shadow:var(--shadow);height:-moz-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:24px}.sidebar-section+.sidebar-section{margin-top:18px;padding-top:12px;border-top:1px solid var(--border)}.sidebar-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:10px}.sidebar-nav{display:grid;grid-gap:6px;gap:6px}.sidebar-link{padding:8px 10px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600}.sidebar-link:hover{background:#eef2ff}@media (max-width:960px){.app-layout.has-sidebar{grid-template-columns:1fr}.sidebar{position:static}}.panel{background:var(--surface);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.panel.compact{padding:14px 18px}.regulations-layout{display:grid;grid-gap:24px;gap:24px;grid-template-columns:1fr}.info-card{padding:12px 14px;border-radius:12px;background:#f0f3ff;font-weight:600}.info-card.subtle{background:#f7f8fb;font-weight:500;color:#52607a}@media (max-width:960px){.regulations-layout{grid-template-columns:1fr}}.regulations-hero h1{margin-bottom:4px}.regulations-hero p{margin:0;font-size:.95rem;color:#52607a}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row.space-between{justify-content:space-between}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}.table tbody tr:nth-child(odd){background:#f9faff}.table tbody tr:hover{background:#eef2ff}.filters{display:grid;grid-gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.filter-bar,.filters{gap:12px;align-items:center}.filter-bar{display:flex;justify-content:space-between}.results-meta{font-size:.9rem;color:var(--muted);font-weight:600}.checkbox{display:inline-flex;gap:8px;align-items:center;font-weight:600}.field{display:grid;grid-gap:6px;gap:6px;font-size:.9rem}.error{color:#b42318;font-weight:600}.success{color:#027a48;font-weight:600}.button.danger{background:#ff4d4f;color:#fff}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.85rem}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#eef2ff;color:var(--brand-strong);font-weight:600;font-size:.72rem;letter-spacing:.05em}.badge.status-draft{background:#f1f2f6;color:#52607a}.badge.status-published{background:#e8f7ee;color:#027a48}.badge.visibility-public{background:#e8edff;color:var(--brand-strong)}.badge.visibility-private{background:#fff1f2;color:#b42318}.badge.type-catalog,.badge.type-other,.badge.type-price_list,.badge.type-regulation,.badge.type-tech_sheet{background:#f3f5fb;color:#4b556b}.badge.download-pending{background:#fff7e6;color:#b54708}.badge.download-complete{background:#e8f7ee;color:#027a48}.row-unread td{font-weight:600}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);display:grid;place-items:center;z-index:40;padding:24px}.modal{width:min(1200px,96vw);max-height:85vh;background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.2);display:grid;grid-template-rows:auto 1fr;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title{font-weight:700}.modal-actions{display:flex;align-items:center;gap:10px}.modal-body{padding:16px 20px;overflow:auto}.table-header-button{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.table-header-button:hover{color:var(--brand-strong)}.catalog-modal-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:16px;gap:16px}.catalog-panel{display:grid;grid-gap:12px;gap:12px}.catalog-label{font-weight:600;color:var(--ink)}.catalog-results{display:grid;grid-gap:12px;gap:12px;max-height:50vh;overflow:auto;padding-right:4px}.catalog-result{border:1px solid var(--border);background:#f8faff;border-radius:14px;padding:12px;display:grid;grid-gap:8px;gap:8px}.catalog-result-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.85rem;font-weight:600}.catalog-code{color:var(--brand-strong)}.catalog-snippet{color:#27324a;font-size:.9rem}.catalog-result-actions{display:flex;gap:8px;flex-wrap:wrap}@media (max-width:960px){.catalog-modal-grid{grid-template-columns:1fr}}.preview-note{margin:0 0 12px;color:var(--muted);font-size:.9rem}.preview-frame{width:100%;height:72vh;border:none;border-radius:12px;background:#f8f9ff}.preview-table{width:100%;border-collapse:collapse;font-size:.9rem}.preview-table td,.preview-table th{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border)}h1{font-size:clamp(2rem,2.4vw,2.6rem);letter-spacing:-.02em}h2{font-size:clamp(1.3rem,1.7vw,1.6rem);letter-spacing:-.01em}p{color:var(--muted)}