:root{--sidebar-w:240px;--header-h:60px;--radius:10px;--radius-sm:6px;--radius-lg:14px;--font:'DM Sans',sans-serif;--mono:'DM Mono',monospace;--transition:0.18s ease;--transition-slow:0.3s ease;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--text-xs:0.6875rem;--text-sm:0.75rem;--text-base:0.8125rem;--text-md:0.875rem;--text-lg:1rem;--text-xl:1.25rem;--text-2xl:1.75rem}[data-theme=dark]{--bg:#0a0f1e;--bg2:#0f1629;--bg3:#151d35;--surface:#1a2340;--surface2:#1f2a4a;--surface-elevated:#222d52;--border:#2a3558;--border2:#344268;--text:#e8edf8;--text2:#8b96b8;--text3:#5a6585;--accent:#4f8ef7;--accent2:#3d7ae8;--accent-soft:rgba(79,142,247,0.12);--accent-hover:#5e9bff;--accent-active:#3a75e0;--accent-gradient:linear-gradient(135deg, #4f8ef7, #6366f1);--accent-glow:rgba(79,142,247,0.15);--green:#22d3a0;--green-bg:rgba(34,211,160,0.1);--yellow:#f5b731;--yellow-bg:rgba(245,183,49,0.1);--red:#f55b5b;--red-bg:rgba(245,91,91,0.1);--purple:#a78bfa;--purple-bg:rgba(167,139,250,0.1);--orange:#fb8c4a;--orange-bg:rgba(251,140,74,0.1);--shadow:0 4px 24px rgba(0,0,0,0.4);--shadow-sm:0 2px 8px rgba(0,0,0,0.3);--shadow-lg:0 8px 40px rgba(0,0,0,0.5);--glass-bg:rgba(26,35,64,0.65);--glass-bg-hover:rgba(26,35,64,0.78);--glass-border:rgba(255,255,255,0.08);--glass-border-hover:rgba(255,255,255,0.14);--glass-kpi:rgba(26,35,64,0.72);--glass-kpi-hover:rgba(26,35,64,0.85);--glass-sidebar:rgba(15,22,41,0.82);--glass-topbar:rgba(15,22,41,0.78)}[data-theme=light]{--bg:#f0f2f5;--bg2:#ffffff;--bg3:#e8ecf1;--surface:#ffffff;--surface2:#f5f7fa;--surface-elevated:#ffffff;--border:#d8dde6;--border2:#c5ccd8;--text:#1a1a2e;--text2:#5a6178;--text3:#8890a4;--accent:#3574e0;--accent2:#2b63c9;--accent-soft:rgba(53,116,224,0.08);--accent-hover:#4385ef;--accent-active:#2560b8;--accent-gradient:linear-gradient(135deg, #3574e0, #5b5bd6);--accent-glow:rgba(53,116,224,0.12);--green:#16a87e;--green-bg:rgba(22,168,126,0.08);--yellow:#d4960e;--yellow-bg:rgba(212,150,14,0.08);--red:#d94444;--red-bg:rgba(217,68,68,0.08);--purple:#7c5fcf;--purple-bg:rgba(124,95,207,0.08);--orange:#d97030;--orange-bg:rgba(217,112,48,0.08);--shadow:0 4px 24px rgba(0,0,0,0.08);--shadow-sm:0 2px 8px rgba(0,0,0,0.05);--shadow-lg:0 8px 40px rgba(0,0,0,0.12);--glass-bg:rgba(255,255,255,0.7);--glass-bg-hover:rgba(255,255,255,0.85);--glass-border:rgba(0,0,0,0.06);--glass-border-hover:rgba(0,0,0,0.12);--glass-kpi:rgba(255,255,255,0.75);--glass-kpi-hover:rgba(255,255,255,0.9);--glass-sidebar:rgba(255,255,255,0.85);--glass-topbar:rgba(255,255,255,0.82)}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;display:flex;overflow:hidden}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}#sidebar{width:var(--sidebar-w);min-height:100vh;background:var(--glass-sidebar);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;transition:transform var(--transition);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.sidebar-logo{height:var(--header-h);display:flex;align-items:center;gap:10px;padding:0 20px;border-bottom:1px solid var(--border)}.logo-icon{width:32px;height:32px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;box-shadow:0 0 16px rgba(79,142,247,.4)}.logo-text{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.3px}.logo-badge{font-size:9px;color:var(--accent);font-weight:600;letter-spacing:1px;background:var(--accent-glow);padding:1px 5px;border-radius:99px}.sidebar-section{padding:16px 12px 4px}.sidebar-section-label{font-size:10px;font-weight:600;color:var(--text3);letter-spacing:1px;text-transform:uppercase;padding:0 8px;margin-bottom:4px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);color:var(--text2);font-size:13.5px;font-weight:500;position:relative}.nav-item:hover{background:var(--surface);color:var(--text)}.nav-item.active{background:var(--accent-glow);color:var(--accent)}.nav-item.active::before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:3px;background:var(--accent-gradient);border-radius:0 3px 3px 0;animation:navIndicatorSlide .25s ease}@keyframes navIndicatorSlide{from{top:50%;bottom:50%;opacity:0}to{top:20%;bottom:20%;opacity:1}}.nav-item .nav-icon{width:20px;text-align:center;font-size:15px;flex-shrink:0}.nav-badge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:99px}.nav-badge.green{background:var(--green)}.nav-badge.yellow{background:var(--yellow);color:#000}.sidebar-footer{margin-top:auto;padding:12px;border-top:1px solid var(--border)}.user-info{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-sm);cursor:pointer}.user-info:hover{background:var(--surface)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--accent2);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}.user-name{font-size:13px;font-weight:600}.user-role{font-size:11px;color:var(--text3)}#main{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh;overflow-y:auto}#topbar{height:var(--header-h);background:var(--glass-topbar);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;padding:0 24px;gap:16px;position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.page-title{font-size:16px;font-weight:700;color:var(--text);flex:1}.topbar-actions{display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all var(--transition);font-family:var(--font)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent2);box-shadow:0 0 16px rgba(79,142,247,.4)}.btn-gradient{background:var(--accent-gradient);color:#fff}.btn-gradient:hover{box-shadow:0 0 20px rgba(79,142,247,.5);filter:brightness(1.1)}.btn-ghost{background:0 0;color:var(--text2);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface);color:var(--text)}.btn-danger{background:var(--red-bg);color:var(--red);border:1px solid rgba(245,91,91,.3)}.btn-danger:hover{background:var(--red);color:#fff}.btn-success{background:var(--green-bg);color:var(--green);border:1px solid rgba(34,211,160,.3)}.btn-success:hover{background:var(--green);color:#000}.btn-sm{padding:5px 10px;font-size:12px}.btn-icon{padding:7px}.notif-btn{position:relative}.notif-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;background:var(--red);border-radius:50%;border:2px solid var(--bg2)}#notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:380px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:300;display:none;max-height:520px;overflow-y:auto}#notif-panel.visible{display:block;animation:fadeIn .15s ease}.notif-header{padding:14px 16px 10px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.notif-header-title{font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px}.notif-item{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--transition)}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface)}.notif-item.unread{background:var(--accent-glow)}.notif-item.unread:hover{background:rgba(79,142,247,.2)}.notif-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.notif-body{flex:1;min-width:0}.notif-text{font-size:12.5px;color:var(--text);line-height:1.4;margin-bottom:3px}.notif-time{font-size:11px;color:var(--text3)}.notif-type-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:6px}#notif-count{background:var(--red);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:99px}.notif-empty{padding:32px 16px;text-align:center;color:var(--text3)}.notif-btn-wrap{position:relative}.nav-badge.sla{background:var(--red);animation:pulse-sla 2s infinite}@keyframes pulse-sla{0%,100%{box-shadow:0 0 0 0 rgba(245,91,91,.5)}50%{box-shadow:0 0 0 4px rgba(245,91,91,0)}}.budget-alert{background:var(--red-bg);border:1px solid rgba(245,91,91,.4);border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;gap:12px;margin-bottom:14px;animation:fadeIn .3s ease}.budget-alert.warning{background:var(--yellow-bg);border-color:rgba(245,183,49,.4)}.budget-alert-icon{font-size:20px;flex-shrink:0}.budget-alert-text{flex:1;font-size:13px;font-weight:500}.budget-alert-text strong{font-size:14px}.page{display:none;padding:24px;animation:fadeIn .2s ease}.page.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.d-flex{display:flex}.d-none{display:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1;min-width:0}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-14{margin-top:14px}.mt-16{margin-top:16px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-14{margin-bottom:14px}.mb-16{margin-bottom:16px}.p-8{padding:8px}.p-12{padding:12px}.p-16{padding:16px}.p-20{padding:20px}.text-center{text-align:center}.text-right{text-align:right}.w-100{width:100%}.text-xs{font-size:11px}.text-sm{font-size:12px}.text-md{font-size:13px}.font-bold{font-weight:700}.font-semi{font-weight:600}.color-muted{color:var(--text3)}.color-sub{color:var(--text2)}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cursor-pointer{cursor:pointer}.border-b{border-bottom:1px solid var(--border)}.rounded{border-radius:var(--radius)}.rounded-sm{border-radius:var(--radius-sm)}.bg-surface{background:var(--surface)}.bg-bg3{background:var(--bg3)}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);padding:20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:14px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.card-subtitle{font-size:12px;color:var(--text3);margin-top:2px}.stat-card{background:var(--glass-kpi);border:1px solid var(--glass-border);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:8px;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.stat-card:hover{border-color:var(--glass-border-hover);background:var(--glass-kpi-hover);box-shadow:0 0 20px var(--accent-glow);transform:scale(1.02)}.stat-label{font-size:11.5px;color:var(--text3);font-weight:500;display:flex;align-items:center;gap:6px}.stat-value{font-size:28px;font-weight:700;color:var(--text);line-height:1}.stat-change{font-size:11.5px;display:flex;align-items:center;gap:4px}.stat-change.up{color:var(--green)}.stat-change.down{color:var(--red)}.stat-bar{height:4px;background:var(--border);border-radius:99px;overflow:hidden;margin-top:4px}.stat-bar-fill{height:100%;border-radius:99px;transition:width .6s ease}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:99px;font-size:11px;font-weight:600}.badge-green{background:var(--green-bg);color:var(--green)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-yellow{background:var(--yellow-bg);color:var(--yellow)}.badge-blue{background:var(--accent-glow);color:var(--accent)}.badge-purple{background:var(--purple-bg);color:var(--purple)}.badge-orange{background:var(--orange-bg);color:var(--orange)}.badge-gray{background:var(--bg3);color:var(--text2)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;background:var(--bg2);z-index:2}td{padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text);vertical-align:middle;transition:background var(--transition)}tr:last-child td{border-bottom:none}tr:nth-child(2n) td{background:var(--accent-soft)}tr:hover td{background:var(--surface2)}.td-mono{font-family:var(--mono);font-size:12px;color:var(--text2)}.form-group{display:flex;flex-direction:column;gap:6px}label{font-size:12px;font-weight:600;color:var(--text2)}input,select,textarea{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:13px;padding:9px 12px;transition:border-color var(--transition),box-shadow var(--transition);outline:0;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}textarea{resize:vertical;min-height:80px}select option{background:var(--surface)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.input-error{border-color:var(--red)!important;box-shadow:0 0 0 3px var(--red-bg)!important}.field-error-msg{font-size:11px;color:var(--red);margin-top:2px;font-weight:500;animation:fadeIn .15s ease}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);animation:fadeIn .15s ease}.modal-overlay.hidden{display:none}.modal{background:var(--glass-sidebar);border:1px solid var(--glass-border);border-radius:14px;width:100%;max-width:560px;box-shadow:var(--shadow);max-height:90vh;overflow-y:auto;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.modal-lg{max-width:720px}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:16px;font-weight:700}.modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.close-btn{background:var(--surface2);border:none;color:var(--text2);cursor:pointer;width:28px;height:28px;border-radius:6px;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.close-btn:hover{background:var(--red-bg);color:var(--red)}.kanban-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px}.kanban-col{min-width:260px;max-width:260px;display:flex;flex-direction:column;gap:10px}.kanban-col-header{display:flex;align-items:center;justify-content:space-between;padding:8px 2px}.kanban-col-title{font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:7px}.col-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kanban-count{background:var(--surface2);color:var(--text2);padding:2px 7px;border-radius:99px;font-size:11px;font-weight:600}.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;cursor:pointer;transition:all var(--transition)}.kanban-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.kanban-card[draggable]{cursor:grab}.kanban-card[draggable]:active{cursor:grabbing}.kanban-card.dragging{opacity:.4;transform:rotate(2deg)}.kanban-col.drag-over{border:2px dashed var(--accent);background:rgba(26,115,232,.05);border-radius:var(--radius)}.kanban-card-title{font-size:13px;font-weight:600;margin-bottom:8px;line-height:1.4}.kanban-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.kanban-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.priority-dot{width:6px;height:6px;border-radius:50%}.p-alta{background:var(--red)}.p-media{background:var(--yellow)}.p-baixa{background:var(--green)}.kanban-add-btn{background:var(--surface2);border:1px dashed var(--border2);border-radius:var(--radius);padding:10px;text-align:center;color:var(--text3);font-size:12.5px;cursor:pointer;transition:all var(--transition)}.kanban-add-btn:hover{background:var(--surface);color:var(--accent);border-color:var(--accent)}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:flex;gap:14px;position:relative}.timeline-item:not(:last-child) .timeline-line{position:absolute;left:15px;top:28px;bottom:-4px;width:2px;background:var(--border)}.timeline-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;z-index:1}.timeline-content{flex:1;padding-bottom:20px}.timeline-title{font-size:13px;font-weight:600}.timeline-time{font-size:11px;color:var(--text3);margin-top:2px}.tabs{display:flex;gap:2px;background:var(--bg3);padding:3px;border-radius:var(--radius-sm);width:fit-content;margin-bottom:16px}.tab{padding:7px 16px;border-radius:5px;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);color:var(--text3)}.tab.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}.progress-bar{height:6px;background:var(--border);border-radius:99px;overflow:hidden}.progress-fill{height:100%;border-radius:99px;background:var(--accent)}.progress-fill.green{background:var(--green)}.progress-fill.yellow{background:var(--yellow)}.progress-fill.red{background:var(--red)}.avatar-group{display:flex}.avatar-sm{width:24px;height:24px;border-radius:50%;border:2px solid var(--surface);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;margin-left:-6px}.avatar-sm:first-child{margin-left:0}.empty-state{text-align:center;padding:48px 24px;color:var(--text3)}.empty-state .empty-icon{font-size:48px;margin-bottom:16px;opacity:.4;filter:grayscale(.3)}.empty-state .empty-title{font-size:15px;font-weight:700;color:var(--text2);margin-bottom:8px}.empty-state .empty-desc{font-size:13px;line-height:1.6;max-width:320px;margin:0 auto 16px}.empty-state .btn{margin-top:4px}#toast-container{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column;gap:8px}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;gap:10px;min-width:280px;box-shadow:var(--shadow);animation:slideUp .3s ease;font-size:13px;font-weight:500}.toast.success{border-left:3px solid var(--green)}.toast.error{border-left:3px solid var(--red)}.toast.info{border-left:3px solid var(--accent)}.toast.warning{border-left:3px solid var(--yellow)}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sync-indicator{font-size:12px;font-weight:500;white-space:nowrap;transition:opacity .3s ease}.sync-idle{opacity:0}.sync-syncing{color:var(--accent);animation:pulse-sync 1.2s infinite}.sync-retrying{color:var(--yellow)}.sync-done{color:var(--green);opacity:1}.sync-error{color:var(--red)}@keyframes pulse-sync{0%,100%{opacity:1}50%{opacity:.4}}#sw-update-banner{position:fixed;bottom:24px;left:24px;z-index:998;background:var(--accent);color:#fff;padding:12px 20px;border-radius:var(--radius);box-shadow:var(--shadow);display:none;align-items:center;gap:12px;font-size:13px;font-weight:600;cursor:pointer;animation:slideUp .3s ease}#sw-update-banner:hover{background:var(--accent2)}.anexo-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:var(--text);transition:border-color var(--transition)}.anexo-item:hover{border-color:var(--accent)}.anexo-icon{font-size:18px;flex-shrink:0}.anexo-info{flex:1;min-width:0;display:flex;flex-direction:column}.anexo-name{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anexo-size{font-size:11px;color:var(--text3)}.anexo-download{color:var(--accent);font-size:14px;flex-shrink:0}.divider{height:1px;background:var(--border);margin:16px 0}.search-wrap{position:relative}.search-wrap input{padding-left:34px}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text3);font-size:14px;pointer-events:none}.filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-row .search-wrap{flex:1;min-width:200px}[data-tip]{position:relative}[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--surface2);color:var(--text);font-size:11.5px;padding:5px 10px;border-radius:var(--radius-sm);white-space:nowrap;border:1px solid var(--border);pointer-events:none;z-index:300}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}.checklist-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.checklist-item:last-child{border-bottom:none}.checklist-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent);flex-shrink:0;margin-top:1px}.checklist-label{flex:1;font-size:13px}.checklist-label.done{text-decoration:line-through;color:var(--text3)}.checklist-required{font-size:10px;color:var(--red);font-weight:600;margin-top:2px}.mini-chart{display:flex;align-items:flex-end;gap:4px;height:50px}.chart-bar{flex:1;border-radius:3px 3px 0 0;transition:all .4s ease;opacity:.7;min-width:8px}.chart-bar:hover{opacity:1}.currency-input{position:relative}.currency-input::before{content:'R$';position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text3);font-size:13px;pointer-events:none}.currency-input input{padding-left:32px}.detail-row{display:flex;gap:4px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.detail-row:last-child{border-bottom:none}.detail-key{width:160px;flex-shrink:0;color:var(--text3);font-weight:500}.detail-val{flex:1;color:var(--text);font-weight:500}.activity-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.activity-item:last-child{border-bottom:none}.activity-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.activity-text{flex:1;font-size:12.5px;line-height:1.5;color:var(--text2)}.activity-text strong{color:var(--text)}.activity-time{font-size:11px;color:var(--text3);margin-top:2px}.counter{font-size:11px;color:var(--text3);background:var(--bg3);padding:2px 8px;border-radius:99px;font-family:var(--mono)}.approval-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;gap:14px;transition:border-color var(--transition)}.approval-card:hover{border-color:var(--border2)}.approval-meta{flex:1}.approval-title{font-size:14px;font-weight:600;margin-bottom:4px}.approval-info{font-size:12px;color:var(--text3);display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.approval-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end;justify-content:center}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media (max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.grid-3,.three-col{grid-template-columns:1fr}.form-row,.two-col{grid-template-columns:1fr}}#sidebar-toggle{display:none;position:fixed;top:14px;left:14px;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:34px;height:34px;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--text2);transition:all var(--transition)}#sidebar-toggle:hover{background:var(--surface2);color:var(--accent)}@media (max-width:1024px){#sidebar-toggle{display:flex}#sidebar{transform:translateX(-100%)}#sidebar.open{transform:translateX(0);box-shadow:4px 0 24px rgba(0,0,0,.5)}#main{margin-left:0}#topbar{padding-left:58px}.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99;display:none}.sidebar-overlay.visible{display:block}}#global-search-wrap{position:relative;flex:1;max-width:360px}#global-search-wrap input{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;padding:7px 12px 7px 34px;width:100%;transition:border-color var(--transition),box-shadow var(--transition);outline:0}#global-search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}#global-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text3);font-size:14px;pointer-events:none}#global-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:400px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:300;max-height:480px;overflow-y:auto;display:none}#global-search-results.visible{display:block}.gsr-section{padding:8px 0;border-bottom:1px solid var(--border)}.gsr-section:last-child{border-bottom:none}.gsr-label{font-size:10px;font-weight:700;color:var(--text3);letter-spacing:1px;text-transform:uppercase;padding:4px 14px 6px}.gsr-item{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;transition:background var(--transition)}.gsr-item:hover{background:var(--surface)}.gsr-item-icon{font-size:16px;flex-shrink:0}.gsr-item-main{flex:1;min-width:0}.gsr-item-title{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gsr-item-sub{font-size:11px;color:var(--text3);margin-top:1px}.gsr-item-badge{flex-shrink:0}.gsr-empty{padding:20px 14px;text-align:center;color:var(--text3);font-size:13px}th.sortable{cursor:pointer;user-select:none}th.sortable:hover{color:var(--accent)}th.sortable::after{content:' ↕';opacity:.4;font-size:10px}th.sort-asc::after{content:' ↑';opacity:1;color:var(--accent)}th.sort-desc::after{content:' ↓';opacity:1;color:var(--accent)}@media (max-width:768px){.grid-4{grid-template-columns:1fr 1fr}.grid-2,.two-col{grid-template-columns:1fr}.modal{max-width:95vw}.modal-body{padding:16px}.modal-footer,.modal-header{padding:14px 16px}.kanban-col{min-width:220px;max-width:none}.kanban-board{flex-wrap:nowrap}.filter-row{flex-wrap:wrap;gap:8px}.filter-row input,.filter-row select{font-size:12px}#topbar{padding:0 14px;gap:10px}.page-title{font-size:14px}.stat-card{padding:14px 16px}.stat-value{font-size:22px}table{font-size:12px}td,th{padding:8px 10px}.approval-card{flex-direction:column;gap:10px}.approval-actions{flex-direction:row;align-items:center}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:480px){.grid-2,.grid-3,.grid-4,.three-col,.two-col{grid-template-columns:1fr}.modal{max-width:100vw;max-height:100vh;border-radius:0;margin:0}.modal-overlay{padding:0}.modal-lg{max-width:100vw}.kanban-board{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.kanban-col{min-width:85vw;max-width:85vw;scroll-snap-align:start}.stat-value{font-size:20px}.stat-label{font-size:11px}.btn{padding:10px 14px;font-size:12px;min-height:44px}.btn-sm{padding:8px 12px;font-size:11px;min-height:38px}.nav-item{padding:12px 10px;min-height:44px}#topbar{flex-wrap:wrap;height:auto;min-height:var(--header-h);padding:8px 10px}#global-search-wrap{max-width:100%;order:10;flex-basis:100%}#global-search-results{min-width:100%;max-width:100vw;overflow-x:hidden}.rel-tabs{gap:2px}.rel-tab{padding:6px 12px;font-size:12px}.bar-chart{height:100px}.donut-wrap{width:90px;height:90px}.donut-val{font-size:16px}.sidebar-logo .logo-text{font-size:14px}}@media print{#sidebar,#sidebar-toggle,#toast-container,#topbar,#topbar-new-btn,.approval-actions,.btn,.filter-row,.modal-overlay,.tabs{display:none!important}#main{margin-left:0!important}body{background:#fff!important;color:#000!important}.card{border:1px solid #ccc!important;background:#fff!important;box-shadow:none!important}.badge{border:1px solid #ccc}.page{display:block!important}.page:not(.active){display:none!important}table{width:100%;border-collapse:collapse}td,th{border:1px solid #ddd;padding:6px 10px;font-size:11px;color:#000!important}.print-header{display:block!important;margin-bottom:16px}}.print-header{display:none}.rel-tabs{display:flex;gap:4px;margin-bottom:18px;flex-wrap:wrap}.rel-tab{padding:7px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);color:var(--text2);background:var(--bg3);transition:all var(--transition)}.rel-tab:hover{background:var(--surface);color:var(--text)}.rel-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.bar-chart{display:flex;align-items:flex-end;gap:8px;height:140px;padding:0 4px 0}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.bar-fill{width:100%;border-radius:4px 4px 0 0;transition:height .5s ease;min-height:4px;position:relative;cursor:pointer}.bar-fill:hover{filter:brightness(1.2)}.bar-fill[data-tip]:hover::after{bottom:calc(100% + 4px);font-size:11px}.bar-label{font-size:10px;color:var(--text3);text-align:center;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56px}.bar-value{font-size:10px;font-weight:700;color:var(--text2)}.chart-axis-y{display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:var(--text3);height:140px;padding:4px 0;text-align:right;margin-right:4px}.donut-wrap{position:relative;width:110px;height:110px;flex-shrink:0}.donut-wrap svg{transform:rotate(-90deg)}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-val{font-size:20px;font-weight:700;line-height:1}.donut-sub{font-size:10px;color:var(--text3)}.donut-legend{display:flex;flex-direction:column;gap:6px}.donut-leg-item{display:flex;align-items:center;gap:7px;font-size:12px}.donut-leg-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sparkline-wrap{position:relative;overflow:visible}.sparkline-tooltip{position:absolute;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;font-size:11px;color:var(--text);pointer-events:none;white-space:nowrap;z-index:10;display:none}.rank-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.rank-item:last-child{border-bottom:none}.rank-num{width:24px;height:24px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.rank-num.gold{background:rgba(245,183,49,.2);color:var(--yellow)}.rank-num.silver{background:rgba(139,150,184,.2);color:var(--text2)}.rank-num.bronze{background:rgba(251,140,74,.2);color:var(--orange)}.rank-bar-wrap{flex:1}.rank-bar{height:6px;border-radius:99px;background:var(--border);overflow:hidden;margin-top:3px}.rank-bar-fill{height:100%;border-radius:99px;transition:width .5s ease}.rank-val{font-size:12px;font-weight:700;text-align:right;flex-shrink:0;min-width:60px}.insight-card{background:var(--bg3);border-radius:var(--radius-sm);padding:12px 14px;display:flex;gap:12px;align-items:flex-start}.insight-icon{font-size:20px;flex-shrink:0}.insight-text{font-size:12.5px;color:var(--text2);line-height:1.5}.insight-text strong{color:var(--text)}@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--bg3) 25%,var(--surface2) 50%,var(--bg3) 75%);background-size:800px 100%;animation:shimmer 1.5s infinite linear;border-radius:var(--radius-sm)}.skeleton-text{height:14px;width:100%;margin-bottom:8px}.skeleton-text.short{width:60%}.skeleton-text.xs{width:40%}.skeleton-card{height:120px;border-radius:var(--radius)}.skeleton-row{height:44px;width:100%;margin-bottom:4px}.skeleton-avatar{width:32px;height:32px;border-radius:50%}.skeleton-stat{height:80px;border-radius:var(--radius)}.filter-pills{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.filter-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;font-size:11.5px;font-weight:600;background:var(--bg3);color:var(--text2);border:1px solid var(--border);cursor:pointer;transition:all var(--transition);white-space:nowrap}.filter-pill:hover{background:var(--surface2);color:var(--text)}.filter-pill.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.filter-pill .pill-remove{width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;background:0 0;transition:background var(--transition);cursor:pointer;line-height:1}.filter-pill .pill-remove:hover{background:var(--red-bg);color:var(--red)}.filter-pill-count{font-size:10px;background:var(--accent);color:#fff;padding:1px 5px;border-radius:99px;font-weight:700}.page-enter{animation:pageEnter .25s ease forwards}.page-exit{animation:pageExit .15s ease forwards}@keyframes pageEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pageExit{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.breadcrumbs{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text3)}.breadcrumbs a{color:var(--text3);text-decoration:none;transition:color var(--transition)}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs .bc-sep{opacity:.4;font-size:10px}.breadcrumbs .bc-current{color:var(--text);font-weight:600}.row-checkbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.mass-actions-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-sm);margin-bottom:12px;font-size:13px;animation:fadeIn .2s ease}.mass-actions-bar .selected-count{font-weight:700;color:var(--accent)}.shortcuts-panel{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}.shortcuts-panel .shortcuts-content{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 28px;max-width:480px;width:100%;box-shadow:var(--shadow-lg)}.shortcuts-panel .shortcut-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.shortcuts-panel .shortcut-row:last-child{border-bottom:none}.shortcuts-panel .shortcut-key{background:var(--bg3);border:1px solid var(--border2);padding:2px 8px;border-radius:4px;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--text2)}#login-page{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--bg1);font-family:'DM Sans',sans-serif}.login-card{width:100%;max-width:420px;margin:20px;background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:40px 36px;box-shadow:0 8px 32px rgba(0,0,0,.3)}.login-logo{display:flex;align-items:center;gap:14px;justify-content:center;margin-bottom:32px}.login-field{margin-bottom:16px}.login-field label{display:block;font-size:12px;font-weight:600;color:var(--text2);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.login-field input{width:100%;padding:12px 14px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-family:'DM Sans',sans-serif;transition:border-color .2s;box-sizing:border-box}.login-field input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,142,247,.15)}.login-field input::placeholder{color:var(--text3)}.login-btn{width:100%;padding:13px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;margin-top:8px;transition:background .2s,transform .1s}.login-btn:hover{background:var(--accent2);transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.login-switch{text-align:center;margin-top:18px;font-size:13px;color:var(--text3)}.login-switch a{color:var(--accent);text-decoration:none;font-weight:600}.login-switch a:hover{text-decoration:underline}.auth-error{color:#f55b5b;font-size:13px;text-align:center;min-height:20px;margin-bottom:8px}@media (max-width:480px){.login-card{padding:30px 24px}}