.gantt .grid-background{fill:none}.gantt .grid-header{fill:#fff;stroke:#e0e0e0;stroke-width:1.4}.gantt .grid-row{fill:#fff}.gantt .grid-row:nth-child(2n){fill:#f5f5f5}.gantt .row-line{stroke:#ebeff2}.gantt .tick{stroke:#e0e0e0;stroke-width:.2}.gantt .tick.thick{stroke-width:.4}.gantt .today-highlight{fill:#fcf8e3;opacity:.5}.gantt .arrow{fill:none;stroke:#666;stroke-width:1.4}.gantt .bar{fill:#b8c2cc;stroke:#8d99a6;stroke-width:0;transition:stroke-width .3s ease;-webkit-user-select:none;user-select:none}.gantt .bar-progress{fill:#a3a3ff}.gantt .bar-invalid{fill:transparent;stroke:#8d99a6;stroke-width:1;stroke-dasharray:5}.gantt .bar-invalid~.bar-label{fill:#555}.gantt .bar-label{fill:#fff;dominant-baseline:central;text-anchor:middle;font-size:12px;font-weight:lighter}.gantt .bar-label.big{fill:#555;text-anchor:start}.gantt .handle{fill:#ddd;cursor:ew-resize;opacity:0;visibility:hidden;transition:opacity .3s ease}.gantt .bar-wrapper{cursor:pointer;outline:none}.gantt .bar-wrapper:hover .bar{fill:#a9b5c1}.gantt .bar-wrapper:hover .bar-progress{fill:#8a8aff}.gantt .bar-wrapper:hover .handle{visibility:visible;opacity:1}.gantt .bar-wrapper.active .bar{fill:#a9b5c1}.gantt .bar-wrapper.active .bar-progress{fill:#8a8aff}.gantt .lower-text,.gantt .upper-text{font-size:12px;text-anchor:middle}.gantt .upper-text{fill:#555}.gantt .lower-text{fill:#333}.gantt .hide{display:none}.gantt-container{position:relative;overflow:auto;font-size:12px}.gantt-container .popup-wrapper{position:absolute;top:0;left:0;background:#000c;padding:0;color:#959da5;border-radius:3px}.gantt-container .popup-wrapper .title{border-bottom:3px solid #a3a3ff;padding:10px}.gantt-container .popup-wrapper .subtitle{padding:10px;color:#dfe2e5}.gantt-container .popup-wrapper .pointer{position:absolute;height:5px;margin:0 0 0 -5px;border:5px solid transparent;border-top-color:#000c}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f4f1ee;--bg-accent: radial-gradient(circle at top left, rgba(194, 110, 84, .16), transparent 28%), linear-gradient(180deg, #f8f5f2 0%, #f1eeea 100%);--surface: rgba(255, 255, 255, .76);--surface-2: #f7f2ee;--border: #d9d1cb;--line: #ece5df;--text: #2f2a28;--text-muted: #6c615c;--text-soft: #978a83;--accent: #c26e54;--accent-strong: #a95440;--accent-soft: #f5e4dd;--danger: #b8503f;--success: #6f7c72;--sidebar-bg: linear-gradient(180deg, #544741 0%, #403733 100%);--sidebar-text: #e9dfd7;--sidebar-active: #c26e54;--shadow: 0 16px 40px rgba(69, 52, 45, .08)}body{font-family:Segoe UI,Aptos,system-ui,sans-serif;background:var(--bg-accent);color:var(--text);font-size:14px;line-height:1.5}a{color:var(--accent-strong)}.app-layout{display:flex;min-height:100vh}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2018156b;border:none;z-index:30}.sidebar{width:236px;background:var(--sidebar-bg);display:flex;flex-direction:column;padding:0;position:fixed;top:0;left:0;bottom:0;box-shadow:6px 0 32px #2f201b2e;z-index:40}.sidebar-brand{padding:22px 18px;color:#fff8f4;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:12px;font-weight:700;font-size:15px}.sidebar-brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#d28166,#ad5945);display:inline-flex;align-items:center;justify-content:center;font-size:14px;letter-spacing:.06em;box-shadow:inset 0 1px #fff3}.sidebar-brand-logo{width:42px;height:42px;object-fit:contain;border-radius:10px;background:#fff8f414;padding:4px}.sidebar-brand-subtitle{font-size:11px;color:#f4e9e2b8;font-weight:500}.nav-section-title{margin:18px 16px 4px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#f4e9e294}.nav-item{display:block;padding:11px 16px;margin:6px 12px 0;border-radius:10px;color:var(--sidebar-text);text-decoration:none;font-size:13px;transition:background .18s,color .18s,transform .18s}.nav-item.compact{margin-top:4px;margin-left:20px;padding-top:9px;padding-bottom:9px;font-size:12px}.nav-item:hover{background:#ffffff14;color:#fff;transform:translate(1px)}.nav-item.active{background:linear-gradient(135deg,#c26e54f2,#a95440f2);color:#fff;box-shadow:0 12px 22px #c26e542e}.btn-logout{margin:auto 16px 16px;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--sidebar-text);border-radius:10px;cursor:pointer;font-size:13px;text-align:left}.btn-logout:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.main-content{margin-left:236px;flex:1;min-width:0;padding:32px;min-height:100vh;overflow-x:hidden}.main-shell{min-height:calc(100vh - 64px);display:flex;flex-direction:column}.app-footer{margin-top:auto;padding:24px 4px 8px;font-size:11px;color:var(--text-soft);text-align:center}.app-footer a{color:var(--text-muted);text-decoration:none}.app-footer a:hover{color:var(--accent-strong);text-decoration:underline}.mobile-topbar{display:none}.mobile-topbar-brand{display:flex;align-items:center;gap:10px}.mobile-topbar-logo{width:34px;height:34px;object-fit:contain}.mobile-menu-btn{min-width:82px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-title{font-size:24px;font-weight:800;letter-spacing:-.02em}.page-subtitle{color:var(--text-muted);font-size:13px;margin-top:2px}.card{background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(217,209,203,.9);border-radius:18px;padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line)}th{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);background:#f7f2eeeb}tr:hover td{background:#f7f2eebd}.badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;letter-spacing:.01em}.badge-green{background:#e1ebe3;color:#4c5e52}.badge-blue{background:#e5eaed;color:#55626b}.badge-red{background:#f5ddda;color:#9d4538}.badge-gray{background:#eee8e3;color:#6e635e}.badge-terracotta{background:var(--accent-soft);color:var(--accent-strong)}.badge-sand{background:#efe2d6;color:#8a644c}.badge-sage{background:#e8eee8;color:#5f7465}.badge-link{text-decoration:none;border:1px solid rgba(169,84,64,.14)}.badge-link:hover{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff}.badge-link-list{display:flex;gap:6px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:12px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff;box-shadow:0 12px 20px #a954402e}.btn-primary:hover{background:linear-gradient(135deg,#c97358,#9f4e3a)}.btn-secondary{background:#ffffffbf;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:#f4efeb}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#a24638}.btn-sm{padding:6px 11px;font-size:12px}.btn-ghost{background:transparent;border:none;color:var(--accent-strong);cursor:pointer;font-size:12px;padding:2px 6px}.btn-ghost:hover{text-decoration:underline}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:700;color:var(--text-muted);margin-bottom:5px}.form-control{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:12px;font-size:13px;color:var(--text);background:#ffffffe0;transition:border-color .15s,box-shadow .15s,background .15s}.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #c26e541f;background:#fff}select.form-control{cursor:pointer}textarea.form-control{min-height:80px;resize:vertical}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}.filter-bar .form-group{margin-bottom:0}.filter-bar select{min-width:160px}.inline-input{padding:5px 7px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:#ffffffd1;width:100%;color:var(--text)}.inline-input:hover{border-color:#ccbcb3;background:#ffffffeb}.inline-input:focus{outline:none;border-color:var(--accent);background:#fff}.inline-input[type=number],.inline-input[type=date]{background:#ffffffd1;border-color:var(--border);color:var(--text)}.inline-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-muted)}.inline-helper{font-size:12px;color:var(--text-muted);padding:7px 9px;border-radius:8px;background:#ffffffb8;border:1px dashed var(--border)}.status-cell{display:grid;gap:6px}.status-select{min-width:120px;border:1px solid var(--border);background:#ffffffe0}.status-select.compact{min-width:132px}.status-select-gray{background:#eee8e3;color:#6e635e;border-color:#d8cec8}.status-select-blue{background:#e5eaed;color:#55626b;border-color:#cfd8de}.status-select-terracotta{background:var(--accent-soft);color:var(--accent-strong);border-color:#e4beb1}.status-select-green{background:#e1ebe3;color:#4c5e52;border-color:#cddace}.status-select-red{background:#f5ddda;color:#9d4538;border-color:#e7beb8}.activity-action-row{display:flex;gap:6px;flex-wrap:nowrap;white-space:nowrap}.activity-description-cell{min-width:260px;max-width:360px;white-space:normal;overflow-wrap:anywhere;line-height:1.45}.counter-value{font-size:26px;font-weight:800}.counter-red{color:var(--danger)}.counter-terracotta{color:var(--accent-strong)}.counter-gray{color:var(--text)}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:radial-gradient(circle at top left,rgba(221,164,144,.28),transparent 32%),radial-gradient(circle at bottom right,rgba(84,71,65,.16),transparent 26%),linear-gradient(180deg,#efe8e2,#e6ddd6)}.login-card{background:#ffffffd1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(217,209,203,.92);border-radius:24px;padding:40px;width:100%;max-width:420px;box-shadow:0 30px 60px #46332c1f}.login-eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--accent-strong);margin-bottom:10px}.login-title{font-size:28px;font-weight:800;margin-bottom:8px;letter-spacing:-.03em}.login-subtitle{color:var(--text-muted);font-size:13px;margin-bottom:28px}.error-msg{color:var(--danger);font-size:12px;margin-top:8px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);margin-bottom:20px;flex-wrap:wrap}.tab-btn{padding:10px 16px;border:1px solid transparent;background:transparent;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-muted);border-radius:12px 12px 0 0;transition:color .15s,background .15s,border-color .15s}.tab-btn.active{color:var(--accent-strong);background:#f5e4dda6;border-color:var(--border);border-bottom-color:#f5e4dda6}.tab-btn:hover{color:var(--text)}.callout{padding:12px 14px;border-radius:12px;border:1px solid var(--border);font-size:13px}.callout-warm{background:#f9efe9;border-color:#e7c8bb;color:#7d5748}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}.dashboard-kpi-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);margin-bottom:10px;font-weight:700}.dashboard-kpi-value{font-size:28px;font-weight:800}.dashboard-kpi-value.tone-terracotta{color:var(--accent-strong)}.dashboard-kpi-value.tone-red{color:var(--danger)}.dashboard-kpi-value.tone-sage{color:var(--success)}.dashboard-kpi-value.tone-blue{color:#55626b}.dashboard-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.responsive-card-grid{display:grid;gap:14px}.responsive-card{width:100%;text-align:left;border:1px solid var(--border);border-radius:16px;background:#ffffffbd;padding:14px;color:var(--text)}.responsive-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.responsive-card-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);margin-bottom:4px}.responsive-card-title{font-weight:700;line-height:1.35}.responsive-card-status{display:grid;gap:6px;justify-items:end}.responsive-card-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px;font-size:13px}.responsive-card-row strong{color:var(--text-muted);min-width:84px;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.responsive-card-metrics{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.responsive-card-note{display:grid;gap:4px;margin-top:12px;font-size:12px;color:var(--text-muted)}.overview-panel{border:1px solid var(--line);border-radius:16px;padding:14px;background:#ffffffa6}.overview-title{font-weight:700;margin-bottom:12px}.overview-list{display:grid;gap:10px}.overview-list-item{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px}.overview-list-item:last-child{border-bottom:none;padding-bottom:0}.overview-empty{color:var(--text-soft);font-size:13px}.managerial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.managerial-person-card{justify-content:space-between;align-items:flex-start;background:#ffffffb8;color:var(--text);border:1px solid var(--border);padding:16px;text-align:left}.managerial-person-card:hover{background:var(--accent-soft)}.managerial-person-card.active{background:var(--accent-soft);border-color:#d7a694}.user-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:end}.user-actions{display:flex;gap:8px;flex-wrap:wrap}.selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.selection-chip{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#ffffffbf;cursor:pointer}.selection-chip.active{background:var(--accent-soft);border-color:#d6a38f}.gantt-page{width:100%;min-width:0}.gantt-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.gantt-workspace{display:grid;gap:18px;width:100%;min-width:0}.gantt-screen{width:100%;min-width:0;overflow:hidden;background:#ffffffc7;border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.gantt-container{overflow:hidden;background:#ffffffbf;border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.gantt-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.gantt-topbar-title{font-size:15px;font-weight:700;color:var(--text)}.gantt-toolbar-note{font-size:12px;color:var(--text-muted);margin-top:4px}.gantt-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gantt-scroll-shell{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 0 10px;scrollbar-width:auto;scrollbar-color:var(--accent) #eadfd8;overscroll-behavior-x:contain;border-radius:14px;background:linear-gradient(180deg,#fcfaf8f5,#f7f2eee0);border:1px solid #e6ddd7}.gantt-scroll-shell::-webkit-scrollbar{height:14px}.gantt-scroll-shell::-webkit-scrollbar-track{background:#eadfd8;border-radius:999px}.gantt-scroll-shell::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);border-radius:999px;border:2px solid #eadfd8}.gantt-scroll-shell::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#ca7a60,#a95440)}.gantt-canvas{display:inline-block;min-width:max-content;padding-right:24px}.gantt-notes{width:100%;min-width:0;overflow:hidden}.gantt-notes-stack{display:grid;gap:18px}.gantt-container .gantt .bar-label{fill:#5f514b;font-weight:700}.gantt .grid-header,.gantt .grid-row,.gantt .row-line{stroke:#e4dcd6}.gantt .grid-background{fill:#fcfaf8}.gantt .today-highlight{fill:#c26e5414}.gantt .upper-text,.gantt .lower-text{fill:#74675f}.gantt .bar.row-topic .bar{fill:#8a8f95}.gantt .bar.row-topic.status-atrasado .bar{fill:#c26e54}.gantt .bar.row-topic.status-finalizado .bar{fill:#77897d}.gantt .bar.row-topic.status-iniciado .bar{fill:#8f9aa1}.gantt .bar.row-topic.status-a-iniciar .bar{fill:#bfb3ab}.gantt .bar.row-topic .bar-progress{fill:#42322d3d}.gantt .bar.row-activity .bar{rx:4;ry:4}.gantt .bar.row-activity.activity-impact .bar{fill:#c26e54}.gantt .bar.row-activity.activity-impact .bar-progress{fill:#542c224d}.gantt .bar.row-activity.activity-started .bar{fill:#9ea6ab}.gantt .bar.row-activity.activity-planned .bar{fill:#cbbfb8}.gantt .bar.row-activity.activity-done .bar{fill:#819180}.gantt .bar.row-activity .bar-label{font-size:11px;fill:#6d4d42}.gantt .bar.status-iniciado .bar{fill:#8f9aa1}.gantt .bar.status-a-iniciar .bar{fill:#bfb3ab}.gantt .bar.status-finalizado .bar{fill:#77897d}.gantt .bar.status-atrasado .bar{fill:#c26e54}.gantt .bar-progress{fill:#42322d40}.gantt-insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;width:100%;min-width:0}.gantt-insight-card{min-width:0;border:1px solid var(--border);border-radius:16px;background:#ffffffc2;padding:14px}.gantt-insight-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.gantt-insight-title{font-weight:700;color:var(--text);min-width:0;overflow-wrap:anywhere}.gantt-insight-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:10px}.gantt-metric{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px}.gantt-metric-label{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);margin-bottom:4px}.gantt-insight-note{font-size:12px;color:var(--text-muted);line-height:1.55;overflow-wrap:anywhere}.project-gantt-preview{border:1px solid var(--border);border-radius:16px;background:#ffffffb8;padding:14px}.project-gantt-months,.project-gantt-row{display:grid;grid-template-columns:180px repeat(12,1fr);gap:4px;align-items:center}.project-gantt-months{margin-bottom:8px}.project-gantt-label-spacer{min-height:1px}.project-gantt-month{text-align:center;font-size:11px;font-weight:700;color:var(--text-soft)}.project-gantt-row{margin-bottom:6px}.project-gantt-label{font-size:12px;color:var(--text);font-weight:600}.project-gantt-track{grid-column:2 / span 12;display:grid;grid-template-columns:repeat(12,1fr);gap:4px;position:relative;background:#f5efea;border-radius:999px;min-height:24px;padding:3px 4px}.project-gantt-cell{border-right:1px solid #e5ddd7}.project-gantt-cell:last-child{border-right:none}.project-gantt-bar{position:absolute;top:5px;bottom:5px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);border-radius:999px;box-shadow:0 8px 16px #a954402e}@media (max-width: 960px){.sidebar.compact-mode{transform:translate(-100%);transition:transform .2s ease}.sidebar.compact-mode.open{transform:translate(0)}.main-content{margin-left:0;padding:20px}.main-shell{min-height:calc(100vh - 100px)}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding:12px 14px;border-radius:16px;background:#ffffffc7;border:1px solid rgba(217,209,203,.9);box-shadow:var(--shadow)}.page-title{font-size:22px}.filter-bar{display:grid;grid-template-columns:1fr}.filter-bar .form-group{width:100%}.filter-bar select,.filter-bar input{min-width:0!important}.responsive-card-row{flex-direction:column;gap:4px}.responsive-card-status{justify-items:start}}@media (max-width: 768px){.page-title{font-size:22px}.gantt-actions{width:100%}.project-gantt-months,.project-gantt-row{grid-template-columns:1fr}.project-gantt-track{grid-column:auto}.sidebar{width:min(300px,86vw)}.card{padding:16px}.dashboard-kpi-grid,.dashboard-overview-grid,.managerial-grid,.gantt-insights-grid{grid-template-columns:1fr}}
