:root{--navy-950:#07182f;--navy-900:#0b2342;--navy-800:#12355f;--blue-600:#1769e0;--blue-500:#2f7cf4;--blue-100:#eaf2ff;--ink:#11213b;--muted:#60718c;--line:#d8e0eb;--surface:#fff;--canvas:#f2f5f9;--normal:#078b50;--warning:#e87d00;--fail:#d73535;--shadow:0 10px 30px #0f234314}*{box-sizing:border-box}html{background:var(--canvas);color:var(--ink);font-size:16px}body{background:var(--canvas);min-width:1180px;margin:0;font-family:Arial,Yu Gothic UI,Yu Gothic,Meiryo,Helvetica,sans-serif}button,input,select{font:inherit}input[type=number]{-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button{cursor:pointer}button:disabled{cursor:wait;opacity:.62}.app-shell{grid-template-rows:70px 45px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.app-header{background:linear-gradient(120deg, var(--navy-950), var(--navy-900));color:#fff;z-index:50;grid-template-columns:minmax(360px,1fr) auto minmax(300px,1fr);align-items:stretch;min-height:70px;padding:0 24px;display:grid;position:relative;box-shadow:0 4px 20px #04122638}.brand{color:#fff;text-align:left;background:0 0;border:0;align-items:center;gap:13px;padding:10px 0;display:flex}.brand-mark{letter-spacing:.04em;background:linear-gradient(145deg,#2e8cff,#0a5bb3);border-radius:50%;place-items:center;width:48px;height:48px;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #ffffff2e}.brand strong{font-size:1.55rem;line-height:1.05;display:block}.brand small{color:#c9dcf6;margin-top:5px;font-size:.73rem;display:block}.primary-nav{align-items:stretch;display:flex}.primary-nav button{color:#d6e3f5;background:0 0;border:0;border-left:1px solid #ffffff17;justify-content:center;align-items:center;gap:8px;min-width:108px;padding:0 16px;font-weight:700;display:flex}.primary-nav button:last-child{border-right:1px solid #ffffff17}.primary-nav button span{color:#80b5ff;font-size:1.25rem}.primary-nav button:hover,.primary-nav button.active{color:#fff;background:#3e84e129}.primary-nav button.active{box-shadow:inset 0 -4px #2f80ff}.header-metrics{justify-content:flex-end;align-items:center;gap:22px;display:flex}.header-metrics>span{color:#b9cbe2;text-align:right;font-size:.74rem}.header-metrics strong{color:#fff;margin-top:3px;font-size:1rem;display:block}.header-metrics>span:last-child strong{font-size:1.28rem}.header-config-selector{color:#b9cbe2;text-align:center;gap:2px;min-width:104px;font-size:.68rem;display:grid}.header-config-selector select{color:#fff;text-align:center;background:#16365d;border:1px solid #ffffff38;border-radius:6px;width:100%;height:35px;padding:4px 26px 4px 9px;font-size:.84rem;font-weight:800}.header-config-selector select:focus{border-color:#76adff;box-shadow:0 0 0 3px #63a3ff33}.language-switch{background:#04122647;border:1px solid #ffffff38;border-radius:7px;padding:2px;display:inline-flex}.language-switch button{color:#c8d9ef;background:0 0;border:0;border-radius:5px;min-width:39px;height:30px;padding:0 8px;font-size:.72rem;font-weight:800}.language-switch button.active{color:var(--navy-800);background:#fff}.action-bar{border-bottom:1px solid var(--line);z-index:40;background:#f9fbfe;align-items:center;gap:8px;height:45px;padding:7px 24px;display:flex;position:relative}.action-bar button,.drawing-toolbar button{min-height:31px;color:var(--navy-800);background:#fff;border:1px solid #b7c5d8;border-radius:5px;padding:5px 13px;font-weight:700}.action-bar button:hover,.drawing-toolbar button:hover,.drawing-toolbar button.active{background:var(--blue-100);border-color:var(--blue-500);color:#075aca}.action-bar>span{color:var(--muted);margin-left:auto;font-size:.8rem}.page-shell{min-height:0;padding:12px 20px 14px}.panel,.setup-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px}.project-page{grid-template:"project vehicle"140px"limits vehicle"165px"configurations geometry"minmax(0,1fr)/minmax(0,1fr) minmax(0,1fr);gap:10px 12px;height:100%;display:grid;overflow:hidden}.project-card{grid-area:project}.vehicle-card{grid-area:vehicle}.limits-card{grid-area:limits}.configurations-card{grid-area:configurations}.geometry-card{grid-area:geometry}.setup-card{min-width:0;min-height:0;padding:13px 16px;overflow:hidden}.section-title{align-items:center;gap:10px;margin-bottom:10px;display:flex}.section-title>span,.report-section-title>div>span{width:27px;height:27px;color:var(--blue-600);border:2px solid var(--blue-500);border-radius:50%;place-items:center;font-size:.78rem;font-weight:800;display:grid}h1,h2,h3,p{margin-top:0}.section-title h2{margin:0;font-size:1.08rem}.setup-card h3{margin:11px 0 7px;font-size:.93rem}.two-col,.three-col,.four-col,.limit-grid{gap:13px;display:grid}.two-col{grid-template-columns:repeat(2,1fr)}.three-col{grid-template-columns:repeat(3,1fr)}.four-col{grid-template-columns:repeat(4,1fr)}.limit-grid{grid-template-columns:repeat(3,1fr)}.field{min-width:0;color:var(--muted);flex-direction:column;gap:6px;font-size:.82rem;display:flex}.field>span{font-weight:700}.field input,.field select,input,select{min-width:0;height:38px;color:var(--ink);background:#fff;border:1px solid #bac6d7;border-radius:5px;outline:none;padding:7px 10px}.field input:focus,.field select:focus,input:focus,select:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px #2f7cf41f}.field input:disabled{color:#8994a4;background:#edf1f5}.input-with-suffix{align-items:stretch;display:flex}.input-with-suffix input{text-align:center;border-radius:5px 0 0 5px;flex:1}.input-with-suffix em{min-width:46px;color:var(--muted);text-align:center;background:#f5f7fa;border:1px solid #bac6d7;border-left:0;border-radius:0 5px 5px 0;padding:10px 8px;font-size:.75rem;font-style:normal}.input-with-unit-select select{text-align:center;border-left:0;border-radius:0 5px 5px 0;flex:0 0 72px;width:72px;font-weight:800}.number-field>span,.wheel-number>span{text-align:center}.checkbox-field>span:last-child{height:38px;color:var(--ink);background:#fff;border:1px solid #bac6d7;border-radius:5px;align-items:center;gap:8px;padding:0 10px;display:flex}.checkbox-field input,.option-field input[type=checkbox]{width:17px;height:17px}.project-note{background:#f5f9ff;border:1px solid #dce8f8;border-radius:6px;align-items:center;gap:11px;margin-top:14px;padding:10px 12px;font-size:.78rem;display:flex}.eyebrow{color:var(--blue-600);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800}.rpm-banner{background:linear-gradient(90deg,#edf5ff,#f8fbff);border:1px solid #bdd7fa;border-radius:7px;justify-content:space-between;align-items:center;min-height:44px;margin-top:8px;padding:7px 12px;display:flex}.rpm-banner span{color:var(--navy-800);font-weight:700}.rpm-banner strong{color:var(--blue-600);font-size:1.45rem}.coordinate-note,.warning-note{color:var(--muted);text-align:right;margin:12px 0 0;font-size:.78rem}.warning-note{color:var(--warning);text-align:left}.limits-card .section-title .warning-note{margin:0 0 0 auto;font-size:.69rem}.vehicle-grid{gap:7px;display:grid}.vehicle-option-row{grid-template-columns:1fr 1fr 1fr 158px;align-items:end;gap:8px;display:grid}.speed-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px;display:grid}.option-actions{grid-template-columns:1fr 1fr;gap:5px;min-height:38px;display:grid}.option-actions button{min-width:0;color:var(--blue-600);background:#fff;border:1px solid #b7c5d8;border-radius:5px;padding:5px 6px;font-size:.72rem;font-weight:800}.option-actions .danger{color:#b42318}.option-actions button:disabled{color:#929dad;cursor:not-allowed;background:#f1f3f6}.configurations-card,.geometry-card{min-height:0}.configurations-card{grid-template-rows:auto minmax(0,1fr);display:grid}.configuration-layout{grid-template-columns:200px minmax(0,1fr);gap:14px;min-height:0;display:grid}.config-list{flex-direction:column;gap:4px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.config-editor{min-height:0;overflow:hidden}.config-list button{border:1px solid var(--line);min-height:39px;color:var(--ink);text-align:left;background:#f8fafc;border-radius:5px;justify-content:space-between;align-items:center;padding:7px 10px;display:flex}.config-list button small{color:var(--muted)}.config-list button.active{background:var(--navy-800);border-color:var(--navy-800);color:#fff}.config-list button.active small{color:#cce0ff}.config-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:5px;display:grid}.config-list .config-actions button{justify-content:center;min-height:34px;padding:5px 6px;font-size:.72rem}.config-list .add-config{color:var(--blue-600);border-style:dashed}.config-list .delete-config{color:#b42318}.config-list .duplicate-config{color:var(--navy-800);grid-column:1/-1}.config-list .config-actions button:disabled{cursor:not-allowed;color:#929dad;background:#f1f3f6}.config-help{color:var(--muted);text-align:center;margin:3px 3px 0;font-size:.66rem;line-height:1.35}.angle-name-grid{color:var(--muted);text-align:center;grid-template-columns:minmax(150px,1fr) 150px 150px;align-items:center;gap:5px 8px;font-size:.78rem;display:grid}.angle-name-row{display:contents}.angle-name-row>input{text-align:left}.angle-name-row output{color:var(--muted);font-weight:700}.angle-name-row .field{display:block}.angle-name-row .input-with-suffix input{width:90px}.input-table{border:1px solid var(--line);border-radius:6px;overflow:hidden}.input-row{border-top:1px solid var(--line);text-align:center;grid-template-columns:95px repeat(3,minmax(80px,1fr));align-items:center;min-height:38px;display:grid}.input-row:first-child{border-top:0}.input-row.header{min-height:32px;color:var(--muted);background:#f2f5f9;font-size:.75rem;font-weight:800}.input-row input{text-align:center;background:0 0;border-color:#0000;height:32px;margin:3px}.input-row input:hover{background:#fff;border-color:#c0ccdc}.phase-inputs{grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px;display:grid}.geometry-title small{color:var(--blue-600);text-align:right;margin-left:auto;font-size:.69rem;font-weight:700}.geometry-subhead{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.geometry-subhead h3{margin-top:1px}.geometry-subhead .coordinate-note{margin:0;font-size:.67rem}.baseline-value-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.baseline-field{min-width:0;color:var(--muted);text-align:center;gap:5px;font-size:.75rem;font-weight:700;display:grid}.baseline-field output{border:1px solid var(--line);min-height:35px;color:var(--ink);background:#f7f9fc;border-radius:5px;grid-template-columns:1fr 38px;align-items:center;padding-left:38px;font-weight:800;display:grid}.baseline-field em{border-left:1px solid var(--line);height:100%;color:var(--muted);place-items:center;font-size:.7rem;font-style:normal;font-weight:600;display:grid}.baseline-row output{font-weight:800}.analysis-page{grid-template-columns:380px minmax(0,1fr);gap:12px;height:100%;display:grid;overflow:hidden}.geometry-inputs{min-height:0;padding:14px;overflow:hidden}.geometry-inputs h2{margin-bottom:15px;font-size:1.25rem}.geometry-inputs h3{border-bottom:1px solid var(--line);margin:18px 0 8px;padding-bottom:6px;font-size:.92rem}.geometry-inputs select{width:100%}.comparison-labels,.angle-comparison{text-align:center;grid-template-columns:minmax(100px,1fr) 76px minmax(108px,1.1fr);align-items:center;gap:6px;display:grid}.comparison-labels{color:var(--muted);font-size:.73rem;font-weight:800}.angle-comparison{min-height:46px}.angle-comparison strong{text-align:center;font-size:.8rem}.angle-comparison output{color:var(--muted);font-size:.82rem}.angle-comparison .field{display:block}.compact-table .input-row{grid-template-columns:78px repeat(3,minmax(0,1fr))}.compact-table .input-row input{width:calc(100% - 4px);margin:2px;padding:5px 4px}.geometry-inputs .input-with-suffix em{min-width:40px;padding-left:5px;padding-right:5px}.analysis-main{grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;min-height:0;display:grid}.results-panel{box-shadow:none;padding:12px 14px 8px}.results-heading{justify-content:center;align-items:baseline;gap:22px;margin-bottom:8px;display:flex}.results-heading h2{text-transform:uppercase;margin:0;font-size:1.25rem}.results-heading p,.results-heading .legend{color:var(--muted);margin:0;font-size:.79rem}.baseline-results-toggle{min-height:29px;color:var(--blue-600);white-space:nowrap;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #9fb4cf;border-radius:5px;padding:4px 10px;font-size:.72rem;font-weight:800}.baseline-results-toggle.active{border-color:var(--blue-600);background:var(--blue-600);color:#fff;box-shadow:0 0 0 3px #2f7cf424}.legend{align-items:center;gap:5px;display:flex}.legend span{border-radius:50%;width:9px;height:9px;margin-left:8px}.normal-dot{background:var(--normal)}.warning-dot{background:var(--warning)}.fail-dot{background:var(--fail)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}.results-table{table-layout:fixed;max-width:1100px;margin:0 auto}.results-table th,.results-table td{text-align:center;border-bottom:1px solid #9daabd;height:33px;padding:4px 8px}.results-table thead th{color:var(--ink);background:#f3f6fa;font-size:.76rem;font-weight:700}.results-table tbody th{font-size:.82rem}.results-table td{font-size:.84rem;font-weight:800}.selected-state{background:var(--blue-600);color:#fff}.normal{color:var(--normal)!important}.warning{color:var(--warning)!important}.fail{color:var(--fail)!important}.drawing-card{border:1px solid var(--line);background:#edf2f8;border-radius:10px;grid-template-rows:auto minmax(120px,1fr) minmax(120px,1fr);gap:8px;height:100%;min-height:0;padding:8px;display:grid}.drawing-toolbar{min-height:42px;color:var(--muted);align-items:center;gap:10px;padding:0 5px;font-size:.78rem;display:flex}.drawing-toolbar label{align-items:center;gap:5px;display:flex}.drawing-toolbar select{height:31px;padding:3px 7px}.drawing-toolbar span{flex:1}.drawing-toolbar strong{text-align:center;min-width:190px;color:var(--ink);background:#fff;border-radius:5px;padding:8px 12px}.projection{background:#fff;border:1px solid #d4dde9;border-radius:8px;min-height:0;padding:31px 8px 5px;position:relative;overflow:hidden}.projection h3{color:#3d5b83;text-transform:uppercase;margin:0;font-size:.76rem;position:absolute;top:11px;left:14px}.projection h3 small{font-weight:500}.driveline-svg{touch-action:none;width:100%;height:100%;min-height:0;overflow:visible}.drawing-axis{stroke:#ccd6e2;stroke-width:1px;stroke-dasharray:4 3}.modified-segment line{stroke:#101826;stroke-width:3px;cursor:crosshair}.modified-segment text{fill:#223b5f;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;font-size:12px;font-weight:700}.baseline-segment line{stroke:#79a0d3;stroke-width:2px;stroke-dasharray:7 4}.joint{fill:#101826;stroke:#fff;stroke-width:3px;cursor:grab}.joint:active{cursor:grabbing}.joint.selected{fill:#fff;stroke:#0788a0;stroke-width:4px}.baseline-joint{fill:#fff;stroke:#79a0d3;stroke-width:2px}.empty-state,.chart-empty{text-align:center;min-height:220px;color:var(--muted);place-content:center;gap:7px;display:grid}.sweep-page{grid-template-rows:auto minmax(0,1fr);gap:10px;height:100%;display:grid;overflow:hidden}.sweep-controls,.sweep-plot{min-height:0;padding:14px;overflow:hidden}.sweep-plot{align-items:stretch;display:grid}.surface-page{height:100%;display:grid;overflow:hidden}.surface-page .surface-section{grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;display:grid}.surface-topline{grid-template-columns:minmax(330px,.72fr) minmax(820px,1.55fr);align-items:center;gap:18px;min-width:0;display:grid}.surface-copy{min-width:0}.surface-copy>p{color:var(--muted);margin:8px 0 0;font-size:.82rem}.surface-inline-results{min-width:0}.surface-inline-results .results-panel{box-shadow:none;background:0 0;border:0;padding:0}.surface-inline-results .results-heading{gap:16px;margin-bottom:4px}.surface-inline-results .results-heading h2{font-size:1.05rem}.surface-inline-results .results-table{max-width:none}.surface-inline-results .results-table th,.surface-inline-results .results-table td{height:28px;padding-top:2px;padding-bottom:2px}.surface-page .surface-grid{height:100%;min-height:300px}.surface-page .surface-panel{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.surface-page .surface-svg{height:100%;min-height:260px;max-height:none}.surface-section{min-height:0;padding:14px;overflow:hidden}.surface-section>p{color:var(--muted);margin:8px 0 14px;font-size:.82rem}.surface-control-stack{background:#f8fafc;border:1px solid #e0e6ef;border-radius:8px;margin:12px 0;padding:10px 12px;display:grid}.surface-controls{flex-wrap:wrap;justify-content:center;align-items:end;gap:10px;display:flex}.surface-controls>.field{width:145px}.surface-controls>.wheel-number{width:118px}.surface-page .surface-controls{flex-wrap:nowrap;gap:8px}.scroll-mode-control{width:146px;color:var(--muted);text-align:center;gap:6px;font-size:.82rem;font-weight:700;display:grid}.scroll-mode-control>div{background:#fff;border:1px solid #bac6d7;border-radius:6px;grid-template-columns:1fr 1fr;gap:2px;height:38px;padding:2px;display:grid}.scroll-mode-control button{min-width:0;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:3px 5px;font-size:.75rem;font-weight:800}.scroll-mode-control button.active{background:var(--blue-600);color:#fff;box-shadow:0 2px 6px #1769e033}.axis-variable-field small{min-height:14px;color:var(--muted);text-align:center;margin-top:-2px;font-size:.68rem;font-weight:700}.surface-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.surface-grid.single{grid-template-columns:minmax(600px,900px);justify-content:center}.surface-panel{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;min-width:0;overflow:hidden}.surface-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:42px;padding:8px 12px;display:flex}.surface-title h2{margin:0;font-size:.95rem}.surface-title span{color:var(--muted);font-size:.74rem;font-weight:700}.surface-svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#fff,#f7f9fc);width:100%;height:auto;max-height:315px;display:block}.surface-svg.rotating,.surface-svg.rotating .surface-cell{cursor:grabbing}.surface-axis{stroke:#6e7f96;stroke-width:1.2px}.surface-axis-title{fill:var(--ink);font-size:11px;font-weight:800}.surface-tick,.surface-value-tick{fill:var(--muted);font-size:9px}.surface-tick-line{stroke:#7d8da2;stroke-width:1px}.surface-cell{stroke:#ffffff9e;stroke-width:.75px;cursor:crosshair;opacity:.76;transition:opacity .12s}.surface-cell:hover{opacity:1;stroke:var(--navy-900);stroke-width:1.4px}.surface-cell.normal{fill:var(--normal)}.surface-cell.warning{fill:var(--warning)}.surface-cell.fail{fill:var(--fail)}.surface-current circle{fill:#fff;stroke:var(--navy-950);stroke-width:3px;pointer-events:none}.surface-current line{stroke:var(--navy-950);stroke-width:1.2px;stroke-dasharray:3 3;pointer-events:none}.surface-readout{border-top:1px solid var(--line);min-height:38px;color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:5px 11px;padding:7px 10px;font-size:.71rem;display:flex}.surface-readout strong{color:var(--ink)}.surface-help{text-align:center;margin:10px 0 0!important}.section-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.section-heading h1{margin:5px 0 0;font-size:1.55rem}.inline-field{flex-direction:row;align-items:center;gap:8px}.inline-field select{min-width:160px}.sweep-controls>p{color:var(--muted);font-size:.82rem}.sweep-checks{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.sweep-checks fieldset{border:1px solid var(--line);border-radius:7px;padding:10px 12px 12px}.sweep-checks legend{color:var(--navy-800);padding:0 8px;font-weight:800}.sweep-effect{border-top:1px solid #e7ebf1;grid-template-columns:95px repeat(3,70px);justify-content:center;align-items:center;gap:8px;min-height:38px;display:grid}.sweep-effect:first-of-type{border-top:0}.sweep-effect strong{font-size:.77rem}.sweep-effect label{align-items:center;gap:5px;font-size:.75rem;display:flex}.sweep-effect i,.chart-legend i{border-radius:3px;width:10px;height:10px}.chart-wrap{grid-template-rows:minmax(0,1fr) auto auto;width:100%;height:100%;min-height:0;display:grid}.sweep-chart{width:100%;height:100%;min-height:0}.sweep-chart line{stroke:#dfe5ed;stroke-width:1px}.sweep-chart text{fill:var(--muted);text-anchor:end;font-size:11px}.sweep-chart .axis-title{text-anchor:middle;font-size:12px;font-weight:800}.sweep-chart .x-tick{text-anchor:middle}.sweep-chart .threshold-label{font-size:10px;font-weight:800}.sweep-chart .warning-label{fill:#b76a00}.sweep-chart .fail-label{fill:var(--fail)}.sweep-chart polyline{fill:none;stroke-width:2.6px;stroke-linejoin:round}.sweep-chart .sweep-hit-target{stroke:#0000;stroke-width:18px;pointer-events:stroke;cursor:crosshair}.sweep-chart .sweep-selected-point{fill:#fff;stroke-width:4px;pointer-events:none}.sweep-chart .warning-line{stroke:var(--warning);stroke-dasharray:7 5}.sweep-chart .fail-line{stroke:var(--fail);stroke-dasharray:7 5}.sweep-point-readout{width:fit-content;max-width:calc(100% - 24px);color:var(--muted);background:#f5f9ff;border:1px solid #bfd0e5;border-radius:7px;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 16px;margin:-2px auto 10px;padding:8px 13px;font-size:.78rem;display:flex}.sweep-point-readout>span{align-items:center;gap:5px;display:flex}.sweep-point-readout i{border-radius:3px;width:10px;height:10px}.sweep-point-readout strong,.sweep-point-readout b{color:var(--ink)}.chart-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:9px 18px;font-size:.73rem;display:flex}.chart-legend span{align-items:center;gap:5px;display:flex}.optimizer-page{grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;height:100%;display:grid;overflow:hidden}.optimizer-controls{padding:14px 16px}.optimizer-intro{color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;font-size:.8rem;display:flex}.optimizer-intro p{margin:0}.optimizer-settings{flex-wrap:wrap;justify-content:center;align-items:end;gap:12px;display:flex}.optimizer-settings>.field{text-align:center;width:150px}.optimizer-settings .wide{width:290px}.option-field>span{justify-content:center;align-items:center;gap:6px;min-height:32px;display:flex}.optimizer-locks{grid-template-columns:.85fr .75fr 1.75fr;gap:10px;min-height:0;display:grid}.lock-card{box-shadow:none;padding:13px}.lock-card h3{text-align:center;margin:0 0 9px;font-size:.93rem}.lock-table,.joint-lock-table{border:1px solid var(--line)}.lock-row{border-top:1px solid var(--line);text-align:center;grid-template-columns:1.3fr 1fr 65px;align-items:center;min-height:42px;font-size:.82rem;display:grid}.lock-row:first-child{border-top:0}.lock-row.header,.joint-lock-row.header{min-height:34px;color:var(--muted);background:#f3f6fa;font-size:.74rem;font-weight:800}.lock-row input,.joint-lock-row input{justify-self:center;width:17px;height:17px}.joint-lock-row{border-top:1px solid var(--line);text-align:center;grid-template-columns:60px 1fr 65px 1fr 65px 1fr 65px;align-items:center;min-height:42px;font-size:.8rem;display:grid}.optimizer-action{grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr);gap:10px;display:grid}.primary{color:#fff;background:linear-gradient(135deg,#2379ed,#075dcc);border:1px solid #075dcc;border-radius:6px;min-height:39px;padding:8px 16px;font-weight:800;box-shadow:0 6px 16px #1468dc33}.primary.large{min-height:62px;font-size:1rem}.optimizer-summary{background:#edf7f8;border:1px solid #d2e8eb;border-radius:7px;flex-direction:column;justify-content:center;gap:8px;min-height:62px;padding:10px 13px;font-size:.82rem;display:flex}.progress-track{background:#d8e5e7;border-radius:4px;height:5px;overflow:hidden}.progress-track span{background:#0c91a6;height:100%;transition:width .2s;display:block}.driveline-3d-page{height:100%;overflow:hidden}.driveline-3d-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;height:100%;min-height:0;padding:14px;display:grid;overflow:hidden}.driveline-3d-toolbar{grid-template-columns:minmax(360px,1fr) 170px 150px auto auto 150px;align-items:end;gap:10px;min-width:0;display:grid}.driveline-3d-copy{align-self:center;min-width:0}.driveline-3d-copy h1{margin:4px 0 5px;font-size:1.45rem}.driveline-3d-copy p{color:var(--muted);margin:0;font-size:.78rem}.driveline-3d-toolbar>button{height:38px;color:var(--navy-800);white-space:nowrap;background:#fff;border:1px solid #aebed2;border-radius:6px;padding:6px 13px;font-size:.78rem;font-weight:800}.driveline-3d-toolbar>button:hover,.driveline-3d-toolbar>button.active{border-color:var(--blue-500);background:var(--blue-100);color:var(--blue-600)}.driveline-3d-rpm{text-align:right;background:#eef5ff;border:1px solid #b9cce5;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;column-gap:5px;height:38px;padding:4px 10px;display:grid}.driveline-3d-rpm span{color:var(--muted);grid-column:1/-1;font-size:.62rem;font-weight:700}.driveline-3d-rpm strong{color:var(--blue-600);font-size:.88rem}.driveline-3d-rpm em{color:var(--muted);font-size:.66rem;font-style:normal}.driveline-3d-canvas{cursor:grab;touch-action:none;background:#f5f8fc;border:1px solid #cfd9e6;border-radius:9px;min-height:0;position:relative;overflow:hidden}.driveline-3d-canvas:active{cursor:grabbing}.driveline-3d-canvas canvas{outline:none;width:100%;height:100%;display:block}.driveline-3d-footer{grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr);align-items:center;gap:14px;min-height:44px;display:grid}.driveline-3d-footer>p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.4}.driveline-3d-segments{justify-content:flex-end;gap:7px;min-width:0;display:flex;overflow:hidden}.driveline-3d-segments span{border:1px solid var(--line);min-width:0;color:var(--muted);white-space:nowrap;background:#f8fafc;border-radius:6px;padding:6px 10px;font-size:.68rem}.driveline-3d-segments strong{color:var(--navy-800);margin-right:7px}.report-page{gap:16px;max-width:1600px;height:100%;margin:0 auto;display:grid;overflow-y:auto}.report-page-group{gap:16px;display:grid}.report-cover{background:linear-gradient(120deg, var(--navy-950), var(--navy-800));color:#fff;justify-content:space-between;align-items:center;min-height:175px;padding:28px 34px;display:flex}.report-cover h1{margin:6px 0;font-size:2.2rem}.report-cover p{color:#c8ddf8}.report-meta{align-items:center;gap:28px;display:flex}.report-meta span{color:#afc5df;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.report-meta strong{color:#fff;text-transform:none;letter-spacing:0;margin-top:5px;font-size:.86rem;display:block}.report-section{padding:22px}.report-section-title{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.report-section-title>div{align-items:center;gap:10px;display:flex}.report-section-title h2{margin:0;font-size:1.25rem}.report-section-title p{color:var(--muted);margin:0;font-size:.78rem}.relative-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.relative-grid article{border:1px solid var(--line);border-radius:7px;padding:10px}.relative-grid article h3{margin:0 0 4px;font-size:.88rem}.report-drawing{background:0 0;border:0;grid-template-rows:repeat(2,120px);gap:5px;height:auto;padding:0;display:grid}.report-drawing .projection{padding-top:20px}.report-drawing .projection h3{font-size:.58rem;top:6px}.report-drawing .driveline-svg{min-height:90px}.report-drawing .modified-segment text{stroke-width:4px;font-size:14px}.report-results th,.report-results td,.report-data-grid th,.report-data-grid td{text-align:center;border:1px solid #aeb9c8;padding:6px 8px;font-size:.75rem}.report-results{table-layout:fixed}.report-results thead th,.report-data-grid thead th{background:var(--navy-900);color:#fff}.report-results .changed,.report-data-grid .changed{background:#fff6c7;font-weight:800}.report-summary-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.report-summary-grid>div{border:1px solid var(--line);text-align:center;border-radius:6px;padding:12px}.report-summary-grid span{color:var(--muted);font-size:.7rem;display:block}.report-summary-grid strong{margin-top:5px;display:block}.condition-drawings{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.condition-drawings.single{grid-template-columns:minmax(0,1fr)}.condition-drawings article{border:1px solid var(--line);border-radius:6px;padding:10px}.condition-drawings h3{color:var(--navy-800);text-transform:uppercase;margin-bottom:6px;font-size:.72rem}.report-data-grid{grid-template-columns:1.35fr .65fr;gap:14px;margin-top:14px;display:grid}.report-data-grid h3{text-transform:uppercase;font-size:.82rem}.report-page.pdf-layout [data-pdf-page]{box-sizing:border-box;box-shadow:none;background:#fff;width:1400px!important;max-width:1400px!important;margin:0!important}.report-page.pdf-layout .report-page-group{gap:14px;display:grid}.report-page.pdf-layout .report-page-group .relative-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.report-page.pdf-layout .report-page-group .relative-grid article{padding:7px}.report-page.pdf-layout .report-page-group .report-drawing{grid-template-rows:repeat(2,118px)}.report-page.pdf-layout .report-results-page{padding:14px 18px}.report-page.pdf-layout .report-results-page .report-section-title{margin-bottom:8px}.report-page.pdf-layout .report-results-page .table-scroll{overflow:visible}.report-page.pdf-layout .report-results th,.report-page.pdf-layout .report-results td{padding:2px 5px;font-size:.68rem;line-height:1.05}.report-page.pdf-layout .configuration-report .condition-drawings,.report-page.pdf-layout .configuration-report .condition-drawings.single{grid-template-columns:minmax(0,1fr);gap:8px}.report-page.pdf-layout .configuration-report .condition-drawings article{padding:7px}.report-page.pdf-layout .configuration-report .report-drawing{grid-template-rows:repeat(2,105px)}.report-page.pdf-layout .report-data-grid th,.report-page.pdf-layout .report-data-grid td{padding:4px 5px;font-size:.68rem}.pdf-export .report-cover button{display:none}@media (max-width:1450px){.app-header{grid-template-columns:minmax(310px,1fr) auto minmax(240px,1fr);padding:0 16px}.primary-nav button{min-width:92px;padding:0 10px}.header-metrics{gap:12px}.analysis-page{grid-template-columns:350px minmax(0,1fr)}.optimizer-locks{grid-template-columns:.9fr .8fr 1.55fr}}@media print{@page{size:11in 8.5in;margin:.35in}html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;width:10.3in;min-width:0}.app-header,.action-bar,.report-cover button{display:none!important}.page-shell{padding:0}.report-page,.report-page-group{width:10.3in;max-width:none;display:block}.report-section,.report-cover{box-shadow:none;border-radius:0;margin:0 0 8mm}[data-pdf-page]{break-after:page;page-break-after:always;break-inside:avoid;page-break-inside:avoid}[data-pdf-page]:last-child{break-after:auto;page-break-after:auto}.page-break,.configuration-report{break-before:auto;page-break-before:auto}.report-drawing{grid-template-rows:repeat(2,90px)}.relative-grid{grid-template-columns:repeat(3,1fr);gap:7px}.relative-grid article{padding:6px}.relative-grid .report-drawing{grid-template-rows:repeat(2,78px)}.report-results-page{margin:0!important;padding:10px 12px!important}.report-results-page .report-section-title{margin-bottom:5px}.report-results-page .table-scroll{overflow:visible}.report-results th,.report-results td{padding:2px 4px;font-size:.68rem;line-height:1.05}.report-results tr{break-inside:avoid;page-break-inside:avoid}.report-data-grid th,.report-data-grid td{padding:4px 5px;font-size:.68rem}}
