/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--navy:#0b172a;--navy-2:#13223a;--blue:#1769e0;--blue-soft:#eaf2ff;--green:#137a56;--green-soft:#e7f5ef;--amber:#a9660b;--amber-soft:#fff3dc;--red:#ba3a3a;--ink:#172033;--muted:#697386;--line:#e2e7ee;--bg:#f4f6f9;--surface:#fff}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;margin:0;font-size:14px}button,input,select,textarea{font:inherit}button{color:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;outline:3px solid #1769e038}.num,.kpi strong,.summary-strip strong,.budget-hero h2{font-variant-numeric:tabular-nums}.app-shell{min-height:100vh}.sidebar{background:var(--navy);color:#dbe4f1;z-index:40;flex-direction:column;width:244px;padding:18px 14px 16px;transition:width .22s,box-shadow .22s;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar-head{align-items:center;gap:8px;min-height:50px;margin-bottom:14px;display:flex}.brand{cursor:pointer;flex:1;align-items:center;gap:11px;min-width:0;padding:2px 6px;display:flex}.brand-mark{background:var(--blue);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;font-size:18px;font-weight:750;display:grid;box-shadow:inset 0 0 0 1px #ffffff24}.brand-copy{min-width:0}.brand strong{color:#fff;letter-spacing:.12em;font-size:16px;display:block}.brand span{color:#8797ae;letter-spacing:.035em;margin-top:2px;font-size:10px;display:block}.sidebar-toggle{color:#b8c7da;background:#13243b;border:1px solid #31435d;border-radius:8px;flex:0 0 36px;place-items:center;width:36px;height:36px;padding:0;font-size:19px;line-height:1;transition:color .15s,border-color .15s,background .15s;display:grid}.sidebar-toggle:hover{color:#fff;background:#1b304d;border-color:#55759e}.sidebar nav{gap:3px;display:grid}.sidebar nav button{color:#aeb9c8;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;width:100%;min-height:44px;padding:0 12px;font-weight:550;transition:color .15s,background .15s;display:flex}.sidebar nav button:hover{color:#fff;background:#ffffff0d}.sidebar nav button.active{color:#fff;box-shadow:inset 3px 0 0 var(--blue);background:#1b2e4b}.nav-icon{text-align:center;color:#91a9c7;flex:0 0 28px;place-items:center;width:28px;font-size:20px;font-weight:650;line-height:1;display:grid}.nav-label{text-overflow:ellipsis;overflow:hidden}.sidebar nav button.active .nav-icon{color:#68a2ff}.sidebar-foot{border-top:1px solid #ffffff17;margin-top:auto;padding:15px 8px 0}.user-row{align-items:center;gap:10px;display:flex}.avatar{color:#b9d4ff;background:#283b57;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-weight:750;display:grid}.user-row strong,.user-row span{display:block}.user-row strong{color:#fff;font-size:12px}.user-row div>span{color:#7f90a8;letter-spacing:.04em;margin-top:3px;font-size:9px}.role-label{color:#7889a1;text-transform:uppercase;letter-spacing:.08em;margin-top:12px;font-size:9px;display:block}.role-label select{color:#dbe4f1;background:#10223a;border:1px solid #30415a;border-radius:6px;width:100%;margin-top:6px;padding:7px 8px;font-size:10px}.main-area{min-height:100vh;margin-left:244px}.topbar{border-bottom:1px solid var(--line);z-index:30;background:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 30px;display:flex;position:sticky;top:0}.project-wrap{position:relative}.project-selector{background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:6px;display:flex}.project-selector:hover{background:var(--bg)}.project-selector strong,.project-selector small{text-align:left;display:block}.project-selector strong{font-size:13px}.project-selector small{color:var(--muted);margin-top:2px;font-size:10px}.project-selector b{color:var(--muted);margin-left:8px}.flag{color:#294568;background:#edf2fa;border:1px solid #dbe3ed;border-radius:6px;place-items:center;width:29px;height:29px;font-size:9px;font-weight:750;display:grid}.flag.muted{color:#9ba5b4;background:#f5f6f8}.project-menu{border:1px solid var(--line);z-index:55;background:#fff;border-radius:10px;width:280px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 42px #18284129}.project-menu>p{letter-spacing:.12em;color:var(--muted);margin:7px 8px;font-size:9px;font-weight:750}.project-menu button{text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;width:100%;padding:9px;display:flex}.project-menu button.selected{background:#f1f6ff}.project-menu button:disabled{cursor:not-allowed;opacity:.68}.project-menu button span:nth-child(2){flex:1}.project-menu button strong,.project-menu button small{display:block}.project-menu button small{color:var(--muted);margin-top:2px;font-size:10px}.project-menu .new-project{border-top:1px solid var(--line);color:var(--muted);border-radius:0;margin-top:5px;padding-top:12px}.project-menu .new-project small{margin-left:auto}.topbar-actions{align-items:center;gap:14px;display:flex}.demo-pill{color:#6f7785;letter-spacing:.08em;background:#f3f5f7;border:1px solid #e1e5ea;border-radius:20px;padding:6px 9px;font-size:9px;font-weight:700}.demo-pill i{background:#dd972c;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.primary-btn,.topbar .primary-btn,.operation-hero button,.execution-banner button{background:var(--blue);color:#fff;border:1px solid #0e5bcb;border-radius:7px;padding:9px 14px;font-weight:650;box-shadow:0 1px 1px #0000000f}.primary-btn:hover,.operation-hero button:hover,.execution-banner button:hover{background:#105dc9}.mobile-menu{display:none}.logout-btn{color:#596578;background:#fff;border:1px solid #dbe1e8;border-radius:7px;padding:8px 11px;font-size:11px;font-weight:650}.logout-btn:hover{color:var(--navy);background:#f7f9fb;border-color:#b7c1cf}.login-page{background:#fff;grid-template-columns:minmax(420px,.92fr) minmax(500px,1.08fr);min-height:100vh;display:grid}.login-panel{width:min(430px,100% - 64px);margin:auto;padding:48px 0}.login-brand{align-items:center;gap:12px;margin-bottom:clamp(58px,10vh,100px);display:flex}.login-brand .brand-mark{width:40px;height:40px;font-size:20px}.login-brand strong,.login-brand span{display:block}.login-brand strong{color:var(--navy);letter-spacing:.14em;font-size:17px}.login-brand span{color:#8792a3;letter-spacing:.025em;margin-top:3px;font-size:10px}.login-copy .eyebrow{color:var(--blue);font-size:9px}.login-copy h1{color:var(--navy);letter-spacing:-.045em;margin:10px 0;font-size:clamp(32px,4vw,43px);line-height:1}.login-copy>p:last-child{max-width:390px;color:var(--muted);margin:0 0 31px;font-size:13px;line-height:1.6}.login-form{display:grid}.login-form>label{color:#586477;margin:0 0 7px;font-size:11px;font-weight:700}.login-form>label:not(:first-child){margin-top:18px}.login-field{background:#fff;border:1px solid #d7dde6;border-radius:8px;align-items:center;gap:11px;height:48px;padding:0 13px;transition:border-color .15s,box-shadow .15s;display:flex}.login-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1769e01a}.login-field>span{color:#9aa5b5;font-size:8px}.login-field input{min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:12px}.login-field input::placeholder{color:#a2aab5}.password-toggle{color:var(--blue);background:0 0;border:0;padding:6px 2px;font-size:10px;font-weight:700}.login-error{color:#a82f2f;align-items:center;gap:7px;margin:12px 0 0;font-size:11px;display:flex}.login-error span{background:#ffe8e8;border-radius:50%;place-items:center;width:18px;height:18px;font-weight:800;display:grid}.login-submit{background:var(--blue);color:#fff;border:1px solid #0e5bcb;border-radius:8px;justify-content:space-between;align-items:center;height:48px;margin-top:24px;padding:0 17px;font-size:12px;font-weight:750;display:flex;box-shadow:0 7px 18px #1769e033}.login-submit:hover{background:#105dc9}.login-submit span{font-size:18px;font-weight:400}.login-footnote{color:#8a94a3;align-items:center;gap:7px;margin:32px 0 0;font-size:10px;display:flex}.login-footnote span{color:var(--green)}.login-context{color:#fff;isolation:isolate;background:linear-gradient(145deg,#081426 0%,#102846 56%,#0d213b 100%);min-height:100vh;padding:52px clamp(42px,6vw,92px);position:relative;overflow:hidden}.login-context:before{content:"";z-index:-2;background:linear-gradient(115deg,#0000 15%,#397ddd14 15.2%,#0000 15.5%),radial-gradient(circle at 72% 32%,#3a88f229,#0000 31%);position:absolute;inset:0}.login-context-brand{align-items:center;gap:12px;display:flex}.login-context-brand>span{color:#b8d2f6;background:#ffffff12;border:1px solid #ffffff2e;border-radius:7px;place-items:center;width:36px;height:36px;font-size:10px;font-weight:800;display:grid}.login-context-brand p,.login-context-brand small{margin:0;display:block}.login-context-brand p{color:#fff;font-size:13px;font-weight:700}.login-context-brand small{color:#8299b6;margin-top:3px;font-size:9px;font-weight:450}.login-context-copy{z-index:2;position:absolute;bottom:clamp(72px,12vh,130px);left:clamp(42px,6vw,92px);right:clamp(42px,6vw,92px)}.login-context-copy p{color:#72a8ed;letter-spacing:.18em;margin:0 0 14px;font-size:9px;font-weight:800}.login-context-copy h2{letter-spacing:-.045em;max-width:610px;margin:0 0 22px;font-size:clamp(29px,4vw,52px);line-height:1.08}.login-context-copy span{color:#90a4bf;letter-spacing:.035em;font-size:10px}.login-orbit{z-index:-1;border:1px solid #76a9eb21;border-radius:50%;position:absolute}.orbit-one{width:min(54vw,700px);height:min(54vw,700px);top:2%;right:-18%;box-shadow:inset 0 0 80px #2667c10b}.orbit-two{border-width:40px;border-color:#4987db0b;width:min(34vw,430px);height:min(34vw,430px);top:14%;right:5%}.content{max-width:1640px;margin:0 auto;padding:27px 30px 55px}.page-heading{justify-content:space-between;align-items:end;min-height:57px;margin-bottom:22px;display:flex}.page-heading h1{letter-spacing:-.035em;margin:0;font-size:27px;line-height:1.15}.page-heading p{color:var(--muted);margin:6px 0 0}.back-link{color:var(--blue);background:0 0;border:0;margin-bottom:8px;padding:0;font-size:12px}.readonly-badge{color:#526071;border:1px solid var(--line);background:#fff;border-radius:20px;padding:7px 11px;font-size:11px}.filterbar{border:1px solid var(--line);background:#fff;grid-template-columns:1.2fr 1.3fr 1fr 1fr auto;align-items:end;gap:10px;margin-bottom:14px;padding:12px 14px;display:grid}.filterbar label,.form-grid label,.notes-label,.price-field{color:#737d8d;letter-spacing:.035em;text-transform:uppercase;font-size:10px;font-weight:700}.filterbar select,.form-grid input,.form-grid select,.notes-label textarea,.price-field input{width:100%;height:36px;color:var(--ink);text-transform:none;letter-spacing:0;background:#fff;border:1px solid #d8dee7;border-radius:6px;margin-top:5px;padding:0 10px;font-size:12px;font-weight:450;display:block}.clear-filter{color:var(--blue);background:0 0;border:0;padding:10px 7px;font-size:11px}.kpi-grid{border:1px solid var(--line);background:#fff;margin-bottom:14px;display:grid}.kpi-grid.six{grid-template-columns:repeat(6,1fr)}.kpi-grid.five{grid-template-columns:repeat(5,1fr)}.kpi-grid.four{grid-template-columns:repeat(4,1fr)}.kpi{border-right:1px solid var(--line);min-width:0;padding:17px 18px 14px}.kpi:last-child{border-right:0}.kpi-label{color:#667184;justify-content:space-between;font-size:11px;display:flex}.kpi-label span{color:#a4abb5;cursor:help;font-size:10px}.kpi>strong{color:#1b2638;letter-spacing:-.035em;white-space:nowrap;text-overflow:ellipsis;margin:7px 0 5px;font-size:clamp(19px,1.7vw,26px);display:block;overflow:hidden}.kpi-grid.six .kpi>strong{font-size:clamp(18px,1.35vw,21px)}.kpi>strong.blue{color:var(--blue)}.kpi>strong.green{color:var(--green)}.kpi>small{color:#9198a4;white-space:nowrap;text-overflow:ellipsis;font-size:9px;display:block;overflow:hidden}.mini-progress{background:#edf0f4;height:3px;margin:7px 0 6px;overflow:hidden}.mini-progress i{background:var(--green);height:100%;display:block}.analytics-grid{grid-template-columns:1.65fr .75fr;gap:14px;margin-bottom:14px;display:grid}.analytics-grid.lower{grid-template-columns:1.25fr .75fr}.panel{border:1px solid var(--line);background:#fff;padding:19px 20px}.panel-head{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px;display:flex}.panel-head h2{letter-spacing:-.015em;margin:3px 0 0;font-size:15px}.panel-head>span{color:var(--muted);font-size:11px}.panel-head p:not(.eyebrow){color:var(--muted);margin:6px 0 0;font-size:11px}.eyebrow{letter-spacing:.14em;color:#8992a0;margin:0;font-size:8px;font-weight:800}.eyebrow.light{color:#87a5cc}.trend-up{background:var(--green-soft);border-radius:4px;padding:5px 8px;color:var(--green)!important}.line-chart svg{width:100%;height:208px;overflow:visible}.axis-labels,.spark-labels{color:#929aa7;justify-content:space-between;margin:-6px 9px 0;font-size:9px;display:flex}.status-distribution{padding-top:14px}.stacked-bar{background:#eef1f4;height:13px;margin-bottom:25px;display:flex;overflow:hidden}.segment{border-right:2px solid #fff;display:block}.segment.slate,.dot.slate{background:#b7c0cc}.segment.amber,.dot.amber{background:#df982d}.segment.green,.dot.green{background:#249472}.legend-row{border-bottom:1px solid #eef1f4;justify-content:space-between;align-items:center;padding:7px 1px;display:flex}.legend-row:last-child{border:0}.legend-row span{color:#536074;font-size:11px}.legend-row strong{font-variant-numeric:tabular-nums}.dot{border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.bar-list{gap:12px;display:grid}.bar-row>div:first-child{justify-content:space-between;margin-bottom:5px;display:flex}.bar-row span{color:#445066;font-size:10px}.bar-row small{color:#808a99;font-variant-numeric:tabular-nums}.double-bar{background:#f0f2f5;height:9px;position:relative}.double-bar i{display:block;position:absolute;left:0}.double-bar .planned{background:#d5dfed;height:9px}.double-bar .done{background:var(--blue);height:4px;top:2.5px}.bar-legend{color:var(--muted);justify-content:flex-end;gap:15px;font-size:9px;display:flex}.bar-legend i{width:15px;height:5px;margin-right:4px;display:inline-block}.bar-legend i.planned{background:#d5dfed}.bar-legend i.done{background:var(--blue)}.focus-list{gap:1px;display:grid}.focus-list>div{border-bottom:1px solid #edf0f4;align-items:center;gap:11px;padding:10px 0;display:flex}.focus-list>div:last-child{border:0}.focus-icon{border-radius:6px;place-items:center;width:27px;height:27px;font-weight:750;display:grid}.focus-icon.amber{color:var(--amber);background:var(--amber-soft)}.focus-icon.blue{color:var(--blue);background:var(--blue-soft)}.focus-icon.green{color:var(--green);background:var(--green-soft)}.focus-list p{margin:0}.focus-list strong,.focus-list small{display:block}.focus-list strong{font-size:11px}.focus-list small{color:var(--muted);margin-top:3px;font-size:9px}.table-panel{margin-top:14px;padding:0}.table-panel .panel-head{align-items:center;margin:0;padding:18px 20px 14px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:850px}th{text-align:left;color:#707a89;border-top:1px solid var(--line);border-bottom:1px solid var(--line);letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;background:#f7f8fa;padding:10px 13px;font-size:9px}th[onclick]{cursor:pointer}td{color:#556174;white-space:nowrap;border-bottom:1px solid #edf0f4;padding:12px 13px;font-size:11px}tbody tr{transition:background .15s}.table-panel tbody tr:hover{cursor:pointer;background:#f8faff}td strong{color:#202b3b;font-weight:650}.progress-cell{align-items:center;gap:7px;display:flex}.progress-cell>span{background:#e8ecf1;width:62px;height:4px;overflow:hidden}.progress-cell>span i{background:var(--blue);height:100%;display:block}.progress-cell b{color:#4d5969;font-variant-numeric:tabular-nums;min-width:39px;font-size:9px}.status{white-space:nowrap;border-radius:20px;width:fit-content;padding:4px 7px;font-size:9px;font-weight:650;display:inline-block}.status.green{color:#106b4b;background:var(--green-soft)}.status.amber{color:#915508;background:var(--amber-soft)}.status.slate{color:#657184;background:#eef1f5}.searchbox{border:1px solid #dce1e7;border-radius:6px;align-items:center;gap:6px;width:218px;height:34px;padding:0 9px;display:flex}.searchbox span{color:#8b95a3;font-size:17px}.searchbox input{border:0;outline:0;width:100%;min-width:0;font-size:11px}.empty-state{text-align:center;color:var(--muted);padding:40px}.empty-state p{margin:5px 0}.summary-strip{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(4,1fr);margin-bottom:14px;display:grid}.summary-strip div{border-right:1px solid var(--line);padding:17px 20px}.summary-strip div:last-child{border:0}.summary-strip span,.summary-strip strong{display:block}.summary-strip span{color:var(--muted);font-size:10px}.summary-strip strong{margin-top:5px;font-size:20px}.operation-hero,.execution-banner{background:var(--navy-2);color:#fff;justify-content:space-between;align-items:center;margin-bottom:14px;padding:27px 30px;display:flex;position:relative;overflow:hidden}.operation-hero:after,.execution-banner:after{content:"";border:55px solid #ffffff09;border-radius:50%;width:260px;height:260px;position:absolute;top:-110px;right:100px}.operation-hero h2,.execution-banner h2{letter-spacing:-.025em;margin:5px 0 7px;font-size:22px}.operation-hero p:not(.eyebrow),.execution-banner p{color:#9fb0c6;max-width:650px;margin:0}.operation-hero button,.execution-banner button{z-index:2;color:#152540;background:#fff;border-color:#fff}.workflow{margin-bottom:14px}.workflow-line{grid-template-columns:repeat(4,1fr);display:grid;position:relative}.workflow-line:before{content:"";background:#e1e6ed;height:2px;position:absolute;top:16px;left:11%;right:11%}.workflow-line>div{text-align:center;justify-items:center;gap:5px;display:grid;position:relative}.workflow-line span{color:#8994a3;z-index:1;background:#fff;border:2px solid #dfe4ea;border-radius:50%;place-items:center;width:33px;height:33px;font-size:10px;font-weight:750;display:grid}.workflow-line .complete span{background:var(--green);color:#fff;border-color:var(--green)}.workflow-line .current span{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 0 0 5px var(--blue-soft)}.workflow-line strong{font-size:11px}.workflow-line small{color:var(--muted);font-size:9px}.two-col{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.central-cards{gap:7px;display:grid}.central-cards button,.central-cards .plain-card{text-align:left;background:#fbfcfd;border:1px solid #e5e9ef;border-radius:5px;grid-template-columns:1fr auto;gap:7px;padding:10px 11px;display:grid}.central-cards button:hover{background:#f7faff;border-color:#b9cdea}.central-cards strong,.central-cards small{display:block}.central-cards strong{font-size:10px}.central-cards small{color:var(--muted);margin-top:3px;font-size:9px}.central-cards b{color:var(--blue);font-size:11px}.central-cards i{background:#e7ebf0;grid-column:1/-1;height:3px}.central-cards em{background:var(--blue);height:100%;display:block}.activity-list>div{border-bottom:1px solid #edf0f4;gap:10px;padding:9px 0;display:flex}.activity-list>div:last-child{border:0}.activity-icon{border-radius:5px;flex:none;place-items:center;width:27px;height:27px;font-size:10px;display:grid}.activity-icon.report{background:var(--blue-soft);color:var(--blue)}.activity-icon.document{color:#6c4caf;background:#f0edf9}.activity-icon.rate{background:var(--green-soft);color:var(--green)}.activity-list p{margin:0}.activity-list strong,.activity-list small{display:block}.activity-list strong{font-size:10px;line-height:1.35}.activity-list small{color:var(--muted);margin-top:3px;font-size:9px}.detail-hero{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;margin-bottom:14px;padding:17px 20px;display:flex}.detail-hero>div{align-items:center;gap:17px;display:flex}.detail-title{border-right:1px solid var(--line);align-items:center;gap:11px;padding-right:17px;display:flex}.central-code{width:39px;height:39px;color:var(--blue);background:#eaf2ff;border-radius:6px;place-items:center;font-weight:800;display:grid}.detail-title h2{margin:0;font-size:18px}.detail-title p{color:var(--muted);margin:4px 0 0;font-size:10px}.table-note{color:var(--muted);align-self:center}.sparkline{border-bottom:1px solid var(--line);background:linear-gradient(#1769e008,#0000);width:100%;height:125px;overflow:visible}.report-history>div{border-bottom:1px solid #edf0f4;grid-template-columns:88px 1fr auto;align-items:center;gap:10px;padding:8px 0;display:grid}.report-history span{color:var(--muted);font-size:9px}.report-history strong{font-size:10px}.report-history b{color:var(--blue);font-size:10px}.document-list>div{border-bottom:1px solid #edf0f4;align-items:center;gap:9px;padding:9px 0;display:flex}.document-list p{flex:1;margin:0}.document-list strong,.document-list small{display:block}.document-list strong{font-size:10px}.document-list small{color:var(--muted);margin-top:3px;font-size:9px}.file-icon,.doc-name span{color:var(--red);background:#fff0f0;border-radius:4px;padding:6px;font-size:8px;font-weight:800}.empty-inline{color:var(--muted);font-size:11px;padding:20px 0!important}.survey-layout{grid-template-columns:1.2fr .8fr}.survey-total{align-items:baseline;gap:7px;margin-bottom:18px;display:flex}.survey-total span{color:var(--muted);font-size:10px}.survey-total strong{letter-spacing:-.04em;font-size:30px}.survey-total small{color:var(--muted)}.survey-rows{gap:13px;display:grid}.survey-rows>div{grid-template-columns:145px 1fr 35px;align-items:center;gap:10px;display:grid}.survey-rows span{font-size:10px}.survey-rows i{background:#edf0f4;height:7px}.survey-rows em{background:var(--blue);height:100%;display:block}.survey-rows strong{text-align:right;font-variant-numeric:tabular-nums;font-size:10px}.ranking-list>div{border-bottom:1px solid #edf0f4;align-items:center;gap:10px;padding:7px 0;display:flex}.ranking-list>div>span{color:#9aa3af;font-size:9px}.ranking-list p{flex:1;margin:0}.ranking-list strong,.ranking-list small{display:block}.ranking-list strong{font-size:10px}.ranking-list small{color:var(--muted);margin-top:2px;font-size:8px}.ranking-list b{color:var(--blue);font-size:10px}.execution-banner{background:#133351}.execution-banner>div>span{color:#80b0ed;letter-spacing:.12em;font-size:9px;font-weight:750}.budget-hero{background:var(--navy-2);color:#fff;grid-template-columns:.8fr 1.2fr;align-items:center;gap:50px;margin-bottom:14px;padding:25px 28px;display:grid}.budget-hero h2{letter-spacing:-.035em;margin:7px 0 2px;font-size:32px}.budget-hero>div>span{color:#95a7bd;font-size:10px}.budget-meter>div{background:#2c3e56;height:11px;overflow:hidden}.budget-meter i{background:#4f98ff;height:100%;display:block}.budget-meter p{color:#95a7bd;justify-content:space-between;font-size:10px;display:flex}.budget-meter strong{color:#fff;margin-left:4px}.economy-layout{grid-template-columns:1.25fr .75fr}.value-breakdown>div{border-bottom:1px solid #edf0f4;align-items:center;gap:10px;padding:10px 0;display:flex}.element-glyph{width:29px;height:29px;color:var(--blue);background:var(--blue-soft);border-radius:4px;place-items:center;font-size:11px;font-weight:750;display:grid}.value-breakdown p{flex:1;margin:0}.value-breakdown strong,.value-breakdown small{display:block}.value-breakdown strong{font-size:10px}.value-breakdown small{color:var(--muted);margin-top:3px;font-size:8px}.value-breakdown b{font-variant-numeric:tabular-nums;font-size:11px}.tariff-compact>div{border-bottom:1px solid #edf0f4;justify-content:space-between;padding:10px 0;display:flex}.tariff-compact span{color:#556174;font-size:10px}.tariff-compact strong{font-size:10px}.tariff-compact small{color:var(--muted);font-weight:400}.info-callout{color:#53637a;border-left:3px solid var(--blue);background:#eef5ff;margin:13px 0 0;padding:9px 10px;font-size:9px}.document-hero{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;margin-bottom:14px;padding:22px;display:flex}.document-hero>div{align-items:center;gap:15px;display:flex}.document-big-icon{color:#6b53b4;background:#f0edf9;border-radius:7px;place-items:center;width:48px;height:48px;font-size:20px;display:grid}.document-hero h2{margin:4px 0;font-size:17px}.document-hero p:not(.eyebrow){color:var(--muted);margin:0;font-size:10px}.future-badge{color:#6b53b4;background:#f0edf9;border-radius:4px;padding:6px 8px;font-size:9px}.doc-name{align-items:center;gap:8px;display:flex}.settings-header{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;margin-bottom:14px;padding:0 13px;display:flex}.tabs{display:flex;overflow-x:auto}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:14px 16px;font-size:11px}.tabs button.active{color:var(--blue);border-color:var(--blue);font-weight:650}.danger-link{color:var(--red);background:0 0;border:0;font-size:10px}.money-input{border:1px solid #d8dee7;border-radius:5px;align-items:center;width:120px;height:32px;padding:0 8px;display:flex}.money-input span{color:var(--muted)}.money-input input{border:0;outline:0;width:85px;margin-left:4px}.switch{vertical-align:middle;background:#ccd3dc;border:0;border-radius:12px;width:31px;height:18px;margin-right:6px;padding:2px}.switch i{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;display:block;box-shadow:0 1px 2px #00000038}.switch.on{background:var(--green)}.switch.on i{transform:translate(13px)}.new-label{color:#6b53b4;background:#f0edf9;border-radius:3px;margin-left:7px;padding:2px 4px;font-size:7px;display:inline-block}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#050e1b94;place-items:center;padding:25px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:min(680px,100%);max-height:92vh;overflow-y:auto;box-shadow:0 28px 70px #00000047}.modal.small{width:min(520px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:21px 23px 16px;display:flex}.modal-head h2{margin:4px 0;font-size:20px}.modal-head p:not(.eyebrow){color:var(--muted);margin:0;font-size:10px}.modal-head>button{color:var(--muted);background:0 0;border:0;align-self:flex-start;font-size:25px}.form-grid{grid-template-columns:1fr 1fr;gap:13px;padding:17px 23px 0;display:grid}.form-grid .span-two{grid-column:1/-1}.form-grid input:disabled{color:#8d96a3;background:#f5f6f8}.line-items{background:#f7f8fa;border:1px solid #e3e7ed;margin:18px 23px 0;padding:14px}.line-head{justify-content:space-between;margin-bottom:10px;font-size:11px;display:flex}.line-head span{color:var(--muted);font-size:9px}.report-line{grid-template-columns:1.7fr .7fr 28px;align-items:end;gap:8px;margin-bottom:8px;display:grid}.report-line label{color:var(--muted);font-size:9px}.report-line select,.report-line input{background:#fff;border:1px solid #d8dee7;border-radius:5px;width:100%;height:34px;margin-top:4px;padding:0 8px;font-size:10px;display:block}.report-line>button{height:34px;color:var(--red);background:#fff;border:1px solid #d8dee7;border-radius:5px}.report-line>button:disabled{opacity:.35;cursor:default}.add-line{color:var(--blue);background:0 0;border:0;padding:6px 0 0;font-size:10px}.notes-label{margin:15px 23px 0;display:block}.notes-label textarea{resize:vertical;height:auto;padding:9px}.form-error{color:var(--red);margin:9px 23px 0;font-size:10px}.modal-actions{justify-content:flex-end;gap:8px;padding:18px 23px 22px;display:flex}.secondary-btn{color:#4f5b6c;background:#fff;border:1px solid #d8dee7;border-radius:6px;padding:8px 13px;font-weight:600}.check-row{align-items:flex-start;gap:9px;margin:17px 23px 0;display:flex}.check-row input{accent-color:var(--blue);margin-top:2px}.check-row strong,.check-row small{display:block}.check-row strong{font-size:11px}.check-row small{color:var(--muted);margin-top:3px;font-size:9px}.price-field{margin:15px 23px 0;display:block}.toast{z-index:150;color:#fff;background:#14263d;border-radius:7px;align-items:center;gap:10px;max-width:390px;padding:13px 16px;font-size:11px;animation:.25s ease-out toastIn;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 35px #00000040}.toast span{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:20px;height:20px;display:grid}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}}.loading-screen{background:var(--navy);color:#9fb0c6;place-content:center;justify-items:center;gap:12px;height:100vh;display:grid}.loading-screen .brand-mark{width:48px;height:48px;font-size:23px}.scrim{display:none}@media (width<=1180px){.kpi-grid.six{grid-template-columns:repeat(3,1fr)}.kpi-grid.six .kpi:nth-child(3){border-right:0}.kpi-grid.six .kpi:nth-child(-n+3){border-bottom:1px solid var(--line)}.analytics-grid{grid-template-columns:1.35fr .75fr}}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-context{display:none}.login-panel{width:min(430px,100% - 44px)}.sidebar{transition:transform .22s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-area{margin-left:0}.mobile-menu{background:0 0;border:0;margin-right:8px;font-size:20px;display:block}.topbar{justify-content:flex-start;padding:0 17px}.topbar-actions{margin-left:auto}.scrim{z-index:35;background:#00000059;border:0;display:block;position:fixed;inset:0}.content{padding:22px 18px 45px}.analytics-grid,.analytics-grid.lower,.two-col,.survey-layout,.economy-layout{grid-template-columns:1fr}.filterbar{grid-template-columns:1fr 1fr}.filterbar .clear-filter{grid-column:1/-1}.kpi-grid.five{grid-template-columns:repeat(3,1fr)}.kpi-grid.five .kpi{border-bottom:1px solid var(--line)}.kpi-grid.four{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.login-panel{width:calc(100% - 36px);padding:30px 0}.login-brand{margin-bottom:58px}.login-copy h1{font-size:34px}.topbar{height:62px}.project-selector .flag,.project-selector small,.project-selector b,.demo-pill{display:none}.logout-btn{padding:8px 9px}.topbar .primary-btn{padding:8px 10px;font-size:0}.topbar .primary-btn:after{content:"+ Reportar";font-size:11px}.content{padding:18px 12px 42px}.page-heading{min-height:48px}.page-heading h1{font-size:23px}.page-heading p{font-size:11px}.filterbar{grid-template-columns:1fr 1fr;overflow:hidden}.filterbar label:first-child{display:none}.kpi-grid.six,.kpi-grid.five,.kpi-grid.four{grid-template-columns:repeat(2,1fr)}.kpi-grid .kpi{border-bottom:1px solid var(--line);padding:13px;border-right:1px solid var(--line)!important}.kpi-grid .kpi:nth-child(2n){border-right:0!important}.kpi>strong{font-size:20px}.analytics-grid .panel{padding:15px}.line-chart svg{height:160px}.summary-strip{grid-template-columns:repeat(2,1fr)}.summary-strip div:nth-child(2){border-right:0}.summary-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}.operation-hero,.execution-banner{padding:20px;display:block}.operation-hero button,.execution-banner button{margin-top:16px}.workflow-line{grid-template-columns:repeat(2,1fr);gap:22px}.workflow-line:before{display:none}.detail-hero{align-items:flex-start}.detail-hero>div{display:block}.detail-title{border:0;margin-bottom:9px;padding:0}.detail-hero .primary-btn{padding:8px;font-size:0}.detail-hero .primary-btn:after{content:"+ Reportar";font-size:10px}.budget-hero{grid-template-columns:1fr;gap:22px;padding:22px}.document-hero{align-items:flex-start}.future-badge,.document-big-icon{display:none}.settings-header{padding-bottom:9px;display:block}.danger-link{padding:8px 4px}.table-title{flex-direction:column;align-items:flex-start!important}.searchbox{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .span-two{grid-column:1}.report-line{grid-template-columns:1fr 90px 28px}.modal-backdrop{padding:10px}.toast{bottom:12px;left:12px;right:12px}}.topbar>.project-wrap{margin-right:auto}.main-area{transition:margin-left .22s}.sidebar.compact{width:72px;padding:14px 9px 16px}.sidebar.compact .sidebar-head{justify-items:center;gap:10px;margin-bottom:12px;display:grid}.sidebar.compact .sidebar-toggle{order:-1}.sidebar.compact .brand{justify-content:center;width:100%;padding:0}.sidebar.compact .brand-copy,.sidebar.compact .nav-label,.sidebar.compact .sidebar-foot{display:none}.sidebar.compact nav{gap:5px}.sidebar.compact nav button{border-radius:10px;justify-content:center;width:52px;min-height:48px;padding:0}.sidebar.compact nav button.active{box-shadow:inset 3px 0 0 var(--blue), 0 0 0 1px #68a2ff14;background:#203655}.sidebar.compact .nav-icon{flex-basis:30px;width:30px;font-size:21px}.nav-hidden .main-area{margin-left:72px}.interactive-line{position:relative}.interactive-point{cursor:pointer;outline:none}.interactive-point .visible-point{fill:#fff;stroke:var(--blue);stroke-width:2px;transition:r .15s,fill .15s}.interactive-point.active .visible-point{fill:var(--blue)}.interactive-point .hit-point{fill:#0000;stroke:none}.chart-tooltip{z-index:5;color:#fff;background:var(--navy);pointer-events:none;border-radius:6px;min-width:112px;padding:7px 9px;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 9px 25px #0b172a38}.chart-tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--navy);border-bottom:0;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.chart-tooltip span,.chart-tooltip strong{white-space:nowrap;display:block}.chart-tooltip span{color:#b7c5d7;letter-spacing:.06em;text-transform:uppercase;font-size:8px}.chart-tooltip strong{margin-top:2px;font-size:10px}.status-readout{color:#929aa7;align-items:baseline;gap:6px;min-height:26px;font-size:9px;display:flex}.status-readout strong{color:var(--ink);font-size:16px}.stacked-bar .segment{opacity:.9;border:0;border-right:2px solid #fff;border-radius:0;min-width:4px;height:13px;padding:0;transition:opacity .15s,filter .15s,transform .15s}.stacked-bar .segment:hover,.stacked-bar .segment:focus,.stacked-bar .segment.active{opacity:1;filter:brightness(.9);outline:none;transform:scaleY(1.3)}.status-distribution .legend-row{background:0 0;border:0;border-bottom:1px solid #eef1f4;width:100%;transition:background .15s}.status-distribution .legend-row:hover,.status-distribution .legend-row:focus,.status-distribution .legend-row.active{background:#f7faff;outline:none}.interactive-bars .double-bar{isolation:isolate}.interactive-bars .double-bar>i{cursor:pointer;outline:none;transition:filter .15s,transform .15s}.interactive-bars .double-bar>i:hover,.interactive-bars .double-bar>i:focus{filter:brightness(.86);transform:scaleY(1.35)}.bar-tooltip{z-index:6;color:#fff;background:var(--navy);white-space:nowrap;pointer-events:none;border-radius:5px;padding:6px 8px;font-size:8px;position:absolute;bottom:calc(100% + 8px);left:18px;box-shadow:0 8px 20px #0b172a33}.bar-tooltip:after{content:"";border:4px solid #0000;border-top-color:var(--navy);border-bottom:0;position:absolute;bottom:-4px;left:14px}.bar-tooltip strong{color:#b9d4ff;font-size:8px}@media (width<=900px){.sidebar,.sidebar.compact{width:244px;padding:18px 14px 16px;transform:translate(-100%)}.sidebar.open,.sidebar.compact.open{transform:translate(0)}.sidebar.compact .sidebar-head{gap:8px;margin-bottom:14px;display:flex}.sidebar.compact .brand{justify-content:flex-start;width:auto;padding:2px 6px}.sidebar.compact .brand-copy,.sidebar.compact .nav-label,.sidebar.compact .sidebar-foot{display:block}.sidebar.compact nav{gap:3px}.sidebar.compact nav button{border-radius:8px;justify-content:flex-start;width:100%;min-height:44px;padding:0 12px}.sidebar.compact .nav-icon{flex-basis:28px;width:28px;font-size:20px}.sidebar-toggle{display:none}.nav-hidden .main-area{margin-left:0}}@media (width<=620px){.chart-tooltip,.bar-tooltip{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
