@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@500;600;700&display=swap";:root{--verde-primario:#2d5f3f;--verde-secundario:#4a7c59;--marrom-cafe:#6f4e37;--dourado:#c9a961;--bege-claro:#f5f1e8;--oliva-claro:#5a7330;--oliva-escuro:#3b5f2f;--cinza-texto:#2c3e2d;--cinza-bg:#f8f9fa;--cinza-borda:#e5e7eb;--branco:#fff;--surface:#fff;--surface-alt:#f8f9fa;--surface-hover:#f1f5f9;--text-primary:#2c3e2d;--text-muted:#6b7280;--border:#e5e7eb;--urg-critica:#dc2626;--urg-alta:#ea580c;--urg-media:#ca8a04;--urg-baixa:var(--verde-secundario);color:var(--text-primary);background:var(--cinza-bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}[data-theme=dark]{--cinza-texto:#e5e7eb;--cinza-bg:#0f172a;--cinza-borda:#334155;--branco:#1e293b;--surface:#1e293b;--surface-alt:#0f172a;--surface-hover:#334155;--text-primary:#e5e7eb;--text-muted:#94a3b8;--border:#334155;--bege-claro:#1f2937;color:var(--text-primary);background:var(--cinza-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2,h3,h4{color:var(--cinza-texto);margin:0;font-family:Poppins,Inter,sans-serif;font-weight:600}button{font:inherit;cursor:pointer;background:var(--verde-primario);color:#fff;border:1px solid #0000;border-radius:8px;padding:.55rem 1rem;transition:background .15s,transform 50ms}button:hover:not(:disabled){background:var(--verde-secundario)}button:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed}button.ghost{color:var(--text-primary);border-color:var(--border);background:0 0}button.ghost:hover{background:var(--surface-hover)}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:8px;width:100%;padding:.55rem .75rem}input:focus,select:focus,textarea:focus{border-color:var(--verde-secundario);outline:none;box-shadow:0 0 0 3px #4a7c5926}a{color:var(--verde-primario);text-decoration:none}a:hover{text-decoration:underline}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;box-shadow:0 1px 3px #0000000a}.badge{background:var(--surface-alt);color:var(--text-primary);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.app-shell{grid-template-columns:256px 1fr;min-height:100vh;transition:grid-template-columns .25s;display:grid}.app-shell.collapsed{grid-template-columns:64px 1fr}.sidebar{color:var(--branco);background:linear-gradient(#5a7330 0%,#3b5f2f 100%);flex-direction:column;gap:1rem;height:100vh;padding:1.5rem .75rem 1rem;transition:padding .25s;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:2px 0 12px #0000001a}.sidebar nav{flex:auto;min-height:0;overflow-y:auto}.app-shell.collapsed .sidebar{padding:1.25rem .5rem 4rem}.sidebar .brand{border-bottom:1px solid #ffffff2e;align-items:center;gap:.5rem;margin-bottom:.25rem;padding:0 .25rem 1rem;display:flex}.sidebar .brand-logo{object-fit:contain;background:#fffffff2;border-radius:10px;flex:1;min-width:0;height:56px;padding:4px 6px}.app-shell.collapsed .sidebar .brand-logo{object-fit:cover;object-position:78% 35%;flex:0 0 44px;width:44px;height:44px;padding:2px}.sidebar-toggle{color:#fff;cursor:pointer;background:#ffffff2e;border:1px solid #ffffff59;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:1px;height:30px;padding:0 7px;transition:all .18s;display:flex}.sidebar-toggle:hover{background:#ffffff52}.app-shell.collapsed .sidebar .brand{flex-direction:column;align-items:center;gap:.5rem}.app-shell.collapsed .sidebar-toggle{position:static;transform:none}.sidebar a{color:#ffffffd1;border-radius:8px;align-items:center;gap:.75rem;padding:.65rem .85rem;font-size:.92rem;font-weight:500;transition:all .18s;display:flex;position:relative}.sidebar a:hover{color:var(--branco);background:#ffffff1a;text-decoration:none;transform:translate(3px)}.sidebar a.active{color:var(--branco);background:#c9a9612e;font-weight:600}.sidebar a.active:before{content:"";background:var(--dourado);border-radius:0 4px 4px 0;width:4px;position:absolute;top:6px;bottom:6px;left:-.75rem}.sidebar .submenu-toggle{color:#ffffffd1;text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .85rem;font-size:.92rem;font-weight:500;transition:all .18s;display:flex}.sidebar .submenu-toggle:hover{color:var(--branco);background:#ffffff1a;transform:translate(3px)}.sidebar .submenu-toggle .left{align-items:center;gap:.75rem;display:flex}.sidebar .submenu-toggle .caret{opacity:.65}.sidebar .submenu{border-left:2px solid #c9a96166;flex-direction:column;gap:1px;margin-top:4px;margin-bottom:4px;margin-left:1.15rem;padding-left:.5rem;display:flex}.sidebar .submenu a{color:#ffffffb8;padding:.4rem .7rem;font-size:.82rem;font-weight:400}.sidebar .submenu a:hover{color:var(--branco);background:#ffffff14}.sidebar .submenu a.active:before{display:none}.sidebar .submenu a.active{color:var(--dourado);background:#c9a96138;font-weight:600}.sidebar .chat-launcher{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;margin-top:auto;margin-bottom:.5rem;padding:.55rem .75rem;font-size:.85rem;font-weight:600;transition:background .16s;display:flex}.sidebar .chat-launcher:hover{background:#fff3}.sidebar .chat-launcher .chat-mail{color:#7ec894}.sidebar .chat-launcher .chat-count{color:#fff;background:#16a34a;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.sidebar .chat-launcher.has-msg .chat-mail{color:#ef4444}.sidebar .chat-launcher.has-msg .chat-count{background:#ef4444}@keyframes chat-shake{0%,to{transform:rotate(0)}15%{transform:rotate(-14deg)}30%{transform:rotate(11deg)}45%{transform:rotate(-8deg)}60%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}}.sidebar .chat-launcher.has-msg .chat-mail{transform-origin:50% 20%;animation:1.1s ease-in-out infinite chat-shake}.sidebar .chat-launcher~.online-badge,.sidebar .chat-launcher+.user-info{margin-top:0}.app-shell.collapsed .sidebar .chat-launcher{flex-direction:column;gap:2px;padding:.45rem .3rem}.app-shell.collapsed .sidebar .chat-launcher .chat-count{padding:0 5px;font-size:9px}.sidebar .online-badge{color:#d7f0de;background:#4a7c5938;border:1px solid #7ec89459;border-radius:10px;align-items:center;gap:.5rem;margin-top:auto;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.82rem;font-weight:600;display:flex}.sidebar .online-badge .online-dot{background:#34d399;border-radius:50%;flex-shrink:0;width:9px;height:9px;animation:2s ease-in-out infinite online-pulse;box-shadow:0 0 0 3px #34d39940}@keyframes online-pulse{0%,to{opacity:1}50%{opacity:.45}}.sidebar .online-badge+.user-info{margin-top:0}.sidebar .user-info{background:#00000038;border:1px solid #ffffff14;border-radius:12px;margin-top:auto;padding:.85rem;font-size:.85rem}.sidebar .user-info .user-row{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.sidebar .user-avatar{background:linear-gradient(135deg, var(--dourado), #b68b3f);color:#2d5f3f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.85rem;font-weight:700;display:flex}.sidebar .user-info .name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.sidebar .user-info .email{color:#ffffffa6;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.sidebar .user-info .perfil{color:var(--dourado);text-transform:uppercase;letter-spacing:.5px;background:#c9a96126;border-radius:999px;margin-bottom:.6rem;padding:2px 8px;font-size:.7rem;display:inline-block}.sidebar .user-actions{gap:6px;display:flex}.sidebar .user-info .app-version{text-align:center;color:#ffffff8c;margin-top:8px;font-size:.7rem}.app-shell.collapsed .sidebar .user-info .app-version{display:none}.sidebar button.icon-btn,.sidebar button.logout{color:var(--branco);cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .7rem;font-size:.8rem;transition:all .18s;display:inline-flex}.sidebar button.icon-btn{padding:.45rem}.sidebar button.logout{flex:1}.sidebar button.icon-btn:hover,.sidebar button.logout:hover{background:#ffffff2e;border-color:#ffffff47}.app-shell.collapsed .sidebar a,.app-shell.collapsed .sidebar .submenu-toggle{justify-content:center;gap:0;padding:.65rem}.app-shell.collapsed .sidebar a>span,.app-shell.collapsed .sidebar .submenu-toggle .left>span,.app-shell.collapsed .sidebar .submenu-toggle .caret,.app-shell.collapsed .sidebar .submenu{display:none}.app-shell.collapsed .sidebar a.active:before{left:-.5rem}.app-shell.collapsed .sidebar a:hover,.app-shell.collapsed .sidebar .submenu-toggle:hover{transform:none}.app-shell.collapsed .sidebar .user-info{background:0 0;border:none;padding:.5rem}.app-shell.collapsed .sidebar .user-info .user-row{justify-content:center;margin-bottom:0}.app-shell.collapsed .sidebar .user-info .user-row>div:not(.user-avatar),.app-shell.collapsed .sidebar .user-info .perfil,.app-shell.collapsed .sidebar .user-info .user-actions{display:none}.mobile-toggle{z-index:100;background:var(--dourado);color:#3b5f2f;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;display:none;position:fixed;top:12px;left:12px;box-shadow:0 4px 12px #0003}.mobile-toggle:hover{filter:brightness(1.06)}.sidebar-backdrop{z-index:49;background:#00000059;display:none;position:fixed;inset:0}@media (width<=1024px){.app-shell{grid-template-columns:64px 1fr}}@media (width<=768px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:50;width:256px;padding:1.5rem .75rem 1rem;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-shell.collapsed .sidebar{padding:1.5rem .75rem 1rem}.app-shell.collapsed .sidebar a,.app-shell.collapsed .sidebar .submenu-toggle{justify-content:flex-start;gap:.75rem;padding:.65rem .85rem}.app-shell.collapsed .sidebar a>span,.app-shell.collapsed .sidebar .submenu-toggle .left>span,.app-shell.collapsed .sidebar .submenu-toggle .caret,.app-shell.collapsed .sidebar .submenu{display:initial}.app-shell.collapsed .sidebar .submenu{display:flex}.app-shell.collapsed .sidebar .brand-logo{object-fit:contain;object-position:center;flex:1;width:auto;height:56px;padding:4px 6px}.app-shell.collapsed .sidebar .user-info .user-row>div:not(.user-avatar),.app-shell.collapsed .sidebar .user-info .perfil,.app-shell.collapsed .sidebar .user-info .user-actions{display:initial}.app-shell.collapsed .sidebar .user-info .user-actions{display:flex}.app-shell.mobile-open .sidebar{transform:translate(0)}.app-shell.mobile-open .sidebar-backdrop{display:block}.mobile-toggle{display:flex}.main{padding-top:4rem}.main:before{left:0!important}}.main{background-image:url(/bg-agratech.jpeg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;padding:1.5rem 2rem;position:relative;overflow:auto}.main:before{content:"";pointer-events:none;z-index:0;background:#f4f1e8db;transition:left .25s;position:fixed;inset:0 0 0 256px}.app-shell.collapsed .main:before{left:64px}[data-theme=dark] .main:before{background:#0f172ae6}.main>*{z-index:1;position:relative}@media (width<=1024px){.main:before{left:64px}}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.page-header h1{font-size:1.5rem}.page-header .subtitle{color:#6b7280;margin-top:.25rem;font-size:.875rem}.login-bg{background-image:url(/bg-agratech.jpeg);background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative}.login-bg:before{content:"";pointer-events:none;background:linear-gradient(135deg,#3b5f2fd1,#5a7330b8);position:absolute;inset:0}.login-card{z-index:1;background:var(--surface);border-radius:16px;width:100%;max-width:400px;padding:2.25rem;position:relative;box-shadow:0 12px 40px #0003}.login-card h1{color:var(--verde-primario);text-align:center;font-size:1.5rem}.login-card .subtitle{text-align:center;color:#6b7280;margin-top:.25rem;margin-bottom:1.5rem;font-size:.875rem}.login-card label{margin-bottom:.85rem;font-size:.875rem;font-weight:500;display:block}.login-card .error{color:var(--urg-critica);text-align:center;margin-top:.5rem;font-size:.85rem}.login-card button[type=submit]{width:100%;margin-top:.5rem;padding:.7rem}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.kpi{background:var(--surface);border-left:4px solid var(--verde-primario);border-radius:12px;padding:1rem 1.25rem;box-shadow:0 1px 3px #0000000a}.kpi .label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.kpi .value{margin-top:.25rem;font-family:Poppins,sans-serif;font-size:1.75rem;font-weight:700}.kpi.warn{border-left-color:var(--urg-alta)}.kpi.danger{border-left-color:var(--urg-critica)}.kpi.success{border-left-color:var(--verde-secundario)}.kpi-modern{color:#fff;border-radius:16px;align-items:center;gap:1rem;padding:1.25rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 20px #0000001f}.kpi-modern:hover{transform:translateY(-2px);box-shadow:0 10px 28px #00000029}.kpi-modern .icon{color:#fff;background:#fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.kpi-modern .text{flex-direction:column;min-width:0;display:flex}.kpi-modern .value{color:#fff;font-family:Poppins,sans-serif;font-size:1.85rem;font-weight:700;line-height:1}.kpi-modern .label{opacity:.92;color:#fff;margin-top:6px;font-size:.85rem;font-weight:500}.kpi-modern.azul{background:linear-gradient(135deg,#3b82f6,#2563eb)}.kpi-modern.laranja{background:linear-gradient(135deg,#f59e0b,#d97706)}.kpi-modern.roxo{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.kpi-modern.verde{background:linear-gradient(135deg,#10b981,#059669)}.kpi-modern.vermelho{background:linear-gradient(135deg,#ef4444,#dc2626)}.kpi-modern.cinza{background:linear-gradient(135deg,#64748b,#475569)}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1rem;display:grid}.chart-card{background:var(--surface);border:1px solid #0000000a;border-radius:16px;padding:1.25rem;box-shadow:0 4px 20px #0000000f}.chart-card h3{margin-bottom:1rem;font-size:1rem;font-weight:600}.dash-toolbar{align-items:center;gap:.5rem;display:flex}.dash-period{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:.4rem;padding:.45rem .7rem;display:flex;box-shadow:0 2px 6px #0000000a}.dash-period input[type=date]{color:inherit;background:0 0;border:none;padding:0;font-family:inherit;font-size:.85rem}.dash-period input:focus{box-shadow:none;outline:none}.dash-period .sep{color:var(--text-muted);font-size:.8rem}.donut-wrap{position:relative}.donut-center{text-align:center;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.donut-center .val{font-family:Poppins,sans-serif;font-size:1.7rem;font-weight:700}.donut-center .lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:.72rem}.kanban{gap:1rem;min-height:calc(100vh - 200px);padding-bottom:1rem;display:flex;overflow-x:auto}.kanban-col{background:#eef0f3;border-radius:10px;flex-direction:column;flex:0 0 280px;gap:.5rem;max-height:calc(100vh - 220px);padding:.75rem;display:flex}.kanban-col h4{text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;align-items:center;padding:0 .25rem;font-size:.875rem;display:flex}.kanban-col h4 .count{color:#4b5563;background:#00000014;border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600}.kanban-col .col-list{flex-direction:column;flex:1;gap:.5rem;min-height:60px;padding:.25rem;display:flex;overflow-y:auto}.kanban-card{background:var(--surface);cursor:grab;border-left:3px solid var(--cinza-borda);-webkit-user-select:none;user-select:none;border-radius:8px;padding:.75rem;box-shadow:0 1px 3px #00000014}.kanban-card.dragging{opacity:.5;cursor:grabbing}.kanban-card .codigo{color:#6b7280;font-family:monospace;font-size:.7rem}.kanban-card .titulo{margin:.25rem 0 .5rem;font-size:.9rem;font-weight:600}.kanban-card .meta{flex-wrap:wrap;gap:.25rem;display:flex}.kanban-card .meta .urg-pill{color:#fff;border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:600}.kanban-card .footer{color:#6b7280;gap:.5rem;margin-top:.5rem;font-size:.75rem;display:flex}.kanban-empty{text-align:center;color:#9ca3af;padding:1rem;font-size:.8rem}.realtime-indicator{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .75rem;font-size:.75rem;display:inline-flex}.realtime-indicator .dot{background:#9ca3af;border-radius:50%;width:8px;height:8px}.realtime-indicator.live .dot{background:#16a34a;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.crud-table{background:var(--surface);border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0000000a}.crud-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.crud-header h1{font-size:1.4rem}.crud-actions{align-items:center;gap:.5rem;display:flex}.crud-search{background:var(--cinza-bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .65rem;display:flex}.crud-search input{background:0 0;border:none;width:200px;padding:0}.crud-search input:focus{box-shadow:none;outline:none}.crud-table-wrap{overflow-x:auto}.crud-table table{border-collapse:collapse;width:100%;font-size:.9rem}.crud-table th,.crud-table td{text-align:left;border-bottom:1px solid var(--border);padding:.65rem .75rem}.crud-table th{color:#4b5563;background:var(--cinza-bg);font-weight:600}.crud-table tbody tr:hover{background:#00000005}.crud-pagination{color:#6b7280;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;font-size:.85rem;display:flex}.modal-overlay{z-index:100;background:#00000073;justify-content:center;align-items:flex-start;padding-top:6vh;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:12px;flex-direction:column;max-width:95vw;max-height:88vh;display:flex;box-shadow:0 20px 60px #0000004d}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-header h2{font-size:1.1rem}.modal-body{flex-direction:column;gap:.85rem;padding:1.25rem;display:flex;overflow-y:auto}.modal-body label{color:#4b5563;margin-bottom:.35rem;font-size:.85rem;font-weight:500;display:block}.modal-body .field{flex-direction:column;display:flex}.modal-body .field-row{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.modal-body .checkbox-row{align-items:center;gap:.5rem;display:flex}.modal-body .checkbox-row input[type=checkbox]{width:auto}.modal-body .checkbox-row label{margin:0}.modal-footer{border-top:1px solid var(--border);background:var(--cinza-bg);border-radius:0 0 12px 12px;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;display:flex}.field-error{color:var(--urg-critica);margin-top:4px;font-size:.8rem}.picker{position:relative}.picker-trigger{border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;padding:4px;display:flex}.picker-trigger:hover{background:var(--surface-hover)}.picker-add{padding:4px 8px;font-size:12px}.picker-chips{flex-wrap:wrap;gap:4px;display:flex}.picker-popover{background:var(--surface);border:1px solid var(--border);z-index:50;border-radius:8px;min-width:280px;margin-top:4px;padding:8px;position:absolute;top:100%;left:0;box-shadow:0 10px 25px #0003}.picker-list{flex-direction:column;gap:2px;max-height:260px;margin-top:8px;display:flex;overflow-y:auto}.picker-item{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.picker-item:hover{background:var(--surface-hover)}.picker-item.active{background:#4a7c5926}.avatar-chip{background:var(--verde-secundario);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:inline-flex;position:relative}.avatar-chip.sm{width:22px;height:22px;font-size:10px}.avatar-x{background:var(--urg-critica);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;display:none;position:absolute;top:-4px;right:-4px}.avatar-chip:hover .avatar-x,.label-chip:hover .avatar-x{display:inline-flex}.label-chip{color:#fff;text-shadow:0 1px 1px #0000004d;border-radius:4px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex;position:relative}.planner-modal-overlay{z-index:200;background:#0009;justify-content:center;align-items:flex-start;padding:4vh 1rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.planner-modal{background:var(--surface);border-radius:12px;flex-direction:column;width:100%;max-width:950px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 30px 80px #00000080}.planner-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.planner-header .breadcrumb{color:#4f46e5;cursor:pointer;font-size:13px}.planner-header .codigo{color:var(--text-muted);font-family:monospace;font-size:13px}.planner-header .actions{align-items:center;gap:6px;display:flex}.planner-header .actions button{padding:6px 8px}.planner-header .save-status{color:var(--text-muted);margin-right:8px;font-size:12px}.planner-body{flex-direction:column;gap:14px;padding:16px 24px 24px;display:flex;overflow-y:auto}.planner-title-row{align-items:center;gap:12px;display:flex}.planner-title-row .completion-circle{border:2px solid var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}.planner-title-row .completion-circle.done{background:var(--verde-secundario);border-color:var(--verde-secundario);color:#fff}.planner-title-row input.title-input{background:0 0;border:1px solid #0000;flex:1;padding:6px 8px;font-size:18px;font-weight:600}.planner-title-row input.title-input:focus,.planner-title-row input.title-input:hover{border-color:var(--border);background:var(--surface)}.planner-grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.planner-grid-3 label{color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.planner-section{margin-top:8px}.planner-section-head{color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px;font-weight:600;display:flex}.planner-section-head .show-on-card{color:var(--text-muted);font-size:12px;font-weight:400}.planner-section-head .show-on-card input{width:auto;margin-right:4px}.planner-textarea{background:var(--surface-alt);border:1px solid var(--border);resize:vertical;border-radius:8px;width:100%;min-height:100px;padding:10px;font-family:inherit}.checklist-list{flex-direction:column;gap:4px;display:flex}.checklist-item{border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:flex}.checklist-item:hover{background:var(--surface-hover)}.checklist-item .check-circle{border:2px solid var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;width:18px;height:18px;padding:0}.checklist-item .check-circle.done{background:var(--verde-secundario);border-color:var(--verde-secundario)}.checklist-item input.text{color:var(--text-primary);background:0 0;border:none;flex:1;padding:2px 4px;font-size:14px}.checklist-item.done input.text{color:var(--text-muted);text-decoration:line-through}.checklist-item input.text:focus{background:var(--surface);border:1px solid var(--border);border-radius:4px}.activity-list{flex-direction:column;gap:8px;display:flex}.activity-item{background:var(--surface-alt);border-radius:6px;gap:10px;padding:8px;display:flex}.activity-item .avatar-chip{width:24px;height:24px;font-size:10px}.activity-item .meta{color:var(--text-muted);font-size:12px}.activity-item .desc{font-size:13px}.kanban2-header{flex-direction:column;gap:8px;margin-bottom:1rem;display:flex}.kanban2-tabs{border-bottom:1px solid var(--border);gap:2px;display:flex}.kanban2-tabs button{color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:8px 14px;font-weight:500}.kanban2-tabs button.active{color:var(--verde-primario);border-bottom-color:var(--verde-primario)}.kanban2-tabs button:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.kanban2-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.kanban2-search{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;align-items:center;gap:6px;max-width:320px;padding:6px 10px;display:flex}.kanban2-search input{background:0 0;border:none;padding:0}.kanban2-search input:focus{box-shadow:none;outline:none}.kanban2-action-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);padding:6px 12px;font-size:13px}.kanban2-action-btn:hover:not(:disabled){background:var(--surface-hover)}.kanban2-action-btn.active{background:var(--verde-secundario);color:#fff;border-color:var(--verde-secundario)}.kanban2-board{align-items:flex-start;gap:12px;min-height:calc(100vh - 240px);padding-bottom:12px;display:flex;overflow-x:auto}.kanban2-col{background:var(--surface-alt);border:1px solid var(--border);z-index:1;border-radius:10px;flex-direction:column;flex:0 0 320px;gap:6px;max-height:calc(100vh - 240px);padding:12px;display:flex;position:relative}.kanban2-col .col-head{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.kanban2-col .col-head h4{text-transform:uppercase;letter-spacing:.4px;font-size:13px}.kanban2-col .col-add{color:var(--verde-secundario);text-align:left;background:0 0;border:none;padding:4px 6px;font-size:13px}.kanban2-col .col-add:hover{background:var(--surface-hover)}.kanban2-col .col-list{flex-direction:column;flex:1;gap:8px;min-height:60px;padding:4px 2px;display:flex;overflow-y:auto}.kanban2-col.collapsed .col-list{display:none}.kanban2-col .col-collapsed-info{color:var(--text-muted);text-align:center;background:var(--surface);border:1px dashed var(--border);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:13px}.kanban2-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;gap:7px;padding:13px;transition:box-shadow .1s;display:flex}.kanban2-card:hover{box-shadow:0 4px 8px #0000001a}.kanban2-card.dragging{opacity:.5}.kanban2-card .labels-row{flex-wrap:wrap;gap:4px;display:flex}.kanban2-card .labels-row .label-chip{padding:1px 7px;font-size:11px}.kanban2-card .title-row{align-items:flex-start;gap:6px;display:flex}.kanban2-card .completion-circle{border:2px solid var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;width:18px;height:18px;margin-top:2px;padding:0}.kanban2-card .completion-circle.done{background:var(--verde-secundario);border-color:var(--verde-secundario)}.kanban2-card .titulo{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.kanban2-card .badges-row{color:var(--text-muted);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.kanban2-card .badges-row .badge-pill{background:var(--surface-alt);border-radius:4px;align-items:center;gap:3px;padding:1px 5px;display:inline-flex}.kanban2-card .badges-row .overdue{color:var(--urg-critica);font-weight:600}.kanban2-card .avatars-row{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.kanban2-card .avatars-row .prazo-label{color:var(--text-muted);font-size:12px}.kanban2-card .avatars-stack{display:flex}.kanban2-card .avatars-stack .avatar-chip{border:2px solid var(--surface);width:26px;height:26px;margin-left:-6px;font-size:10px}.kanban2-card .avatars-stack .avatar-chip:first-child{margin-left:0}.filters-sidebar{background:var(--surface);border-left:1px solid var(--border);z-index:60;flex-direction:column;width:320px;animation:.2s slidein;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #00000026}@keyframes slidein{0%{transform:translate(100%)}to{transform:translate(0)}}.filters-sidebar .head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.filters-sidebar .head h3{font-size:16px}.filters-sidebar .body{flex-direction:column;flex:1;gap:4px;padding:8px 12px;display:flex;overflow-y:auto}.filter-group{border-bottom:1px solid var(--border);padding:8px 4px}.filter-group .toggle{color:var(--text-primary);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:6px 4px;font-size:13px;font-weight:500;display:flex}.filter-group .toggle:hover{background:var(--surface-hover)}.filter-group .content{flex-direction:column;gap:4px;padding:6px 8px 8px 24px;display:flex}.filter-group .content label{cursor:pointer;align-items:center;gap:6px;padding:4px 0;font-size:13px;display:flex}.filter-group .content label input{width:auto}.filters-sidebar .footer{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}@media (width<=768px){.main{padding:1rem}.kpi-grid,.charts-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.dash-toolbar{flex-wrap:wrap}.crud-table{padding:.75rem}.crud-header{flex-direction:column;align-items:stretch;gap:10px}.crud-actions{flex-wrap:wrap}.crud-search input{width:100%}.field-row{flex-direction:column;gap:0}.planner-modal{width:96vw;max-width:96vw}.planner-grid-3{grid-template-columns:1fr;gap:10px}.kanban2-board{gap:8px}.kanban2-col{flex:0 0 280px}}
