@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--navy: #1A2B45;--amber: #C8861A;--bg: #F5F7FA;--surface: #FFFFFF;--border: #DDE3EE;--text-primary: #1A2B45;--text-secondary: #4A5F7A;font-family:system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.6;color:var(--text-primary);background:var(--bg)}body{margin:0}:root{--navy: #1A2B45;--navy-hover: #243c5e;--amber: #C8861A;--bg: #F3F5F8;--surface: #FFFFFF;--surface-2: #F8FAFC;--db-shadow: 0 1px 2px rgba(26, 43, 69, .05);--sidebar-bg: #1A2B45;--border: #DDE3EE;--border-2: #C8D2E0;--text: #1A2B45;--text-2: #4A5F7A;--text-muted: #7A8EA8;--text-inverse: #FFFFFF;--green: #1A6B3A;--green-bg: #EBF7F0;--green-border: #A3D9B8;--green-solid: #1A6B3A;--amber-warn: #935800;--amber-warn-bg: #FEF4E3;--amber-warn-border: #F0C57A;--red: #B91C1C;--red-bg: #FEF2F2;--red-border: #F5BCBC;--red-solid: #B91C1C;--blue: #1E40AF;--blue-bg: #EFF6FF;--blue-border: #BDD3F8;--purple: #6D28D9;--purple-bg: #F5F3FF;--purple-border: #C4B5FD;--gray: #4B5563;--gray-bg: #F3F4F6;--gray-border: #D1D5DB;--tint: rgba(26, 43, 69, .05);--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--focus-ring: 0 0 0 3px rgba(26, 43, 69, .14);--font: "Inter", system-ui, -apple-system, sans-serif}@media screen{:root[data-theme=dark]{color-scheme:dark;--navy: #3F64A0;--navy-hover: #4C74B5;--amber: #E3A63A;--bg: #0A0F18;--surface: #151D2B;--surface-2: #1C2637;--db-shadow: none;--border: #263245;--border-2: #3A4A63;--text: #E4EAF3;--text-2: #B3BFD1;--text-muted: #8696AE;--green: #7BD9A0;--green-bg: #11301F;--green-border: #235C3C;--green-solid: #1E7F47;--amber-warn: #F2C063;--amber-warn-bg: #33260C;--amber-warn-border: #6B4E14;--red: #F5A3A3;--red-bg: #381717;--red-border: #6E2B2B;--red-solid: #B93030;--blue: #9BBDF9;--blue-bg: #14244A;--blue-border: #2B4580;--purple: #C6ADFA;--purple-bg: #251A47;--purple-border: #48348A;--gray: #B6BFCC;--gray-bg: #232D3D;--gray-border: #3A4658;--tint: rgba(255, 255, 255, .05);--focus-ring: 0 0 0 3px rgba(120, 160, 230, .35)}}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:color-mix(in srgb,var(--navy) 22%,transparent);color:var(--text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.page{padding:32px 40px;max-width:1200px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.page-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.page-title{margin:0 0 3px;font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.01em}.page-sub{margin:0;font-size:13px;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid transparent;border-radius:var(--r-md);font-family:var(--font);font-size:13.5px;font-weight:600;line-height:1.25;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,box-shadow .12s,opacity .12s;text-decoration:none}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--navy);color:var(--text-inverse);border-color:var(--navy)}.btn-primary:hover:not(:disabled){background:var(--navy-hover);border-color:var(--navy-hover)}.btn-secondary{background:var(--surface);color:var(--text-2);border-color:var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--border-2);color:var(--text);background:var(--surface-2)}.btn-ghost{background:transparent;color:var(--text-2);border-color:transparent;font-weight:500}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--red-solid);color:#fff;border-color:var(--red-solid)}.btn-danger:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.btn-sm{padding:5px 11px;font-size:12.5px}.btn-xs{padding:3px 8px;font-size:12px;border-radius:var(--r-sm)}.input,.select{width:100%;padding:8px 11px;border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--font);font-size:13.5px;color:var(--text);background:var(--surface);transition:border-color .12s,box-shadow .12s;appearance:none}.input:focus,.select:focus{outline:none;border-color:var(--navy);box-shadow:var(--focus-ring)}.input::placeholder{color:var(--text-muted)}.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237A8EA8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer}.form-control{width:100%;padding:8px 11px;border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--font);font-size:13.5px;color:var(--text);background:var(--surface);transition:border-color .12s,box-shadow .12s}.form-control:focus{outline:none;border-color:var(--navy);box-shadow:var(--focus-ring)}.form-control::placeholder{color:var(--text-muted)}.form-control:disabled{background:var(--surface-2);color:var(--text-muted);cursor:not-allowed}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237A8EA8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer}.form-control-sm{padding:6px 9px;font-size:13px}select.form-control-sm{padding-right:28px}.search-input{padding:8px 12px 8px 34px;border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--font);font-size:13.5px;color:var(--text);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237A8EA8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 10px center;transition:border-color .12s,box-shadow .12s}.search-input:focus{outline:none;border-color:var(--navy);box-shadow:var(--focus-ring)}.search-input::placeholder{color:var(--text-muted)}.form-label{display:block;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.form-error{font-size:12.5px;color:var(--red);margin:4px 0 0}.form-row{display:flex;flex-direction:column;gap:4px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px 16px}.filters{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.filters .search-input{flex:1;min-width:180px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table thead{background:var(--surface-2);border-bottom:1px solid var(--border)}.data-table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.data-table th.right,.data-table td.right{text-align:right}.data-table th.center,.data-table td.center{text-align:center}.data-table td{padding:11px 14px;border-bottom:1px solid var(--border-2);color:var(--text-2);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table .col-actions{white-space:nowrap}@media(min-width:768px){.data-table .col-actions{position:sticky;right:0;background:var(--surface)}.data-table th.col-actions{background:var(--surface-2)}}.data-table tbody tr{transition:background 80ms}.data-table tbody tr:hover,.data-table tbody tr:hover .col-actions{background:var(--surface-2)}.data-table tbody tr.clickable{cursor:pointer}.cell-code{font-feature-settings:"tnum";font-size:12.5px;font-weight:600;color:var(--text);letter-spacing:.02em}.cell-mono{font-feature-settings:"tnum";font-size:12px;color:var(--text-muted)}.cell-num{font-feature-settings:"tnum";text-align:right}.cell-primary{font-weight:600;color:var(--text)}.cell-muted{color:var(--text-muted);font-size:12.5px}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--r-sm);font-size:11.5px;font-weight:600;white-space:nowrap;line-height:1.4}.badge-green{background:var(--green-bg);color:var(--green)}.badge-amber{background:var(--amber-warn-bg);color:var(--amber-warn)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-blue{background:var(--blue-bg);color:var(--blue)}.badge-purple{background:var(--purple-bg);color:var(--purple)}.badge-gray{background:var(--gray-bg);color:var(--gray)}.badge-navy{background:var(--tint);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 24px}.card+.card{margin-top:16px}.card-title{font-size:13.5px;font-weight:700;color:var(--text);margin:0 0 14px}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.field-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:767px){form .field-grid,form .field-grid-2{grid-template-columns:1fr}}.field-lbl{display:block;font-size:10.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.field-val{font-size:13.5px;color:var(--text);font-weight:500}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--r-md);font-size:13.5px;margin-bottom:16px}.alert-success{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.alert-warning{background:var(--amber-warn-bg);color:var(--amber-warn);border:1px solid var(--amber-warn-border)}.alert-error{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.alert-info{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-border)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 24px;color:var(--text-muted)}.empty-state-icon{width:48px;height:48px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.empty-state-title{font-size:14.5px;font-weight:600;color:var(--text-2);margin:0 0 6px}.empty-state-body{font-size:13px;color:var(--text-muted);margin:0;max-width:300px}.modal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:var(--surface);border-radius:var(--r-lg);padding:28px 32px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal-sm{max-width:420px}.modal-title{margin:0 0 20px;font-size:17px;font-weight:700;color:var(--text)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--surface-2) 50%,var(--border) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--r-sm);display:block}.skeleton-text{height:14px}.skeleton-title{height:20px}.skeleton-row{height:44px}.loading-rows{padding:12px 0;display:flex;flex-direction:column;gap:1px}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px}.pagination-info{font-size:13px;color:var(--text-muted)}.divider{height:1px;background:var(--border);margin:20px 0}.check-yes{color:var(--green);font-weight:700}.check-no{color:var(--red);font-weight:700}.tabular{font-feature-settings:"tnum"}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.db{max-width:1600px}.db-stack{display:flex;flex-direction:column;gap:16px}.db-grid{display:grid;gap:16px;align-items:stretch}.db-top{grid-template-columns:minmax(250px,300px) minmax(0,1fr)}.db-mid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.db-two{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));align-items:start}@media(max-width:1099px){.db-top,.db-mid{grid-template-columns:minmax(0,1fr)}.db-kpis{grid-template-columns:repeat(auto-fill,minmax(124px,1fr))}.db-kpi{min-height:112px}.db-kpi-label{min-height:3.9em}.db-stage-name{align-items:flex-start;min-height:34px}.db-refresh,.db-row .btn{min-height:40px;padding-inline:14px}.db-action-link{min-height:40px;display:flex;align-items:center;padding-top:0}}.db-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-bottom:20px}.db-title{margin:0;font-size:24px;font-weight:700;letter-spacing:-.015em;line-height:1.2;color:var(--text)}.db-sub{margin:3px 0 0;font-size:13px;color:var(--text-2)}.db-sub b{font-weight:600;color:var(--text)}.db-head-right{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.db-refresh{display:inline-flex;align-items:center;gap:6px}.db-refresh .is-spinning{animation:db-spin .8s linear infinite}@keyframes db-spin{to{transform:rotate(360deg)}}.db-chip{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:8px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.db-chip.is-amber{background:var(--amber-warn-bg);color:var(--amber-warn);border-color:var(--amber-warn-border)}.db-chip.is-red{background:var(--red-bg);color:var(--red);border-color:var(--red-border)}.db-chip.is-green{background:var(--green-bg);color:var(--green);border-color:var(--green-border)}.db-action{display:flex;flex-direction:column;gap:8px;padding:16px 20px;border-radius:12px;border:1px solid var(--amber-warn-border);background:color-mix(in srgb,var(--amber-warn-bg) 55%,var(--surface));box-shadow:var(--db-shadow)}.db-action.is-clear{border-color:var(--border);background:var(--surface)}.db-action-top{display:flex;align-items:center;gap:10px}.db-action-name{margin:0;font-size:13.5px;font-weight:700;color:var(--text)}.db-action-num{font-size:44px;font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;margin-top:4px}.db-action-lead{font-size:14px;font-weight:600;color:var(--text)}.db-action.is-clear .db-action-lead{color:var(--green)}.db-action-text{font-size:13px;color:var(--text-2);margin-top:2px}.db-action-link{align-self:flex-start;margin-top:auto;padding-top:6px;font-size:13px;font-weight:600;color:var(--amber-warn);text-decoration:none}.db-action-link.is-top{align-self:center;margin:0 0 0 auto;padding-top:0;white-space:nowrap}.db-action-link:hover{text-decoration:underline;text-underline-offset:3px}.db-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.db-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:116px;padding:14px 16px;text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--db-shadow);transition:border-color .14s,background .14s}button.db-kpi{cursor:pointer}button.db-kpi:hover{border-color:var(--border-2);background:var(--surface-2)}.db-kpi .db-chip{margin-bottom:auto}.db-kpi-num{margin-top:10px;font-size:28px;font-weight:700;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.db-kpi-label{min-height:2.6em;font-size:12.5px;font-weight:500;color:var(--text-2);line-height:1.3}.db-kpi.is-amber{border-color:var(--amber-warn-border)}.db-kpi.is-amber .db-kpi-num{color:var(--amber-warn)}.db-kpi.is-red{border-color:var(--red-border)}.db-kpi.is-red .db-kpi-num{color:var(--red)}.db-panel{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--db-shadow);overflow:hidden}.db-panel-head{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 18px;border-bottom:1px solid var(--border)}.db-panel-title{margin:0;font-size:13.5px;font-weight:700;color:var(--text)}.db-panel-note{margin-left:auto;font-size:12px;color:var(--text-muted);text-align:right}.db-empty{margin:0;padding:22px 18px;font-size:13px;color:var(--text-muted)}.db-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 18px;border-bottom:1px solid var(--border);transition:background .12s}.db-row:last-child{border-bottom:0}.db-row:hover{background:var(--surface-2)}.db-row.is-link{cursor:pointer}.db-pipe{display:grid;grid-template-columns:repeat(var(--n, 4),minmax(0,1fr));padding:6px 6px 8px}.db-stage{display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px 0 12px 14px;text-align:left;font:inherit;color:var(--text);background:transparent;border:0;border-radius:8px;cursor:pointer;transition:background .14s}.db-stage:hover{background:var(--surface-2)}.db-stage-name{display:flex;align-items:center;gap:7px;padding-right:12px;font-size:12.5px;font-weight:600;color:var(--text-2)}.db-stage-num{font-size:30px;font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.db-stage-track{display:flex;align-items:center;height:14px}.db-stage-track .node{width:12px;height:12px;flex-shrink:0;border-radius:50%;background:var(--surface);border:2px solid var(--border-2)}.db-stage-track .line{flex:1;height:2px;background:var(--border-2)}.db-stage.is-held .node{background:var(--amber-warn);border-color:var(--amber-warn)}.db-stage.is-held .db-stage-num{color:var(--amber-warn)}.db-stage-load{height:4px;margin-right:14px;border-radius:2px;background:var(--surface-2);overflow:hidden}.db-stage-load i{display:block;height:100%;min-width:0;border-radius:2px;background:var(--border-2)}.db-stage.is-held .db-stage-load i{background:var(--amber-warn)}.db-stage-rows{display:flex;flex-direction:column;gap:3px;padding-right:14px;font-size:12px;color:var(--text-muted)}.db-stage-rows>span{display:flex;justify-content:space-between;gap:8px}.db-stage-rows b{font-weight:500;color:var(--text-2);font-variant-numeric:tabular-nums}.db-stage-rows .hot,.db-stage-rows .hot b{color:var(--amber-warn);font-weight:700}@media(max-width:767px){.db-pipe{grid-template-columns:minmax(0,1fr);padding:10px 6px 4px}.db-stage{display:grid;grid-template-columns:14px minmax(0,1fr) auto;grid-template-areas:"track name num" "track rows rows";column-gap:12px;row-gap:6px;padding:0 12px}.db-stage-track{grid-area:track;flex-direction:column;height:auto;align-self:stretch}.db-stage-track .node{margin-top:3px}.db-stage-track .line{width:2px;height:auto;min-height:14px}.db-stage-name{grid-area:name;padding-right:0;font-size:14px;color:var(--text)}.db-stage-num{grid-area:num;font-size:24px}.db-stage-load{display:none}.db-stage-rows{grid-area:rows;padding:0 0 16px;font-size:13px}}.db-health{display:flex;flex-direction:column}.db-health-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 18px;text-align:left;font:inherit;color:var(--text);background:transparent;border:0;border-bottom:1px solid var(--border);transition:background .12s}button.db-health-row{cursor:pointer}button.db-health-row:hover{background:var(--surface-2)}.db-health-label{flex:1;font-size:13px;color:var(--text-2)}.db-health-num{font-size:20px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.db-health-num.is-red{color:var(--red)}.db-health-num.is-amber{color:var(--amber-warn)}.db-move{padding:14px 18px 16px}.db-move-head{font-size:12.5px;font-weight:600;color:var(--text)}.db-move-head span{font-weight:400;color:var(--text-muted);margin-left:6px}.db-move-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.db-move-figs div{display:flex;flex-direction:column;gap:2px;min-width:0}.db-move-figs svg{margin-bottom:2px}.db-move-figs .in{color:var(--green)}.db-move-figs .out{color:var(--text-muted)}.db-move-figs div:last-child{padding-top:16px}.db-move-figs b{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.db-move-figs span{font-size:12px;color:var(--text-muted)}.db-move-bar{display:flex;gap:2px;height:6px;margin-top:12px;border-radius:3px;overflow:hidden;background:var(--surface-2)}.db-move-bar .in{background:var(--green-solid)}.db-move-bar .out{background:var(--text-muted)}.db-backup{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}.db-backup b{font-weight:600;color:var(--text)}.db-backup-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--green-solid)}.db-backup-alert{margin-bottom:0}.db-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:1000;padding:10px 20px;border-radius:8px;background:#1a2b45;color:#fff;font-size:13px;font-weight:500;box-shadow:0 6px 20px #0409144d}.db-kpi:focus-visible,.db-stage:focus-visible,.db-health-row:focus-visible,.db-action-link:focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media(max-width:767px){.db-action-num{font-size:40px}.db-title{font-size:21px}}@media(prefers-reduced-motion:reduce){.db-refresh .is-spinning{animation:none}}.sb{--sb-panel: #18212F;--sb-line: rgba(255, 255, 255, .08);--sb-on: rgba(255, 255, 255, .94);--sb-med: rgba(255, 255, 255, .68);--sb-dim: rgba(255, 255, 255, .46);--sb-hover: rgba(255, 255, 255, .06);--sb-amber: #F59E0B;--sb-amber-bg: rgba(245, 158, 11, .12)}.sb-brand{display:flex;justify-content:center;width:fit-content;margin:0 auto;padding:6px 14px;border-radius:8px;background:#fff;box-shadow:0 1px #ffffff14,0 4px 12px #04091459;transition:box-shadow .14s}.sb-brand:hover{box-shadow:0 0 0 2px var(--sb-amber),0 4px 12px #04091459}.sb-brand:focus-visible{outline:2px solid var(--sb-amber);outline-offset:2px}.sb-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 0}.sb-mod,.sb-row,.sb-theme{display:flex;align-items:center;width:100%;border:0;background:transparent;font:inherit;text-align:left;text-decoration:none;cursor:pointer;position:relative;transition:background .12s,color .12s}.sb-mod{gap:9px;min-height:46px;padding:6px 10px 6px 14px;color:var(--sb-med)}.sb-mod:hover,.sb-mod[aria-expanded=true]{background:var(--sb-hover);color:var(--sb-on)}.sb-mod.is-active{color:var(--sb-on);background:var(--sb-amber-bg)}.sb-mod.is-active:before,.sb-row.is-active:before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:3px;border-radius:0 2px 2px 0;background:var(--sb-amber)}.sb-mod-icon{display:flex;flex-shrink:0}.sb-mod.is-active .sb-mod-icon,.sb-mod[aria-expanded=true] .sb-mod-icon{color:var(--sb-amber)}.sb-mod-text{flex:1;min-width:0;display:flex;flex-direction:column}.sb-mod-tag{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.35;color:var(--sb-dim)}.sb-mod.is-active .sb-mod-tag{color:var(--sb-amber)}.sb-mod-label{font-size:12.5px;font-weight:500;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-mod-end{flex-shrink:0;color:var(--sb-dim);transition:transform .16s}.sb-mod.is-locked{cursor:not-allowed;color:var(--sb-dim)}.sb-mod.is-locked:hover{background:transparent;color:var(--sb-dim)}.sb-fly{position:fixed;z-index:300;width:236px;max-height:calc(100vh - 16px);overflow-y:auto;padding:6px;background:var(--sb-panel);border:1px solid var(--sb-line);border-radius:8px;box-shadow:0 14px 34px #0409146b,0 2px 6px #0409144d;animation:sb-in .15s cubic-bezier(.16,1,.3,1)}@keyframes sb-in{0%{opacity:.4;transform:translate(-6px)}}.sb-fly-title{padding:5px 10px 6px;font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--sb-dim)}.sb-row{gap:10px;min-height:36px;padding:6px 8px 6px 12px;border-radius:6px;font-size:13px;font-weight:500;color:var(--sb-med)}.sb-row:hover,.sb-row[aria-expanded=true]{background:var(--sb-hover);color:var(--sb-on)}.sb-row.is-active{background:var(--sb-amber-bg);color:var(--sb-on)}.sb-row-icon{display:flex;flex-shrink:0}.sb-row.is-active .sb-row-icon{color:var(--sb-amber)}.sb-row-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-row-end{flex-shrink:0;color:var(--sb-dim)}.sb-badge{flex-shrink:0;min-width:18px;padding:1px 5px;border-radius:9px;background:var(--sb-amber);color:#111827;font-size:10px;font-weight:700;line-height:1.5;text-align:center;font-variant-numeric:tabular-nums}.sb-inline{padding:2px 8px 8px 10px}.sb-inline-label{padding:9px 12px 3px;font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--sb-dim)}.sb-theme{gap:10px;min-height:40px;padding:6px 14px 6px 16px;border-top:1px solid var(--sb-line);font-size:12.5px;font-weight:500;color:var(--sb-med)}.sb-theme:hover{background:var(--sb-hover);color:var(--sb-on)}.sb-switch{flex-shrink:0;width:30px;height:17px;padding:2px;border-radius:9px;background:#fff3;transition:background .16s}.sb-switch span{display:block;width:13px;height:13px;border-radius:50%;background:#fff;transition:transform .16s cubic-bezier(.16,1,.3,1)}.sb-theme[aria-checked=true] .sb-switch{background:var(--sb-amber)}.sb-theme[aria-checked=true] .sb-switch span{transform:translate(13px)}.sb-mod:focus-visible,.sb-row:focus-visible,.sb-theme:focus-visible{outline:2px solid var(--sb-amber);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.sb-fly{animation:none}.sb-switch,.sb-switch span,.sb-mod-end{transition:none}}.sb-user{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;padding:10px 14px 8px;border-top:1px solid var(--sb-line)}.sb-user-name{color:var(--sb-on);font-size:12.5px;font-weight:600;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.sb-user-role{color:var(--sb-dim);font-size:11px;line-height:1.25;margin-top:2px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.sb-user-actions{display:flex;align-items:center;gap:6px;flex:0 0 100%;padding-left:39px}.sb-user-actions .sb-icon-btn{width:34px;height:34px}.powered{margin:0;font-size:11px;letter-spacing:.02em;color:var(--text-muted);text-align:center}.sb-powered{padding:0 14px calc(10px + env(safe-area-inset-bottom,0px));font-size:10px;color:var(--sb-dim)}.sb.is-rail .sb-powered{display:none}.sb.is-rail .sb-user{padding-bottom:12px}.sb-icon-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--sb-dim);cursor:pointer;transition:background .12s,color .12s}.sb-icon-btn:hover{background:var(--sb-hover);color:var(--sb-on)}.sb-icon-btn:focus-visible,.sb-close:focus-visible{outline:2px solid var(--sb-amber);outline-offset:1px}.sb-close{position:absolute;top:calc(8px + env(safe-area-inset-top,0px));right:8px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:var(--sb-med);cursor:pointer}.sb.is-rail .sb-mod{justify-content:center;padding:6px 0;min-height:48px}.sb.is-rail .sb-mod-text,.sb.is-rail .sb-mod-end,.sb.is-rail .sb-theme .sb-row-text,.sb.is-rail .sb-theme .sb-switch,.sb.is-rail .sb-user-info{display:none}.sb.is-rail .sb-mod .sb-badge{position:absolute;top:5px;right:9px;min-width:16px;padding:0 4px;font-size:9px}.sb.is-rail .sb-brand{padding:5px;border-radius:8px}.sb.is-rail .sb-theme{justify-content:center;padding:6px 0;min-height:44px}.sb.is-rail .sb-theme[aria-checked=true]{color:var(--sb-amber)}.sb.is-rail .sb-user{flex-direction:column;flex-wrap:nowrap;gap:6px;padding-inline:0}.sb.is-rail .sb-user-actions{flex-direction:column;flex-basis:auto;padding-left:0}.sb.is-rail .sb-icon-btn{width:36px;height:36px}:root{--bn-h: 58px;--m-top-h: 52px}.m-shell{min-height:100dvh;background:var(--bg)}.m-top{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:2px;height:calc(var(--m-top-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) calc(4px + env(safe-area-inset-right,0px)) 0 calc(4px + env(safe-area-inset-left,0px));background:#111827;border-bottom:1px solid rgba(255,255,255,.07)}.m-top-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:#ffffffd1;cursor:pointer}.m-top-btn:active{background:#ffffff1a}.m-top-brand{display:flex;align-items:center;gap:8px;flex:1;min-width:0;height:44px;padding-left:2px;color:#fffffff0;font-size:14px;font-weight:700;letter-spacing:.06em;text-decoration:none}.m-main{min-height:calc(100dvh - var(--m-top-h) - env(safe-area-inset-top,0px));padding-bottom:calc(var(--bn-h) + env(safe-area-inset-bottom,0px) + 16px);background:var(--bg)}.bn{position:fixed;left:0;right:0;bottom:0;z-index:150;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:calc(var(--bn-h) + env(safe-area-inset-bottom,0px));padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:#111827;border-top:1px solid rgba(255,255,255,.09)}.bn-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:0;border:0;background:transparent;font:inherit;font-size:11px;font-weight:600;color:#fff9;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.bn-tab:active{background:#ffffff0f}.bn-tab.is-active{color:#f59e0b}.bn-icon{position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:28px;border-radius:14px;transition:background .14s}.bn-tab.is-active .bn-icon{background:#f59e0b29}.bn-icon i{position:absolute;top:-3px;right:4px;min-width:17px;padding:0 4px;border-radius:9px;background:#f59e0b;color:#111827;font-style:normal;font-size:10px;font-weight:700;line-height:17px;text-align:center}.bn-tab:focus-visible,.m-top-btn:focus-visible,.m-top-brand:focus-visible{outline:2px solid #F59E0B;outline-offset:-3px}@media(max-width:767px){.page{padding:12px 16px 20px}.page-header{flex-wrap:wrap}.page-header-actions{flex-wrap:wrap;flex-shrink:1;min-width:0}.btn{min-height:44px}.btn-sm,.btn-xs{min-height:40px;padding-inline:12px}.sb-drawer{padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px)}.sb-drawer .sb-mod{min-height:54px}.sb-drawer .sb-mod-label{font-size:14px}.sb-drawer .sb-row{min-height:46px;font-size:14.5px}.sb-drawer .sb-theme{min-height:50px;font-size:14px}.sb-drawer .sb-icon-btn{width:44px;height:44px}.sb-drawer .sb-user{gap:4px 9px}.sb-drawer .sb-user-actions .sb-icon-btn{width:44px;height:44px}.sb-drawer .sb-user-name{font-size:14px}.sb-drawer .sb-user-role{font-size:12px}.db-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title refresh" "sub sub" "updated updated";align-items:center;gap:2px 12px;margin-bottom:12px}.db-head>div:first-child,.db-head-right{display:contents}.db-title{grid-area:title}.db-sub{grid-area:sub;margin-top:0}.db-head-right>span{grid-area:updated;font-size:12px;color:var(--text-muted)}.db-refresh{grid-area:refresh;min-height:44px;padding-inline:14px}.db-stack,.db-grid{gap:12px}.db-action{padding:18px}.db-action-link{min-height:44px;display:flex;align-items:center;padding-top:0}.db-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.db-kpi{min-height:0;padding:9px 12px 10px 14px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 10px}.db-kpi .db-chip{order:2;margin:0 0 0 auto}.db-kpi-num{order:1;margin-top:0;font-size:26px}.db-kpi-label{order:3;width:100%;min-height:0;font-size:13px}button.db-kpi:active,.db-stage:active,button.db-health-row:active,.db-row.is-link:active{background:var(--surface-2)}.db-panel-head{padding-inline:14px}.db-panel-note{display:none}.db-row{padding:12px 14px}.db-row .btn{min-height:44px;padding-inline:14px}.db-health-row{min-height:52px;padding-inline:14px}.db-move{padding-inline:14px}.db-toast{bottom:calc(var(--bn-h) + env(safe-area-inset-bottom,0px) + 12px);width:max-content;max-width:calc(100vw - 32px)}}@media(max-width:339px){.db-move-figs b{font-size:15px}.db-kpi-num{font-size:24px}}.update-bar{left:0;right:0;bottom:0}:root:has(aside.sb-desk) .update-bar{left:240px}:root:has(aside.sb-desk.is-rail) .update-bar{left:68px}:root:has(.bn) .update-bar{bottom:calc(var(--bn-h) + env(safe-area-inset-bottom,0px));padding-bottom:10px!important}.print-only{display:none}@media print{aside,.no-print,button{display:none!important}.print-only{display:block!important}body,.page{background:#fff!important}.page{max-width:none!important;padding:0!important}.table-wrap{overflow:visible!important;border:none!important}.data-table{font-size:11px}.data-table input{border:1px solid #999!important;background:#fff!important}tr{break-inside:avoid}}.photo-step,.photo-gallery{display:flex;flex-direction:column;gap:12px;margin:4px 0 20px}.photo-step-head{display:flex;flex-direction:column;gap:2px}.photo-step-title{margin:0;font-size:15px;font-weight:650;color:var(--text);letter-spacing:-.01em}.photo-step-hint{margin:0;font-size:12.5px;color:var(--text-2)}.photo-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.photo-line{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.photo-line.is-done{border-color:var(--green-border)}.photo-line-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.photo-line-name{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13.5px;font-weight:600;color:var(--text)}.photo-line-hint{font-size:12px;font-weight:400;color:var(--text-muted)}.photo-count{flex:none;display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;background:var(--amber-warn-bg);color:var(--amber-warn)}.photo-count.is-done{background:var(--green-bg);color:var(--green)}.photo-line-actions{display:flex;flex-wrap:wrap;gap:8px}.photo-line-actions .btn{display:inline-flex;align-items:center;gap:6px}.photo-line-error{display:flex;align-items:center;gap:6px;margin:0;font-size:12.5px;color:var(--red)}.photo-strip{display:flex;flex-wrap:wrap;gap:8px}.photo-tile{position:relative;width:84px;height:84px;flex:none;border-radius:var(--r-md);overflow:hidden;background:var(--surface-2);border:1px solid var(--border)}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block}.photo-tile-img{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}.photo-tile-img:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.photo-tile.is-void img{opacity:.45;filter:grayscale(1)}.photo-tile-flag{position:absolute;left:4px;bottom:4px;padding:1px 6px;border-radius:var(--r-sm);font-size:10.5px;font-weight:700;letter-spacing:.02em;background:var(--red-bg);color:var(--red)}.photo-tile-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;font-size:11px;color:var(--text-muted)}.photo-tile-loading{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--surface-2),var(--border),var(--surface-2));background-size:200% 100%;animation:photo-shimmer 1.2s ease-in-out infinite}@keyframes photo-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.photo-tile-remove{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:999px;background:#0f172ab8;color:#fff;cursor:pointer}.photo-tile-remove:focus-visible{outline:2px solid #fff;outline-offset:1px}.photo-tile.is-local img{opacity:.6}.photo-tile-progress{position:absolute;left:6px;right:6px;bottom:6px;height:4px;border-radius:2px;background:#ffffffb3;overflow:hidden}.photo-tile-progress:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p, 0%);background:var(--navy);transition:width .16s ease-out}.photo-tile.is-failed{border-color:var(--red-border)}.photo-tile-retry{position:absolute;inset:auto 4px 4px;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:28px;border:0;border-radius:var(--r-sm);background:var(--red-solid);color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.photo-exception{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--r-md);font-size:13px;line-height:1.45;background:var(--amber-warn-bg);color:var(--amber-warn);border:1px solid var(--amber-warn-border)}.photo-exception svg{flex:none;margin-top:2px}.photo-exception.is-approved{background:var(--blue-bg);color:var(--blue);border-color:var(--blue-border)}.photo-exception.is-used{background:var(--purple-bg);color:var(--purple);border-color:var(--purple-border)}.photo-exception-link{margin:0;font-size:12.5px;color:var(--text-2)}.photo-exception-form{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px dashed var(--border-2);border-radius:var(--r-lg)}.btn-link{padding:0;border:0;background:none;font:inherit;font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:3px;cursor:pointer}:root[data-theme=dark] .btn-link{color:var(--text)}.btn-link:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:2px}.photo-rows{display:flex;flex-direction:column;gap:14px}.photo-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.photo-group{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.photo-group-title{margin:0;font-size:12px;font-weight:700;color:var(--text-2);letter-spacing:.04em;text-transform:uppercase}.photo-group-line{display:flex;flex-direction:column;gap:6px}.photo-group-meta{font-size:12px;color:var(--text-muted)}.photo-with-actions{display:flex;flex-direction:column;align-items:center;gap:2px}.photo-void-link{font-size:12px;color:var(--red)}.photo-viewer{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));background:#0a0f18d1}.photo-viewer-body{display:flex;flex-direction:column;gap:10px;width:min(960px,100%);max-height:100%;background:var(--surface);border-radius:var(--r-lg);padding:12px;box-shadow:0 18px 48px #0a0f1866}.photo-viewer-img{display:grid;place-items:center;min-height:200px;max-height:72vh;overflow:hidden;border-radius:var(--r-md);background:var(--surface-2)}.photo-viewer-img img{max-width:100%;max-height:72vh;object-fit:contain;display:block}.photo-viewer-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--text-2)}.photo-viewer-meta>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.photo-viewer-meta strong{color:var(--text)}.photo-viewer-void{color:var(--red)}.photo-viewer-actions,.photo-void-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.photo-void-form .input{min-width:220px}@media(max-width:767px){.photo-tile{width:72px;height:72px}.photo-line-actions .btn{flex:1 1 140px;justify-content:center;min-height:44px}.photo-void-form .input{min-width:0;flex:1 1 100%}}@media(prefers-reduced-motion:reduce){.photo-tile-loading{animation:none}.photo-tile-progress:after{transition:none}}
