.ifex-pt{--blue:#3e60b8;--ink:#172437;--line:#dce3ed;--soft:#f1f4f8;color:var(--ink);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;max-width:none;text-align:left}
.ifex-pt *{box-sizing:border-box}.ifex-pt h2,.ifex-pt h3{color:var(--ink);font-family:inherit;margin:0}.ifex-pt h2{font-size:22px}.ifex-pt h3{font-size:17px}.ifex-pt p{margin:8px 0}.ifex-pt button,.ifex-pt input,.ifex-pt select,.ifex-pt textarea{font:inherit;letter-spacing:normal;text-transform:none;border-radius:5px;box-shadow:none}.ifex-pt button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px;line-height:1.4;min-height:38px}.ifex-pt button:hover{background:#e9effb;color:var(--ink)}.ifex-pt button:disabled{cursor:not-allowed;opacity:.45}.ifex-pt button.primary{background:var(--blue);color:white;border-color:var(--blue)}.ifex-pt button.danger{color:#a12f32}.ifex-pt button:focus-visible,.ifex-pt input:focus-visible,.ifex-pt select:focus-visible{outline:3px solid #86aaff;outline-offset:2px}
.ifex-pt input:not([type=checkbox]),.ifex-pt select,.ifex-pt textarea{width:100%;max-width:none;background:#fff;border:1px solid #bdc9d9;color:var(--ink);padding:9px;min-height:40px}.ifex-pt input[type=checkbox]{width:auto}.ifex-pt label{display:block;font-weight:600;font-size:13px;margin-bottom:6px}.ifex-pt small{font-size:12px;color:#53647a}.ifex-pt .pt-header{padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f8fafc;border-bottom:1px solid var(--line)}.ifex-pt .pt-logo{font-weight:800;letter-spacing:2px;color:var(--blue);font-size:12px}.ifex-pt .pt-meta{text-align:right;font-size:13px}.ifex-pt .pt-tabs{display:flex;gap:5px;padding:10px 18px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.ifex-pt .pt-tabs button{border:0;background:transparent}.ifex-pt .pt-tabs button.active{background:#e9effb;color:var(--blue);font-weight:700}.ifex-pt .pt-notice{padding:11px 20px;white-space:pre-wrap;border-bottom:1px solid var(--line);background:#eaf7ed;color:#215633}.ifex-pt .pt-notice.error{background:#fff0ee;color:#962d2d}.ifex-pt .pt-notice[hidden]{display:none}
.ifex-pt .pt-load{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.ifex-pt .pt-left{background:#f1f2f4;border-right:1px solid var(--line);display:flex;flex-direction:column}.ifex-pt .pt-scanner{padding:18px;background:#fff;border-bottom:2px solid var(--blue)}.ifex-pt .pt-scanner-row{display:flex;gap:8px}.ifex-pt .pt-scanner input{font:22px ui-monospace,Consolas,monospace;min-height:56px}.ifex-pt .pt-slots{padding:22px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ifex-pt .pt-slot{padding:16px;background:#fff;border:1px solid #cfd7e2;border-left:4px solid #bac5d6;border-radius:7px;min-height:112px}.ifex-pt .pt-slot.filled{border-left-color:var(--blue)}.ifex-pt .pt-slot b{font-size:19px}.ifex-pt .pt-slot span{display:block;font-size:12px;color:#53647a}.ifex-pt .pt-load-summary{padding:0 22px 18px;display:flex;justify-content:space-between;gap:10px;font-weight:600}.ifex-pt .pt-load-note{padding:0 22px 20px}.ifex-pt .pt-big-actions{margin-top:auto;border-top:1px solid var(--line)}.ifex-pt .pt-big-actions button{display:block;width:100%;min-height:75px;border:0;border-bottom:1px solid #d0d7e3;border-radius:0;background:#e8ebf0;font-size:20px;letter-spacing:.5px;font-weight:500}.ifex-pt .pt-big-actions button.primary{background:var(--blue);color:#fff}.ifex-pt .pt-right{min-width:0}.ifex-pt .pt-toolbar{display:flex;gap:8px;align-items:center;padding:10px 14px;background:var(--blue);color:#fff;flex-wrap:wrap}.ifex-pt .pt-toolbar button{background:transparent;border-color:#ffffff60;color:#fff;font-size:12px;padding:5px 9px;min-height:30px}.ifex-pt .pt-table-wrap{overflow:auto}.ifex-pt table{width:100%;border-collapse:collapse;margin:0;table-layout:auto;border:0;font-size:13px}.ifex-pt th{background:var(--blue);color:white;padding:12px 9px;text-align:left;white-space:normal;font-weight:600;border:1px solid #ffffff30;vertical-align:middle}.ifex-pt td{padding:10px 9px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink);background:#fff;white-space:normal;word-break:normal}.ifex-pt tr:nth-child(even) td{background:#f8faff}.ifex-pt td.mono{font-family:ui-monospace,Consolas,monospace;white-space:nowrap}.ifex-pt td.num{text-align:right;font-variant-numeric:tabular-nums}.ifex-pt .pt-thumb{width:42px;height:42px;object-fit:cover;border-radius:4px}.ifex-pt .pt-empty{text-align:center;color:#61718a;padding:40px 20px}.ifex-pt .pt-active{padding:18px 22px;border-top:1px solid var(--line)}.ifex-pt .pt-active-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.ifex-pt .pt-badge{display:inline-block;background:#e8eefc;color:#3555a4;border-radius:20px;padding:3px 9px;font-size:12px;white-space:nowrap}.ifex-pt .pt-badge.completed{background:#eaf7ed;color:#215633}.ifex-pt .pt-badge.cancelled,.ifex-pt .pt-badge.removed{background:#ffefef;color:#932a2a}.ifex-pt .pt-page{padding:22px}.ifex-pt .pt-titlebar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:18px}.ifex-pt .pt-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.ifex-pt .pt-filters label{margin:0;flex:1;min-width:120px}.ifex-pt .pt-filters .wide{flex:2;min-width:200px}.ifex-pt .pt-pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 0}.ifex-pt .pt-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.ifex-pt .pt-form-grid .span{grid-column:1/-1}.ifex-pt .pt-panel{background:#f8fafc;border:1px solid var(--line);padding:20px;border-radius:8px;margin:18px 0}.ifex-pt .pt-panel button{margin-top:12px}.ifex-pt .pt-hint{color:#596a80;font-size:13px}.ifex-pt .pt-detail{position:fixed;inset:5vh 5vw;z-index:100000;background:#fff;border:1px solid #c5d0e0;border-radius:10px;box-shadow:0 0 0 100vmax #172437a0;overflow:auto;padding:24px}.ifex-pt .pt-detail input{min-width:70px}.ifex-pt .pt-detail .pt-detail-meta{display:flex;gap:24px;flex-wrap:wrap;margin:15px 0}.ifex-pt .pt-detail pre{font-size:12px;white-space:pre-wrap;word-break:break-word;background:#f0f3f8;padding:12px}.ifex-pt .pt-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.ifex-pt .pt-detail .pt-titlebar{position:sticky;top:-24px;background:white;padding:12px 0;z-index:1}.ifex-pt .pt-small-actions{display:flex;gap:8px;flex-wrap:wrap}.ifex-pt .pt-code{font-family:ui-monospace,Consolas,monospace;font-size:12px;word-break:break-all}.ifex-pt [hidden]{display:none!important}
@media(max-width:1050px){.ifex-pt .pt-load{grid-template-columns:1fr}.ifex-pt .pt-left{border-right:0;border-bottom:1px solid var(--line)}.ifex-pt .pt-big-actions button{min-height:60px;font-size:17px}.ifex-pt .pt-load{min-height:0}.ifex-pt .pt-detail{inset:2vh 2vw;padding:16px}}
@media(max-width:600px){.ifex-pt .pt-header{align-items:flex-start;padding:14px}.ifex-pt h2{font-size:18px}.ifex-pt .pt-meta{font-size:11px}.ifex-pt .pt-form-grid{grid-template-columns:1fr}.ifex-pt .pt-slots{padding:15px;gap:8px}.ifex-pt .pt-slot{padding:12px}.ifex-pt .pt-page{padding:14px}.ifex-pt .pt-scanner input{font-size:17px}.ifex-pt .pt-scanner-row{flex-wrap:wrap}.ifex-pt .pt-scanner-row input{flex:1;min-width:180px}}
@media print{body.ifex-pt-print *{visibility:hidden}body.ifex-pt-print .pt-detail,body.ifex-pt-print .pt-detail *{visibility:visible}body.ifex-pt-print .pt-detail{position:absolute;inset:0;box-shadow:none;border:0;overflow:visible;width:100%;height:auto;padding:10px}body.ifex-pt-print .pt-detail button,body.ifex-pt-print .pt-detail-actions,body.ifex-pt-print .pt-no-print{display:none!important}body.ifex-pt-print th{color:#000!important;background:#eee!important}body.ifex-pt-print .pt-detail .pt-titlebar{position:static}}

.ifex-pt .pt-right{display:flex;flex-direction:column}.ifex-pt .pt-queue-table{flex:1}.ifex-pt .pt-recent{padding:16px;border-top:1px solid var(--line);background:#f8fafc;margin-top:auto}.ifex-pt .pt-recent-scroll{display:flex;gap:12px;overflow-x:scroll;overflow-y:hidden;padding:12px 0 16px;scrollbar-width:auto;scrollbar-color:#7590cb #e1e8f3;min-height:145px;overscroll-behavior-x:contain}.ifex-pt .pt-recent-scroll::-webkit-scrollbar{height:12px}.ifex-pt .pt-recent-scroll::-webkit-scrollbar-track{background:#e1e8f3;border-radius:8px}.ifex-pt .pt-recent-scroll::-webkit-scrollbar-thumb{background:#7590cb;border-radius:8px}.ifex-pt button.pt-lot-card{flex:0 0 310px;text-align:left;white-space:normal;background:#fff;border:1px solid #d1dced;padding:14px;align-self:stretch}.ifex-pt .pt-lot-card-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}.ifex-pt .pt-lot-card-top>b{font-size:18px;font-family:ui-monospace,Consolas,monospace}.ifex-pt .pt-lot-refs{margin-top:10px}.ifex-pt .pt-lot-refs>div{border-top:1px solid var(--line);padding:7px 0}.ifex-pt .pt-lot-refs b,.ifex-pt .pt-lot-refs span,.ifex-pt .pt-lot-refs small{display:block}.ifex-pt .pt-lot-refs span{font-size:12px;margin:2px 0}

.ifex-pt .pt-badge.closed{background:#eaf7ed;color:#215633}.ifex-pt .pt-badge.sent{background:#e8eefc;color:#3555a4}

/* Carrelli misti: totali per carrello e dettaglio delle letture. */
.ifex-pt .pt-slot .pt-cart-quantity{font-size:16px;font-weight:700;color:var(--ink);margin:6px 0}.ifex-pt .pt-slot-references{max-height:120px;overflow:auto;margin:8px 0;padding-top:6px;border-top:1px solid var(--line)}.ifex-pt .pt-slot.over-limit{border-left-color:#b42318}.ifex-pt .pt-cart-total td{background:#e8eefc!important;color:#172534;border-top:2px solid #b8c7e6;font-size:13px}.ifex-pt .pt-load-summary{flex-wrap:wrap}
.ifex-pt [data-camera-open]{display:block;width:100%;margin:12px 0;background:#2450a4;color:#fff;min-height:48px}.ifex-camera{position:fixed;inset:0;z-index:100005;background:#101b2bd9;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}.ifex-camera *{box-sizing:border-box}.ifex-camera-box{background:#fff;color:#172534;font:16px system-ui,sans-serif;width:min(720px,100%);max-height:95dvh;overflow:auto;padding:20px;border-radius:12px}.ifex-camera video{display:block;width:100%;max-height:50dvh;background:#111;object-fit:contain}.ifex-camera button{width:100%;padding:14px;border:0;background:#2450a4;color:#fff;border-radius:6px;font:inherit}.ifex-camera-status{min-height:3em}
