*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1e3a5f;--primary-light: #2563eb;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.2);--shadow-md: 0 4px 12px rgba(0,0,0,.25);--bg: #0d1b2a;--surface: #162032;--surface-2: #1e2d40;--border: #2a3f5a;--text: #e2e8f0;--text-muted: #7a9bbf;--text-dim: #4a6a8a;--danger: #ef4444;--sb-bg: #111c2b;--sb-border: rgba(255,255,255,.08);--sb-text: rgba(255,255,255,.85);--sb-text-muted: rgba(255,255,255,.45);--sb-text-dim: rgba(255,255,255,.3);--sb-item-hover: rgba(255,255,255,.06);--sb-checkbox-border: rgba(255,255,255,.25);--sb-btn-bg: rgba(255,255,255,.07);--sb-btn-border: rgba(255,255,255,.15);--sb-btn-color: rgba(255,255,255,.7);--sb-btn-hover: rgba(255,255,255,.14);--sb-scrollbar: rgba(37,99,235,.45);--sb-scrollbar-hover: rgba(37,99,235,.75)}body.light{--bg: #f1f5f9;--surface: #ffffff;--surface-2: #f8fafc;--border: #e2e8f0;--text: #1e293b;--text-muted: #64748b;--text-dim: #94a3b8;--sb-bg: #f8fafc;--sb-border: #e2e8f0;--sb-text: #1e293b;--sb-text-muted: #64748b;--sb-text-dim: #94a3b8;--sb-item-hover: #f1f5f9;--sb-checkbox-border: #94a3b8;--sb-btn-bg: #f1f5f9;--sb-btn-border: #e2e8f0;--sb-btn-color: #475569;--sb-btn-hover: #e2e8f0;--sb-scrollbar: rgba(37,99,235,.3);--sb-scrollbar-hover: rgba(37,99,235,.55)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;transition:background .2s,color .2s}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3a5f,#2563eb)}.login-card{background:#fff;border-radius:16px;padding:48px 40px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d;color:#1e293b}.login-logo{text-align:center;margin-bottom:32px}.login-logo h1{font-size:1.6rem;font-weight:700;color:var(--primary)}.login-logo p{color:#64748b;font-size:.9rem;margin-top:4px}.login-card label{display:block;font-size:.85rem;font-weight:600;color:#64748b;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.login-card input{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:var(--radius);font-size:1rem;outline:none;transition:border-color .15s;margin-bottom:20px;color:#1e293b;background:#fff}.login-card input:focus{border-color:var(--primary-light)}.btn-primary{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.btn-primary:hover{background:#152d4a}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.login-error{background:#fee2e2;color:var(--danger);padding:10px 14px;border-radius:var(--radius);font-size:.9rem;margin-bottom:16px}.sidebar::-webkit-scrollbar,.sidebar-filters::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-track,.sidebar-filters::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb,.sidebar-filters::-webkit-scrollbar-thumb{background:var(--sb-scrollbar);border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover,.sidebar-filters::-webkit-scrollbar-thumb:hover{background:var(--sb-scrollbar-hover)}.sidebar{background:var(--sb-bg);color:var(--sb-text);width:230px;min-width:230px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:100;box-shadow:2px 0 12px #00000026;border-right:1px solid var(--sb-border);transition:background .2s,color .2s}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 16px;border-bottom:1px solid var(--sb-border)}.sidebar-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1rem;color:var(--sb-text)}.sidebar-header-actions{display:flex;align-items:center;gap:6px}.btn-limpar{font-size:.72rem;font-weight:600;color:var(--primary-light);background:none;border:1px solid var(--primary-light);border-radius:5px;padding:3px 8px;cursor:pointer;opacity:.85;transition:opacity .15s,background .15s,color .15s;white-space:nowrap}.btn-limpar:hover{opacity:1;background:var(--primary-light);color:#fff}.btn-theme{background:var(--sb-btn-bg);border:1px solid var(--sb-btn-border);color:var(--sb-btn-color);width:30px;height:30px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.btn-theme:hover{background:var(--sb-btn-hover);color:var(--sb-text)}.sidebar-filters{flex:1;padding:8px 0;overflow-y:auto}.filter-section{border-bottom:1px solid var(--sb-border)}.filter-section-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:none;border:none;color:var(--sb-text-muted);font-size:.7rem;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:background .15s,color .15s}.filter-section-header:hover{color:var(--sb-text);background:var(--sb-item-hover)}.filter-section-body{padding:4px 16px 12px;max-height:180px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--sb-scrollbar) transparent}.filter-section-body::-webkit-scrollbar{width:4px}.filter-section-body::-webkit-scrollbar-track{background:transparent}.filter-section-body::-webkit-scrollbar-thumb{background:var(--sb-scrollbar);border-radius:999px}.filter-section-body::-webkit-scrollbar-thumb:hover{background:var(--sb-scrollbar-hover)}.filter-sublabel{font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--sb-text-dim);margin-bottom:8px;text-transform:uppercase}.filter-checkbox{display:flex;align-items:center;gap:9px;padding:5px 6px;border-radius:5px;cursor:pointer;font-size:.84rem;color:var(--sb-text);-webkit-user-select:none;user-select:none;transition:background .1s}.filter-checkbox:hover{background:var(--sb-item-hover)}.filter-checkbox input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:15px;height:15px;border:1.5px solid var(--sb-checkbox-border);border-radius:3px;background:transparent;cursor:pointer;position:relative;flex-shrink:0;transition:background .15s,border-color .15s}.filter-checkbox input[type=checkbox]:checked{background:var(--primary-light);border-color:var(--primary-light)}.filter-checkbox input[type=checkbox]:checked:after{content:"";position:absolute;left:3px;top:0;width:5px;height:9px;border:2px solid white;border-top:none;border-left:none;transform:rotate(45deg)}.filter-empresa-label{display:flex;flex-direction:column;gap:1px;line-height:1.3}.filter-empresa-cnpj{font-size:.72rem;color:var(--sb-text-muted)}.filter-month{width:100%;padding:7px 10px;border-radius:var(--radius);border:1.5px solid var(--sb-checkbox-border);background:var(--sb-btn-bg);color:var(--sb-text);font-size:.85rem;outline:none;cursor:pointer;transition:background .15s}.filter-month:hover{background:var(--sb-item-hover)}body:not(.light) .filter-month::-webkit-calendar-picker-indicator{filter:invert(1)}.btn-logout{margin:12px 16px 20px;padding:9px 14px;background:var(--sb-btn-bg);border:1.5px solid var(--sb-btn-border);color:var(--sb-btn-color);border-radius:var(--radius);font-size:.85rem;cursor:pointer;transition:background .15s,color .15s;text-align:center}.btn-logout:hover{background:var(--sb-btn-hover);color:var(--sb-text)}.search-section{padding:20px 0 0}.search-box{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:10px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;box-shadow:var(--shadow);transition:border-color .15s}.search-box:focus-within{border-color:var(--primary-light)}.tag{display:flex;align-items:center;gap:6px;background:#1d3557;color:#7eb8f7;padding:3px 10px;border-radius:20px;font-size:.82rem;font-weight:500}body.light .tag{background:#dbeafe;color:#1d4ed8}.tag button{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;line-height:1;padding:0;display:flex;align-items:center;opacity:.7;transition:opacity .1s}.tag button:hover{opacity:1}.search-box input{border:none;outline:none;font-size:.95rem;flex:1;min-width:160px;color:var(--text);background:transparent}.search-box input::placeholder{color:var(--text-muted)}.search-hint{font-size:.78rem;color:var(--text-muted);margin-top:6px;padding-left:2px}.home-page{min-height:100vh;display:flex;flex-direction:row}.home-content{flex:1;padding:24px;overflow-y:auto;min-width:0}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.results-count{font-size:.9rem;color:var(--text-muted)}.pagination{display:flex;align-items:center;gap:4px}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);font-size:.83rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.pagination-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:var(--primary-light)}.pagination-btn:disabled{opacity:.35;cursor:not-allowed}.pagination-btn.active{background:var(--primary-light);border-color:var(--primary-light);color:#fff;font-weight:600}.pagination-ellipsis{font-size:.83rem;color:var(--text-dim);padding:0 2px;-webkit-user-select:none;user-select:none}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.doc-card{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;transition:box-shadow .15s,transform .15s,border-color .15s}.doc-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--primary-light)}.doc-card-title{display:flex;align-items:flex-start;gap:8px;color:var(--text);font-weight:600;font-size:.9rem;line-height:1.4}.doc-card-title svg{flex-shrink:0;margin-top:2px;color:var(--primary-light)}.doc-card-title span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.doc-card-meta{display:flex;flex-direction:column;gap:6px}.doc-card-meta-row{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--text-muted)}.doc-card-meta-row svg{flex-shrink:0;color:var(--text-dim)}.doc-card-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.badge{font-size:.74rem;font-weight:500;padding:3px 9px;border-radius:12px;display:flex;align-items:center;gap:4px}.badge-categoria{background:#16a34a26;color:#4ade80;border:1px solid rgba(22,163,74,.25)}body.light .badge-categoria{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.badge-tipo{background:#2563eb26;color:#60a5fa;border:1px solid rgba(37,99,235,.25)}body.light .badge-tipo{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.btn-ver-pdf{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:9px;background:var(--primary-light);color:#fff;border:none;border-radius:var(--radius);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-ver-pdf:hover{background:#1d4ed8}.empty-state{text-align:center;padding:64px 24px;color:var(--text-muted)}.empty-state svg{opacity:.25;margin-bottom:16px}.empty-state h3{font-size:1.1rem;margin-bottom:8px;color:var(--text)}.loading{text-align:center;padding:48px;color:var(--text-muted)}.spinner{display:inline-block;width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary-light);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.pdf-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;z-index:200;display:flex;align-items:stretch;justify-content:flex-end;animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pdf-modal{background:var(--surface);width:58%;min-width:500px;display:flex;flex-direction:column;box-shadow:-12px 0 48px #00000073;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(48px);opacity:0}to{transform:translate(0);opacity:1}}.pdf-modal-header{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--primary);color:#fff;flex-shrink:0}.pdf-modal-title{display:flex;align-items:center;gap:9px;min-width:0;font-size:.9rem;font-weight:600}.pdf-modal-title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-fechar{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#ffffff1f;border:1.5px solid rgba(255,255,255,.25);color:#fff;border-radius:var(--radius);cursor:pointer;font-size:.9rem;transition:background .15s;flex-shrink:0}.btn-fechar:hover{background:#ffffff40}.pdf-canvas-wrapper{flex:1;overflow-y:auto;overflow-x:hidden;background:#4a4a4a;display:flex;align-items:flex-start;justify-content:center;padding:16px}.pdf-canvas{display:block;box-shadow:0 4px 20px #0006;max-width:100%}.pdf-status{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;flex:1;width:100%;padding:48px;color:#fff9;font-size:.9rem}.pdf-nav{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.pdf-nav-info{font-size:.84rem;color:var(--text-muted);min-width:60px;text-align:center}.btn-download{display:flex;align-items:center;gap:6px;background:#ffffff26;border:1.5px solid rgba(255,255,255,.3);color:#fff;padding:5px 12px;border-radius:var(--radius);cursor:pointer;font-size:.82rem;font-weight:600;text-decoration:none;transition:background .15s;white-space:nowrap;font-family:inherit}.btn-download:hover:not(:disabled){background:#ffffff47}.btn-download:disabled{opacity:.6;cursor:not-allowed}.pdf-modal-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 768px){.pdf-modal{width:100%;min-width:unset;height:100%}.sidebar{display:none}.doc-grid{grid-template-columns:1fr}}
