@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-sidebar:#0f172a;--bg-card:#ffffffb3;--border-color:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-sidebar:#cbd5e1;--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#6366f11a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--q1-bg:#fff1f2;--q1-border:#fecdd3;--q1-text:#9f1239;--q2-bg:#e0f2fe;--q2-border:#bae6fd;--q2-text:#0369a1;--q3-bg:#fef9c3;--q3-border:#fef08a;--q3-text:#854d0e;--q4-bg:#f1f5f9;--q4-border:#e2e8f0;--q4-text:#475569}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-primary:#090d16;--bg-secondary:#111827;--bg-sidebar:#0b0f19;--bg-card:#111827b3;--border-color:#1f2937;--text-primary:#f9fafb;--text-secondary:#d1d5db;--text-muted:#6b7280;--text-sidebar:#9ca3af;--primary:#818cf8;--primary-hover:#6366f1;--primary-light:#818cf826;--q1-bg:#311018;--q1-border:#881337;--q1-text:#fda4af;--q2-bg:#0c2b42;--q2-border:#0369a1;--q2-text:#7dd3fc;--q3-bg:#2d260c;--q3-border:#713f12;--q3-text:#fef08a;--q4-bg:#1e293b;--q4-border:#334155;--q4-text:#cbd5e1}}[data-theme=dark]{--bg-primary:#090d16;--bg-secondary:#111827;--bg-sidebar:#0b0f19;--bg-card:#111827b3;--border-color:#1f2937;--text-primary:#f9fafb;--text-secondary:#d1d5db;--text-muted:#6b7280;--text-sidebar:#9ca3af;--primary:#818cf8;--primary-hover:#6366f1;--primary-light:#818cf826;--q1-bg:#311018;--q1-border:#881337;--q1-text:#fda4af;--q2-bg:#0c2b42;--q2-border:#0369a1;--q2-text:#7dd3fc;--q3-bg:#2d260c;--q3-border:#713f12;--q3-text:#fef08a;--q4-bg:#1e293b;--q4-border:#334155;--q4-text:#cbd5e1}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .3s,border-color .3s}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}#root{min-height:100vh;display:flex}.app-container{width:100%;min-height:100vh;display:flex}.sidebar{background-color:var(--bg-sidebar);width:280px;color:var(--text-sidebar);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;flex-shrink:0;height:100vh;padding:2rem 1.5rem;transition:transform .3s,width .3s;display:flex;position:sticky;top:0}.sidebar.fechada{border-right:none;width:0;padding:0;overflow:hidden;transform:translate(-100%)}.sidebar.aberta{border-right:1px solid var(--border-color);width:280px;padding:2rem 1.5rem;transform:translate(0)}.sidebar-toggle{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:.25rem;font-size:1.2rem;line-height:1}.sidebar-toggle:hover{background:#ffffff1a}.sidebar-overlay{z-index:99;opacity:0;pointer-events:none;background:#00000080;transition:opacity .3s;display:none;position:fixed;inset:0}.menu-hamburger{z-index:110;background:var(--bg-sidebar);color:#fff;cursor:pointer;width:40px;height:40px;box-shadow:var(--shadow-md);border:none;border-radius:8px;justify-content:center;align-items:center;font-size:1.3rem;transition:opacity .3s;display:flex;position:fixed;top:.75rem;left:.75rem}.menu-hamburger:hover{background:var(--primary)}.sidebar-header{align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.sidebar-logo{font-size:1.5rem}.sidebar-title{color:#fff;font-size:1.25rem;font-weight:700}.user-profile-box{background:#ffffff0d;border-radius:12px;margin-bottom:2rem;padding:1rem}.user-profile-name{color:#fff;margin-bottom:.25rem;font-weight:600}.user-profile-info{color:var(--text-muted);font-size:.75rem}.nav-menu{flex-direction:column;flex-grow:1;gap:.5rem;display:flex}.nav-item{color:var(--text-sidebar);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{background:var(--primary);color:#fff;font-weight:600}.logout-btn{color:#ef4444;background:0 0;border:1px solid #ffffff26;margin-top:auto}.logout-btn:hover{background:#ef44441a;border-color:#ef4444}.main-content{flex-grow:1;height:100vh;padding:2.5rem;overflow-y:auto}.page-header{margin-bottom:2.5rem}.page-title{letter-spacing:-.025em;margin-bottom:.5rem;font-size:2rem;font-weight:800}.page-subtitle{color:var(--text-secondary);font-size:1.05rem}.login-container{background:linear-gradient(135deg,#4f46e5 0%,#070b19 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:1.5rem;display:flex}.login-banner-wrapper{border-radius:8px;width:35%;margin:0 auto .5rem;overflow:hidden}.login-banner-img{border-radius:8px;width:100%;height:auto;display:block}.login-card{-webkit-backdrop-filter:blur(16px)saturate(180%);color:#fff;background:#ffffff1a;border:1px solid #ffffff26;border-radius:24px;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 25px 50px -12px #00000040}.login-header{text-align:center;margin-bottom:1.5rem}.login-icon{margin-bottom:.75rem;font-size:2.5rem;display:none}.login-title{margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:#ffffffb3;font-size:.95rem}.info-alert{background:#6366f133;border:1px solid #6366f14d;border-radius:14px;margin-bottom:2rem;padding:1.25rem;font-size:.85rem;line-height:1.6}.info-alert strong{color:#a5b4fc}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.login-card .form-label{color:#ffffffe6}.form-input{border:1px solid var(--border-color);background-color:var(--bg-secondary);width:100%;color:var(--text-primary);font-family:var(--font-family);border-radius:12px;outline:none;padding:.75rem 1rem;font-size:.95rem}.login-card .form-input{color:#fff;background-color:#ffffff14;border:1px solid #ffffff26}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-input-error{border-color:#ef4444!important}.form-input-error:focus{box-shadow:0 0 0 3px #ef444426!important}.field-error{color:#ef4444;margin-top:.35rem;font-size:.75rem;font-weight:500;display:block}.btn{font-weight:600;font-family:var(--font-family);cursor:pointer;text-align:center;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background-color:#0000000d}.btn-danger{color:#fff;background-color:#ef4444}.btn-danger:hover{background-color:#dc2626}.btn-block{width:100%}.flash-message{border-radius:12px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;font-weight:500;display:flex}.flash-success{color:#065f46;background-color:#d1fae5;border:1px solid #a7f3d0}.flash-warning{color:#92400e;background-color:#fef3c7;border:1px solid #fde68a}.flash-error{color:#991b1b;background-color:#fee2e2;border:1px solid #fca5a5}.matrix-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2.5rem;display:grid}@media (width<=1200px){.matrix-grid{gap:1rem}}@media (width<=768px){.matrix-grid{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.5rem}}.quadrant-card{box-shadow:var(--shadow-md);border-style:solid;border-width:1px;border-radius:16px;flex-direction:column;min-height:240px;padding:1.5rem;display:flex}.quadrant-q1{background-color:var(--q1-bg);border-color:var(--q1-border);color:var(--q1-text)}.quadrant-q2{background-color:var(--q2-bg);border-color:var(--q2-border);color:var(--q2-text)}.quadrant-q3{background-color:var(--q3-bg);border-color:var(--q3-border);color:var(--q3-text)}.quadrant-q4{background-color:var(--q4-bg);border-color:var(--q4-border);color:var(--q4-text)}.quadrant-header{justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:1.15rem;font-weight:700;display:flex}.quadrant-subtitle{opacity:.8;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.quadrant-content{flex-grow:1;overflow-x:auto}.empty-state{opacity:.7;margin-top:1rem;font-size:.9rem;font-style:italic}.quad-table{border-collapse:collapse;width:100%}.quad-table th{text-align:left;border-bottom:1px solid #00000014;padding:.5rem;font-size:.75rem;font-weight:700}.quad-table td{word-break:break-word;border-bottom:1px solid #0000000a;padding:.65rem .5rem;font-size:.85rem}.quad-table td:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.quad-row-atrasada{color:#b91c1c;background-color:#ef44441f;font-weight:600}.detail-item{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;padding:.75rem 1rem}.detail-label{color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.detail-value{font-size:.95rem;font-weight:600}.card-form{background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:16px;margin-bottom:2rem;padding:2rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:1.25rem;display:grid}.checkbox-group{align-items:center;gap:.5rem;margin-top:1rem;display:flex}.checkbox-input{width:1.2rem;height:1.2rem;accent-color:var(--primary);cursor:pointer;border-radius:4px}.expander{border:1px solid var(--border-color);border-radius:12px;margin-bottom:1rem;overflow:hidden}.expander-header{background-color:var(--bg-primary);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-weight:600;display:flex}.expander-content{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:1.25rem}.data-table-container{border:1px solid var(--border-color);background-color:var(--bg-secondary);border-radius:12px;margin-bottom:1.5rem;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{background-color:var(--bg-primary);color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:1rem;font-size:.85rem;font-weight:700}.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:1rem;font-size:.9rem}.data-table tbody tr:hover{background-color:var(--primary-light)}.columns-container{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:1.5rem;display:grid}@media (width<=768px){.columns-container{grid-template-columns:1fr}}.badge{border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.badge-pending{color:#92400e;background-color:#fef3c7}.badge-completed{color:#065f46;background-color:#d1fae5}.badge-danger{color:#991b1b;background-color:#fee2e2}.user-list-header{border-bottom:1px solid var(--border-color);background-color:var(--bg-primary);grid-template-columns:40px 1.4fr 1fr 1.4fr 1.4fr .8fr 70px 70px;padding:.75rem 1rem;font-size:.85rem;font-weight:700;display:grid}.user-list-row{border-bottom:1px solid var(--border-color);grid-template-columns:40px 1.4fr 1fr 1.4fr 1.4fr .8fr 70px 70px;align-items:center;padding:.75rem 1rem;font-size:.9rem;display:grid}.user-list-row:hover{background-color:var(--primary-light)}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;font-size:1rem;display:inline-flex}.icon-btn:hover{background-color:var(--border-color)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:80vh;animation:.2s modalFadeIn;display:flex;box-shadow:0 25px 50px -12px #00000040}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.1rem;font-weight:700;overflow:hidden}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:.25rem;font-size:1.5rem;line-height:1}.modal-close:hover{background:var(--border-color);color:var(--text-primary)}.modal-body{flex-grow:1;padding:1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}@media (width<=1200px){.matrix-grid{gap:1rem}.sidebar{width:220px;padding:1.25rem 1rem}.sidebar-title{font-size:1rem}.main-content{padding:2rem}.page-title{font-size:1.75rem}.quadrant-header{font-size:1rem}}@media (width<=1024px){.sidebar.aberta{width:260px;padding:1.5rem 1rem}.sidebar.fechada{width:0;padding:0}.sidebar-title{font-size:.9rem}.main-content{padding:1.5rem}.page-title{font-size:1.5rem}.page-header{margin-bottom:1.5rem}.quadrant-header{flex-direction:column;align-items:flex-start;gap:.25rem;font-size:1rem}.quad-table th,.quad-table td{white-space:nowrap}.card-form{padding:1.25rem}.modal-content{max-width:90vw}}@media (width<=768px){.app-container{flex-direction:column}.sidebar{z-index:100;border-right:1px solid var(--border-color);width:280px;height:100vh;box-shadow:var(--shadow-lg);border-bottom:none;flex-direction:column;padding:2rem 1.5rem;position:fixed;top:0;left:0}.sidebar.aberta{width:280px;padding:2rem 1.5rem;transform:translate(0)}.sidebar.fechada{width:280px;padding:2rem 1.5rem;transform:translate(-100%)}.sidebar-overlay.active{opacity:1;pointer-events:auto;display:block}.sidebar-toggle{justify-content:center;align-items:center;display:flex}.menu-hamburger{display:flex}.sidebar-header{flex-shrink:0;margin-bottom:1.5rem}.sidebar-logo{font-size:1.2rem}.sidebar-title{font-size:.9rem}.user-profile-box{display:block}.nav-menu{flex-direction:column;flex-grow:1;gap:.5rem;width:100%;margin-top:0}.nav-item{white-space:nowrap;flex:none;width:100%;min-width:0;padding:.65rem .85rem;font-size:.85rem}.main-content{height:auto;padding:4rem 1rem 1rem;overflow-y:visible}.page-title{font-size:1.25rem}.page-subtitle{font-size:.85rem}.matrix-grid{gap:.75rem;margin-bottom:1.5rem}.quadrant-card{min-height:160px;padding:1rem}.quadrant-header{font-size:.9rem}.quadrant-subtitle{font-size:.65rem}.quad-table th,.quad-table td{white-space:normal;word-break:break-word;padding:.4rem .35rem;font-size:.75rem}.quad-table{font-size:.75rem}.quad-table td:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.user-list-header,.user-list-row{white-space:nowrap;overflow-x:auto}.card-form{padding:1rem}.form-row,.columns-container{grid-template-columns:1fr}.data-table-container{max-height:200px}.data-table th,.data-table td{padding:.5rem;font-size:.8rem}.btn{padding:.5rem 1rem;font-size:.85rem}.modal-content{max-width:95vw;margin:.5rem}.modal-header{padding:1rem}.modal-header h3{font-size:.95rem}.modal-body{padding:1rem}.modal-footer{padding:.75rem 1rem}}@media (width<=480px){.sidebar.aberta,.sidebar.fechada{width:260px;padding:1.25rem 1rem}.sidebar-header{gap:.4rem}.sidebar-title{font-size:.8rem}.nav-item{padding:.5rem .65rem;font-size:.75rem}.main-content{padding:3.5rem .75rem .75rem}.page-title{font-size:1.1rem}.quadrant-card{min-height:120px;padding:.75rem}.quad-table th,.quad-table td{padding:.3rem .25rem;font-size:.65rem}.quad-table td:first-child{max-width:80px}.modal-content{max-width:98vw;max-height:90vh}.modal-header{padding:.75rem}.modal-header h3{font-size:.85rem}.modal-body{padding:.75rem}.modal-footer{flex-wrap:wrap;padding:.5rem .75rem}.btn{padding:.4rem .75rem;font-size:.8rem}.form-row{gap:.75rem}}.quadrant-card[draggable=true]:active,.quadrant-card[draggable=true] .quadrant-content:active{opacity:.7}.quadrant-card.quadrant-q1.drag-over,.quadrant-card.quadrant-q2.drag-over,.quadrant-card.quadrant-q3.drag-over,.quadrant-card.quadrant-q4.drag-over{outline:2px dashed var(--primary);outline-offset:-2px}
