@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}:root{--primary:#4285f4;--primary-light:#5c9dff;--primary-dark:#3367d6;--accent:#8b5cf6;--success:#34a853;--warning:#fbbc04;--error:#ea4335;--bg:#0f172a;--bg-card:#1e293b;--bg-input:#334155;--text:#f1f5f9;--text-muted:#94a3b8;--border:#334155}.light{--primary:#1a73e8;--primary-light:#4285f4;--primary-dark:#1557b0;--accent:#7c3aed;--success:#34a853;--warning:#fbbc04;--error:#ea4335;--bg:#f8f9fa;--bg-card:#fff;--bg-input:#f4f7fa;--text:#202124;--text-muted:#5f6368;--border:#dadce0}.light .sidebar{background:#fff!important;border-right:1px solid #dadce0}.light .sidebar .logo-text{color:#202124!important;font-weight:500!important}.light .sidebar .logo-icon{background:linear-gradient(135deg,var(--primary),var(--accent))!important;color:#fff!important;box-shadow:0 4px 10px rgba(26,115,232,.2)!important}.light .sidebar .logo{border-bottom-color:#e8eaed!important}.light .sidebar .nav-label{color:#5f6368!important}.light .sidebar .nav-item{color:#202124!important}.light .sidebar .nav-item:hover{background:#f1f3f4!important}.light .sidebar .nav-item.active{background:rgba(66,133,244,.1)!important;color:#1a73e8!important}.light .sidebar .nav-item.active:before{background:#e8f0fe}.light .sidebar .nav-item.active i{color:#1a73e8!important}.light .sidebar .nav-item i{color:#5f6368!important}.light .sidebar .user-card{background:#f8f9fa!important;border:1px solid #e8eaed!important}.light .sidebar .user-name{color:#202124!important;font-weight:500!important}.light .sidebar .user-role{color:#5f6368!important}.light .sidebar .user-avatar{background:linear-gradient(135deg,#4285f4,#34a853)!important;color:#fff!important}.light .sidebar .theme-toggle{background:#f8f9fa!important;border-color:#e8eaed!important}.light .sidebar .theme-toggle:hover{background:#f1f3f4!important}.light .card{box-shadow:0 1px 2px rgba(0,0,0,.08);background:#fff;border:1px solid #e8eaed}.light .stat-card{background:#fff;border:1px solid var(--border);border-radius:12px;transition:all .2s}.light .stat-card:hover{transform:translateY(-2px);box-shadow:0 2px 8px rgba(0,0,0,.08)}.light .stat-icon{border:none!important}.light .stat-icon,.light .stat-icon i{color:#fff!important}.light .stat-value{color:#202124;font-weight:600}.light .stat-label{color:#5f6368;font-weight:500}.light .card-title{color:#202124}.light .btn-primary{background:#4285f4;color:#fff}.light .btn-primary i{color:#fff!important}.light .btn-primary:hover{background:#3367d6}.light .btn-secondary{background:#fff;border:1px solid #dadce0;color:#5f6368}.light .btn-secondary:hover{background:#f1f3f4;color:#202124;border-color:#dadce0}.light .btn-ghost{color:#5f6368}.light .btn-ghost:hover{background:#f1f3f4;color:#202124}.light .form-input,.light .form-select{background:#fff;border:1px solid #dadce0;color:#202124}.light .form-input:focus,.light .form-select:focus{border-color:#4285f4;box-shadow:0 0 0 1px #4285f4}.light .modal{background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.1)}.light .modal-title{color:#202124}.light .modal-close{color:#5f6368}.light .modal-close:hover{color:#202124;background:#f1f3f4}.light .data-table th{color:#5f6368;background:#f8f9fa}.light .data-table td{border-bottom-color:#e8eaed}.light .data-table tr:hover{background:#f8f9fa}.light .filters-bar{border-radius:12px;padding:12px}.light .filter-select,.light .search-input{background:#fff;border:1px solid #dadce0;border-radius:8px;color:#202124}.light .filter-select:hover,.light .search-input:hover{border-color:#4285f4}.light .page-title{color:#202124}.light .gantt-header,.light .gantt-label{background:#f8f9fa}.light .gantt-row{border-bottom-color:#e8eaed}.light .gantt-row-label{color:#4285f4}.light .gantt-bar.planned{background:#4285f4}.light .gantt-bar.real{background:#34a853}.light .comparison-row:hover{background:rgba(66,133,244,.05)}.light .action-popup{background:#fff;border:1px solid #dadce0;box-shadow:0 2px 6px rgba(0,0,0,.08)}.light .action-popup button:hover{background:#f1f3f4}.light .detail-stats{background:#f8f9fa}.light .detail-stat-value{color:#202124}.light .detail-stat-label{color:#5f6368}.app-container{display:grid;grid-template-columns:220px 1fr;min-height:100vh;transition:grid-template-columns .3s}.app-container.collapsed{grid-template-columns:60px 1fr}.sidebar{background:var(--bg-card);border-right:1px solid var(--border);padding:20px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;transition:all .3s;overflow:visible;z-index:600}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.app-container.collapsed .sidebar{padding:20px 10px}.app-container.collapsed .logo-text,.app-container.collapsed .nav-item span,.app-container.collapsed .nav-label,.app-container.collapsed .user-card{display:none}.app-container.collapsed .nav-item{justify-content:center;padding:10px}.app-container.collapsed .logo,.sidebar-toggle{justify-content:center}.sidebar-toggle{position:absolute;right:-12px;top:70px;width:24px;height:24px;background:var(--primary);border-radius:50%;display:flex;align-items:center;cursor:pointer;z-index:601;box-shadow:0 1px 3px rgba(0,0,0,.15)}.sidebar-toggle:hover{background:var(--primary-dark)}.logo{gap:12px;padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:20px;transition:all .3s ease}.logo,.logo-icon{display:flex;align-items:center}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:10px;justify-content:center;box-shadow:0 4px 10px rgba(66,133,244,.2);border:1px solid hsla(0,0%,100%,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.logo:hover .logo-icon{transform:rotate(8deg) scale(1.05);box-shadow:0 6px 15px rgba(66,133,244,.35)}.logo-text{font-size:20px;font-weight:500;letter-spacing:-.5px}.nav-section{margin-bottom:16px}.nav-label{font-size:11px;text-transform:uppercase;margin-bottom:8px;letter-spacing:.8px}.nav-item,.nav-label{font-weight:500;color:var(--text-muted)}.nav-item{position:relative;display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:0 24px 24px 0;cursor:pointer;transition:all .2s;margin-bottom:2px;font-size:14px;text-decoration:none}.nav-item:hover{background:rgba(66,133,244,.1);color:var(--text)}.nav-item.active,.nav-item.active:before{background:rgba(66,133,244,.2)}.nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:100%;border-radius:0 24px 24px 0;z-index:-1}.nav-item.active i{color:#4285f4}.nav-item i{width:20px;text-align:center;font-size:16px}.main{padding:24px;overflow-y:auto;flex:1 1}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:28px;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:12px;gap:12px;margin-bottom:20px}.stat-card{background:linear-gradient(145deg,var(--bg-card),#233045);border-radius:16px;padding:16px 18px;border:1px solid hsla(0,0%,100%,.05);box-shadow:0 4px 12px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.04);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));opacity:0;transition:opacity .3s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 20px rgba(0,0,0,.25);border-color:hsla(0,0%,100%,.08)}.stat-card:hover:before{opacity:1}.stat-icon{width:40px;height:40px;border-radius:12px;justify-content:center;font-size:17px;color:#fff;flex-shrink:0;box-shadow:0 4px 10px rgba(0,0,0,.2)}.stat-card-inner,.stat-icon{display:flex;align-items:center}.stat-card-inner{gap:12px}.stat-card-meta{flex:1 1;min-width:0;overflow:hidden}.stat-value{font-size:22px;font-weight:800;letter-spacing:-.5px;line-height:1.1;margin-bottom:2px}.stat-label,.stat-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-label{font-weight:600;text-transform:uppercase;letter-spacing:.6px}.stat-label,.stat-sublabel{font-size:10px;color:var(--text-muted)}.stat-sublabel{margin-top:5px;padding-top:5px;border-top:1px solid hsla(0,0%,100%,.05);opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-glow{position:absolute;bottom:-15px;right:-15px;width:60px;height:60px;border-radius:50%;opacity:.08;pointer-events:none}.card{background:linear-gradient(145deg,var(--bg-card),#1a2436);border-radius:20px;padding:28px;border:1px solid hsla(0,0%,100%,.03);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);margin-bottom:28px;transition:box-shadow .3s ease}.card:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.card-title{font-size:17px;font-weight:600;margin-bottom:16px}.card-header{display:flex;justify-content:space-between;margin-bottom:16px}.btn,.card-header{align-items:center}.btn{padding:10px 18px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;display:inline-flex;gap:8px;transition:box-shadow .2s,transform .1s,background-color .2s}.btn:hover{box-shadow:0 2px 6px rgba(0,0,0,.15)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--bg-input);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-ghost{background:transparent;color:var(--text-muted);padding:6px}.btn-ghost:hover{background:var(--bg-input);color:var(--text)}.btn-sm{padding:6px 12px;font-size:12px}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--error);color:#fff}.filters-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;padding:12px;background:#162032;border-radius:12px}.light .filters-bar{background:#f8f9fa}.filter-select,.search-input{padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;transition:border-color .2s,box-shadow .2s}.filter-select:hover,.search-input:hover{border-color:var(--primary)}.search-input{min-width:200px}.search-input::placeholder{color:var(--text-muted)}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;white-space:nowrap}.data-table td,.data-table th{border-bottom:1px solid var(--border)}.data-table td{padding:10px 12px;font-size:13px}.data-table tr:hover{background:var(--bg-input)}.data-table tr{transition:background .2s}.badge{padding:5px 10px;border-radius:20px;font-size:11px;font-weight:500;display:inline-block}.badge-success{background:rgba(16,185,129,.2);color:var(--success)}.badge-warning{background:rgba(245,158,11,.2);color:var(--warning)}.badge-primary{background:rgba(37,99,235,.2);color:var(--primary-light)}.badge-error{background:rgba(239,68,68,.2);color:var(--error)}.badge-purple{background:rgba(139,92,246,.2);color:var(--accent)}.progress-bar{height:8px;background:var(--bg-input);border-radius:4px;overflow:hidden;display:inline-block;min-width:60px}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.w-full{width:100%}.obra-name{color:var(--primary-light);font-weight:500;cursor:pointer;font-size:13px}.obra-name:hover{text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:1000}.modal-overlay.active{display:flex}.modal{background:linear-gradient(145deg,var(--bg-card),#233045);border:1px solid hsla(0,0%,100%,.05);border-radius:20px;width:90%;max-width:900px;max-height:90vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}.modal-sm{max-width:500px}.modal-lg{max-width:1100px}.modal::-webkit-scrollbar{width:6px}.modal::-webkit-scrollbar-track{background:transparent}.modal::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.modal::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-title{font-size:20px;font-weight:700}.modal-close{width:36px;height:36px;border-radius:50%;background:var(--bg-input);border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--border);color:var(--text)}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:12px}.tab{padding:8px 16px;border-radius:6px;cursor:pointer;color:var(--text-muted);font-size:13px;transition:all .2s;border:none;background:none}.tab:hover{background:var(--bg-input)}.tab.active{background:var(--primary);color:#fff}.tab.disabled{opacity:.4;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:span 2}.form-label{font-size:12px;font-weight:500;color:var(--text-muted)}.form-input,.form-select,.form-textarea{padding:12px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:#f1f5f9!important;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.2)}.form-textarea{resize:vertical;min-height:80px}.form-input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;opacity:.8}.form-input::-webkit-calendar-picker-indicator:hover{opacity:1}.form-select option{background-color:#1e293b;color:#f1f5f9}.form-input::placeholder,.form-textarea::placeholder{color:#94a3b8}.light .form-input,.light .form-select,.light .form-textarea{color:#202124!important;background:#fff;border-color:#dadce0}.light .form-input::-webkit-calendar-picker-indicator{filter:none}.light .form-select option{background-color:#fff;color:#202124}.light .form-input::placeholder,.light .form-textarea::placeholder{color:#5f6368}.action-menu{position:relative;display:inline-block}.action-popup{display:none;position:absolute;right:0;top:30px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:8px;z-index:100;box-shadow:0 4px 12px rgba(0,0,0,.3);min-width:120px}.action-popup button{width:100%;margin-bottom:4px;text-align:left}.action-popup button:last-child{margin-bottom:0}.action-popup button:hover{background:var(--bg-input)}.action-popup button.danger{color:var(--error)}.user-card{gap:12px;padding:12px;background:#1e293b;border:1px solid #334155;border-radius:12px;overflow:hidden}.user-avatar,.user-card{display:flex;align-items:center}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));justify-content:center;font-weight:600;font-size:14px;color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.15);flex-shrink:0}.user-name{font-size:14px;font-weight:600;color:var(--text)}.user-name,.user-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{font-size:12px;color:var(--text-muted)}.theme-toggle{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;color:var(--text-muted)}.theme-toggle-switch,.theme-toggle:hover{background:var(--bg-input)}.theme-toggle-switch{width:36px;height:20px;border-radius:10px;position:relative;transition:background .2s}.theme-toggle-knob{width:16px;height:16px;background:var(--text-muted);border-radius:50%;position:absolute;top:2px;left:2px;transition:left .2s}.light .theme-toggle-knob{left:18px;background:#fff}.light .theme-toggle-switch{background:var(--primary)}.gantt-wrapper{max-height:500px;overflow-y:auto;overflow-x:auto}.gantt-table{display:flex;flex-direction:column;min-width:100%}.gantt-container{position:relative;min-width:100%}.gantt-header{border-bottom:1px solid var(--border);padding-bottom:12px;min-height:40px;top:0;z-index:500}.gantt-header,.gantt-label{display:flex;align-items:center;position:-webkit-sticky;position:sticky;background:var(--bg)}.gantt-label{width:180px;flex-shrink:0;padding:8px;font-weight:600;border-right:1px solid var(--border);left:0;z-index:501}.gantt-timeline{display:flex;flex:1 1}.gantt-month{flex:1 1;text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);min-width:40px;height:40px;border-left:1px solid var(--border)}.gantt-month,.gantt-week{display:flex;align-items:center;justify-content:center}.gantt-week{flex-direction:column}.gantt-row{display:flex;align-items:center;border-bottom:1px solid var(--border);min-height:28px;position:relative}.gantt-row:hover{background:rgba(66,133,244,.05)}.gantt-row-label{width:180px;flex-shrink:0;font-size:12px;padding:7px 0 7px 8px;color:var(--primary-light);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:-webkit-sticky;position:sticky;left:0;z-index:10;background:var(--bg);border-right:1px solid var(--border)}.gantt-row-bars{flex:1 1;position:relative;height:28px}.gantt-bar,.gantt-row-bars{display:flex;align-items:center}.gantt-bar{position:absolute;height:16px;border-radius:5px;justify-content:center;font-size:10px;font-weight:500;cursor:pointer;transition:all .2s;z-index:1;color:#fff!important}.gantt-bar:hover{transform:scaleY(1.15);box-shadow:0 2px 6px rgba(0,0,0,.15)}.gantt-bar.planned{background:linear-gradient(135deg,var(--primary),var(--primary-light));opacity:.6}.gantt-bar.real{background:linear-gradient(135deg,var(--success),#34d399)}.gantt-bar.real-atrasado{background:linear-gradient(135deg,#ef4444,#f87171)}.gantt-legend{display:flex;gap:24px;margin-bottom:20px}.gantt-legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}.gantt-legend-color{width:14px;height:14px;border-radius:4px}.comparison-row{cursor:pointer}.comparison-row:hover{background:rgba(66,133,244,.05)}.map-legend{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:15px}.map-legend-item{display:flex;align-items:center;gap:6px;font-size:12px}.map-legend-color{width:16px;height:16px;border-radius:50%}#map{height:450px;border-radius:12px}.detail-header{display:flex;gap:20px;margin-bottom:20px}.detail-image{width:70px;height:70px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff}.detail-info{flex:1 1}.detail-title{font-size:14px;font-weight:700;margin-bottom:6px}.detail-meta{display:flex;gap:16px;color:var(--text-muted);font-size:12px;flex-wrap:wrap}.detail-meta span{display:flex;align-items:center;gap:6px}.detail-stats{display:flex;gap:20px;margin-bottom:20px;padding:16px;background:var(--bg-input);border-radius:10px}.detail-stat{text-align:center;flex:1 1}.detail-stat-value{font-size:18px;font-weight:700}.detail-stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;margin-top:4px}.subtask-list{margin-top:16px}.subtask-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.05);border-radius:12px;margin-bottom:8px;transition:background .2s}.subtask-item:hover{background:hsla(0,0%,100%,.05)}.subtask-checkbox{width:22px;height:22px;border-radius:6px;border:2px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.subtask-checkbox.checked{background:var(--success);border-color:var(--success)}.subtask-text{flex:1 1;font-size:14px}.subtask-text.completed{text-decoration:line-through;color:var(--text-muted)}.subtask-progress{width:100px}.subtask-actions{display:flex;gap:4px}.progress-section{margin-top:20px}.progress-section label{font-size:12px;color:var(--text-muted);display:block;margin-bottom:8px}.progress-input{display:flex;align-items:center;gap:12px}.progress-input input[type=range]{flex:1 1;accent-color:var(--primary)}.progress-input span{font-weight:600;min-width:40px}.fiscais-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px}.fiscal-card{background:linear-gradient(145deg,var(--bg-card),#233045);border-radius:20px;padding:24px;border:1px solid hsla(0,0%,100%,.05);box-shadow:0 10px 15px -3px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.fiscal-card:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px rgba(0,0,0,.2);border-color:hsla(0,0%,100%,.1)}.fiscal-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.fiscal-avatar-lg{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--accent),var(--primary));display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.2)}.fiscal-name{font-size:18px;font-weight:600;margin-bottom:4px}.fiscal-role{font-size:13px;color:var(--text-muted);font-weight:500}.fiscal-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid hsla(0,0%,100%,.05)}.fiscal-stat{text-align:center}.fiscal-stat-value{font-size:24px;font-weight:700}.fiscal-stat-label{font-size:11px;color:var(--text-muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.calendar-header{text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);padding:8px}.calendar-day{aspect-ratio:1;background:var(--bg-input);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;cursor:pointer;transition:all .2s}.calendar-day:hover{background:var(--border)}.calendar-day.has-event{background:rgba(37,99,235,.2);border:1px solid var(--primary)}.leaflet-popup-content-wrapper{background:var(--bg-card);color:var(--text);border-radius:8px}.leaflet-popup-tip{background:var(--bg-card)}.light .leaflet-popup-content-wrapper{background:#fff;color:#202124;box-shadow:0 1px 3px rgba(0,0,0,.08)}.light .leaflet-popup-tip{background:#fff}@media (max-width:1024px){.app-container{grid-template-columns:1fr}.sidebar{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.form-grid,.stats-grid{grid-template-columns:1fr}.form-group.full{grid-column:span 1}.page-title{font-size:20px}.modal{width:95%!important;max-width:95%!important;margin:10px}.modal-body{padding:16px}.form-group{margin-bottom:12px}.btn{padding:8px 12px;font-size:13px}.data-table{font-size:11px}.data-table td,.data-table th{padding:6px 8px}}.chart-container{position:relative;height:340px}.leaflet-container{background:var(--bg-card)}