:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0b132b;background-color:#f7f8fb;line-height:1.5;font-weight:400}body{margin:0;padding:0}.app-shell{padding:1.5rem 2rem 2rem;max-width:none;margin:0;min-height:100vh}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1rem}.hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}.api-target-toggle{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end}.api-target-toggle select{margin-top:.15rem;padding:.4rem .5rem;border-radius:8px;border:1px solid #d4dce7;background:#fff;min-width:220px}h1{margin:.3rem 0}.lede{margin-top:.5rem;color:#52606d}.eyebrow{text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;color:#52606d;margin:0 0 .2rem}.hint{color:#52606d;font-size:.9rem}.muted{color:#8a99ab}.cta{background:#0b132b;color:#fff;padding:1rem 1.25rem;border-radius:12px;font-weight:700}.ghost-button{background:#fff;color:#0b132b;border:1px solid #d4dce7;box-shadow:0 2px 6px #0000000a;padding:.55rem 1rem}.workspace-topbar{display:none}.control-row{display:flex;align-items:center;gap:.75rem}.workspace-grid{display:flex;gap:.75rem;align-items:stretch;height:calc(100vh - 170px);min-height:620px}.workspace-grid.with-floating-tabs{padding-right:0}.workspace-grid.cvat-full{flex-direction:column;height:calc(100vh - 140px)}.visual-pane,.breakdown-pane{display:flex;flex-direction:column;gap:.75rem;flex:1 1 0;min-width:320px;min-height:0;position:relative}.visual-pane.full-width{max-width:100%}.visual-tabs{display:flex;gap:.5rem;align-items:center}.resizer{width:28px;flex-shrink:0;border-radius:12px;border:1px solid #d4dce7;background:linear-gradient(180deg,#f8fafc,#e5e7eb);display:inline-flex;align-items:center;justify-content:center;cursor:col-resize;box-shadow:inset 0 0 0 1px #f1f5f9;padding:.35rem 0;gap:.35rem}.resizer-grip{width:4px;height:42px;border-radius:999px;background:#a1aecd;box-shadow:0 0 0 1px #0000000a;display:block}.resizer-controls{display:flex;flex-direction:column;align-items:center;gap:.35rem}.resizer-arrow{background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:10px;padding:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000000d;transition:background .12s ease,transform .12s ease}.resizer-arrow:hover{background:#eef2ff;transform:translateY(-1px)}.resizer-arrow.active{background:#2563eb;color:#fff;border-color:#1d4ed8;box-shadow:0 4px 10px #2563eb38}.collapsed-pane{min-width:0;flex-basis:0!important;overflow:hidden}.pane-header{background:#fff;border:1px solid #e0e6ed;border-radius:14px;padding:1.25rem 1.5rem;box-shadow:0 2px 10px #00000008}.pane-card{background:#fff;border:1px solid #e0e6ed;border-radius:14px;padding:1.25rem 1.5rem;box-shadow:0 2px 10px #00000008;flex:1;display:flex;flex-direction:column}.feedback-card{margin-top:1.5rem}.upload-card{background:#f7f9ff}.upload-zone{border:1px dashed #a1aecd;border-radius:12px;padding:1.5rem;text-align:center;background:linear-gradient(135deg,#f1f4ff,#eef3ff)}.actions{margin-top:1rem;display:flex;align-items:center;gap:.75rem;justify-content:center}button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;padding:.65rem 1.1rem;cursor:pointer;font-weight:600;box-shadow:0 4px 12px #3b82f640;transition:transform .12s ease,box-shadow .12s ease}button:hover{opacity:.95;transform:translateY(-1px)}.pill{background:#eef2ff;color:#1e3a8a;border:1px solid #cdd7ff;border-radius:999px;padding:.4rem .9rem;box-shadow:none}.pill.ghost{background:transparent;color:#2563eb;border-color:#2563eb;box-shadow:none}.preview.shell{display:flex;flex-direction:column;gap:1rem}.preview-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center}.annotation-group{display:flex;gap:.5rem;flex-wrap:wrap}.chip{background:#eef2ff;color:#1e3a8a;border-radius:999px;border:1px solid #cdd7ff;padding:.4rem .9rem;box-shadow:none;transition:background .12s ease,border-color .12s ease,color .12s ease}.chip.active{background:#2563eb;color:#fff;border-color:#1d4ed8}.chip:hover{background:#dbe3ff}.preview-meta{text-align:right;color:#52606d}.preview-stage{min-height:320px}.preview-placeholder{border:1px dashed #c9d3e6;border-radius:12px;padding:2rem;background:#f7f9ff;text-align:center}.preview-frame{position:relative;border:1px solid #e0e6ed;border-radius:12px;overflow:hidden;background:#0b132b;min-height:360px}.iframe-card{padding:.5rem;display:flex;flex-direction:column}.pane-card.resizable{flex:0 0 auto;height:60vh;min-height:280px;max-height:calc(100vh - 220px);resize:vertical;overflow:auto}.pane-card.resizable .cvat-frame{height:100%}.iframe-card .image-pane{display:flex;flex-direction:column;flex:1;min-height:0}.iframe-card .image-preview{flex:1;min-height:240px}.cvat-frame{width:100%;height:100%;min-height:0;border:none;border-radius:10px;background:#0b132b}.image-pane{display:flex;flex-direction:column;gap:.75rem}.image-toolbar{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}.image-preview{position:relative;border:1px solid #e0e6ed;border-radius:12px;overflow:auto;min-height:360px;box-shadow:0 2px 10px #0000000d;background:#0b132b}.image-canvas{display:inline-block;transform-origin:top left;transition:transform .15s ease;min-width:100%}.image-preview img,.preview-asset{display:block;width:100%;height:auto;background:#0b132b}.zoom-readout{font-weight:700;color:#0b132b}.annotation-overlay{position:absolute;bottom:0;left:0;right:0;padding:.75rem 1rem;background:linear-gradient(180deg,#0000,#000000a6);color:#fff;font-weight:600;display:flex;justify-content:space-between;gap:1rem}.breakdown{display:flex;flex-direction:column;gap:.5rem}.breakdown-rail{display:flex;flex-direction:column;gap:.6rem}.breakdown-section{background:linear-gradient(145deg,#fdfefe,#f6f8fc);border:1px solid #e0e6ed;border-radius:16px;padding:.65rem;width:100%;display:grid;grid-template-columns:minmax(180px,220px) 1fr;gap:.5rem;align-items:stretch;box-shadow:0 8px 24px #0f172a12}.section-header{background:#0f172a;color:#e2e8f0;border-radius:12px;padding:.65rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:inset 0 0 0 1px #e2e8f014}.section-chip{align-self:flex-start;background:#ffffff1a;border:1px solid rgba(226,232,240,.4);border-radius:999px;padding:.08rem .6rem;font-weight:700;letter-spacing:.04em}.section-copy{color:#cbd5e1;line-height:1.4}.breakdown-card{background:#fff;border:1px solid #e0e6ed;border-radius:14px;padding:.65rem .8rem;box-shadow:0 2px 10px #00000008;display:flex;flex-direction:column;gap:.6rem}.breakdown-section .breakdown-card{height:100%}.card-title{font-weight:700;margin-bottom:.5rem}.card-title-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.unit-toggle{display:inline-flex;background:#f4f6fb;border:1px solid #d4dce7;border-radius:999px;padding:.12rem;gap:.12rem}.unit-toggle label{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;cursor:pointer;font-weight:700;color:#334155}.unit-toggle label.active{background:#fff;box-shadow:0 1px 4px #0000000d;color:#0f172a}.unit-toggle input{accent-color:#2563eb}.dim-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem .75rem;margin-bottom:.5rem}.calculated-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem .75rem}.calculated-grid input{background:#f7f9ff;font-weight:700;color:#0b132b}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem .75rem}label{display:flex;flex-direction:column;gap:.25rem;font-weight:600;color:#0b132b}input,textarea{border:1px solid #d4dce7;border-radius:10px;padding:.65rem .75rem;font-size:1rem;background:#fdfefe;font-family:inherit}.inline-fields{display:grid;grid-template-columns:100px 1fr;gap:.5rem}textarea{resize:vertical}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.6rem}.feature-column{display:flex;flex-direction:column;gap:.5rem;background:#f8fafc;border:1px solid #d8e0eb;border-radius:10px;padding:.55rem}.feature-column-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.feature-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem;background:#fff;border:1px solid #dfe6f0;border-radius:10px;padding:.5rem .6rem;box-shadow:0 1px 4px #00000008}.inputs-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;flex:1 1 360px}.calculation-display{display:inline-flex;justify-content:space-between;align-items:baseline;gap:.25rem;color:#475569;flex:0 0 auto}.calculation-display strong{color:#0f172a}.feature-row .pill{align-self:center}.total-row{margin-top:.15rem;padding-top:.4rem;border-top:1px dashed #cbd5e1}.breakdown input,.breakdown textarea,.breakdown select{padding:.5rem .6rem;font-size:.95rem}.breakdown .pane-header{padding:.9rem 1rem}.tabs-rail{background:#0f172a;color:#e2e8f0;border-radius:14px;padding:.85rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 4px 12px #0f172a4d}.tabs-rail.floating{position:sticky;bottom:1.25rem;width:auto;max-width:calc(100vw - 2.5rem);max-height:none;overflow:visible;z-index:10;align-items:center;flex-direction:row;gap:.25rem;align-self:center}.tab{background:transparent;border:1px solid rgba(226,232,240,.2);color:#e2e8f0;border-radius:10px;padding:.45rem .6rem;text-align:left;box-shadow:none;font-size:.95rem;display:inline-flex;align-items:flex-start;flex-direction:column;gap:.25rem}.tab-label{line-height:1.2}.tab-hotkey{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;padding:.1rem .45rem;border-radius:999px;border:1px solid rgba(226,232,240,.2);background:#e2e8f014;font-size:.75rem;color:#cbd5e1;letter-spacing:.02em}.tabs-rail.floating .tab,.tabs-rail.floating .eyebrow{writing-mode:horizontal-tb;text-orientation:initial}.tabs-rail.floating .tab{text-align:center;padding:.45rem .65rem;gap:.25rem;letter-spacing:.015em;width:auto;display:flex;justify-content:center;align-items:center;font-size:.82rem}.tab.active{background:#2563eb;border-color:#2563eb;color:#fff}.tab.active .tab-hotkey{background:#fff3;border-color:#ffffff59;color:#fff}.tabs-rail .eyebrow{color:#cbd5e1}.labels-panel{display:flex;flex-direction:column;gap:1rem}.labels-body{padding:0 .5rem .5rem;display:flex;flex-direction:column;gap:1rem}.labels-ready{display:flex;flex-direction:column;gap:.5rem}.labels-actions{display:flex;justify-content:flex-end}.labels-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.labels-list.inline{flex-direction:row;flex-wrap:wrap}.labels-list.inline .label-row{flex:1 1 240px}.label-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#f7f9ff,#eef3ff);border:1px solid #e0e6ed;border-radius:12px;padding:.75rem 1rem}.labels-section{background:#fff;border:1px dashed #cbd5e1;border-radius:12px;padding:.75rem .9rem}.labels-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.tab-placeholder{text-align:left;padding:.75rem .25rem .25rem}.quote-stack{display:flex;flex-direction:column;gap:1.25rem}.conversion-panel{background:#fff;border:1px solid #d4dce7;border-radius:14px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 10px 30px #0f172a0f}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-actions{display:flex;gap:.5rem}.conversion-dropzone{border:3px dashed #94a3b8;border-radius:16px;padding:2rem 1.5rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);min-height:220px;display:grid;place-items:center;text-align:center;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease;cursor:pointer}.conversion-dropzone:hover{border-color:#64748b;background:linear-gradient(135deg,#f8fafc,#eef2f7)}.conversion-dropzone.is-drag-active{border-color:#4f46e5;background:#eef2ff;box-shadow:0 0 0 4px #4f46e514,0 10px 24px #0f172a14}.drop-content{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.85rem;max-width:760px}.drop-visual{width:72px;height:72px;border-radius:14px;background:#0b132b;color:#fff;display:grid;place-items:center;font-size:2rem;box-shadow:0 10px 24px #0b132b40}.conversion-dropzone .actions{display:flex;align-items:center;justify-content:center;gap:.75rem}@media (min-width: 880px){.drop-content{flex-direction:row;text-align:left;gap:1.25rem}}.file-list{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem .75rem .25rem;background:#f8fafc}.file-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.file-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.file-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.65rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.conversion-result{border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.conversion-result.success{background:#ecfdf3;border:1px solid #bbf7d0}.conversion-result.error{background:#fef2f2;border:1px solid #fecdd3}.quote-meta{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border:1px solid #e0e6ed;border-radius:12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.quote-meta strong{display:block;font-size:1.1rem}.quote-meta-list ul{margin:.25rem 0 0;padding-left:1.1rem;color:#0b132b}.quote-laser-data{min-width:240px;padding:.5rem .75rem;border:1px dashed #cbd5e1;border-radius:10px;background:#fff;box-shadow:inset 0 1px #ffffffb3}.quote-laser-data p{margin:.15rem 0}.quote-run-settings{min-width:220px;padding:.5rem .75rem;border:1px dashed #cbd5e1;border-radius:10px;background:#fff;box-shadow:inset 0 1px #ffffffb3;display:flex;flex-direction:column;gap:.35rem}.quote-run-settings input{max-width:180px}.quote-run-settings select{max-width:220px}.quote-inline-number{width:88px}.quote-table-wrapper{overflow-x:auto}.quote-table{width:100%;border-collapse:collapse;border:1px solid #e0e6ed;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #00000008}.quote-table th,.quote-table td{border:1px solid #e0e6ed;padding:.75rem .85rem;text-align:left;background:#fff}.quote-table th{background:#f7f9ff;font-weight:700;white-space:nowrap}.quote-table.compact th,.quote-table.compact td{padding:.55rem .65rem}.quote-table tbody tr:nth-child(odd) td{background:#fbfdff}.quote-table .bom-cell{width:240px;vertical-align:top}.quote-table .bom-cell ul{margin:.35rem 0 0;padding-left:1.1rem;color:#0b132b}.quote-costs{display:grid;grid-template-columns:3fr 1fr;gap:1rem;align-items:start}.cost-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.cost-row{display:flex;justify-content:space-between;padding:.75rem .85rem;border:1px solid #e0e6ed;border-radius:10px;background:#fff}.total-chip{border:1px solid #d4dce7;border-radius:12px;padding:1rem 1.25rem;background:linear-gradient(135deg,#0b132b,#1f2a44);color:#fff;text-align:center}.total-chip .muted{color:#dbe4ff}@media (max-width: 1024px){.quote-costs{grid-template-columns:1fr}.quote-meta{flex-direction:column}}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.feedback-layer{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-start;padding:3rem 1.5rem 2rem;z-index:20}.feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b132b73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto}.feedback-dialog{position:relative;width:min(960px,calc(100% - 3rem));background:#fff;border-radius:16px;border:1px solid #d4dce7;box-shadow:0 24px 80px #0000002e;padding:1.25rem 1.5rem 1.5rem;pointer-events:auto;max-height:calc(100vh - 120px);overflow:auto}.feedback-dialog h3{margin:.2rem 0 0}.feedback{display:flex;flex-direction:column;gap:.8rem}.feedback-form{display:flex;flex-direction:column;gap:.75rem}.field span{color:#1f2937}.field small{color:#6b7280;display:block;margin-top:.2rem}.attachment-name{color:#111827;font-weight:600;margin-top:.35rem}.feedback-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.feedback-status{font-weight:600}.feedback-status.error{color:#dc2626}.feedback-status.success{color:#0f766e}.combo-wrapper{position:relative;width:100%}.combo-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ccc;box-shadow:0 4px 10px #00000026;z-index:9999;margin:4px 0 0;padding:0;list-style:none;max-height:200px;overflow-y:auto}.combo-dropdown li{padding:6px 10px;cursor:pointer}.combo-dropdown li:hover{background:#f2f2f2}@media (max-width: 1100px){.workspace-grid{flex-direction:column;height:auto}.workspace-grid.with-floating-tabs{padding-right:0}.tabs-rail.floating{position:static;left:auto;transform:none;width:100%;max-height:none;align-items:flex-start;align-self:stretch}.tabs-rail.floating .tab,.tabs-rail.floating .eyebrow{writing-mode:horizontal-tb;text-orientation:initial}.tabs-rail.floating .tab{text-align:left;padding:.45rem .6rem;letter-spacing:normal}.resizer{display:none}}
