
*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;background:#0b0d11;color:#e9eef5}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0f1218;border-bottom:1px solid #1b2030}
.brand{font-weight:700;letter-spacing:.5px}
.status{opacity:.8;font-size:.9rem}
.layout{display:grid;grid-template-columns:1fr 2fr 1fr;gap:10px;height:calc(100vh - 56px);}
.left-panel,.right-panel{padding:10px;background:#0f1218;border-right:1px solid #1b2030;overflow:auto}
.right-panel{border-left:1px solid #1b2030;border-right:none}
.center-panel{display:flex;flex-direction:column;gap:10px;padding:10px;overflow:auto}
.camera-wrap{position:relative;background:#111;border:1px solid #1b2030;border-radius:12px;min-height:320px}
video,canvas{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;border-radius:12px}
.controls{background:#0f1218;border:1px solid #1b2030;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:10px}
.panel-title{font-weight:700;margin-bottom:8px}
.search{width:100%;padding:8px;border-radius:8px;border:1px solid #2a3246;background:#0b0d11;color:#e9eef5;margin-bottom:8px}
.filters .row{display:flex;gap:8px;align-items:center;margin:6px 0}
.filters label{width:100px;opacity:.8}
select,input{background:#0b0d11;color:#e9eef5;border:1px solid #2a3246;border-radius:8px;padding:8px}
.frame-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}
.frame-card{background:#0b0d11;border:1px solid #2a3246;border-radius:10px;padding:8px;cursor:pointer}
.frame-card.selected{outline:2px solid #4f8fff}
.frame-meta{font-size:.85rem;opacity:.9;margin-top:4px}
.primary{background:#4f8fff;color:#fff;border:none;border-radius:10px;padding:10px 12px;cursor:pointer}
.ghost{background:transparent;border:1px solid #2a3246;color:#e9eef5;border-radius:10px;padding:10px 12px;cursor:pointer}
.full{width:100%;margin-top:8px}
.group{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid #2a3246;background:#0b0d11;color:#e9eef5;padding:6px 10px;border-radius:999px;cursor:pointer}
.chip.active{background:#4f8fff;border-color:#4f8fff;color:#fff}
.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.row label{width:160px;opacity:.8}
.subhead{opacity:.8;margin-bottom:6px}
.rx-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.actions{display:flex;justify-content:space-between;gap:10px}
.tray{display:flex;flex-direction:column;gap:8px}
.tray-item{display:flex;align-items:center;gap:8px;border:1px solid #2a3246;border-radius:10px;padding:6px}
.tray-item img{width:40px;height:28px;border-radius:6px;object-fit:cover}
.tray-item button{margin-left:auto}
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5)}
.modal.hidden{display:none}
.modal-body{width:min(640px,92vw);background:#0f1218;border:1px solid #1b2030;border-radius:12px;padding:16px}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
.note{opacity:.7;font-size:.85rem}
.summary{position:fixed;inset:56px 0 0 0;background:#0b0d11;padding:16px;overflow:auto}
.summary.hidden{display:none}
.pricing{width:100%;border-collapse:collapse;margin-top:12px}
.pricing th,.pricing td{border:1px solid #2a3246;padding:8px;text-align:left}
.pricing tfoot td{font-weight:700}
@media print{
  header,.left-panel,.right-panel,.controls,.modal,.actions,.topbar{display:none !important}
  body{background:#fff;color:#000}
  .summary{position:static;display:block;background:#fff;color:#000}
  .pricing th,.pricing td{border-color:#000}
}


/* Added for polarization & custom price */
.hint{opacity:.7;margin-left:.5rem;font-size:.9rem}
.group.column{display:flex;flex-direction:column;gap:.25rem}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
select#polarization-select{padding:.5rem;border-radius:10px;border:1px solid #c9d2e3}
