@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :before,.ReactCrop :after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;top:0;right:0;bottom:0;left:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translate(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:1s linear infinite marching-ants}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.widget-rqd.embedded{--fs-xs: 10px;--fs-sm: 11px;--fs-md: 12px;--fs-lg: 13px;font-family:var(--font-sans)}.widget-rqd.embedded input,.widget-rqd.embedded button,.widget-rqd.embedded select,.widget-rqd.embedded table{font-family:inherit}.rqd-strip-panel,.results-dock{font-variant-numeric:tabular-nums}.widget-rqd.embedded{height:100%;width:100%}.widget-rqd.embedded .rqd-main-layout{height:100%;min-height:0}.widget-rqd.embedded .rqd-preview-pane{min-width:0}.widget-rqd.embedded .rqd-sidebar{flex-shrink:0;min-width:0}.rqd-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.rqd-card-title-row h6{margin:0}.rqd-panel-btn{border:1px solid var(--border);background:#fff;border-radius:4px;cursor:pointer;font-size:var(--fs-sm);color:var(--text-muted);padding:3px 8px;flex-shrink:0}.rqd-splitter{flex-shrink:0;background:var(--border);position:relative;z-index:25;touch-action:none;transition:background .15s}.rqd-splitter.x{width:5px;cursor:col-resize}.rqd-splitter.y{height:5px;cursor:row-resize}.rqd-splitter:hover,body.rqd-resizing .rqd-splitter{background:var(--primary)}.rqd-splitter.x:after,.rqd-splitter.y:after{content:"";position:absolute;background:#fffc;border-radius:2px}.rqd-splitter.x:after{width:1px;height:28px;left:2px;top:50%;margin-top:-14px}.rqd-splitter.y:after{height:1px;width:28px;top:2px;left:50%;margin-left:-14px}body.rqd-resizing{-webkit-user-select:none;user-select:none}body.rqd-resizing iframe,body.rqd-resizing canvas{pointer-events:none}.rqd-side-reopen{flex-shrink:0;writing-mode:vertical-rl;border:none;background:var(--bg-surface);color:var(--primary);font-weight:700;font-size:var(--fs-md);padding:12px 6px;cursor:pointer}.rqd-side-reopen.left{border-right:1px solid var(--border);transform:rotate(180deg)}.rqd-side-reopen.right{border-left:1px solid var(--border)}.rqd-side-reopen:hover{background:#eef4f7}.strip-toggles{display:flex;gap:14px;font-size:var(--fs-md);color:var(--text-main)}.strip-toggles label{display:flex;align-items:center;gap:5px;margin:0;cursor:pointer}.rqd-strip-panel{width:440px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-surface);border-left:1px solid var(--border);min-height:0}.rqd-strip-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border);gap:8px}.rqd-strip-tabs{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.rqd-strip-tabs button{border:none;background:transparent;padding:5px 12px;font-size:var(--fs-md);font-weight:600;color:var(--text-muted);cursor:pointer}.rqd-strip-tabs button+button{border-left:1px solid var(--border)}.rqd-strip-tabs button.active{background:var(--primary);color:#fff}.rqd-strip-close{border:1px solid var(--border);background:#fff;border-radius:4px;cursor:pointer;font-size:var(--fs-sm);color:var(--text-muted);padding:4px 8px}.rqd-strip-body{flex:1;overflow:auto;padding:10px;min-height:0}.strip-empty{color:var(--text-muted);font-size:var(--fs-lg);padding:24px 8px;text-align:center}.striplog{display:flex;flex-direction:column;gap:10px}.strip-caption{font-size:var(--fs-sm);color:var(--text-muted)}.strip-segment{border:1px solid var(--border);border-radius:8px;background:#fafbfc;transition:box-shadow .2s,border-color .2s}.strip-segment.focused{border-color:var(--primary);box-shadow:0 0 0 2px #004f7133}.strip-seg-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 10px;background:#fff;font-size:var(--fs-md)}.strip-seg-title{font-weight:600;color:var(--text-main)}.strip-seg-kpi{white-space:nowrap;color:var(--text-muted)}.strip-bar{position:relative;height:5px;background:#e6e8eb}.strip-bar-rec{position:absolute;inset:0 auto 0 0;background:#b9c4cc}.strip-bar-rqd{position:absolute;inset:0 auto 0 0}.striplog{min-width:100%}.strip-sticky{position:sticky;left:0;width:var(--vw, 100%);box-sizing:border-box}.strip-top{display:flex;flex-direction:column;gap:6px;z-index:3}.strip-segment{overflow:visible}.strip-ticks{position:relative;height:15px;border-bottom:1px solid #c9ced3}.strip-ticks span{position:absolute;bottom:1px;transform:translate(-50%);font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.strip-ticks span:after{content:"";position:absolute;left:50%;bottom:-5px;width:1px;height:4px;background:#8a9299}.strip-rows{display:flex;flex-direction:column;gap:4px}.strip-row{border-radius:6px;padding:2px 8px 4px}.strip-row.focused{background:#004f710f}.striplog{cursor:grab}.strip-top{cursor:default;background:var(--bg-surface);top:0;padding-bottom:6px}.strip-photo{position:relative;line-height:0}.strip-cut{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#00e5ff;box-shadow:0 0 0 1px #00000059}.strip-bands{position:relative;height:20px;margin-bottom:1px}.strip-band{position:absolute;top:0;height:18px;box-sizing:border-box;border:none;margin-left:1px;border-radius:3px;padding:0 5px;font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;cursor:pointer;line-height:13px}.strip-band.active{box-shadow:inset 0 0 0 1.5px var(--primary);z-index:1}.rqd-strip-body.panning,.rqd-strip-body.panning .strip-photo{cursor:grabbing}.strip-canvas{display:block;width:100%;height:auto;background:#222}.strip-pins{position:relative;height:30px}.strip-pin{position:absolute;top:6px;color:#333;display:inline-flex;align-items:center;gap:5px;border:1px solid #1565c0;background:#fff;color:#0d3c73;border-radius:999px;padding:1px 8px 1px 2px;font-size:var(--fs-sm);font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 1px 2px #00000026}.strip-pin:before{content:"";position:absolute;left:var(--stem, 50%);top:-7px;width:0;height:7px;border-left:2px solid var(--pin, #1565c0);margin-left:-1px}.strip-pin .pin-num{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;color:#fff;font-size:var(--fs-sm)}.strip-pin.dim{opacity:.45}.strip-pin:hover{opacity:1;background:#f2f7fc}.strip-piece-meta{font-size:var(--fs-xs);color:var(--text-muted);padding-top:2px}.strip-disc{color:var(--danger)}.strip-zoom{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--text-muted)}.strip-zoom button{border:1px solid var(--border);background:#fff;border-radius:4px;width:22px;height:22px;line-height:1;cursor:pointer;font-size:var(--fs-lg);padding:0}.strip-zoom button:disabled{opacity:.4;cursor:default}.strip-zoom span{min-width:38px;text-align:center}.strip-seg-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;font-size:var(--fs-sm);color:var(--text-muted);border-top:1px dashed var(--border)}.taco-pin{border:1px solid #00a3cc;background:#e8f8fc;color:#005f78;border-radius:999px;padding:2px 10px;font-size:var(--fs-sm);font-weight:700;cursor:pointer;white-space:nowrap}.taco-pin:hover{background:#d3f1f9}.taco-pin.invalid{border-color:var(--danger);background:#fdecea;color:var(--danger)}.taco-pin.active{box-shadow:0 0 0 2px #00a3cc59}.strip-rejected{border:1px solid #f3c1bc;background:#fdf4f3;border-radius:8px;padding:8px 10px;font-size:var(--fs-md);color:var(--danger);font-weight:600;text-align:left;cursor:pointer}.strip-rejected:hover{background:#fbe7e5}.tab-badge{display:inline-block;margin-left:6px;min-width:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:var(--fs-xs);line-height:16px}.taco-list{display:flex;flex-direction:column;gap:6px}.taco-list-bad{color:var(--danger);font-weight:600}.taco-row{display:flex;flex-direction:column;align-items:stretch;margin:0;gap:3px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:#fff}.taco-row-main{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%}.taco-row.bad{border-color:#f3c1bc;background:#fdf7f6}.taco-row.est{border-color:#f1d9a6;background:#fffbf2}.taco-row.manual{border-color:#b8d4e8}.taco-note{text-align:left;font-size:var(--fs-xs);color:var(--text-muted);padding-left:36px}.taco-legend{display:flex;flex-wrap:wrap;gap:4px}.taco-row input.estimated{color:#a0661a;font-style:italic;border-style:dashed}.taco-row.focused{box-shadow:0 0 0 2px #004f7140;border-color:var(--primary)}.taco-num{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000026;color:#fff;font-size:var(--fs-md);font-weight:700;transition:background .2s}.taco-thumb{height:44px;width:auto;max-width:110px;border-radius:4px;background:#222;flex-shrink:0}.taco-row input{width:78px;padding:4px 6px;border:1px solid var(--border);border-radius:4px;font-size:var(--fs-md);font-weight:600}.taco-row input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #004f7126}.taco-unit{font-size:var(--fs-md);color:var(--text-muted)}.taco-status{font-size:var(--fs-xs);padding:1px 6px;border-radius:9px;white-space:nowrap}.taco-status.ok{background:#e6f4ea;color:#1e7b34}.taco-status.bad{background:#fce8e6;color:var(--danger)}.taco-status.est{background:#fdf0d5;color:#a0661a}.taco-status.manual{background:#e3eef7;color:#1d5a85}.taco-locate{margin-left:auto;border:1px solid var(--border);background:#fff;border-radius:4px;cursor:pointer;font-size:var(--fs-lg);line-height:1;padding:4px 6px;color:var(--text-muted)}.widget-rqd.embedded .rqd-preview-container{height:auto;flex:1 1 auto;min-height:0}.results-dock{flex-shrink:0;display:flex;flex-direction:column;background:#fff;height:240px;z-index:20}.results-dock.collapsed{border-top:2px solid var(--primary)}.results-dock.collapsed{height:auto}.results-head{display:flex;align-items:center;gap:12px;padding:6px 10px;border-bottom:1px solid var(--border);font-size:var(--fs-md)}.results-toggle{border:none;background:none;font-weight:700;color:var(--primary);cursor:pointer;font-size:var(--fs-md)}.results-totals{color:var(--text-muted)}.results-dock .results-csv{margin-left:auto;padding:2px 10px;font-size:var(--fs-md)}.results-body{flex:1;overflow:auto;min-height:0}.results-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.results-table th{position:sticky;top:0;background:#f1f3f5;text-align:left;font-weight:600;padding:5px 8px;border-bottom:1px solid var(--border);border-right:1px solid #e3e5e8;white-space:nowrap}.results-table td{padding:3px 8px;border-bottom:1px solid #eef0f2;border-right:1px solid #f0f1f3;white-space:nowrap}.results-table td:nth-child(n+2):nth-child(-n+8){text-align:right}.results-table tbody tr{cursor:pointer}.results-table tbody tr:hover{background:#f5f9fb}.results-table tbody tr.active{background:#e8f2f6}@media (max-width: 820px){.widget-rqd.embedded .rqd-main-layout{flex-direction:column;overflow-y:auto}.rqd-sidebar,.rqd-strip-panel{width:100%!important}.rqd-splitter.x{display:none}.widget-rqd.embedded .rqd-preview-pane{min-height:60vh}.rqd-side-reopen,.rqd-side-reopen.left{writing-mode:horizontal-tb;transform:none}}.photo-now{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 8px;border-radius:6px;background:#eef4f7;border:1px solid #cfe0e8;font-size:var(--fs-md)}.photo-now-idx{flex-shrink:0;font-weight:700;color:var(--primary)}.photo-now-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-main)}.results-dock .results-validate{padding:2px 10px;font-size:var(--fs-md);display:inline-flex;align-items:center;gap:6px}.results-badge{color:#fff;border-radius:9px;padding:0 7px;font-size:var(--fs-xs);font-weight:700;line-height:16px}.results-dock .results-csv{margin-left:0}.results-totals{margin-right:auto}.val-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f141973;z-index:1000}.val-modal{position:absolute;left:max(1.5vw,calc(50% - 625px));top:max(2vh,calc(50% - 450px));width:min(1250px,95vw);height:min(900px,92vh);min-width:640px;min-height:360px;max-width:97vw;max-height:96vh;resize:both;background:#fff;border-radius:10px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;font-family:var(--font-sans);font-size:12px;font-variant-numeric:tabular-nums;overflow:hidden}.val-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.val-head>div:first-child{flex:1;min-width:0}.val-title{font-size:15px;font-weight:700;color:var(--text-main)}.val-muted{color:var(--text-muted);font-size:11px}.val-import{margin:0;font-size:12px;padding:5px 12px;cursor:pointer}.val-close{border:none;background:none;font-size:18px;cursor:pointer;color:var(--text-muted);padding:2px 6px}.val-body{flex:1;overflow:auto;padding:14px 18px;display:flex;flex-direction:column;gap:12px}.val-empty{padding:30px;text-align:center;color:var(--text-main);line-height:1.6}.val-empty code{background:#f1f3f5;padding:1px 5px;border-radius:3px;margin:0 2px;font-size:11px}.val-file{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.val-file>span{margin-right:auto}.val-link{border:none;background:none;color:var(--primary);cursor:pointer;font-size:12px;text-decoration:underline;padding:0}.val-dl{font-size:12px;padding:3px 10px}.val-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;background:#f8f9fa;border:1px solid var(--border);border-radius:8px;padding:10px}.val-map label{display:flex;flex-direction:column;gap:3px;margin:0;font-size:11px;color:var(--text-muted)}.val-map select{font-size:12px;padding:3px 5px;border:1px solid var(--border);border-radius:4px}.val-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.val-card{border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.val-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.val-big{font-size:30px;font-weight:700;line-height:1.1}.val-grid{display:grid;grid-template-columns:1fr auto;gap:3px 10px;margin-top:6px;font-size:12px}.val-grid span{color:var(--text-muted)}.val-legend{display:flex;gap:14px;margin-top:8px;font-size:12px}.val-legend i{display:inline-block;width:18px;height:3px;vertical-align:middle;margin-right:5px}.val-charts{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.val-chart{width:auto;max-width:100%;border:1px solid var(--border);border-radius:8px;background:#fff}.val-scatters{display:flex;flex-direction:column;gap:12px}.val-chart-title{font-size:11px;font-weight:700;fill:var(--text-main)}.val-axis{font-size:9px;fill:var(--text-muted)}.val-table{width:100%;border-collapse:collapse;font-size:12px}.val-table th{position:sticky;top:-14px;background:#f1f3f5;padding:5px 8px;text-align:right;font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}.val-table th:first-child,.val-table td:first-child{text-align:left}.val-table td{padding:3px 8px;text-align:right;border-bottom:1px solid #eef0f2}.val-table tbody tr{cursor:pointer}.val-table tbody tr:hover{background:#f5f9fb}.val-diff{font-weight:700}.val-diff.ok{color:#2e8b57}.val-diff.mid{color:#c8901a}.val-diff.bad{color:#d64545}@media (max-width: 900px){.val-cards{grid-template-columns:1fr}}.measure-host{position:relative;line-height:0}.measure-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.measure-panel{position:absolute;top:10px;right:10px;z-index:16;width:var(--measure-w, 92px);background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);font-size:var(--fs-md);cursor:default;font-variant-numeric:tabular-nums}.measure-head{display:flex;align-items:center;border-radius:8px}.measure-head.on{background:var(--primary);color:#fff;border-radius:8px 8px 0 0}.measure-grip{cursor:grab;padding:6px 4px 6px 8px;color:var(--text-muted);-webkit-user-select:none;user-select:none;touch-action:none;font-size:var(--fs-lg)}.measure-head.on .measure-grip{color:#ffffffb3}.measure-toggle{flex:1;border:none;background:none;padding:7px 6px;text-align:left;font-weight:700;color:var(--primary);cursor:pointer;font-size:var(--fs-md)}.measure-head.on .measure-toggle{color:#fff}.measure-fold{border:none;background:#ffffff26;color:#fff;border-radius:4px;margin-right:6px;padding:2px 7px;cursor:pointer;font-size:var(--fs-sm);font-weight:700}.measure-body{padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px}.measure-hint{font-size:var(--fs-sm);color:var(--text-muted)}.measure-list{max-height:190px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.measure-item{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:4px}.measure-item:hover{background:#f5f7f9}.measure-item b{margin-left:auto}.measure-item.ok b{color:#1e7b34}.measure-item.short b{color:#b26a00}.measure-n{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#eef4f7;color:var(--primary);font-size:var(--fs-xs);font-weight:700}.measure-range{color:var(--text-muted);font-size:var(--fs-sm)}.measure-item button{border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:var(--fs-lg);padding:0 2px;line-height:1}.measure-totals{display:grid;grid-template-columns:1fr auto;gap:2px 8px;border-top:1px solid var(--border);padding-top:6px}.measure-totals span{color:var(--text-muted)}.measure-cmp{background:#f5f9fb;border:1px solid #d6e6ee;border-radius:6px;padding:6px 8px;font-size:var(--fs-sm)}.measure-cmp-grid{display:grid;grid-template-columns:auto 1fr 1fr;gap:2px 8px;margin-top:4px}.measure-cmp-grid span{color:var(--text-muted)}.measure-cmp-grid b,.measure-cmp-grid span:nth-child(2),.measure-cmp-grid span:nth-child(3){text-align:right}.measure-clear{border:1px solid var(--border);background:#fff;border-radius:4px;padding:3px 8px;font-size:var(--fs-sm);cursor:pointer;color:var(--danger);align-self:flex-start}.measure-kind{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.measure-kind button{flex:1;border:none;background:#fff;padding:4px 6px;font-size:var(--fs-sm);font-weight:600;color:var(--text-muted);cursor:pointer}.measure-kind button+button{border-left:1px solid var(--border)}.measure-kind button.on{background:#1e7b34;color:#fff}.measure-kind button.on.frag{background:#9c27b0}.measure-item.frag b{color:#9c27b0}.measure-note{margin-top:5px;font-size:var(--fs-xs);color:#8a5a00}.val-gloss{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-main);line-height:1.35}.val-gloss b{color:var(--primary)}.val-gloss span{color:var(--text-muted)}.val-gloss span:before{content:" — "}.val-mode{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.val-mode button{border:none;background:#fff;padding:4px 10px;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer}.val-mode button+button{border-left:1px solid var(--border)}.val-mode button.on{background:var(--primary);color:#fff}.val-merged{color:var(--accent);font-size:10px;font-weight:700}.depth-hover-line{position:absolute;display:none;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#ff1744;border:2px solid #fff;box-shadow:0 0 0 1px #00000080;pointer-events:none;z-index:14}.depth-hover-tip{position:absolute;display:none;pointer-events:none;z-index:15;background:#14181ce0;color:#fff;font:700 12px var(--font-sans);font-variant-numeric:tabular-nums;padding:3px 8px;border-radius:4px;white-space:nowrap}.val-tip{font-size:10px;font-weight:700}.val-scatter-col{display:flex;flex-direction:column;gap:10px}.val-scatter-row{display:flex;gap:12px;flex-wrap:wrap}.val-legend-box{margin-top:0;padding:8px 12px;border:1px solid var(--border);border-radius:8px;align-items:center;flex-wrap:wrap}.ruler-depth-mark{position:absolute;display:none;right:0;width:12px;height:2px;margin-top:-1px;background:#ff1744;pointer-events:none;z-index:2}.widget-rqd.embedded .rqd-sidebar{font-size:var(--fs-md);padding:10px;gap:10px}.widget-rqd.embedded .rqd-sidebar .rqd-card{padding:10px 12px;margin-top:0!important}.widget-rqd.embedded .rqd-sidebar .rqd-card h5,.widget-rqd.embedded .rqd-sidebar .rqd-card h6{font-size:var(--fs-sm);margin-bottom:8px;letter-spacing:.04em}.widget-rqd.embedded .rqd-sidebar .btn,.widget-rqd.embedded .rqd-sidebar summary.btn{font-size:var(--fs-md)!important;font-weight:600;padding:6px 10px!important;min-height:30px;line-height:1.2}.widget-rqd.embedded .rqd-sidebar .form-control,.widget-rqd.embedded .rqd-sidebar select,.widget-rqd.embedded .rqd-sidebar input[type=text]{font-size:var(--fs-md)!important;padding:4px 8px!important;height:auto}.widget-rqd.embedded .rqd-sidebar label,.widget-rqd.embedded .rqd-sidebar .checkbox-label{font-size:var(--fs-md)!important}.widget-rqd.embedded .rqd-sidebar .form-group label{font-size:var(--fs-sm)!important;color:var(--text-muted);margin-bottom:2px}.widget-rqd.embedded .rqd-sidebar input[type=file],.widget-rqd.embedded .rqd-sidebar .alert{font-size:var(--fs-sm)!important}.widget-rqd.embedded .rqd-sidebar .kpi-title{font-size:var(--fs-xs)}.widget-rqd.embedded .rqd-sidebar .kpi-value{font-size:18px}.widget-rqd.embedded .rqd-sidebar .kpi-sub{font-size:var(--fs-sm)}.widget-rqd.embedded .rqd-panel-btn{font-size:var(--fs-sm);padding:2px 7px}.depth-tracks{position:absolute;left:84px;top:0;bottom:0;z-index:14;background:#fffffff0;border-right:1px solid var(--border);cursor:crosshair}.depth-track{position:absolute;top:0;bottom:0}.depth-track-title{position:absolute;top:3px;left:0;right:0;text-align:center;font-size:var(--fs-xs);font-weight:700;color:var(--text-main)}.depth-track-svg{position:absolute;top:20px;bottom:20px;left:0;width:100%;height:calc(100% - 40px)}.depth-track-axis{position:absolute;bottom:4px;left:0;right:0;display:flex;justify-content:space-between;font-size:9px;color:var(--text-muted)}.val-tracks-legend{display:flex;gap:12px;margin-top:6px;font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap}.val-tracks-legend i{display:inline-block;width:14px;height:3px;vertical-align:middle;margin-right:4px}.depth-track-hover{position:absolute;left:0;height:2px;margin-top:-1px;background:#ff1744;pointer-events:none;z-index:3}.depth-track-tip{position:absolute;transform:translateY(-50%);z-index:20;pointer-events:none;white-space:nowrap;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-md);padding:6px 8px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--text-main)}.depth-track-tip .dtt-depth{font-weight:700;color:#d93025;margin-bottom:3px}.depth-track-tip .dtt-taco{color:#0097a7;font-weight:600}.depth-track-tip table{border-collapse:collapse}.depth-track-tip th{font-weight:600;color:var(--text-muted);padding:0 6px;text-align:right;font-size:var(--fs-xs)}.depth-track-tip td{padding:1px 6px;text-align:right;font-weight:600}.depth-track-tip td:first-child{text-align:left;padding-left:0}.depth-track-tip .dtt-range{margin-top:3px;color:var(--text-muted);font-size:var(--fs-xs)}.zone-axis{justify-content:space-around;align-items:center;bottom:5px}.zone-axis i{display:inline-block;width:8px;height:8px;border-radius:2px;border:1px solid rgba(0,0,0,.3)}.val-tracks-legend i.zone-sw{width:10px;height:10px;border-radius:2px;border:1px solid rgba(0,0,0,.3)}.depth-track-tip .dtt-zones{margin-top:4px;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-xs)}.depth-track-tip .dtt-zones i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:middle;border:1px solid rgba(0,0,0,.3)}.val-tracks-legend i.sq{width:10px;height:10px;border-radius:2px;border:1px solid}.val-gloss-box{margin-top:0;padding:8px 12px;border:1px solid var(--border);border-radius:8px;border-top-style:solid}.ruler-taco{position:absolute;right:-21px;width:16px;height:16px;margin-top:-8px;border-radius:50%;border:1.5px solid #fff;box-shadow:0 0 0 1px #00000040;color:#fff;font:700 9px var(--font-sans);display:flex;align-items:center;justify-content:center;z-index:1}.ruler-reset{position:absolute;top:1px;left:3px;z-index:3;border:1px solid var(--border);background:#fff;border-radius:4px;font-size:11px;line-height:1;padding:2px 4px;cursor:pointer;color:var(--primary)}.depth-track-svg{overflow:hidden}.dataset-line{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-sm);color:var(--text-muted);background:#f6f8fa;border:1px dashed var(--border);border-radius:6px;padding:4px 8px}.dataset-line a{color:var(--primary);font-weight:600;text-decoration:none;white-space:nowrap}.dataset-line a:hover{text-decoration:underline}.sample-badge{font-size:13px;line-height:1;cursor:default}.sample-badge.queued,.sample-badge.error{filter:saturate(.6)}.frac-toolbar{position:absolute;top:10px;right:calc(var(--measure-w, 92px) + 18px);z-index:17;display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:5px 6px;cursor:default;font-size:var(--fs-md)}.frac-toolbar.on{border-color:#1565c0;box-shadow:0 0 0 2px #1565c038,var(--shadow-md)}.frac-pencil{border:none;background:#e8f0fb;color:#0d47a1;font-weight:700;border-radius:7px;padding:5px 10px;cursor:pointer;font-size:var(--fs-md)}.frac-pencil:hover:not(:disabled){background:#d6e4f7}.frac-toolbar.on .frac-pencil{background:#1565c0;color:#fff}.frac-pencil:disabled{opacity:.5;cursor:default}.frac-classes{display:flex;border:1px solid var(--border);border-radius:7px;overflow:hidden}.frac-classes button{border:none;background:#fff;padding:4px 8px;font-size:var(--fs-sm);font-weight:600;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:5px}.frac-classes button+button{border-left:1px solid var(--border)}.frac-classes button.on{background:#1f2a33;color:#fff}.frac-classes i{width:10px;height:10px;border-radius:2px;border:1px solid rgba(0,0,0,.3);display:inline-block}.frac-tool{border:1px solid var(--border);background:#fff;border-radius:6px;padding:4px 8px;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.frac-tool:disabled{opacity:.45;cursor:default}.frac-status{font-size:var(--fs-sm);color:var(--text-muted)}.frac-hint{flex-basis:100%;text-align:center;font-size:var(--fs-xs);color:var(--text-muted)}.frac-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.frac-help{width:20px;height:20px;border-radius:50%;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:700;color:var(--text-muted);cursor:help}.frac-toolbar .frac-tool{padding:3px 8px;font-size:var(--fs-md)}.measure-panel .measure-toggle{padding:7px 8px 7px 2px;white-space:nowrap}.frac-toolbar{padding:4px 5px}.frac-pencil{padding:5px 9px}.boxw-row{display:flex;gap:6px}.boxw-row select{flex:1 1 auto}.boxw-row input{width:80px;flex:0 0 auto}.val-modal:after{content:"";position:absolute;right:3px;bottom:3px;width:12px;height:12px;pointer-events:none;background:linear-gradient(135deg,transparent 50%,#9aa3ab 50%,#9aa3ab 58%,transparent 58%,transparent 70%,#9aa3ab 70%,#9aa3ab 78%,transparent 78%)}.obs-box{border:1px solid #f1d9a6;background:#fffbf0;border-radius:8px;padding:8px 10px;font-size:var(--fs-sm);color:#6b4a00}.obs-box.err{border-color:#f3c1bc;background:#fdf4f3;color:#b3261e}.obs-head{font-weight:700;margin-bottom:4px}.obs-list{margin:0;padding-left:18px;max-height:240px;overflow-y:auto}.obs-list li{margin:3px 0;line-height:1.35}.obs-list li::marker{color:#a07000;font-weight:700}.val-head{cursor:move;-webkit-user-select:none;user-select:none}.val-head button,.val-head label{cursor:pointer}:root{--bg-app: #F4F5F7;--bg-surface: #FFFFFF;--bg-surface-hover: #F8F9FA;--text-main: #202124;--text-muted: #5F6368;--primary: #004F71;--primary-hover: #003852;--accent: #008272;--danger: #D93025;--border: #DADCE0;--radius-md: 4px;--radius-lg: 6px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--viewer-bg: #F4F4F4;--viewer-toolbar: #2D2D2D}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);height:100vh;overflow:hidden;font-size:14px}#root{height:100%}.widget-rqd{display:flex;flex-direction:column;height:100vh}.rqd-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm);z-index:10}.rqd-header h3{font-size:1.125rem;font-weight:500;color:#fff;display:flex;align-items:center;gap:8px;margin:0;letter-spacing:.5px}.rqd-header h3 small{font-size:.65rem;padding:2px 6px;background:#fff3;color:#fff;border-radius:var(--radius-md);font-weight:600;text-transform:uppercase;letter-spacing:1px}.upload-btn-wrapper{position:relative;overflow:hidden;display:inline-block}.upload-btn-wrapper input[type=file]{font-size:100px;position:absolute;left:0;top:0;opacity:0;cursor:pointer;height:100%}.rqd-main-layout{display:flex;flex:1;overflow:hidden}.rqd-sidebar{width:360px;background-color:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;padding:20px;gap:16px}.rqd-sidebar::-webkit-scrollbar{width:6px}.rqd-sidebar::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:4px}.rqd-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm)}.rqd-card h5,.rqd-card h6{font-size:.8rem;font-weight:600;margin-bottom:12px;margin-top:0;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding-bottom:8px}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:.8rem;font-weight:500;color:var(--text-main);margin-bottom:4px}.form-control{width:100%;padding:6px 10px;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-surface);color:var(--text-main);transition:all .2s;font-family:var(--font-sans)}.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #00827226}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.checkbox-label{display:flex;align-items:center;font-size:.8rem;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{margin-right:8px;width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;border:1px solid transparent;transition:all .2s;font-family:inherit;outline:none}.btn:focus{box-shadow:0 0 0 2px #004f7133}.btn-primary{background-color:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-outline-danger{color:var(--danger);border-color:var(--danger);background-color:transparent}.btn-outline-danger:hover{background-color:#fce8e6}.btn-default{background-color:#fff;color:var(--text-main);border-color:var(--border);box-shadow:var(--shadow-sm)}.btn-default:hover:not(:disabled){background-color:var(--bg-surface-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-tertiary{background-color:var(--viewer-toolbar);color:#fff;border:1px solid rgba(255,255,255,.1)}.btn-tertiary:hover:not(:disabled){background-color:#3d3d3d}.btn-icon{width:28px;height:28px;padding:0;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center}.image-list-item{display:flex;align-items:center;padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:6px;font-size:.8rem;color:var(--text-main)}.image-list-item input[type=checkbox]{margin-right:12px;accent-color:var(--primary)}.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kpi-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;text-align:center}.kpi-title{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.kpi-value{font-size:1.5rem;font-weight:600;color:var(--primary);margin:4px 0}.kpi-sub{font-size:.75rem;color:var(--text-muted)}.rqd-preview-pane{flex:1;display:flex;flex-direction:column;background-color:var(--viewer-bg);position:relative;overflow:hidden}.preview-toolbar{position:absolute;top:0;left:0;right:0;padding:10px 16px;background:#1a1a1ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:space-between;align-items:center;z-index:10;border-bottom:1px solid rgba(255,255,255,.05)}.preview-title{color:#fff;font-weight:500;font-size:.9rem;letter-spacing:.2px}.preview-controls{display:flex;align-items:center;gap:4px}.preview-controls span{color:#ffffffb3;font-size:.8rem;font-weight:500;padding:0 8px}.rqd-preview-container{flex:1;width:100%;height:100%;cursor:grab;position:relative;overflow:hidden;display:block}.rqd-preview-container:active{cursor:grabbing}.rqd-preview-container canvas{box-shadow:0 0 20px #000c}.rqd-zoom-overlay{position:absolute;bottom:24px;right:24px;display:flex;background:var(--viewer-toolbar);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);z-index:10;overflow:hidden;box-shadow:0 4px 12px #00000080}.rqd-zoom-overlay button{width:40px;height:40px;border-radius:0;background:transparent;color:#fff;border:none;border-right:1px solid rgba(255,255,255,.1);font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.rqd-zoom-overlay button:last-child{border-right:none}.rqd-zoom-overlay button:hover{background:#ffffff1a}.rqd-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1a1acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:50;color:#fff}.spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.2);border-radius:50%;border-top-color:var(--accent);animation:spin 1s ease-in-out infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.rqd-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;color:var(--text-muted);background:var(--viewer-bg)}.rqd-empty-state h4{color:#fff;font-weight:500;margin-bottom:8px}.rqd-empty-state-icon{font-size:3rem;margin-bottom:16px;opacity:.2;color:#fff}@media (max-width: 900px){.rqd-main-layout{flex-direction:column!important}.rqd-sidebar{width:100%!important;max-height:40vh!important;border-right:none!important;border-bottom:2px solid var(--border)!important;padding:16px!important}.rqd-preview-pane{width:100%!important;flex:1 1 auto!important;min-height:60vh!important}.rqd-zoom-wrapper{padding:16px!important;margin:16px auto!important}.rqd-depth-labels{width:60px!important;font-size:24px!important;padding-right:12px!important}.rqd-depth-labels>div{top:-16px!important;bottom:-16px!important}.preview-toolbar{position:relative!important;flex-wrap:wrap!important;gap:8px!important;justify-content:center!important;text-align:center!important}}@media (max-width: 480px){.rqd-sidebar{max-height:45vh!important}.kpi-grid{grid-template-columns:1fr!important}.rqd-header{padding:12px 16px!important}.rqd-header h3{font-size:1rem!important}.rqd-depth-labels{width:45px!important;font-size:16px!important;padding-right:8px!important}.rqd-depth-labels>div{top:-10px!important;bottom:-10px!important}.preview-title{font-size:.8rem!important}}.user-area{display:flex;align-items:center;gap:10px;margin-left:14px}.user-admin-btn{border:1px solid #005b7f;background:#fff;color:#005b7f;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}.user-admin-btn:hover{background:#eef4f7}.user-menu{position:relative}.user-chip{display:flex;align-items:center;gap:8px;border:1px solid #ddd;background:#fff;border-radius:20px;padding:3px 10px 3px 3px;cursor:pointer;font-size:13px}.user-avatar{width:28px;height:28px;border-radius:50%;background:#005b7f;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:11px}.user-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333;font-weight:600}.user-role{font-size:10px;font-weight:700;padding:1px 7px;border-radius:9px;background:#e3eef7;color:#1d5a85}.user-role.admin{background:#fdf0d5;color:#8a5a00}.user-dropdown{position:absolute;right:0;top:calc(100% + 6px);z-index:2000;min-width:220px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 8px 24px #00000026;padding:6px;display:flex;flex-direction:column}.user-dd-email{font-size:12px;color:#666;padding:6px 8px;border-bottom:1px solid #eee;margin-bottom:4px}.user-dropdown button{border:none;background:none;text-align:left;padding:7px 8px;font-size:13px;border-radius:6px;cursor:pointer;color:#333}.user-dropdown button:hover{background:#f2f5f7}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f141980;z-index:3000;display:flex;align-items:center;justify-content:center;font-family:var(--font-sans, Inter, sans-serif)}.auth-modal{background:#fff;border-radius:10px;box-shadow:0 20px 60px #0000004d;padding:18px 20px;display:flex;flex-direction:column;gap:10px;font-size:13px;color:#333}.auth-modal-sm{width:min(380px,92vw)}.auth-modal-lg{width:min(980px,95vw);max-height:88vh}.auth-modal label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#555;font-weight:600}.auth-modal input,.auth-modal select{border:1px solid #ccd;border-radius:6px;padding:7px 9px;font-size:13px;font-family:inherit}.auth-title{font-size:16px;font-weight:700;color:#1f2a33}.auth-sub{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#666;margin-bottom:6px}.auth-head{display:flex;align-items:center;justify-content:space-between}.auth-close{border:none;background:none;font-size:18px;cursor:pointer;color:#777}.auth-muted{font-size:12px;color:#777;margin:0}.auth-error{background:#fdecea;color:#b3261e;border-radius:6px;padding:7px 10px;font-size:12px;font-weight:600}.auth-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.auth-btn{border:1px solid #ccd;background:#fff;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;color:#333}.auth-btn.primary{background:#005b7f;border-color:#005b7f;color:#fff}.auth-btn:disabled{opacity:.5;cursor:default}.auth-btn.sm{padding:4px 8px;font-size:12px}.auth-create{border:1px solid #e3e6ea;border-radius:8px;padding:10px 12px}.auth-row{display:flex;gap:8px;flex-wrap:wrap}.auth-row input[type=email]{flex:2 1 240px}.auth-row input[type=text]{flex:1 1 160px}.auth-secret{background:#fffbf0;border:1px solid #f1d9a6;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.auth-secret-row{display:flex;align-items:center;gap:8px}.auth-secret code{font-size:18px;font-weight:700;letter-spacing:.08em;background:#fff;border:1px dashed #d9b766;border-radius:6px;padding:4px 12px;color:#5a3d00}.auth-table-wrap{overflow:auto;border:1px solid #e3e6ea;border-radius:8px}.auth-table{width:100%;border-collapse:collapse;font-size:12px}.auth-table th{background:#f1f3f5;text-align:left;padding:7px 10px;font-weight:600;position:sticky;top:0}.auth-table td{padding:6px 10px;border-top:1px solid #eef0f2;vertical-align:middle}.auth-table tr.off td{color:#999}.auth-table select{padding:3px 6px;font-size:12px}.auth-cell-actions{white-space:nowrap;display:flex;gap:6px}.auth-you{color:#999;font-size:11px}.auth-tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:9px}.auth-tag.ok{background:#e6f4ea;color:#1e7b34}.auth-tag.warn{background:#fdf0d5;color:#8a5a00}.auth-tag.off{background:#eee;color:#777}.train-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.train-card{border:1px solid #e3e6ea;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.train-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#666}.train-big{font-size:28px;font-weight:700;color:#005b7f;line-height:1.1}.train-actions{display:flex;gap:6px}.auth-btn.danger{color:#b3261e;border-color:#f0c4c0}.auth-btn.danger:hover:not(:disabled){background:#fdecea}.user-dropdown .dd-sep{height:1px;background:#eee;margin:4px 0}.user-dropdown .dd-admin{color:#8a5a00;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px 2px}
