@charset "UTF-8";:root{color-scheme:light;--primary: #0b3d91;--primary-600: #0a3679;--primary-dark: #082b66;--primary-soft: #e8effc;--accent: #1fa97c;--accent-dark: #147a59;--accent-soft: #e3f6ee;--accent-bright: #3ee6a8;--blue-bright: #6ea8ff;--ink: #16202e;--ink-2: #3d4a5c;--muted: #64748b;--faint: #94a3b8;--bg: #f3f5f9;--card: #ffffff;--surface-2: #eef2f8;--hover: #f6f9fe;--border: #e2e8f0;--border-strong: #cbd5e1;--glass: rgba(255, 255, 255, .82);--link: var(--primary);--danger: #c0392b;--danger-soft: #fdeceb;--warning: #b7791f;--warning-soft: #fdf3e3;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow-xs: 0 1px 2px rgba(15, 30, 60, .05);--shadow-sm: 0 1px 3px rgba(15, 30, 60, .07), 0 1px 2px rgba(15, 30, 60, .05);--shadow-md: 0 6px 18px rgba(11, 61, 145, .09);--shadow-lg: 0 16px 40px rgba(11, 61, 145, .14);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Sora", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--grad-primary: linear-gradient(180deg, #1456c4, var(--primary-600));--grad-accent: linear-gradient(180deg, #2bd69e, var(--accent-dark));--grad-brand-text: linear-gradient(92deg, var(--accent-bright), #23bd8b 45%, var(--blue-bright));--sidebar-w: 252px}[data-theme=dark]{color-scheme:dark;--primary: #4d8dff;--primary-600: #3d7be0;--primary-dark: #a8c6f8;--primary-soft: rgba(110, 168, 255, .14);--accent: #2bd69e;--accent-dark: #3ee6a8;--accent-soft: rgba(62, 230, 168, .12);--ink: #e6edf7;--ink-2: #c3cede;--muted: #93a1b8;--faint: #6b7a91;--bg: #0a1020;--card: #111a2e;--surface-2: #1a2540;--hover: #18223c;--border: #22304a;--border-strong: #33456a;--glass: rgba(13, 20, 38, .82);--link: var(--blue-bright);--danger: #e06a5b;--danger-soft: rgba(224, 106, 91, .14);--warning: #d9a545;--warning-soft: rgba(217, 165, 69, .14);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 18px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.55;font-size:15px;min-height:100vh;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}a{color:var(--link);text-decoration:none}::selection{background:var(--primary-soft)}:focus-visible{outline:3px solid rgba(77,141,255,.45);outline-offset:2px;border-radius:6px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}*::-webkit-scrollbar-track{background:transparent}@keyframes page-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}@keyframes pulse-soft{0%,to{box-shadow:0 0 #1fa97c59}50%{box-shadow:0 0 0 6px #1fa97c00}}router-outlet+*{display:block;animation:page-in .38s cubic-bezier(.22,.9,.3,1) both}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--radius-sm);min-height:1em}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:shimmer 1.4s infinite}[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent)}.spinner{display:inline-block;width:1em;height:1em;flex-shrink:0;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-.12em}.typing{display:inline-flex;gap:4px;align-items:center;padding:.3rem .2rem}.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:typing-bounce 1.2s ease-in-out infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@media(prefers-reduced-motion:reduce){router-outlet+*{animation:none}.skeleton:after,.typing span{animation:none}*{transition-duration:.01ms!important}}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:radial-gradient(420px 260px at 100% 0%,rgba(62,230,168,.12),transparent 60%),linear-gradient(180deg,#0b1f47,#060d1a);color:#dbe6f7;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:1.3rem .9rem}.sidebar .brand{display:flex;align-items:center;gap:.6rem;color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.08rem;letter-spacing:-.01em;padding:.2rem .7rem 1.15rem}.sidebar .brand em{font-style:normal;color:var(--accent-bright)}.sidebar .brand svg{width:30px;height:30px;flex-shrink:0}.side-nav{display:flex;flex-direction:column;gap:.22rem;flex:1}.side-nav a{display:flex;align-items:center;gap:.7rem;color:#b9c9e4;font-weight:500;font-size:.92rem;padding:.62rem .75rem;border-radius:10px;border:1px solid transparent;transition:background .18s,color .18s,border-color .18s,transform .18s}.side-nav a lucide-icon{width:18px;height:18px;flex-shrink:0;opacity:.85}.side-nav a:hover{background:#ffffff12;color:#fff;transform:translate(2px)}.side-nav a.active{background:#ffffff1a;color:#fff;font-weight:600;border-color:#ffffff1a;box-shadow:inset 3px 0 0 var(--accent-bright),0 0 18px #3ee6a81f}.side-nav a.active lucide-icon{opacity:1;color:var(--accent-bright)}.side-footer{border-top:1px solid rgba(255,255,255,.12);padding-top:.9rem;margin-top:.9rem;font-size:.72rem;color:#8fa5c9;line-height:1.45}.main-col{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 1.6rem;height:62px;position:sticky;top:0;z-index:40}.topbar .crumb{font-family:var(--font-display);font-weight:700;font-size:1.02rem;color:var(--ink);letter-spacing:-.01em}.user-box{display:flex;align-items:center;gap:.65rem}.icon-btn{background:none;border:1px solid var(--border);border-radius:10px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;position:relative;color:var(--ink-2);transition:border-color .15s,color .15s,background .15s,transform .15s}.icon-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.icon-btn:active{transform:scale(.94)}.icon-btn lucide-icon{width:18px;height:18px}.role-chip{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--accent-soft);color:var(--accent-dark);padding:.22rem .6rem;border-radius:999px}.avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--grad-primary);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.02em;border:2px solid var(--card);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .15s}.avatar:hover{transform:scale(1.05)}.user-menu{position:absolute;right:0;top:2.8rem;width:240px;z-index:60;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.5rem;animation:page-in .22s ease both}.user-menu .um-head{padding:.6rem .7rem .7rem;border-bottom:1px solid var(--border);margin-bottom:.35rem}.user-menu .um-name{font-weight:700;font-size:.9rem;color:var(--ink)}.user-menu .um-email{font-size:.76rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.user-menu a,.user-menu button{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .7rem;border:0;background:none;border-radius:8px;font:inherit;font-size:.87rem;font-weight:500;color:var(--ink-2);cursor:pointer;text-align:left;transition:background .15s,color .15s}.user-menu a lucide-icon,.user-menu button lucide-icon{width:16px;height:16px}.user-menu a:hover,.user-menu button:hover{background:var(--hover);color:var(--primary)}.user-menu .um-logout:hover{color:var(--danger)}.backdrop{position:fixed;inset:0;z-index:45;background:#060d1a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:page-in .2s ease both}.page{width:min(1180px,100%);margin:0 auto;padding:1.8rem 1.6rem 3rem;flex:1}.app-footer{text-align:center;font-size:.74rem;color:var(--muted);padding:1.1rem 1.6rem;border-top:1px solid var(--border);background:var(--card);transition:background .3s ease}.menu-toggle{display:none}@media(max-width:920px){.shell{grid-template-columns:1fr}.menu-toggle{display:grid}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;width:min(300px,84vw);height:100vh;transform:translate(-105%);transition:transform .3s cubic-bezier(.22,.9,.3,1);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.topbar{padding:0 1rem}.page{padding:1.2rem 1rem 2.4rem}}h1{font-family:var(--font-display);font-size:1.55rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-bottom:.35rem}h2{font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin-bottom:.7rem}.subtitle{color:var(--muted);margin-bottom:1.5rem;font-size:.95rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem 1.4rem;box-shadow:var(--shadow-sm);transition:background .3s ease,border-color .3s ease,box-shadow .2s ease,transform .2s ease}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.58rem 1.25rem;border-radius:10px;border:1px solid transparent;font:inherit;font-weight:600;font-size:.9rem;cursor:pointer;background:var(--grad-primary);color:#fff;box-shadow:var(--shadow-xs),inset 0 1px #ffffff1f;transition:transform .12s,box-shadow .15s,filter .15s}.btn lucide-icon{width:16px;height:16px}.btn:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:3px solid var(--primary-soft);outline-offset:1px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn.accent{background:var(--grad-accent)}.btn.danger{background:linear-gradient(180deg,#d24737,#a93226)}.btn.outline{background:var(--card);color:var(--primary);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn.outline:hover{border-color:var(--primary);background:var(--primary-soft)}.btn.small{padding:.34rem .85rem;font-size:.82rem;border-radius:8px}.btn.big{padding:.8rem 1.7rem;font-size:1rem}.btn-ghost{background:none;border:1px solid var(--border);border-radius:999px;padding:.3rem .9rem;font:inherit;font-size:.84rem;cursor:pointer;color:var(--muted);transition:color .15s,border-color .15s}.btn-ghost:hover{color:var(--primary);border-color:var(--primary)}label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.3rem;color:var(--ink-2)}input,select,textarea{width:100%;padding:.62rem .85rem;border:1px solid var(--border-strong);border-radius:10px;font:inherit;font-size:.92rem;background:var(--card);color:var(--ink);margin-bottom:1rem;transition:border-color .15s,box-shadow .15s,background .3s ease}input:hover,select:hover,textarea:hover{border-color:var(--faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}input[type=checkbox]{accent-color:var(--primary)}.error-text{color:var(--danger);font-size:.87rem;margin:.5rem 0;background:var(--danger-soft);border-radius:8px;padding:.5rem .8rem}.hint{color:var(--muted);font-size:.82rem}.status-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.73rem;font-weight:600;padding:.22rem .65rem;border-radius:999px;white-space:nowrap;background:var(--primary-soft);color:var(--primary-600)}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge.terminal-ok{background:var(--accent-soft);color:var(--accent-dark)}.status-badge.terminal-ko{background:var(--danger-soft);color:var(--danger)}.stepper{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 1.4rem}.step-dot{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:500;color:var(--muted);padding:.3rem .7rem;border-radius:999px;background:var(--card);border:1px solid var(--border);transition:all .2s}.step-dot.done{background:var(--accent-soft);color:var(--accent-dark);border-color:transparent;font-weight:600}.step-dot.done:before{content:"\2713  ";font-weight:800}.step-dot.current{background:var(--grad-primary);color:#fff;border-color:transparent;font-weight:700;box-shadow:var(--shadow-xs),0 0 14px #1456c459}.card>table{margin:-.2rem 0}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.55rem .7rem;border-bottom:1px solid var(--border)}td{padding:.7rem;border-bottom:1px solid var(--border);vertical-align:top;color:var(--ink-2)}td strong{color:var(--ink)}tr:last-child td{border-bottom:none}td:has(strong:only-child){font-variant-numeric:tabular-nums}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--hover)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.kpi{padding:1.1rem 1.25rem;position:relative;overflow:hidden}.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi .label{font-size:.8rem;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:.4rem}.kpi .label lucide-icon{width:15px;height:15px;color:var(--primary)}.kpi .label lucide-icon svg{width:100%;height:100%}.kpi .value{font-family:var(--font-display);font-size:1.9rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.25;margin-top:.15rem}.kpi .sub{font-size:.76rem;color:var(--faint);margin-top:.15rem}.chat-box{display:flex;flex-direction:column;gap:.6rem;max-height:420px;overflow-y:auto;padding:.4rem 0}.bubble{max-width:80%;padding:.65rem .95rem;font-size:.9rem;background:var(--surface-2);color:var(--ink);align-self:flex-start;border-radius:16px 16px 16px 5px;white-space:pre-wrap;box-shadow:var(--shadow-xs);animation:page-in .3s ease both}.bubble.mine{background:var(--grad-primary);color:#fff;align-self:flex-end;border-bottom-right-radius:5px;border-bottom-left-radius:16px}.chat-input{display:flex;gap:.6rem;margin-top:.9rem}.chat-input input{margin-bottom:0}.grade-circle{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-size:1.9rem;font-weight:800;color:#fff;background:var(--primary);box-shadow:var(--shadow-md);flex-shrink:0}.grade-A,.grade-B{background:var(--grad-accent)!important;animation:pulse-soft 2.6s ease-in-out infinite}.grade-C{background:linear-gradient(180deg,#c98a2a,var(--warning))!important}.grade-D,.grade-E{background:linear-gradient(180deg,#d24737,var(--danger))!important}.factor{display:flex;gap:.6rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px dashed var(--border);font-size:.87rem;color:var(--ink-2)}.factor:last-of-type{border-bottom:none}.factor .dot{width:9px;height:9px;border-radius:50%;margin-top:.38rem;flex-shrink:0}.factor .dot.positivo{background:var(--accent)}.factor .dot.neutro{background:var(--warning)}.factor .dot.negativo{background:var(--danger)}.doc-row{display:flex;align-items:center;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--border);font-size:.89rem;color:var(--ink-2)}.doc-row:last-child{border-bottom:none}.doc-status{font-size:.72rem;font-weight:700;padding:.18rem .6rem;border-radius:999px}.doc-status.processing{background:var(--warning-soft);color:var(--warning)}.doc-status.done{background:var(--accent-soft);color:var(--accent-dark)}.doc-status.failed{background:var(--danger-soft);color:var(--danger)}.anomaly{color:var(--danger);font-size:.8rem}.empty-state{text-align:center;padding:3.2rem 1.5rem;color:var(--muted)}.empty-state svg,.empty-state lucide-icon{width:72px;height:72px;margin-bottom:1rem;opacity:.9}.progress-bar{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress-bar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .6s cubic-bezier(.22,.9,.3,1)}@media(max-width:860px){.grid-2,.grid-3{grid-template-columns:1fr}h1{font-size:1.3rem}}
