*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--blue-50:#e6f1fb;--blue-100:#b5d4f4;--blue-400:#378add;--blue-600:#185fa5;--blue-800:#0c447c;--blue-900:#042c53;--green-50:#eaf3de;--green-600:#3b6d11;--green-700:#27500a;--amber-50:#faeeda;--amber-400:#ef9f27;--amber-600:#854f0b;--amber-700:#ba7517;--red-50:#fcebeb;--red-400:#e24b4a;--red-600:#a32d2d;--gray-50:#f8f9fa;--gray-100:#f1f0ec;--gray-200:#e2e1dc;--gray-400:#9b9a94;--gray-600:#5f5e5a;--gray-900:#1c1c1a;--sidebar-w:240px;--topbar-h:56px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--font:"IBM Plex Sans",-apple-system,sans-serif;--font-mono:"IBM Plex Mono",monospace}html{-webkit-tap-highlight-color:transparent;font-size:16px}body{-webkit-font-smoothing:antialiased;background:#f1f0ec;background:var(--gray-100);color:#1c1c1a;color:var(--gray-900);font-family:IBM Plex Sans,-apple-system,sans-serif;font-family:var(--font);line-height:1.5;overflow:hidden}#root,body{height:100dvh}#root{display:flex}::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#e2e1dc;background:var(--gray-200);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9b9a94;background:var(--gray-400)}.text-xs{font-size:11px}.text-sm{font-size:13px}.text-base{font-size:15px}.text-lg{font-size:17px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-muted{color:#5f5e5a;color:var(--gray-600)}.text-blue{color:#185fa5;color:var(--blue-600)}.text-green{color:#3b6d11;color:var(--green-600)}.text-amber{color:#854f0b;color:var(--amber-600)}.text-red{color:#a32d2d;color:var(--red-600)}.card{background:#fff;border:.5px solid #e2e1dc;border:.5px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-lg);margin-bottom:16px;padding:16px 20px}.card-title{align-items:center;color:#1c1c1a;color:var(--gray-900);display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:space-between;margin-bottom:14px}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:500;gap:4px;padding:2px 8px;white-space:nowrap}.badge-blue{background:#e6f1fb;background:var(--blue-50);color:#185fa5;color:var(--blue-600)}.badge-green{background:#eaf3de;background:var(--green-50);color:#3b6d11;color:var(--green-600)}.badge-amber{background:#faeeda;background:var(--amber-50);color:#854f0b;color:var(--amber-600)}.badge-red{background:#fcebeb;background:var(--red-50);color:#a32d2d;color:var(--red-600)}.badge-gray{background:#f1f0ec;background:var(--gray-100);color:#5f5e5a;color:var(--gray-600)}.btn{align-items:center;background:#fff;border:.5px solid #e2e1dc;border:.5px solid var(--gray-200);border-radius:8px;border-radius:var(--radius-md);color:#1c1c1a;color:var(--gray-900);cursor:pointer;display:inline-flex;font-family:IBM Plex Sans,-apple-system,sans-serif;font-family:var(--font);font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:7px 14px;text-decoration:none;transition:all .15s;white-space:nowrap}.btn:hover{background:#f1f0ec;background:var(--gray-100);border-color:#9b9a94;border-color:var(--gray-400)}.btn:active{transform:scale(.98)}.btn-primary{background:#185fa5;background:var(--blue-600);border-color:#185fa5;border-color:var(--blue-600);color:#fff}.btn-primary:hover{background:#0c447c;background:var(--blue-800);border-color:#0c447c;border-color:var(--blue-800)}.btn-danger{background:#a32d2d;background:var(--red-600);border-color:#a32d2d;border-color:var(--red-600);color:#fff}.btn-sm{font-size:12px;padding:5px 10px}.btn-icon{height:34px;padding:7px;width:34px}input[type=email],input[type=number],input[type=search],input[type=text],select,textarea{background:#fff;border:.5px solid #e2e1dc;border:.5px solid var(--gray-200);border-radius:8px;border-radius:var(--radius-md);color:#1c1c1a;color:var(--gray-900);font-family:IBM Plex Sans,-apple-system,sans-serif;font-family:var(--font);font-size:13px;outline:none;padding:8px 12px;transition:border-color .15s;width:100%}input:focus,select:focus,textarea:focus{border-color:#378add;border-color:var(--blue-400);box-shadow:0 0 0 3px #378add1f}textarea{min-height:80px;resize:vertical}label{color:#5f5e5a;color:var(--gray-600);display:block;font-size:12px;margin-bottom:4px}.progress-bar{background:#f1f0ec;background:var(--gray-100);border-radius:4px;height:6px;overflow:hidden}.progress-fill{border-radius:4px;height:100%;transition:width .4s ease}.dot{border-radius:50%;display:inline-block;height:8px;width:8px}.dot-green{background:#639922}.dot-amber{background:#ef9f27;background:var(--amber-400)}.dot-red{background:#e24b4a;background:var(--red-400)}.dot-gray{background:#9b9a94;background:var(--gray-400)}.dot-blue{background:#378add;background:var(--blue-400)}.divider{background:#e2e1dc;background:var(--gray-200);height:.5px;margin:12px 0}.metric-card{background:#f1f0ec;background:var(--gray-100);border-radius:8px;border-radius:var(--radius-md);padding:14px 16px}.metric-label{color:#5f5e5a;color:var(--gray-600);font-size:11px;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.metric-value{color:#1c1c1a;color:var(--gray-900);font-size:22px;font-weight:600;line-height:1}.metric-sub{align-items:center;display:flex;font-size:11px;gap:4px;margin-top:5px}.gantt-bar-track{background:#f1f0ec;background:var(--gray-100);border-radius:4px;height:20px;overflow:visible;position:relative}.gantt-bar{align-items:center;border-radius:4px;color:#fff;display:flex;font-size:10px;font-weight:600;height:100%;min-width:4px;overflow:hidden;padding:0 6px;position:absolute;transition:filter .15s;white-space:nowrap}.gantt-bar:hover{filter:brightness(.9)}.risk-pill{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.4px;padding:2px 10px;text-transform:uppercase}.app-layout{display:flex;height:100dvh;overflow:hidden;width:100%}.sidebar{background:#fff;border-right:.5px solid #e2e1dc;border-right:.5px solid var(--gray-200);display:flex;flex-direction:column;min-width:240px;min-width:var(--sidebar-w);overflow-y:auto;width:240px;width:var(--sidebar-w)}.main-panel{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.topbar{align-items:center;background:#fff;border-bottom:.5px solid #e2e1dc;border-bottom:.5px solid var(--gray-200);display:flex;flex-shrink:0;gap:12px;height:56px;height:var(--topbar-h);padding:0 20px}.content-area{flex:1 1;overflow-y:auto;padding:20px}.bottom-nav{background:#fff;border-top:.5px solid #e2e1dc;border-top:.5px solid var(--gray-200);display:none;padding:8px 0 max(8px,env(safe-area-inset-bottom))}.bottom-nav-items{display:flex;justify-content:space-around}.bottom-nav-item{align-items:center;background:none;border:none;border-radius:8px;border-radius:var(--radius-md);color:#5f5e5a;color:var(--gray-600);cursor:pointer;display:flex;flex-direction:column;font-family:IBM Plex Sans,-apple-system,sans-serif;font-family:var(--font);gap:3px;padding:4px 12px;transition:all .15s}.bottom-nav-item.active{color:#185fa5;color:var(--blue-600)}.bottom-nav-item span{font-size:10px;font-weight:500}.sidebar-overlay{background:#0006;display:none;inset:0;position:fixed;z-index:100}@media (max-width:768px){:root{--sidebar-w:280px}.sidebar{height:100dvh;left:-100%;position:fixed;top:0;transition:left .25s ease;z-index:110}.sidebar.open{left:0}.bottom-nav,.sidebar-overlay.open{display:block}.content-area{padding:12px}.card{padding:14px 16px}.topbar{padding:0 12px}.topbar-actions{display:none}.metrics-grid{grid-template-columns:1fr 1fr!important}.gantt-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.monte-grid,.resource-grid,.two-col{grid-template-columns:1fr!important}}.upload-zone{border:1.5px dashed #e2e1dc;border:1.5px dashed var(--gray-200);border-radius:12px;border-radius:var(--radius-lg);cursor:pointer;padding:36px 20px;text-align:center;transition:all .2s}.upload-zone.dragging,.upload-zone:hover{background:#e6f1fb;background:var(--blue-50);border-color:#378add;border-color:var(--blue-400)}.chat-bubble{border-radius:12px;border-radius:var(--radius-lg);font-size:13px;line-height:1.6;max-width:90%;padding:10px 14px}.chat-bubble-user{background:#185fa5;background:var(--blue-600);border-bottom-right-radius:4px;color:#fff;margin-left:auto}.chat-bubble-ai{background:#f1f0ec;background:var(--gray-100);border-bottom-left-radius:4px;color:#1c1c1a;color:var(--gray-900)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-in{animation:fadeIn .2s ease}.pulse{animation:pulse 1.4s infinite}.lookahead-row{border-bottom:.5px solid #e2e1dc;border-bottom:.5px solid var(--gray-200);display:flex;gap:12px;padding:10px 0}.lookahead-row:last-child{border-bottom:none}.lookahead-date{color:#5f5e5a;color:var(--gray-600);font-size:11px;font-weight:600;min-width:72px;padding-top:2px}.data-table{border-collapse:collapse;font-size:13px;width:100%}.data-table th{color:#5f5e5a;color:var(--gray-600);font-size:11px;font-weight:600;letter-spacing:.4px;padding:8px 10px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td,.data-table th{border-bottom:.5px solid #e2e1dc;border-bottom:.5px solid var(--gray-200)}.data-table td{padding:10px;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#f8f9fa;background:var(--gray-50)}.checkbox-row{align-items:center;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:4px 0}.checkbox-row input[type=checkbox]{accent-color:#185fa5;accent-color:var(--blue-600);cursor:pointer;height:15px;width:15px}.tab-bar{border-bottom:.5px solid #e2e1dc;border-bottom:.5px solid var(--gray-200);display:flex;gap:0;margin-bottom:16px;overflow-x:auto}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#5f5e5a;color:var(--gray-600);cursor:pointer;font-family:IBM Plex Sans,-apple-system,sans-serif;font-family:var(--font);font-size:13px;font-weight:500;padding:8px 16px;transition:all .15s;white-space:nowrap}.tab:hover{color:#1c1c1a;color:var(--gray-900)}.tab.active{border-bottom-color:#185fa5;border-bottom-color:var(--blue-600);color:#185fa5;color:var(--blue-600)}
/*# sourceMappingURL=main.82f37eef.css.map*/