.workflow-guide{margin-bottom:22px;background:linear-gradient(120deg,#fff,#eef2ff)}
.workflow-guide h2{font-size:23px;letter-spacing:-.5px;margin:8px 0 14px}.workflow-guide p{color:var(--muted);line-height:1.7;max-width:760px}.workflow-guide ol{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-left:24px;line-height:1.6;color:var(--muted)}.workflow-guide li b{color:var(--ink)}
.file-identity{display:flex;align-items:center;gap:16px;margin:16px 0;overflow-wrap:anywhere;min-width:0}.file-identity img,.no-thumbnail{width:96px;height:96px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:12px;flex-shrink:0}.no-thumbnail{display:grid;place-items:center;color:var(--muted);font-size:11px;text-align:center}.file-identity p,.file-identity small{font-size:12px;color:var(--muted);margin:5px 0}.model-preview{background:#f5f7fb;height:auto;min-height:150px;color:var(--ink);padding:12px}.model-preview .file-identity{width:100%}.review-check{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.6;margin:18px 0}.review-check input{margin-top:4px;flex-shrink:0}.image-upload{display:block;text-align:center;cursor:pointer;margin-top:12px}.analysis-note{min-height:38px}.form-note{line-height:1.7}.client-toolbar{display:flex;gap:14px;align-items:end;margin-bottom:18px;flex-wrap:wrap}.client-toolbar label:first-child{display:grid;gap:8px;flex:1;font-size:13px}.client-toolbar input[type=search]{padding:12px;border:1px solid var(--line);border-radius:10px}.client-toolbar label.secondary{cursor:pointer}.table td{padding-right:15px}.table select{padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.table .file-identity img,.table .no-thumbnail{width:56px;height:56px}.table .file-identity small{display:none}.table .file-identity{margin-top:0}.review-total{padding:16px;background:var(--blue-soft);border-radius:12px}.proposal-modal .modal-panel{width:min(840px,100%)}.proposal-preview dt{font-weight:700;font-size:12px;color:var(--muted);margin-top:16px}.proposal-preview dd{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.proposal-meta{gap:12px;flex-wrap:wrap}.modal-panel{overscroll-behavior:contain}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible{outline:3px solid #8ea0ff;outline-offset:3px}.field input:invalid{border-color:var(--red)}
@media(max-width:680px){.workflow-guide ol{grid-template-columns:1fr}.topbar{gap:14px;flex-wrap:wrap}.mobile-nav{overflow-x:auto;justify-content:flex-start;gap:8px}.mobile-nav button{flex:0 0 65px}.proposal-preview{padding:12px}.proposal-brand{flex-wrap:wrap;gap:8px}.file-identity img,.no-thumbnail{width:72px;height:72px}.workflow-guide h2{font-size:20px}.client-toolbar{align-items:stretch}.client-toolbar label:first-child{flex-basis:100%}.modal-actions{flex-wrap:wrap}.page-title{max-width:100%}body>div[style*="position:fixed"]{bottom:80px!important}}
@media print{@page{size:A4;margin:15mm}.app-modal:not(.proposal-modal){display:none!important}.proposal-preview{min-height:0}.proposal-preview .file-identity,.proposal-total,tr{break-inside:avoid}.modal-panel{overflow:visible}.proposal-preview{font-size:11pt}.file-identity img{width:85px;height:85px}}
@media(max-width:680px){.sync-status{bottom:80px!important;right:12px!important;font-size:10px!important}}
/* Futuristic dashboard — scoped to the active home screen. */
body{background:#1c1c1f;color:#e8f0ff}
body .app{background:radial-gradient(ellipse at 75% 0,rgba(255,255,255,.025),transparent 55%)}
body .sidebar{background:#202023;border-color:#36363b}
body .brand strong{color:#edf5ff}
body .brand small,body .side-bottom{color:#8a9cb5}
body .side-bottom{border-color:#39393f}
body .nav-title{color:#7288a5;letter-spacing:.16em}
body .nav button{color:#96a8c1}
body .nav button:hover,body .nav button.active{background:linear-gradient(90deg,#333b3f,#2b2d31);color:#76e5ff;box-shadow:inset 2px 0 #57daff}
body .mobile-nav{background:rgba(10,18,33,.96);border-color:#24344a}
body .mobile-nav button{color:#8da3be}
body .mobile-nav button.active{color:#74e7ff}
body .sync-status{background:#29292e!important;border-color:#424248!important;color:#a5b9d0!important;box-shadow:none!important}
#dashboard{--dash-muted:#8da4bf;--dash-line:#213149;--dash-cyan:#6ce3ff;padding-bottom:28px}
.dash-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:5px 0 29px}
.dash-eyebrow{font-size:10px;letter-spacing:.19em;font-weight:650;color:#8ba7c7}.dash-eyebrow span{color:#41cfee;padding:0 8px}
.dash-top h1{font-size:28px;letter-spacing:-.9px;font-weight:600;margin:9px 0 0;color:#f1f6ff}
.dash-local{display:flex;gap:9px;align-items:center;font-size:11px;color:#9ab2cc;border:1px solid #424248;background:#2b2d30;border-radius:20px;padding:9px 12px;white-space:nowrap}
.dash-local i,.dash-footer i{width:6px;height:6px;display:inline-block;background:#5ce2c0;border-radius:50%;box-shadow:0 0 10px #4ae5b477}
.dash-hero{display:grid;grid-template-columns:1.5fr 1fr;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#303035,#28282d 60%,#232327);border:1px solid #44444c;border-radius:22px;min-height:350px;box-shadow:0 18px 50px #0003}
.dash-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 49.8%,#72c8ff08 50%,transparent 50.2%),linear-gradient(#72c8ff08 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,#000)}
.dash-hero:after{content:'';position:absolute;top:0;left:32px;width:160px;height:1px;background:linear-gradient(90deg,transparent,#6ce3ff,transparent)}
.dash-hero-copy{padding:38px 0 30px 34px;position:relative;z-index:1}.dash-hero .dash-eyebrow{color:#66d9f7;font-size:9px}
.dash-hero h2{font-size:clamp(25px,2.6vw,39px);line-height:1.2;letter-spacing:-1.2px;font-weight:620;margin:20px 0 16px;color:#f0f5ff}.dash-hero h2 em{font-style:normal;color:#7de8ff}
.dash-hero p{font-size:13px;line-height:1.8;color:#a6b9d1;max-width:450px;margin-bottom:24px}
.dash-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.dash-primary{background:linear-gradient(110deg,#91edff,#51c7f2);border:1px solid #a4f0ff;color:#082233;padding:13px 18px;border-radius:9px;font-size:12px;font-weight:750;box-shadow:0 3px 22px #4ccefa20}.dash-primary span{margin-left:18px}.dash-primary:hover{filter:brightness(1.1);box-shadow:0 0 25px #4ccefa40}
.dash-secondary{color:#bed0e8;font-size:12px;background:none;padding:10px 0}.dash-secondary:hover{color:#7de8ff}
.dash-tags{display:flex;gap:18px;margin-top:29px;color:#7893b2;font-size:9px;letter-spacing:.07em}.dash-tags span+span{border-left:1px solid #36506b;padding-left:18px}
.dash-visual{position:relative;display:grid;place-items:center;min-width:0;overflow:hidden}.dash-object{width:100%;max-width:350px;position:relative;z-index:1;filter:drop-shadow(0 0 20px #35aee633);margin-top:-18px}.dash-orbit{position:absolute;border:1px solid #459cbe20;border-radius:50%;width:295px;height:295px}.orbit-two{width:235px;height:235px;border-style:dashed;transform:rotate(-30deg)}.dash-cross{position:absolute;color:#539abd;font-size:18px;font-weight:300}.cross-one{top:35px;right:30px}.cross-two{bottom:58px;left:15px}.dash-visual-caption{position:absolute;bottom:21px;text-align:center;z-index:2}.dash-visual-caption span{display:block;font-size:8px;letter-spacing:.2em;color:#7097b9}.dash-visual-caption b{display:block;font-size:10px;font-weight:500;color:#bed1e5;margin-top:7px}
.dash-section-label{display:flex;justify-content:space-between;align-items:center;margin:27px 0 13px}.dash-section-label>span{font-size:10px;letter-spacing:.17em;color:#a7bbd4}.dash-section-label small{font-size:10px;color:#7e96b3}
.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.dash-stat{position:relative;background:linear-gradient(135deg,#303035,#28282c);border:1px solid #404046;border-radius:13px;padding:19px 18px;min-width:0}.dash-stat:last-child{background:linear-gradient(135deg,#303735,#292d2d);border-color:#46544f}.dash-stat-top{display:flex;justify-content:space-between;gap:6px;align-items:center;color:#b0c1d7;font-size:11px}.dash-stat-top small{font:10px ui-monospace,monospace;color:#5e7b9d}.dash-stat>strong{display:block;font-size:clamp(21px,2.4vw,32px);font-weight:600;letter-spacing:-1px;color:#ecf4ff;margin:18px 0}.dash-stat:last-child>strong{color:#82ecd6}.dash-stat-bottom{display:flex;gap:7px;align-items:center;font-size:9px;color:#8097b3}.dash-stat-bottom i{width:4px;height:4px;border-radius:50%;background:#5d83b6}.dash-stat:last-child .dash-stat-bottom i{background:#5de0bd}
.dash-bottom{display:grid;grid-template-columns:1fr 1.25fr;gap:17px;margin-top:20px}.dash-panel{background:#27272b;border:1px solid #3c3c42;border-radius:14px;padding:22px;min-width:0}.dash-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.dash-panel-head h2{font-size:14px;color:#d8e5f6;margin:0;font-weight:550}.dash-panel-head>span,.dash-panel-head button{font-size:10px;color:#819bb9;background:none}.dash-panel-head button{color:#80d8f1;padding:0}.dash-pipeline{display:grid;gap:17px}.dash-pipeline-row{display:grid;grid-template-columns:86px 1fr 22px;align-items:center;gap:14px;font-size:11px;color:#a7bbd4}.dash-pipeline-row>span{display:flex;align-items:center;gap:8px}.dash-pipeline-row i{width:5px;height:5px;border-radius:50%}.dash-track{height:4px;border-radius:8px;background:#3a3a40;overflow:hidden}.dash-track b{display:block;height:100%;border-radius:8px}.dash-pipeline-row>strong{text-align:right;font-weight:500;color:#c3d5eb;font-family:ui-monospace,monospace}.dash-panel-note{font-size:10px;color:#7f96b3;margin:23px 0 0;line-height:1.6}.dash-empty{display:flex;gap:17px;align-items:center;min-height:150px}.dash-empty>button{min-width:48px;min-height:48px;cursor:pointer;font-size:25px;color:#73bfe2;background:#303238;border:1px dashed #335b76;border-radius:14px;padding:17px}.dash-empty b{font-size:13px;font-weight:500;color:#bbd0e8}.dash-empty p{font-size:11px;line-height:1.8;color:#8199b5;max-width:270px}.dash-recent{display:flex;width:100%;gap:12px;align-items:center;text-align:left;padding:15px 0;color:#8db6d5;background:none;border-bottom:1px solid #3b3b42}.dash-recent:last-child{border:0}.dash-recent-icon{font-size:18px;color:#7acde9;background:#34363c;border:1px solid #474b51;border-radius:8px;padding:8px}.dash-recent>span:nth-child(2){flex:1;min-width:0}.dash-recent b{display:block;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d1e0f1}.dash-recent small{display:block;margin-top:6px;color:#8099b5;font-size:10px}.dash-recent>strong{font-size:11px;font-weight:500;white-space:nowrap;color:#b3d8e9}.dash-recent:hover b{color:#7de8ff}
.dash-footer{display:flex;justify-content:space-between;gap:16px;margin:22px 0 0;color:#738ba8;font-size:9px;line-height:1.7}.dash-footer>span{display:flex;align-items:center;gap:8px}.dash-footer button{color:#9bb5d2;background:none;font-size:10px;padding:0;text-align:right}
@media(min-width:1450px){.dash-hero-copy{padding-left:42px}.dash-hero{min-height:370px}}
@media(max-width:1100px){.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-hero{grid-template-columns:1.5fr 1fr}.dash-hero-copy{padding-left:24px}.dash-hero h2{font-size:29px}.dash-bottom{grid-template-columns:1fr}.dash-stat>strong{font-size:29px}.dash-tags{gap:10px}.dash-tags span+span{padding-left:10px}}
@media(max-width:680px){.dash-top{align-items:flex-start;margin-top:0;margin-bottom:22px}.dash-top h1{font-size:24px}.dash-local{font-size:0;padding:8px;border:0;background:none}.dash-local i{width:7px;height:7px}.dash-eyebrow{font-size:9px}.dash-hero{display:flex;flex-direction:column;border-radius:17px;min-height:0}.dash-hero-copy{padding:27px 23px 0}.dash-hero h2{font-size:29px;letter-spacing:-1px;margin-top:17px}.dash-hero p{font-size:12px}.dash-actions{gap:11px}.dash-primary{padding:12px 14px;font-size:11px}.dash-primary span{margin-left:8px}.dash-secondary{font-size:11px}.dash-tags{font-size:8px;margin-top:21px}.dash-visual{height:200px;margin:0 15px}.dash-object{width:205px;margin-top:-10px}.dash-orbit{width:190px;height:190px}.orbit-two{width:145px;height:145px}.dash-visual-caption{bottom:8px;right:0;text-align:right}.dash-visual-caption span{font-size:6px}.dash-visual-caption b{font-size:8px}.cross-one{top:25px;right:10px}.cross-two{bottom:30px;left:15px}.dash-section-label{margin-top:24px}.dash-section-label small{font-size:8px}.dash-stat{padding:15px 13px}.dash-stat-top{font-size:10px}.dash-stat-top small{display:none}.dash-stat>strong{font-size:26px;margin:14px 0}.dash-stat:last-child>strong{font-size:21px}.dash-stat-bottom{font-size:8px;line-height:1.5}.dash-metrics{gap:10px}.dash-panel{padding:20px 17px}.dash-bottom{gap:13px;margin-top:14px}.dash-footer{flex-direction:column;font-size:8px}.dash-footer button{text-align:left}.dash-empty{min-height:110px}.dash-recent{gap:9px}.dash-recent>strong{font-size:10px}.dash-recent-icon{padding:6px}.dash-recent small{font-size:9px}}
.app-modal{color:#101828}
body .brand-mark{background-image:none;background:linear-gradient(145deg,#3a444b,#292b30);color:#8deaff;font-size:13px;border:1px solid #52616b;box-shadow:0 0 18px #46c8ff18}
/* Shared charcoal theme: all application screens, forms and dialogs. */
@media screen {
  :root{color-scheme:dark;--bg:#1c1c1f;--card:#29292e;--ink:#f0f0f3;--muted:#b0b0bc;--line:#44444d;--blue:#82d9f4;--blue-soft:#303d45;--green:#75dfb3;--green-soft:#293e35;--red:#ff8fa0;--amber:#edc57b;--shadow:0 12px 35px #0002}
  body{background:var(--bg);color:var(--ink)}
  .sidebar{background:#202023;border-color:var(--line)}
  .card{background:var(--card);border-color:#3e3e46}
  .brand strong,.page-title,.card-title,.section-heading h3{color:var(--ink)}
  .nav-title,.eyebrow,.card-muted,.metric-label,.metric-sub,.field label,.machine-meta,.memory-row,.empty-note,.form-note,.analysis-note{color:var(--muted)}
  .brand small,.side-bottom,body .nav button,body .mobile-nav button{color:#b3b3bf}
  body .nav-title{color:#a0a0af}
  .nav button.active,.nav button:hover{background:var(--blue-soft);color:var(--blue)}
  .mobile-nav{background:rgba(32,32,35,.97);border-color:var(--line)}
  .icon-btn,.tiny-btn{background:#35353c;border-color:#50505a;color:#e1e1e8}
  .tiny-btn.danger{color:var(--red)}
  .primary{background:#82d9f4;color:#13242c;border:1px solid #9ee4f9}
  .primary:hover{background:#a2e4f7}
  .secondary{background:#34343c;color:#a7e3f5;border-color:#555560}
  .secondary:hover,.tiny-btn:hover{background:#41414a}
  .link-btn{color:#9adff4}
  .avatar{background:#3b4650;color:#c3effb}
  input,select,textarea{color-scheme:dark;accent-color:#82d9f4}
  .field input,.field select,.modal-fields input,.modal-fields select,.proposal-notes input,.proposal-notes textarea,.client-toolbar input[type=search],.table select{
    background:#202024;color:#f0f0f4;border:1px solid #565660;border-radius:10px
  }
  input::placeholder,textarea::placeholder{color:#9e9eac;opacity:1}
  select option{background:#25252a;color:#f0f0f4}
  .field input:focus,.field select:focus,.modal-fields input:focus,.modal-fields select:focus,.proposal-notes textarea:focus,.client-toolbar input:focus{
    border-color:#82d9f4;outline:2px solid #82d9f433;outline-offset:1px;box-shadow:0 0 0 3px #82d9f41a
  }
  .field input:invalid{border-color:var(--red)}
  .field input:disabled,.field select:disabled{background:#29292f;color:#a4a4b0}
  .workflow-guide{background:linear-gradient(120deg,#303035,#29292e);border-color:#484851}
  .workflow-guide h2,.workflow-guide li b{color:#f0f0f3}
  .workflow-guide p,.workflow-guide ol{color:#bcbcc7}
  .upload-drop{background:#242428;border-color:#60606d}
  .upload-drop.dragover{background:#303e45;border-color:#82d9f4}
  .upload-drop h2{color:#f1f1f5}.upload-drop p,.file-status{color:#b9b9c6}
  .upload-icon{background:#35434b;color:#a3e6f8}
  .model-preview,.no-thumbnail{background:#222226;color:#b8b8c5}
  .file-identity img{background:#35353b;border-color:#50505a}
  .file-identity strong{color:#ececf2}
  .file-identity p,.file-identity small{color:#b7b7c5}
  .analysis-badge{background:#3b3428;color:#eed092;border-color:#6b5839}
  .analysis-check,.modal-fields label,.proposal-notes label{color:#c0c0cd}
  .summary-card{background:linear-gradient(140deg,#36363f,#27272e);border:1px solid #565662;box-shadow:0 16px 40px #0003}
  .summary-kicker,.summary-unit{color:#bfc3d1}
  .summary-price,.summary-line strong,.summary-profit strong{color:#f6f6fa}
  .summary-line{color:#c7c7d4}.summary-profit{background:#ffffff09}.summary-profit small{color:#bdbdcb}
  .summary .primary{background:#91dff4;color:#172b33;border-color:#afeafa}
  .price-card{background:#25252a;border-color:#45454f}.price-card.target{background:#303d43;border-color:#567982}.price-card.target strong{color:#a2e9fa}
  .memory-row.total{color:#f0f0f5}
  .table th{color:#b7b7c4}.table td{color:#e1e1ea}
  .table tbody tr:hover{background:#ffffff04}
  .pill{background:#2c4036;color:#91e5bd}
  .bar-track,.mini-track,.machine .mini-track{background:#3e3e47}
  .ring{background:conic-gradient(#82d9f4 0 68%,#42424c 68%)}.ring:after{background:var(--card)}
  .app-modal{color:var(--ink);background:rgba(10,10,12,.76)}
  .modal-panel{background:#29292e;border:1px solid #4c4c56;box-shadow:0 25px 80px #0006}
  .modal-head,.modal-actions{border-color:#464650}.modal-close{color:#c4c4d0}
  .review-total{background:#343b40;color:#edf7fb}
  .proposal-preview{background:#232327;color:#e7e7ef;border-color:#484852}
  .proposal-brand{color:#b5e7f4}.proposal-brand span{color:#b8b8c7}
  .proposal-meta,.proposal-preview dt{color:#b6b6c5}
  .proposal-preview hr{border-color:#484852}
  .proposal-total{background:#343a3e}.proposal-total strong{color:#a8e7f7}
  body .sync-status{background:#303036!important;border-color:#53535e!important;color:#c8c8d4!important}
  .dash-hero p,.dash-stat-top,.dash-pipeline-row,.dash-recent b{color:#c6c6d3}
  .dash-eyebrow,.dash-tags,.dash-section-label small,.dash-stat-bottom,.dash-panel-note,.dash-panel-head>span,.dash-recent small,.dash-empty p,.dash-footer{color:#aaaabb}
}
/* Commercial printout retains a paper-friendly palette. */
@media print {
  :root{color-scheme:light;--ink:#172033;--muted:#596273;--line:#dce0e7;--blue:#264b8c}
  html,body,.app,.app-modal,.modal-panel,.modal-body,.proposal-preview{background:#fff!important;color:#172033!important;box-shadow:none!important;border:0!important}
  .proposal-preview .file-identity strong,.proposal-preview .table td{color:#172033}
  .proposal-preview .file-identity img{background:#fff}
  .proposal-preview .no-thumbnail{background:#f5f5f5;color:#596273}
  .proposal-total{background:#f1f4f8!important}.proposal-total strong{color:#264b8c!important}
  .proposal-brand,.proposal-preview h2,.proposal-preview dt{color:#172033}
}
.analysis-metrics{display:grid;gap:14px}.proposal-brand strong{background-color:#fff;border-radius:6px}
.costs-layout{grid-template-columns:minmax(0,1fr)}.general-costs .card-head{margin-bottom:12px}.general-costs h2{margin:0}.cost-capacity{max-width:400px;margin:22px 0}.general-cost-row{display:grid;grid-template-columns:minmax(160px,1.5fr) minmax(100px,.7fr) minmax(150px,1fr) auto;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.general-cost-row .field label{margin:0}.general-cost-row input,.general-cost-row select{margin-top:8px}.general-cost-row [data-remove-cost]{margin-top:20px}.cost-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.cost-totals>div{padding:15px;background:var(--bg);border:1px solid var(--line);border-radius:12px}.cost-totals small{display:block;color:var(--muted);font-size:11px}.cost-totals strong{display:block;margin-top:10px;font-size:17px}.cost-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px}#addGeneralCost{margin-top:18px}#costStatus{color:var(--muted);line-height:1.6;font-size:13px}@media(max-width:950px){.general-cost-row{grid-template-columns:1fr 1fr}.general-cost-row .field:first-child{grid-column:1/-1}.general-cost-row [data-remove-cost]{margin:0;justify-self:start}.cost-totals{grid-template-columns:1fr 1fr}}@media(max-width:450px){.general-cost-row{grid-template-columns:1fr}.general-cost-row .field:first-child{grid-column:auto}.cost-totals strong{font-size:14px}}
/* Translucent energy cube: native 3D transforms, no external assets. */
.tesseract-scene{--cube-size:148px;--cube-half:74px;position:relative;width:100%;height:300px;display:grid;place-items:center;perspective:750px}
.tesseract-float{position:relative;width:var(--cube-size);height:var(--cube-size);transform-style:preserve-3d;animation:energy-float 7s ease-in-out infinite}
.tesseract-cube{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(-22deg) rotateY(35deg);animation:energy-rotate 24s linear infinite}
.tesseract-face,.inner-face{position:absolute;inset:0;border:1px solid #b7f7ff;background:radial-gradient(ellipse at 30% 35%,#9aeeff44,transparent 65%),linear-gradient(135deg,#1268bd45,#5bdbff25 50%,#004acf50);box-shadow:inset 0 0 24px #18aaff88,0 0 9px #39caff99;backface-visibility:visible}
.face-front{transform:translateZ(var(--cube-half))}.face-back{transform:rotateY(180deg) translateZ(var(--cube-half))}.face-right{transform:rotateY(90deg) translateZ(var(--cube-half))}.face-left{transform:rotateY(-90deg) translateZ(var(--cube-half))}.face-top{transform:rotateX(90deg) translateZ(var(--cube-half))}.face-bottom{transform:rotateX(-90deg) translateZ(var(--cube-half))}
.tesseract-face:before,.tesseract-face:after{content:'';position:absolute;inset:9%;border:1px solid #9eefff55;box-shadow:0 0 9px #70dcff66,inset 0 0 13px #4facff44}
.tesseract-face:after{inset:22%;transform:rotate(45deg);border-color:#bafaff66}
.tesseract-face i{position:absolute;inset:0;background:conic-gradient(from 50deg at 40% 65%,transparent 0deg,#bdffff77 3deg,transparent 6deg,transparent 70deg,#76dbff88 73deg,transparent 77deg,transparent 175deg,#d6ffff77 178deg,transparent 182deg,transparent 270deg,#63cfff88 273deg,transparent 277deg);opacity:.6;animation:energy-veins 8s ease-in-out infinite alternate}
.tesseract-face b{position:absolute;inset:12%;background:radial-gradient(ellipse at 65% 30%,#ddffffbb,transparent 23%),radial-gradient(ellipse at 25% 75%,#51c9ff88,transparent 40%);filter:blur(8px);opacity:.5}
.tesseract-inner{position:absolute;inset:29%;--cube-half:31px;transform-style:preserve-3d;transform:rotateX(30deg) rotateZ(25deg);animation:energy-inner 18s linear infinite reverse}
.inner-face{border-color:#dcffffb0;background:#7ee8ff30;box-shadow:inset 0 0 18px #96f3ff88,0 0 12px #53d5ff88}
.tesseract-core{position:absolute;inset:23%;border-radius:50%;background:radial-gradient(circle,#fff 0%,#dafdff 14%,#6ae5ffb0 32%,#1697ee44 58%,transparent 72%);filter:blur(7px);animation:energy-breathe 5s ease-in-out infinite;pointer-events:none}
.tesseract-aura{position:absolute;width:290px;height:290px;border-radius:50%;background:radial-gradient(circle,#309af72e 5%,#1673b819 45%,transparent 70%);filter:blur(10px);animation:energy-breathe 5s ease-in-out infinite}
.tesseract-shadow{position:absolute;width:155px;height:18px;bottom:16px;border-radius:50%;background:#2ebfff40;filter:blur(12px)}
.tesseract-toggle{position:absolute;z-index:5;right:16px;top:15px;width:30px;height:30px;border:1px solid #6ddcff44;border-radius:50%;background:#202429;color:#a5e8ff;font-size:12px;display:grid;place-items:center}
.animation-paused .tesseract-scene *{animation-play-state:paused!important}
@keyframes energy-rotate{from{transform:rotateX(-22deg) rotateY(35deg)}to{transform:rotateX(-22deg) rotateY(395deg)}}
@keyframes energy-inner{from{transform:rotateX(30deg) rotateZ(25deg)}to{transform:rotateX(390deg) rotateZ(385deg)}}
@keyframes energy-float{0%,100%{transform:translateY(-5px)}50%{transform:translateY(7px)}}
@keyframes energy-breathe{0%,100%{opacity:.65;transform:scale(.93)}50%{opacity:.95;transform:scale(1.06)}}
@keyframes energy-veins{from{opacity:.35;transform:rotate(0)}to{opacity:.7;transform:rotate(12deg)}}
@media(max-width:680px){.tesseract-scene{transform:scale(.66);width:300px;min-width:300px;height:280px;position:absolute;top:-45px}.tesseract-toggle{right:0;top:6px;width:27px;height:27px}}
@media(prefers-reduced-motion:reduce){.tesseract-scene *{animation:none!important}.tesseract-toggle{display:none}}
@media print{.tesseract-toggle{display:none}}
/* User-supplied crystal reference, with gentle depth and energy motion. */
.tesseract-reference-scene{height:320px;perspective:900px}
.tesseract-reference-float{position:relative;width:min(310px,92%);aspect-ratio:1;animation:crystal-hover 9s ease-in-out infinite;transform-origin:50% 55%}
.tesseract-reference-image{display:block;width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse 66% 66% at 50% 50%,#000 49%,transparent 77%);filter:brightness(.95) saturate(1.12);animation:crystal-glow 7s ease-in-out infinite}
.tesseract-reference-light{position:absolute;inset:22%;border-radius:50%;background:radial-gradient(ellipse,#c7ffff30,transparent 68%);mix-blend-mode:screen;filter:blur(14px);animation:energy-breathe 7s ease-in-out infinite;pointer-events:none}
.tesseract-reference-scene .tesseract-aura{background:radial-gradient(circle,#1abcef29,transparent 67%)}
.tesseract-reference-scene .tesseract-shadow{bottom:5px;width:180px;opacity:.5}
@keyframes crystal-hover{0%,100%{transform:translateY(-5px) rotateX(2deg) rotateY(-5deg) rotateZ(-1deg)}50%{transform:translateY(5px) rotateX(-2deg) rotateY(5deg) rotateZ(1deg)}}
@keyframes crystal-glow{0%,100%{filter:brightness(.95) saturate(1.1)}50%{filter:brightness(1.09) saturate(1.2)}}
@media(max-width:680px){.tesseract-reference-scene{height:290px;top:-46px}.tesseract-reference-float{width:265px}.tesseract-reference-scene .tesseract-shadow{bottom:0}}
@media(prefers-reduced-motion:reduce){.tesseract-reference-scene *{animation:none!important}}
/* Synchronized energy pulse: luminous core, surface bloom and expanding halo. */
.tesseract-reference-scene .tesseract-aura{width:330px;height:330px;background:radial-gradient(circle,#b8faff55 0%,#2dcfff55 22%,#078eff24 47%,transparent 70%);filter:blur(16px);animation:crystal-halo-pulse 4.8s ease-in-out infinite}
.tesseract-reference-image{animation:crystal-surface-pulse 4.8s ease-in-out infinite;will-change:filter}
.tesseract-reference-light{inset:13%;background:radial-gradient(ellipse at 49% 48%,#ffffff 0%,#eaffffed 7%,#b4faffbb 17%,#54ddff77 32%,#16aaff22 52%,transparent 68%);filter:blur(8px);mix-blend-mode:screen;animation:crystal-core-pulse 4.8s ease-in-out infinite;will-change:opacity,transform}
.tesseract-reference-float:before{content:'';position:absolute;inset:3%;border-radius:44%;z-index:-1;background:radial-gradient(circle,#a2f6ff33,#19bfff11 48%,transparent 68%);box-shadow:0 0 30px #20caff55;animation:crystal-wave-pulse 4.8s ease-out infinite;pointer-events:none}
.tesseract-reference-float:after{content:'';position:absolute;inset:12%;background:conic-gradient(from 20deg at 49% 48%,transparent 0deg,#d3ffff55 2deg,transparent 6deg,transparent 93deg,#a1edff44 96deg,transparent 100deg,transparent 208deg,#d3ffff55 210deg,transparent 215deg,transparent 300deg,#a1edff44 303deg,transparent 308deg);filter:blur(3px);mix-blend-mode:screen;animation:crystal-rays-pulse 4.8s ease-in-out infinite;pointer-events:none}
.tesseract-reference-scene .tesseract-shadow{background:#43cfff80;animation:crystal-shadow-pulse 4.8s ease-in-out infinite}
@keyframes crystal-core-pulse{0%,100%{opacity:.06;transform:scale(.65)}25%{opacity:.15;transform:scale(.78)}43%{opacity:.86;transform:scale(1.13)}52%{opacity:.68;transform:scale(1.05)}73%{opacity:.2;transform:scale(.86)}}
@keyframes crystal-surface-pulse{0%,100%{filter:brightness(.78) saturate(1.15) drop-shadow(0 0 3px #2ccaff22)}25%{filter:brightness(.94) saturate(1.2) drop-shadow(0 0 7px #2ccaff44)}43%{filter:brightness(1.5) saturate(1.3) drop-shadow(0 0 19px #6aeaffaa)}52%{filter:brightness(1.3) saturate(1.25) drop-shadow(0 0 15px #45dfff88)}73%{filter:brightness(.98) saturate(1.2) drop-shadow(0 0 8px #2ccaff44)}}
@keyframes crystal-halo-pulse{0%,100%{opacity:.12;transform:scale(.76)}25%{opacity:.25;transform:scale(.9)}46%{opacity:.95;transform:scale(1.16)}60%{opacity:.5;transform:scale(1.2)}80%{opacity:.18;transform:scale(.94)}}
@keyframes crystal-wave-pulse{0%,30%{opacity:0;transform:scale(.65)}44%{opacity:.55;transform:scale(.95)}75%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
@keyframes crystal-rays-pulse{0%,100%{opacity:0;transform:rotate(-8deg) scale(.8)}30%{opacity:.1}45%{opacity:.62;transform:rotate(0deg) scale(1.08)}68%{opacity:0;transform:rotate(8deg) scale(1.18)}}
@keyframes crystal-shadow-pulse{0%,100%{opacity:.15;transform:scale(.8)}46%{opacity:.7;transform:scale(1.25)}75%{opacity:.25;transform:scale(1)}}
.animation-paused .tesseract-reference-float:before,.animation-paused .tesseract-reference-float:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.tesseract-reference-scene *,.tesseract-reference-float:before,.tesseract-reference-float:after{animation:none!important}.tesseract-reference-light{opacity:.18}.tesseract-reference-float:before,.tesseract-reference-float:after{opacity:0}.tesseract-reference-scene .tesseract-aura{opacity:.25}.tesseract-reference-image{filter:brightness(1) saturate(1.1)}}
.maintenance-summary{grid-column:1/-1;display:grid;gap:10px}.maintenance-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}progress{display:block;width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;background:#414149;accent-color:var(--green)}progress::-webkit-progress-bar{background:#414149}progress::-webkit-progress-value{background:var(--green)}progress::-moz-progress-bar{background:var(--green)}#maintenance details{margin-top:18px;overflow-wrap:anywhere}#maintenance summary{cursor:pointer;min-height:44px;padding:12px 0}button:disabled{opacity:.45;cursor:not-allowed}.sidebar{overflow-y:auto}.modal-panel{max-height:90dvh}button,input,select,textarea{touch-action:manipulation}
@media(max-width:1024px){input,select,textarea,.field input,.field select,.modal-fields input,.modal-fields select{font-size:16px!important}button,.tiny-btn{min-height:44px}.main{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.app-modal{padding: max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.modal-panel{max-height:calc(100dvh - 40px)}.modal-actions{position:sticky;bottom:0;background:var(--card);z-index:1}.machine{grid-template-columns:minmax(0,1fr)}.machine-actions{justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:680px){body{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.mobile-nav{overflow-x:auto;justify-content:flex-start;gap:4px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));overscroll-behavior-x:contain}.mobile-nav button{flex:0 0 76px;min-height:48px}.sync-status{bottom:calc(80px + env(safe-area-inset-bottom))!important;pointer-events:none}.maintenance-actions>button{flex:1 1 140px}.modal-body{padding:16px}.modal-head{padding:16px}.table td{min-width:105px}}
/* Commercial document: independent from the application's dark theme. */
.service-item{padding:16px 0;border-bottom:1px solid var(--line)}.service-item .fields{margin-bottom:10px}#quotes .topbar{flex-wrap:wrap;gap:12px}#productionSummary{margin-top:12px}
.modern-proposal{background:#fff!important;color:#112840!important;padding:30px;border:0;border-radius:0;font-family:Arial,sans-serif;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.proposal-letterhead{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:3px solid #00a9c5;padding-bottom:15px}.company-logo{width:245px;height:110px;object-fit:contain}.company-details{display:grid;gap:3px;text-align:right;font-size:10px;max-width:280px;color:#405366}.company-details b{font-size:12px;color:#0a294c}.proposal-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:25px 0}.proposal-kicker{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#007e97}.proposal-heading h1{font-size:29px;letter-spacing:-1px;margin:6px 0;color:#08294d}.proposal-reference{display:grid;gap:3px;text-align:right;font-size:10px;color:#526478}.proposal-reference b{color:#08294d;font-size:12px}.proposal-client{border-left:3px solid #00a9c5;padding:10px 15px;background:#f1f6f9}.modern-proposal h2{font-size:16px;margin:5px 0;color:#08294d}.proposal-client p{margin:3px 0;font-size:11px}.proposal-project{margin:22px 0 14px}.proposal-source{display:flex;gap:14px;align-items:center;margin-top:10px}.proposal-source img{height:68px;width:76px;object-fit:contain;border:1px solid #d9e5eb;border-radius:8px}.proposal-source>div{display:grid;gap:3px;min-width:0;font-size:11px}.proposal-source small{font-size:9px;color:#607283}.proposal-items{width:100%;border-collapse:collapse;font-size:11px}.proposal-items th{font-size:9px;text-transform:uppercase;letter-spacing:.6px;text-align:left;padding:10px;background:#e9f1f6;color:#08294d}.proposal-items td{padding:12px 10px;border-bottom:1px solid #dae4eb}.proposal-items th:first-child{width:53%}.proposal-items td:not(:first-child),.proposal-items th:not(:first-child){text-align:right;white-space:nowrap}.proposal-items small{display:block;color:#607283;margin-top:3px}.proposal-investment{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#08294d!important;color:white!important;padding:18px;margin:17px 0 23px;border-radius:8px}.proposal-investment span{display:block;font-size:9px;letter-spacing:1.4px;color:#89e4ef}.proposal-investment small{display:block;font-size:10px;margin-top:5px}.proposal-investment strong{font-size:29px;white-space:nowrap;letter-spacing:-.5px}.conditions-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:13px 0}.modern-proposal h3{font-size:10px;color:#007e97;margin:0 0 4px}.proposal-conditions p{font-size:11px;margin:0;white-space:pre-wrap}.proposal-scope{margin-top:12px}.proposal-acceptance{margin-top:22px;padding-top:12px;border-top:1px solid #d9e5eb;color:#526478}.proposal-acceptance p{font-size:9px;margin:0 0 18px}.proposal-acceptance>div{display:flex;justify-content:space-between;gap:12px;font-size:10px}.proposal-acceptance>small{display:block;text-align:center;font-size:8px;letter-spacing:.8px;margin-top:20px;color:#007e97}
@media(max-width:680px){.modern-proposal{padding:16px}.proposal-letterhead{flex-wrap:wrap}.company-logo{width:210px;height:85px}.company-details{text-align:left}.proposal-heading{flex-wrap:wrap}.proposal-reference{text-align:left}.proposal-investment{flex-wrap:wrap}.proposal-items{font-size:10px}.proposal-items th,.proposal-items td{padding:8px 4px}.proposal-acceptance>div{flex-wrap:wrap}}
@media print{@page{size:A4;margin:12mm 14mm}html,body{padding:0!important;margin:0!important}.proposal-modal .modal-panel{width:100%!important;max-height:none!important;overflow:visible!important}.proposal-modal .modal-body{padding:0!important}.modern-proposal{padding:0!important;font-size:10pt!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.proposal-letterhead,.proposal-heading,.proposal-client,.proposal-source,.proposal-investment,.conditions-grid>div,.proposal-acceptance{break-inside:avoid}.proposal-project h2,.proposal-kicker,.modern-proposal h3{break-after:avoid}.proposal-items thead{display:table-header-group}.proposal-letterhead{flex-wrap:nowrap}.proposal-heading{flex-wrap:nowrap}.company-details,.proposal-reference{text-align:right}.company-logo{width:235px;height:94px}.proposal-investment{flex-wrap:nowrap}.proposal-acceptance>div{flex-wrap:nowrap}.proposal-modal .modal-actions{display:none!important}}
@media print{.proposal-heading{margin:17px 0}.proposal-project{margin:16px 0 10px}.proposal-investment{padding:14px;margin:12px 0 16px}.proposal-acceptance{margin-top:15px;padding-top:10px}.proposal-acceptance p{margin-bottom:12px}.proposal-acceptance>small{margin-top:12px}.company-logo{height:80px}.proposal-letterhead{padding-bottom:10px}.conditions-grid{gap:10px 24px;margin:10px 0}.proposal-scope{margin-top:9px}}

/* Keep proposal actions visible while the commercial document scrolls. */
@media screen{.proposal-modal .modal-panel{display:flex;flex-direction:column;overflow:hidden}.proposal-modal .modal-head,.proposal-modal .modal-actions{flex-shrink:0}.proposal-modal .modal-body{overflow:auto;min-height:0}.proposal-modal .modal-actions{position:static;background:var(--card)}}
@media print{.proposal-modal .modal-panel,.proposal-modal .modal-body{display:block!important;max-height:none!important;height:auto!important;overflow:visible!important}}
.consolidated-choice{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}.consolidated-choice>input{margin-top:7px;flex:0 0 auto}.consolidated-choice>span{min-width:0;display:grid;gap:4px}.consolidated-choice small{overflow-wrap:anywhere}.consolidated-proposal-item{display:flex;align-items:center;gap:10px;min-width:0}.consolidated-proposal-item>div{min-width:0;overflow-wrap:anywhere}.consolidated-proposal-item img{width:68px;height:68px;object-fit:contain;flex:0 0 auto}.proposal-no-thumbnail{font-size:9px;color:#607283;flex:0 0 60px}.consolidated-service-heading td{background:#f1f6f9}.proposal-items tr{break-inside:avoid}@media(max-width:680px){.consolidated-proposal-item{flex-direction:column;align-items:flex-start}.consolidated-proposal-item img{width:52px;height:52px}}@media print{.consolidated-proposal-item{flex-direction:row;align-items:center}.consolidated-proposal-item img{width:68px;height:68px}}

.item-cost-fields{display:contents}.item-cost-fields[hidden]{display:none}.service-item input[readonly]{opacity:.8}

/* Products and services editor */
.quote-editor-modal .modal-panel{width:min(1180px,100%);display:flex;flex-direction:column;overflow:hidden}.quote-editor-modal .modal-head,.quote-editor-modal .modal-actions{flex-shrink:0}.quote-editor-modal .modal-body{overflow:auto;min-height:0;padding:24px;background:#202023}.quote-editor-intro{padding:4px 0 24px}.quote-step{color:#7ad9f4;font-size:10px;font-weight:750;letter-spacing:1.5px}.quote-editor-intro h2{font-size:25px;line-height:1.25;margin:9px 0;color:#f3f3f5}.quote-editor-intro p,.quote-section-head p{color:#a5a5b2;font-size:13px;line-height:1.6;margin:5px 0}.quote-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}.quote-editor-main{min-width:0;display:grid;gap:18px}.quote-form-section{border:1px solid #414149;border-radius:16px;padding:20px;background:#29292e}.quote-section-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px}.quote-section-head>span{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid #467184;color:#85ddf6;border-radius:9px;font-size:12px}.quote-section-head h3{margin:0;font-size:17px;color:#ededf2}.quote-item-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.quote-item-presets button{font-size:11px;padding:9px 11px;background:#34343b;color:#d4d4e0;border-color:#50505b}.quote-editor-modal .service-item{padding:0;border:1px solid #4a4a55;border-radius:13px;background:#232327;margin:14px 0;overflow:hidden}.quote-item-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border-bottom:1px solid #393941}.quote-item-head h3{font-size:15px;margin:6px 0 0;overflow-wrap:anywhere;color:#eaeaf0}.quote-item-head button{padding:7px 10px;font-size:11px;color:#eab9c1}.quote-editor-modal .item-identification{padding:16px;margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}.quote-editor-modal .item-price-panel{padding:16px;border-top:1px solid #393941;background:#28282e}.quote-editor-modal .item-cost-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quote-editor-modal .item-cost-fields[hidden]{display:none}.quote-editor-modal .item-memory:empty{display:none}.quote-editor-modal .item-memory{font-size:11px;line-height:1.65;margin:14px 0 0;color:#a8bac3}.quote-item-footer{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;background:#303038;font-size:12px;color:#b8b8c5}.quote-item-footer strong{font-size:16px;color:#8de0f5}.quote-add-item{width:100%;border-style:dashed!important}.quote-help{margin-top:16px;font-size:12px;color:#acacba;line-height:1.6}.quote-help summary{cursor:pointer;padding:8px 0;color:#88cee2}.quote-editor-summary{position:sticky;top:0;border:1px solid #3c7384;border-radius:16px;background:linear-gradient(150deg,#213e49,#242b34);padding:20px;min-width:0}.quote-editor-summary h3{font-size:14px;font-weight:500;color:#c4dbe4;margin:18px 0 8px}.quote-editor-summary #serviceTotal{font-size:28px;line-height:1.3;font-weight:800;letter-spacing:-.6px;color:#effcff;overflow-wrap:anywhere;margin:0 0 24px}.quote-summary-line{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin:14px 0;color:#b9cbd4}.quote-summary-line strong{color:#e6f1f7}.quote-summary-note,.quote-editor-summary small{font-size:11px;line-height:1.6;color:#9aafb9}.quote-summary-tip{border-top:1px solid #47616d;padding-top:18px;margin-top:18px;font-size:12px;color:#cddce4}.quote-summary-tip p{line-height:1.6;color:#acbdc7}.quote-editor-summary .review-check{font-size:12px;line-height:1.6;align-items:flex-start;margin:18px 0}.quote-editor-modal textarea{width:100%;min-height:90px;resize:vertical;border:1px solid #50505c;border-radius:10px;background:#242429;color:#efeff6;padding:12px;font:inherit}.quote-editor-modal .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-editor-modal .field{min-width:0}.quote-editor-modal .modal-actions{position:static;background:#29292e}.quote-editor-modal input:focus,.quote-editor-modal select:focus,.quote-editor-modal textarea:focus{outline:2px solid #72cfe7;outline-offset:2px}
@media(max-width:900px){.quote-editor-layout{grid-template-columns:minmax(0,1fr)}.quote-editor-summary{position:static;order:-1}.quote-editor-summary #serviceTotal{margin-bottom:12px}.quote-summary-tip{display:none}.quote-editor-summary .review-check{margin:12px 0}.quote-editor-modal .modal-body{padding:16px}}
@media(max-width:480px){.quote-editor-modal .fields,.quote-editor-modal .item-identification,.quote-editor-modal .item-cost-fields{grid-template-columns:minmax(0,1fr)}.quote-form-section{padding:14px}.quote-editor-intro h2{font-size:21px}.quote-item-head{align-items:flex-start}.quote-item-presets button{flex:1 1 120px}.quote-editor-modal .modal-head{font-size:14px}.quote-editor-modal .modal-actions{padding:12px}.quote-editor-modal .field.full{grid-column:auto}}

#selectedPlates .memory-row{gap:8px;flex-wrap:wrap}#selectedPlates .memory-row span{overflow-wrap:anywhere;min-width:0}#selectedPlates .tiny-btn{flex-shrink:0}
#importErrors{overflow-wrap:anywhere}#plate{max-width:100%}
.batch-pricing-modal .modal-panel{width:min(1050px,100%)}.batch-items{display:grid;gap:14px;margin:18px 0}.batch-item{border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}.batch-item .review-check{align-items:flex-start}.batch-item b{overflow-wrap:anywhere;min-width:0}.batch-item .field{min-width:0}.batch-item .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-item select{max-width:100%}#priceBatch[hidden]{display:none}@media(max-width:480px){.batch-item .fields{grid-template-columns:minmax(0,1fr)}.batch-item{padding:12px}}
@media screen{.operations{max-width:1500px}.op-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.op-grid .card{min-width:0}.op-machine-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.operations h2{font-size:18px;line-height:1.4}.operations h3{font-size:16px;overflow-wrap:anywhere}.operations p{font-size:13px;line-height:1.7;color:#abb8c9}.op-job{border-top:1px solid #414955;padding:20px 0}.op-status{font-size:11px;color:#80d9eb;text-transform:uppercase;letter-spacing:1px}.op-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:22px}.op-note{display:grid;gap:10px;margin-top:15px}.op-progress{display:grid;gap:7px;margin:14px 0}.op-progress strong{font-size:13px;color:#a2e3ee}.op-progress span{font-size:12px;color:#aab6c7}.op-orders{margin-bottom:24px}.operations .table{min-width:650px}.operations .table-wrap{overflow:auto}.operations .card{border:1px solid #3c4652;box-shadow:0 8px 24px #00000018}.operations .eyebrow{color:#8cceda}.operations details{font-size:12px}.operations .topbar{flex-wrap:wrap}.operations input{max-width:100%}@media(max-width:900px){.op-grid{grid-template-columns:1fr}}}
/* Restrained manufacturing overview; no changes to proposal print styles. */
@media screen{
#dashboard .dash-hero{background:#252c33;box-shadow:none;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);border-color:#3c4b56}
#dashboard .dash-hero:before,#dashboard .dash-hero:after{display:none}
#dashboard .dash-hero-copy{padding:36px 12px 30px 32px}
#dashboard .dash-hero h2{font-size:clamp(28px,2.8vw,40px);line-height:1.22;font-weight:650}
#dashboard .dash-primary{background:#92d7e4;box-shadow:none;border-color:#a5e1ec}
#dashboard .printer-visual{margin:18px 18px 18px 0;border-left:1px solid #40505c;display:flex;flex-direction:column;justify-content:center;min-height:340px;height:auto}
.printer-label{width:100%;padding:10px 24px}.printer-label span{font-size:9px;letter-spacing:1.6px;color:#8cb4c6}.printer-label b{display:block;font-size:11px;color:#b9cad4;font-weight:400;margin-top:9px}
.printer-drawing{display:block;width:100%;max-width:350px;height:auto}.printer-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;width:100%;padding:0 22px 12px;font-size:10px;color:#92a9b7}.printer-foot strong{font-weight:500;color:#c2d6df}
.home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 26px}.home-shortcuts button{display:flex;align-items:center;gap:13px;text-align:left;padding:19px 16px;background:#282e35;border:1px solid #3f4d59;border-radius:12px;color:#dce7ed;min-width:0}.home-shortcuts button:hover{background:#303e48;border-color:#80bdcf}.home-shortcuts button>span{font-size:11px;color:#94cfdd;border-radius:8px;background:#354752;padding:10px}.home-shortcuts b{display:block;font-size:13px;font-weight:600}.home-shortcuts small{display:block;font-size:10px;line-height:1.5;margin-top:6px;color:#a0b2be}.home-shortcuts i{font-style:normal;margin-left:auto;color:#8ac8d7}
#dashboard .dash-stat,#dashboard .dash-stat:last-child{background:#272d34;border-color:#3d4954}#dashboard .dash-panel{background:#252b32;border-color:#3d4954}.dash-local i{box-shadow:none}
@media(max-width:1100px){.home-shortcuts button{gap:8px;padding:15px 12px}.home-shortcuts button>span{display:none}#dashboard .dash-hero{grid-template-columns:minmax(0,1.2fr) minmax(240px,1fr)}}
@media(max-width:680px){#dashboard .dash-hero{display:flex}#dashboard .dash-hero-copy{padding:26px 22px 20px}#dashboard .dash-hero h2{font-size:29px}#dashboard .printer-visual{margin:0 18px 15px;border-left:0;border-top:1px solid #40505c;min-height:0;height:auto}.printer-drawing{max-width:250px}.printer-label{padding:18px 8px 0}.printer-foot{padding:0 8px 10px}.home-shortcuts{grid-template-columns:1fr;gap:9px}.home-shortcuts button>span{display:block}.home-shortcuts button{padding:14px}.home-shortcuts b{font-size:14px}}
}

/* Distinct commercial lists; labels also identify types without relying on color. */
.quote-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.quote-tabs button{white-space:normal;min-height:44px;border:1px solid #70c9ff;background:#142c40;color:#c7eaff}
.quote-tabs #consolidatedQuotesTab{border-color:#bd9aff;background:#302044;color:#e9daff}
.quote-tabs button[aria-pressed="true"]{box-shadow:inset 0 -4px 0 currentColor;font-weight:700}
.quote-kind{display:inline-block;padding:5px 9px;border-radius:8px;margin:0 0 8px;font-size:12px;font-weight:700;background:#142c40;color:#c7eaff;border:1px solid #70c9ff}
.quote-kind.consolidated{background:#302044;color:#e9daff;border-color:#bd9aff}
.quote-kind.included{background:#3c301c;color:#ffe1a3;border-color:#d5aa60}
.consolidated-list{border-top:3px solid #bd9aff}

.proposal-print-options{border:1px solid #bd9aff;background:#25202e;border-radius:12px;padding:16px;margin-bottom:16px;color:#eee4ff;overflow-wrap:anywhere}
.proposal-print-options summary{cursor:pointer;font-weight:700;min-height:28px}
.proposal-kit-option{border-top:1px solid #5c4a73;padding:14px 0;min-width:0}
.proposal-kit-option>strong,.proposal-kit-option>label{display:block;margin-bottom:8px}
.proposal-kit-option input[type=number]{display:block;box-sizing:border-box;width:100%;max-width:280px;min-height:44px;font-size:16px;padding:10px;background:#17141e;color:#fff;border:1px solid #bd9aff;border-radius:8px}
.proposal-kit-option input[aria-invalid=true]{border-color:#ff9d9d}
.proposal-kit-error{color:#ffbaba;font-weight:700}
@media print{.proposal-print-options{display:none!important}}

/* Live cost breakdown and resumable local commercial editors. */
#calculate .summary{align-self:start;position:static;min-width:0}
#calculate .memory,#editMemory{min-width:0}
#calculate .memory-row,#editMemory .memory-row{gap:16px;align-items:baseline}
.memory-row>span{min-width:0;overflow-wrap:anywhere}
.memory-row strong{flex-shrink:0;font-variant-numeric:tabular-nums}
.memory-row small{display:block;font-size:11px;line-height:1.5;margin-top:4px;color:var(--muted)}
.memory-formula{line-height:1.7;overflow-wrap:anywhere}
.editor-drafts{margin:0 0 18px;min-width:0}
.editor-draft-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.editor-draft-row>span{min-width:0;overflow-wrap:anywhere}
.editor-draft-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.editor-draft-row button{flex-shrink:0;white-space:normal}
.editor-draft-status{padding:10px 12px;border:1px solid #47616d;border-radius:10px;color:#b9deeb}
@media(min-width:1200px) and (min-height:900px){#calculate .summary{position:sticky;top:20px;max-height:calc(100dvh - 40px);overflow:auto;scrollbar-gutter:stable}}
@media(max-width:680px){.editor-draft-row{align-items:stretch;flex-direction:column}.memory-row strong{font-size:12px}.memory-row{gap:10px}.editor-draft-row button{min-height:44px}}
