:root{--primary: #8c1d42;--primary-hover: #a3365a;--primary-pressed: #6e1534;--primary-tint: #f6ecf0;--bg: #fafaf9;--surface: #f4f3f1;--card: #ffffff;--ink: #2c2525;--ink-2: #6b6162;--ink-3: #9b9293;--line: #e6e3e0;--line-strong: #d4d0cc;--success: #3d8b6e;--success-tint: #edf5f1;--warning: #b8923a;--warning-tint: #f7f2e8;--error: #bf5454;--error-tint: #f8eded;--press: .12s ease-out;--settle: .2s cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html{font:100%/1.5 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,sans-serif}body{margin:0;background:var(--bg);color:var(--ink);font-size:.875rem;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);padding:.5rem 1rem;border-radius:.5rem;transition:transform var(--press),background-color var(--press),border-color var(--press),color var(--press)}button:active{transform:scale(.97)}button.primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button.primary:active{background:var(--primary-pressed);transform:scale(.97)}button.ghost{background:transparent;border-color:var(--line);color:var(--ink-2);font-size:.8125rem}button.ghost:hover{border-color:var(--line-strong);color:var(--ink)}button.link{border:none;background:none;padding:0;color:var(--primary);font-weight:600}button.link:hover{color:var(--primary-hover)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:.25rem}input,select{font:inherit;padding:.5rem .625rem;border:1px solid var(--line);border-radius:.5rem;background:var(--card);color:var(--ink);transition:border-color var(--press)}input:focus,select:focus{border-color:var(--primary);outline:none}.shell main{max-width:72rem;margin:0 auto;padding:.5rem 1.5rem 4rem}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:1.5rem;height:3.5rem;padding:0 1.5rem;background:#fafaf9b8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(230,227,224,.6)}.topbar .brand{font-weight:800;letter-spacing:.3em;font-size:.9375rem;color:var(--primary)}.topbar .product-tag{color:var(--ink-3);font-size:.8125rem}.topbar nav{display:flex;gap:.25rem;height:100%}.topbar nav a{color:var(--ink-2);text-decoration:none;padding:0 1rem;display:flex;align-items:center;border-bottom:2px solid transparent;font-weight:600;transition:color var(--press)}.topbar nav a:hover{color:var(--ink)}.topbar nav a.active{color:var(--primary);border-bottom-color:var(--primary)}.topbar .spacer{flex:1}.topbar .user{color:var(--ink-3);font-size:.75rem}.page-head{display:flex;align-items:baseline;gap:1rem;margin:1.75rem 0 1rem}.page-head h1{font-size:1.5rem;line-height:1.1;letter-spacing:-.02em;font-weight:700;margin:0;flex:1}.activity-bar{background:var(--card);border:1px solid var(--line);border-radius:.625rem;padding:.625rem 1rem;margin-bottom:1.25rem;font-size:.8125rem;box-shadow:0 1px 2px #2c25250a}.activity-bar .label{color:var(--ink-3);margin-right:.75rem;font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:.75rem;padding:1.125rem 1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 2px #2c25250a,0 4px 12px #2c252508}.card h2{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);font-weight:700;margin:0 0 .75rem}.badge{font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);background:var(--primary-tint);border-radius:999px;padding:.125rem .5rem;margin-left:.625rem;vertical-align:middle;font-weight:700}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--ink-3);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;padding:.5rem .75rem;border-bottom:1px solid var(--line)}td{padding:.75rem;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr{transition:background-color var(--press)}tbody tr:hover{background:var(--surface)}tr:last-child td{border-bottom:none}tr.superseded td{color:var(--ink-3)}.mono{font-family:ui-monospace,SF Mono,Fira Code,monospace;font-size:.8125rem}.dim{color:var(--ink-3)}.fail{color:var(--error)}.status{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:.1875rem .5rem;border-radius:999px}.status.active{color:var(--success);background:var(--success-tint)}.status.paused{color:var(--warning);background:var(--warning-tint)}.status.superseded{color:var(--ink-3);background:var(--surface)}.pill{display:inline-block;margin-left:.5rem;vertical-align:middle;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:.1875rem .5rem;border-radius:999px;border:1px solid transparent;line-height:1.4}.pill-mandatory{color:var(--warning);background:var(--warning-tint)}.pill-optional{color:var(--ink-3);background:transparent;border-color:var(--line-strong)}.pill-button{cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.pill-button:hover{border-color:currentColor}.pill-optional.pill-button:hover{color:var(--warning)}.pill-mandatory.pill-button:hover{background:var(--warning);color:#fff}.chart-title{font-size:.9375rem;margin:0}.stat-row{display:flex;gap:2rem;margin:.75rem 0 1rem}.stat-tile{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.stat-label{font-size:.75rem;color:var(--ink-3)}.range-picker{display:flex;gap:.375rem}.range-on{color:var(--primary);border-color:var(--primary);background:var(--primary-tint)}.usage-chart{display:flex;align-items:flex-end;gap:2px;height:140px;border-bottom:1px solid var(--line-strong);padding-bottom:1px}.usage-col{position:relative;flex:1 1 0;min-width:2px;height:100%;display:flex;align-items:flex-end}.usage-bar{width:100%;background:var(--primary);border-radius:4px 4px 0 0}.usage-col:hover .usage-bar{background:var(--primary-hover)}.chart-tip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;background:var(--ink);color:var(--card);font-size:.6875rem;padding:.25rem .5rem;border-radius:.375rem;pointer-events:none;z-index:3}.usage-col:hover .chart-tip{display:block}.hour-axis{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--ink-3);margin-top:.25rem}.axis-note{font-size:.6875rem;margin:.375rem 0 0}.chart-table{margin-top:.75rem}.chart-table summary{cursor:pointer;font-size:.75rem}.version-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.version-row{display:grid;grid-template-columns:7.5rem 1fr 6rem;align-items:center;gap:.75rem}.version-name{font-size:.8125rem}.version-bar{display:flex;gap:2px;height:14px}.seg{min-width:3px}.seg-current{background:var(--primary);border-radius:0 4px 4px 0}.seg:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.seg-stale{background:#d9a9ba;border-radius:0 4px 4px 0}.version-count{font-size:.8125rem;color:var(--ink);font-variant-numeric:tabular-nums}.legend{display:flex;gap:.75rem}.legend-chip{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--ink-2)}.swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.swatch-current{background:var(--primary)}.swatch-stale{background:#d9a9ba}.queue-photos{display:flex;gap:.75rem;margin:.5rem 0}.queue-photo{height:140px;border-radius:.5rem;border:1px solid var(--line);object-fit:contain;background:#fff}.suggested-match{background:var(--warning-tint);border:1px solid var(--warning);border-radius:.5rem;padding:.5rem .75rem;margin:.5rem 0;display:flex;align-items:center;gap:.75rem}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem;margin:.75rem 0}.field-grid label{display:flex;flex-direction:column;font-size:.75rem;color:var(--ink-2);gap:.25rem}.field-wide{grid-column:1 / -1}.queue-actions{display:flex;gap:.5rem;align-items:center}.queue-actions input{flex:1}.input-narrow{width:5rem;margin-left:.375rem}.product-detail{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.75rem}.row-open{background:var(--primary-tint)}.actions{text-align:right}.staged-edit input{width:4.5rem;margin-right:.375rem}.inline-form{display:flex;gap:.625rem;margin-top:1rem}.inline-form input{flex:1;max-width:24rem}.center-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.login h1{letter-spacing:.35em;color:var(--primary);font-size:1.75rem;margin:0}.login p{color:var(--ink-2);margin:0 0 1.25rem}.overlay{position:fixed;inset:0;background:#2c252559;display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;z-index:10;animation:scrim-in var(--settle) both}.dialog{background:var(--card);border-radius:.875rem;padding:1.5rem;width:30rem;max-width:calc(100vw - 2rem);display:flex;flex-direction:column;gap:.875rem;box-shadow:0 1px 2px #2c25250f,0 24px 60px #2c252538;transform-origin:top center;animation:materialize var(--settle) both}@keyframes scrim-in{0%{opacity:0}}@keyframes materialize{0%{opacity:0;transform:scale(.96) translateY(-.5rem);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}.dialog h2{margin:0;font-size:1.0625rem;letter-spacing:-.01em;font-weight:700}.dialog label{display:flex;flex-direction:column;gap:.375rem;font-size:.75rem;font-weight:600;color:var(--ink-2)}.pace-row{display:flex;gap:.75rem}.pace-row label{flex:1}.dialog-actions{display:flex;justify-content:flex-end;gap:.625rem;margin-top:.375rem}@media(prefers-reduced-motion:reduce){.dialog,.overlay{animation:none}button:active{transform:none}*{transition-duration:1ms!important}}@media(prefers-reduced-transparency:reduce){.topbar{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-contrast:more){.card,.activity-bar{border-color:var(--ink-2)}}.mark{width:1.625rem;height:1.625rem;border-radius:.375rem}.mark-lg{width:4rem;height:4rem;border-radius:.875rem}.crumb{color:var(--ink-3);text-decoration:none;font-weight:600}.crumb:hover{color:var(--ink)}.crumb:after{content:" /";color:var(--line-strong)}.rename-form{display:flex;gap:.5rem;flex:1}button.danger{color:var(--error);border-color:var(--error-tint)}button.danger:hover{background:var(--error-tint);border-color:var(--error)}.error-bar{background:var(--error-tint);color:var(--error);border:1px solid var(--error);border-radius:.625rem;padding:.625rem 1rem;margin-bottom:1rem;font-size:.8125rem}.bulk-bar{display:flex;align-items:center;gap:.5rem;background:var(--primary-tint);border-radius:.625rem;padding:.5rem .75rem;margin-bottom:.75rem;font-size:.8125rem;font-weight:600;color:var(--primary);flex-wrap:wrap}th.check,td.check{width:2rem}.row-link{color:var(--primary);text-decoration:none;font-weight:600}.row-link:hover{text-decoration:underline}textarea{font:inherit;padding:.5rem .625rem;border:1px solid var(--line);border-radius:.5rem;resize:vertical;font-family:ui-monospace,SF Mono,monospace;font-size:.8125rem}textarea:focus{border-color:var(--primary);outline:none}input.filter{width:100%;max-width:26rem;margin-bottom:.875rem}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;margin:0}.facts .fact-wide{grid-column:span 2}.facts dt{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600;margin-bottom:.25rem}.facts dd{margin:0;font-size:.9375rem}.status.failed{color:var(--error);background:var(--error-tint)}.pace-edit{display:inline-flex;gap:.375rem}.pace-edit input{width:4rem}.card{overflow-x:auto}.card table{min-width:36rem}@media(max-width:720px){.topbar{gap:.75rem;padding:0 .875rem;overflow-x:auto}.topbar .product-tag,.topbar .user{display:none}.topbar nav a{padding:0 .625rem}.shell main{padding:.25rem .875rem 3rem}.page-head{flex-wrap:wrap;row-gap:.625rem;margin:1.25rem 0 .875rem}.page-head h1{flex-basis:100%}.card{padding:.875rem 1rem;border-radius:.625rem}td,th{padding:.625rem .5rem}.inline-form{flex-direction:column}.inline-form input{max-width:none}.pace-row{flex-direction:column}.overlay{align-items:flex-end;padding:0}.dialog{width:100%;max-width:none;border-radius:1rem 1rem 0 0;padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));transform-origin:bottom center}.dialog-actions button{flex:1;padding:.75rem 1rem}.bulk-bar button{padding:.5rem .75rem}}@media(pointer:coarse){button,input,select{min-height:2.5rem}}.flag-desc{font-size:.75rem;margin-top:.125rem}.flag-chips{display:flex;gap:.5rem;flex-wrap:wrap}.flag-chip{font-family:ui-monospace,SF Mono,monospace;font-size:.75rem;font-weight:600;color:var(--primary);background:var(--primary-tint);border-radius:999px;padding:.25rem .75rem}.rules-cell{background:var(--surface)}.rules-editor{padding:.25rem 0}.rule-list{margin:0 0 .75rem;padding-left:1.25rem;display:flex;flex-direction:column;gap:.375rem}.rule-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.rule-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.rule-form input{min-width:10rem}.switch{position:relative;display:inline-block;width:2.75rem;height:1.625rem}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;background:var(--line-strong);border-radius:999px;transition:background-color var(--press);cursor:pointer}.switch span:before{content:"";position:absolute;width:1.25rem;height:1.25rem;left:.1875rem;top:.1875rem;background:#fff;border-radius:50%;box-shadow:0 1px 3px #2c25254d;transition:transform var(--settle)}.switch input:checked+span{background:var(--success)}.switch input:checked+span:before{transform:translate(1.125rem)}.rules-editor h3{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:1rem 0 .5rem}.dist-bars{display:flex;flex-direction:column;gap:.375rem;max-width:30rem}.dist-row{display:flex;align-items:center;gap:.75rem}.dist-name{width:5.5rem;font-size:.75rem}.dist-track{flex:1;height:.5rem;background:var(--line);border-radius:999px;overflow:hidden}.dist-fill{height:100%;background:var(--primary);border-radius:999px;transition:width var(--settle)}.checkbox-group{display:inline-flex;gap:.5rem;flex-wrap:wrap}.checkbox-chip{display:inline-flex;align-items:center;gap:.375rem;border:1px solid var(--line);border-radius:999px;padding:.25rem .625rem;font-size:.8125rem;cursor:pointer}.weight-input{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem}.weight-input input{width:3.5rem}.rule-builder{display:flex;flex-direction:column;gap:.5rem}.target-row .dist-name{flex-shrink:0}a.flag-chip{text-decoration:none}.env-pills{display:inline-flex;gap:.25rem;border:1px solid var(--line);border-radius:999px;padding:.125rem;vertical-align:middle}.env-pill{border:none;background:transparent;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.env-pill.active.dev{background:var(--success-tint);color:var(--success)}.env-pill.active.qa{background:var(--warning-tint);color:var(--warning)}.env-pill.active.prod{background:var(--error-tint);color:var(--error)}.check-row,.dialog label.check-row{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:.5rem;font-size:.8125rem;font-weight:400;color:var(--ink);text-align:left;cursor:pointer}.check-row input[type=checkbox]{flex:0 0 auto;margin:.125rem 0 0;width:auto}.site{min-height:100vh;display:flex;flex-direction:column}.site-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem}.site-head-right{display:flex;gap:.75rem;align-items:center}.brand{font-weight:700;letter-spacing:.08em;color:var(--primary);text-decoration:none}.site-main{flex:1;display:flex;justify-content:center;padding:1rem 1.25rem 2rem}.site-main .card{width:100%;max-width:34rem}.site-main .card.narrow{max-width:24rem}.site-main .card.center{text-align:center}.site-foot{text-align:center;padding:1rem;font-size:.75rem}.site h1{font-size:1.375rem;margin:0 0 .5rem}.status{font-weight:600;margin:0 0 1rem}form label{display:block;margin:.75rem 0}form input{display:block;width:100%;margin-top:.25rem}button.primary,.button-link{display:inline-block;margin-top:.75rem;padding:.625rem 1rem;border-radius:999px;border:0;background:var(--primary);color:#fff;font-weight:600;cursor:pointer;text-decoration:none}button.primary:disabled{opacity:.6;cursor:default}button.primary:hover{background:var(--primary-hover)}.masks{list-style:none;margin:0;padding:0}.mask{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 0;border-top:1px solid var(--line)}.mask-serial{font-weight:600}.small{font-size:.8125rem;margin-top:1rem}
