.auth-shell{min-width:0;padding:var(--space-8) var(--space-4);flex:1;justify-content:center;height:100dvh;display:flex;overflow-y:auto}.auth-col{width:100%;max-width:460px;margin-block:auto}.auth-col .form-footer{margin-top:var(--space-5);border-top:0;padding:0}.auth-col .form-footer .spacer{display:none}.auth-col .form-footer .btn{width:100%}.auth-brand{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--font-size-sm);letter-spacing:.08em;color:var(--color-primary);font-weight:700;display:flex}.auth-brand svg{width:15px;height:15px}.auth-identity{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-sunken);display:flex}.auth-identity-mark{border-radius:var(--radius-md);background:var(--color-bg-container);width:32px;height:32px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.auth-identity-mark svg{width:16px;height:16px}.auth-identity-text{flex-direction:column;gap:2px;min-width:0;display:flex}.auth-identity-name{font-size:var(--font-size-md);font-weight:600;line-height:1.3}.auth-identity-id{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.auth-identity-id code{font-family:var(--font-mono,ui-monospace, monospace);color:var(--color-text-secondary)}.consent-list{gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-sunken);font-size:var(--font-size-sm);grid-template-columns:92px 1fr;line-height:1.6;display:grid}.consent-list dt{color:var(--color-text-tertiary)}.consent-list dd{color:var(--color-text-primary)}.rule-list{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-sunken);flex-direction:column;gap:5px;display:flex}.rule-list li{font-size:var(--font-size-sm);color:var(--color-text-tertiary);padding-left:12px;line-height:1.5;list-style:none;position:relative}.rule-list li:before{content:"";background:var(--color-text-tertiary);border-radius:50%;width:3px;height:3px;position:absolute;top:8px;left:2px}.input-affix{display:block;position:relative}.input-affix .form-input{padding-right:34px}.input-affix-btn{cursor:pointer;width:32px;height:34px;color:var(--color-text-tertiary);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}.input-affix-btn:hover{color:var(--color-text-primary)}.input-affix-btn svg{width:15px;height:15px}.field-error{font-size:var(--font-size-sm);color:var(--color-error-text);align-items:center;gap:6px;display:flex}.field-error svg{flex-shrink:0;width:13px;height:13px}.auth-result{text-align:center;padding:var(--space-8) var(--space-5)}.auth-result-mark{width:44px;height:44px;margin:0 auto var(--space-4);background:var(--color-bg-sunken);color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.auth-result-mark.warn{color:var(--color-warning-text,var(--color-error-text))}.auth-result-mark svg{width:21px;height:21px}.auth-result h1{font-size:var(--font-size-lg);margin-bottom:var(--space-2);font-weight:700}.auth-result p{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:34em;margin:0 auto;line-height:1.6}.auth-result .btn{margin-top:var(--space-5)}.site-picker-page{padding-top:var(--space-2);padding-bottom:var(--space-5)}.picker-back{align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--font-size-sm);color:var(--color-text-tertiary);display:inline-flex}.picker-back svg{width:16px;height:16px}.picker-back:hover{color:var(--color-text-primary)}.site-picker-page .page-header{margin-bottom:var(--space-6)}.site-picker-page .page-title{font-size:var(--font-size-2xl)}.site-picker-page .page-subtitle{margin-top:var(--space-3)}.picker-search{max-width:600px;margin-bottom:var(--space-6);position:relative}.picker-search .form-input{background:var(--color-bg-container);height:46px;font-size:var(--font-size-base);border-radius:14px;padding:0 46px}.picker-search .form-input::-webkit-search-cancel-button{appearance:none}.picker-search-icon{width:19px;height:19px;color:var(--color-text-tertiary);pointer-events:none;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.picker-search-clear{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:5px;right:5px}.picker-search-clear svg{width:16px;height:16px}.picker-search-clear:hover{background:var(--color-bg-spotlight)}.picker-section{padding:var(--space-5);margin-bottom:var(--space-5);border:1px solid var(--color-border);background:var(--color-bg-elevated);border-radius:20px}.picker-section-title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:600;display:flex}.picker-section-title svg{width:16px;height:16px}.picker-count{color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.picker-count:before{content:"("}.picker-count:after{content:")"}.picker-section-empty{padding:var(--space-3) 0;font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0;line-height:1.6}.picker-feedback{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--color-warning-text);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.picker-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.site-card{border:1px solid var(--color-border);background:var(--color-bg-container);border-radius:18px;min-width:0;transition:border-color .12s;position:relative}.site-card:hover{border-color:var(--color-border-strong)}.site-card:has(.site-card-link:hover){border-color:var(--color-primary)}.site-card-link{gap:var(--space-2);padding:var(--space-5);border-radius:inherit;flex-direction:column;height:100%;min-height:148px;display:flex}.site-card-customer{color:var(--color-text-tertiary);font-size:var(--font-size-sm);align-items:center;gap:6px;padding-right:28px;display:flex}.site-card-customer>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.site-card-customer svg{flex-shrink:0;width:13px;height:13px}.site-card-title{align-items:flex-start;gap:7px;min-width:0;display:flex}.site-card-title svg{width:16px;height:16px;color:var(--color-text-secondary);flex-shrink:0;margin-top:3px}.site-card-name{min-width:0;font-size:var(--font-size-lg);overflow-wrap:anywhere;font-weight:600;line-height:1.4}.site-card-detail{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.site-card-code{color:var(--color-text-tertiary);font-size:var(--font-size-sm);overflow-wrap:anywhere}.site-card-detail .badge{font-size:var(--font-size-xs);padding:1px 6px}.site-card-meta{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:3px 10px;margin-top:auto;display:flex}.site-card-meta>span{white-space:nowrap}.site-card-fav{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;place-items:center;display:grid;position:absolute;top:7px;right:7px}.site-card-fav svg{width:18px;height:18px}.site-card-fav[aria-pressed=true]{color:var(--color-primary)}.site-card-fav:hover{background:var(--color-bg-spotlight);color:var(--color-primary)}.site-card-fav:disabled{cursor:wait;opacity:.45}.picker-back:focus-visible,.site-card-link:focus-visible,.site-card-fav:focus-visible,.picker-search-clear:focus-visible,.picker-area .seg-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.picker-area .seg-btn:focus-visible{outline-offset:-3px}.main-area.standalone{width:100%}.topbar-brand{align-items:center;gap:10px;display:flex}.topbar-who{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.picker-area{align-items:center;gap:var(--space-3);display:flex}.picker-area-label{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.seg{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-sunken);display:flex;overflow:hidden}.seg-btn{height:30px;padding:0 var(--space-3);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);background:0 0;border:none;align-items:center;gap:6px;display:flex}.seg-btn svg{width:14px;height:14px}.seg-btn:hover{background:var(--color-bg-spotlight);color:var(--color-text-primary)}.seg-btn.on{background:var(--color-primary);color:var(--color-on-primary);font-weight:600}.seg-btn.on:hover{background:var(--color-primary);color:var(--color-on-primary)}@media (width<=1200px){.picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.site-card{transition:none}}.ro-field{min-height:34px;padding:6px var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-sunken);font-size:var(--font-size-base);word-break:keep-all;align-items:center;gap:7px;display:inline-flex}.ro-field svg{width:13px;height:13px;color:var(--color-text-tertiary);align-self:center}.ro-field.muted{color:var(--color-text-tertiary)}.ro-sub{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.ro-label{margin-top:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:700}.hint-row.ok{color:var(--color-success-text)}.user-cell{align-items:center;gap:9px;display:flex}.avatar{border-radius:var(--radius-full);background:var(--color-bg-spotlight);width:28px;height:28px;color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.last-login{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);align-items:center;gap:5px;display:inline-flex}.last-login:hover{color:var(--color-primary)}.table .cell-user{max-width:200px}.cell-user .cell-stack{min-width:0}.cell-user .cell-main,.cell-user .cell-sub{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.grant-list{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.grant-row{gap:var(--space-2);grid-template-columns:1fr 1fr 34px;align-items:center;display:grid}.grant-row .btn-sm{justify-content:center;width:34px;height:34px;padding:0}.allsites-detail{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.allsites-warn{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0;line-height:1.7}.allsites-warn code{font-family:var(--font-mono,ui-monospace, monospace);font-size:.9em}.table td.cell-request{max-width:0}.request-cell{align-items:center;gap:var(--space-2);min-width:0;display:flex}.request-cell .badge{flex-shrink:0}.request-cell .mono{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.allsites-set{gap:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.allsites-set .form-group{flex:220px;margin:0}.allsites-set .btn{flex:none}.date-time{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.dp{display:inline-block;position:relative}.dp-field{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-sunken);align-items:stretch;min-height:34px;display:inline-flex;overflow:hidden}.dp-field:focus-within{border-color:var(--color-primary);outline:2px solid var(--color-primary-light)}.dp-field.is-disabled{opacity:.6}.dp-input{width:112px;color:var(--color-text-primary);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:4px 8px}.dp-input:focus{outline:none}.dp-input[aria-invalid=true]{color:var(--color-error-text)}.dp-toggle{border:0;border-left:1px solid var(--color-border);background:var(--color-bg-sunken);color:var(--color-text-secondary);cursor:pointer;align-items:center;padding:0 8px;display:inline-flex}.dp-toggle svg{width:14px;height:14px}.dp-toggle:hover,.dp[data-open=true] .dp-toggle{color:var(--color-primary)}.dp-pop{z-index:1000;color:var(--color-text-primary);font:inherit;box-sizing:border-box;width:272px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-container);box-shadow:var(--shadow-lg);margin:0;position:fixed;inset:auto;overflow:auto}.dp-head{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.dp-title{font-weight:600;font-size:var(--font-size-sm)}.dp-nav{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;padding:4px;display:inline-flex}.dp-nav:hover{background:var(--color-bg-sunken);color:var(--color-text-primary)}.dp-nav svg{width:16px;height:16px}.dp-week,.dp-row{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-week span{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding:2px 0 4px}.dp-week .sun,.dp-day.sun{color:var(--color-error-text)}.dp-week .sat,.dp-day.sat{color:var(--color-info-text)}.dp-day{color:var(--color-text-primary);font:inherit;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;height:30px}.dp-day:hover:not(:disabled){background:var(--color-bg-sunken)}.dp-day.other{color:var(--color-text-tertiary)}.dp-day.today{box-shadow:inset 0 0 0 1px var(--color-primary)}.dp-day.sel{background:var(--color-primary);color:var(--color-on-primary);font-weight:600}.dp-day:disabled{color:var(--color-text-disabled);cursor:not-allowed;text-decoration:line-through}.dp-foot{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-secondary);display:flex}.dp-presets{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:inline-flex}.dp-preset{border:1px solid var(--color-border-strong);background:var(--color-bg-container);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-xs);cursor:pointer;border-radius:999px;padding:2px 8px}.dp-preset:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.dp-preset:disabled{opacity:.5;cursor:not-allowed}.dp-grid{flex-direction:column;gap:2px;display:flex}.dp-pretty{white-space:nowrap}.dp-day.in-range{background:var(--color-primary-light)}.dp-day.sel:hover:not(:disabled){background:var(--color-primary)}.dp-day:focus-visible,.dp-nav:focus-visible,.dp-preset:focus-visible,.dp-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.date-range{gap:var(--space-2);flex-direction:column;display:inline-flex}.date-range-fields,.date-range-presets{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}[data-page=capability-matrix] .cap-provided{color:var(--color-primary);font-weight:600}[data-page=capability-matrix] .matrix tbody th{font-weight:inherit;text-align:left}[data-page=capability-matrix] .matrix .cell-stack{min-width:0}[data-page=capability-matrix] .matrix .cell-title,[data-page=capability-matrix] .matrix .cell-sub{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.gate-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.gate-head .k{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.gate-list{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-4);overflow:hidden}.gate-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.gate-row+.gate-row{border-top:1px solid var(--color-border)}.gate-row.done{background:var(--color-bg-sunken)}.gate-row>svg{flex-shrink:0;width:16px;height:16px;margin-top:2px}.gate-row.done>svg{color:var(--color-success-text)}.gate-row.todo>svg{color:var(--color-warning-text)}.gate-main{flex:1;min-width:0}.gate-name{font-weight:600;display:block}.gate-row.done .gate-name{color:var(--color-text-secondary);font-weight:500}.gate-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px;line-height:1.6;display:block}.gate-row .btn{flex-shrink:0}.gate-done-mark{font-size:var(--font-size-sm);color:var(--color-success-text);flex-shrink:0}.site-name{align-items:center;gap:9px;display:flex}.site-icon{border-radius:var(--radius-md);background:var(--color-primary-subtle);width:28px;height:28px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.site-icon svg{width:15px;height:15px}.cap-dots{align-items:center;gap:3px;display:flex}.cap-dots i{background:var(--color-bg-spotlight);border-radius:2px;width:8px;height:8px;font-style:normal;display:block}.cap-dots i.on{background:var(--color-primary)}.cap-count{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-left:4px}.url-preview{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.url-preview b{color:var(--color-primary);font-weight:700}.locked-tag{font-size:var(--font-size-sm);color:var(--color-text-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);align-items:center;gap:5px;font-weight:700;display:inline-flex}.locked-tag svg{width:13px;height:13px}.confirm-block{margin-top:var(--space-4)}.confirm-block .form-label{margin-bottom:6px;display:block}.confirm-block .form-label .target{font-family:var(--font-mono);color:var(--color-text-primary)}.matrix th.cap-col{text-align:center;width:128px}.matrix td.cap-cell{text-align:center}.toggle{border-radius:var(--radius-md);width:30px;height:30px;transition:var(--transition);justify-content:center;align-items:center;display:inline-flex}.toggle svg{width:16px;height:16px}.toggle.on{background:var(--color-success-bg);color:var(--color-success-text)}.toggle.off{background:var(--color-bg-spotlight);color:var(--color-text-disabled)}.cap-head{flex-direction:column;align-items:center;gap:3px;line-height:1.25;display:flex}.cap-head svg{width:15px;height:15px;color:var(--color-primary)}.locked{font-size:var(--font-size-xs);color:var(--color-text-tertiary);align-items:center;gap:4px;font-weight:700;display:inline-flex}.locked svg{width:12px;height:12px}.auto-field{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-sunken);display:flex}.auto-field code{font-family:var(--font-mono,ui-monospace, monospace);font-weight:600}.auto-tag{letter-spacing:.03em;color:var(--color-text-tertiary);margin-left:auto;font-size:10px;font-weight:700}.org-logo{object-fit:contain;object-position:left center;max-width:160px;max-height:40px;display:block}.brand-swatch{align-items:center;gap:var(--space-2);display:inline-flex}.brand-chip{border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0;width:16px;height:16px}.matrix-wrap{max-height:64vh;overflow:auto}.matrix{border-collapse:separate;border-spacing:0}.matrix thead th{z-index:2;background:var(--color-bg-sunken);position:sticky;top:0}.matrix th.col-site,.matrix td.col-site{z-index:1;background:var(--color-bg-container);width:200px;min-width:200px;position:sticky;left:0}.matrix th.col-stage,.matrix td.col-stage{z-index:1;background:var(--color-bg-container);width:92px;min-width:92px;position:sticky;left:200px}.matrix th.col-manage,.matrix td.col-manage{z-index:1;background:var(--color-bg-container);width:112px;min-width:112px;position:sticky;right:0}.matrix thead th.col-site,.matrix thead th.col-stage,.matrix thead th.col-manage{z-index:3;background:var(--color-bg-sunken)}.matrix th.col-stage,.matrix td.col-stage{box-shadow:1px 0 0 var(--color-border)}.matrix th.col-manage,.matrix td.col-manage{box-shadow:-1px 0 0 var(--color-border)}.matrix tbody td{border-bottom:1px solid var(--color-border)}.matrix th.cap-col{min-width:128px}.matrix th.col-filler,.matrix td.col-filler{width:100%;padding:0}.site-account-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) 200px 72px 34px;align-items:center;display:grid}.site-account-row .btn-sm{justify-content:center;width:34px;height:34px;padding:0}.site-account-add{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;display:flex}.site-account-add .sel{flex:180px}.site-account-add .btn{flex:none}.account-search{flex:260px;min-width:0;position:relative}.account-search-box{align-items:center;display:flex;position:relative}.account-search-box>svg{width:15px;height:15px;color:var(--color-text-tertiary);pointer-events:none;position:absolute;left:10px}.account-search-box .form-input{padding-left:32px}.account-search-list{z-index:20;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-container);max-height:260px;box-shadow:var(--shadow-md);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.account-search-item{text-align:left;width:100%;padding:var(--space-2) var(--space-3);transition:var(--transition);display:block}.account-search-item:hover{background:var(--color-bg-spotlight)}.account-search-empty{padding:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}[data-page=site-list] .table{table-layout:fixed}[data-page=site-list] .cell-title,[data-page=site-list] .cell-sub{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}[data-page=site-manage] .table td{white-space:normal}[data-page=site-manage] .table th{white-space:nowrap}[data-page=site-edit] #site-caps{scroll-margin-top:var(--space-5)}.prof-name{align-items:center;gap:9px;display:flex}.prof-icon{border-radius:var(--radius-md);background:var(--color-bg-spotlight);width:28px;height:28px;color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.prof-icon svg{width:15px;height:15px}.prof-icon.own{background:var(--color-primary-bg-medium);color:var(--color-primary)}.vendor{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.map-mode{font-size:var(--font-size-sm);color:var(--color-text-primary);align-items:center;gap:5px;font-weight:600;display:inline-flex}.map-mode svg{width:13px;height:13px;color:var(--color-text-tertiary)}.map-mode.ad svg{color:var(--color-primary)}.map-mode.err,.map-mode.err svg{color:var(--color-error-text)}.map-mode.und,.map-mode.und svg{color:var(--color-text-tertiary)}.kv-item .map-mode{font-size:var(--font-size-base)}.kv-item .map-mode svg{width:14px;height:14px}.smoothing{color:var(--color-warning-text)}.profile-status-flow{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);color:var(--color-text-tertiary);display:flex}.profile-status-flow .active{color:var(--color-text-primary);font-weight:700}.profile-action-table td{vertical-align:middle}.profile-action-table td:nth-child(2){width:60%}.profile-action-table td:last-child{text-align:right;white-space:nowrap}.profile-action-table .form-hint{display:block}.impact{padding:var(--space-3);border:1px solid var(--color-error-border-soft);background:var(--color-error-bg-soft);border-radius:var(--radius-md);align-items:flex-start;gap:7px;display:flex}.impact svg{width:15px;height:15px;color:var(--color-error-text);flex-shrink:0;margin-top:2px}.impact .txt{font-size:var(--font-size-base);color:var(--color-error-text);line-height:1.6}.route-pick{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.route-opt{padding:var(--space-3);cursor:pointer;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);align-items:flex-start;gap:9px;display:flex}.route-opt:hover{border-color:var(--color-border-strong)}.route-opt:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-bg-medium)}.route-opt input{flex-shrink:0;margin-top:3px}.route-body{flex-direction:column;gap:3px;display:flex}.route-title{align-items:center;gap:6px;font-weight:700;display:inline-flex}.route-title svg{width:14px;height:14px;color:var(--color-primary)}.route-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.manufacturer-kind{border:0;min-width:0;margin:0;padding:0}.sub-head{align-items:center;gap:var(--space-2);padding:0 0 var(--space-3);display:flex}.sub-title{font-weight:700}.sub-count{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-right:auto}.ch-input{font-family:var(--font-mono)}[data-page=profile-channels] .table:has(.ch-input){min-width:860px}[data-page=profile-channels] .table .ch-input{min-width:80px}[data-page=profile-channels] .table td:first-child .sel{min-width:180px}[data-page=profile-channels] .table .cell-stack{margin-top:var(--space-2);gap:var(--space-1)}.ds-unit{color:var(--color-text-tertiary);font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--font-size-sm)}.adapter-note{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.form-hint.danger{color:var(--color-error-text)}.ds-symbol{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.meta-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-container);margin-bottom:var(--space-4);overflow:hidden}.meta-head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-sunken);display:flex}.meta-name{font-weight:700}.meta-mono{font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.kind{letter-spacing:.03em;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:2px 7px;font-size:10px;font-weight:700}.kind.seed{color:var(--color-text-secondary);background:var(--color-bg-sunken);border:1px solid var(--color-border)}.kind.user{color:var(--color-warning-text);background:var(--color-warning-bg)}.meta-body{padding:var(--space-4) var(--space-4) var(--space-4)}.chips{flex-wrap:wrap;gap:10px 8px;display:flex}.chip-val{font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-sunken);align-items:center;gap:5px;padding:6px 12px;display:inline-flex}.chip-val code{font-family:var(--font-mono,ui-monospace, monospace);color:var(--color-text-tertiary);font-size:.86em}.chip-val.locked svg{width:11px;height:11px;color:var(--color-text-disabled)}button.chip-val{cursor:pointer}button.chip-val:hover{border-color:var(--color-primary);color:var(--color-primary)}button.chip-val:hover code{color:var(--color-primary)}.chip-val.chip-more{color:var(--color-text-tertiary);border-style:dashed}.chip-val.off{opacity:.55;border-style:dashed}.chip-off{letter-spacing:.03em;color:var(--color-text-disabled);border-left:1px solid var(--color-border);margin-left:1px;padding-left:6px;font-size:10px;font-weight:700}.meta-foot{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-tertiary);display:flex}.meta-foot .btn{margin-left:auto}.modal-hint{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-sunken);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;display:flex}.modal-hint svg{flex-shrink:0;width:15px;height:15px;margin-top:2px}.meta-search{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.code-check{margin-top:var(--space-2);font-size:var(--font-size-sm);align-items:center;gap:6px;display:flex}.code-check svg{flex-shrink:0;width:14px;height:14px}.code-check.ok{color:var(--color-success-text)}.code-check.taken{color:var(--color-error-hover)}#modal-mfr-delete,#modal-meta-delete{z-index:81}.sm-page{max-width:none}.sm-summary .panel-body{gap:var(--space-4);flex-direction:column;display:flex}.sm-checks{margin:0}.sm-layout{gap:var(--space-5);margin-top:var(--space-4);grid-template-columns:minmax(460px,1fr) minmax(420px,1.1fr);align-items:start;display:grid}.sm-main{min-width:0}.sm-main .panel+.panel{margin-top:var(--space-4)}.sm-side{min-width:0;top:var(--space-4);position:sticky}@media (width<=1180px){.sm-layout{grid-template-columns:1fr}.sm-side{position:static}}.sm-step-no{width:22px;height:22px;margin-right:var(--space-1);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-size-sm);vertical-align:-3px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.sm-preview{min-width:0}.sm-preview-body{padding:var(--space-3);background:var(--color-bg-sunken)}.sm-preview-body .bm-svg{min-height:240px}.sm-view{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);flex:1;display:inline-flex}.sm-view>span{white-space:nowrap;flex-shrink:0}.sm-view .sel{width:100%;min-width:0;max-width:260px}.sm-preview>.panel-head{flex-wrap:wrap}.sm-preview .panel-head-actions{flex-wrap:nowrap;min-width:0;max-width:100%}.sm-preview .panel-head-actions>.btn{white-space:nowrap;flex-shrink:0}.sm-legend{font-size:var(--font-size-xs);color:var(--color-text-secondary);justify-content:flex-start;gap:var(--space-4);flex-wrap:wrap}.sm-modal-wide{width:96vw;max-width:min(96vw,1600px)}.sm-modal-wide .modal-head{padding-bottom:var(--space-3)}.sm-modal-close{margin-left:auto}.sm-modal-body{padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-bg-sunken);max-height:82vh;overflow:auto}.sm-modal-body .bm-svg{width:100%;height:auto}.sm-tree{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sm-tree-top{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-container)}.sm-tree-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.sm-tree-no{font-family:var(--font-mono);font-size:var(--font-size-sm);border-radius:var(--radius-sm);background:var(--color-primary-bg-soft);min-width:2.6em;color:var(--color-primary);text-align:center;padding:2px 8px;font-weight:700}.sm-tree-name{flex:1;min-width:0;font-weight:600}.sm-tree-meta{font-size:var(--font-size-sm);color:var(--color-text-tertiary);white-space:nowrap}.sm-tree-row .row-actions{gap:var(--space-1)}.sm-tree-hint{margin:0 var(--space-4) var(--space-3);align-items:center}.sm-tree-hint .btn{margin-left:var(--space-2)}.sm-tree-subs{padding:0 0 var(--space-2) var(--space-6);margin:0;list-style:none}.sm-tree-sub .sm-tree-row{padding:var(--space-2) var(--space-4);border-top:1px dashed var(--color-border)}.sm-tree-sub .sm-tree-no{background:var(--color-bg-sunken);color:var(--color-text-secondary)}.sm-inline-form{gap:var(--space-3);padding:var(--space-4);margin:var(--space-2) var(--space-4) var(--space-3);border:1px solid var(--color-primary-subtle);border-radius:var(--radius-md);background:var(--color-primary-bg-faintest);flex-direction:column;display:flex}.sm-tree>.sm-inline-form,.panel-body>.sm-inline-form{margin:0}.sm-inline-title{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.sm-inline-fields{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.sm-w-no{width:6rem}.sm-grow{flex:1;min-width:200px}.sm-inline-actions{gap:var(--space-2);align-self:flex-end;padding-bottom:1px;display:flex}.sm-routes tr.editing td{background:var(--color-primary-bg-faintest)}.sm-panel-error{padding:var(--space-3) var(--space-5)}.sm-editor{gap:var(--space-4);padding:var(--space-5);border-top:1px solid var(--color-border);background:var(--color-primary-bg-faintest);flex-direction:column;display:flex}.sm-editor-title{font-weight:700;font-size:var(--font-size-md)}.sm-editor-actions{gap:var(--space-2);display:flex}.sm-form-error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-error-bg-soft)}.sm-kinds{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.sm-kinds legend{margin-bottom:var(--space-1);padding:0}.sm-kind-list{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.sm-kind{align-items:stretch;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;transition:var(--transition);flex-direction:column;display:flex}.sm-kind:hover{border-color:var(--color-border-strong)}.sm-kind.active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-bg-medium)}.sm-kind.disabled,.sm-kind:disabled{cursor:not-allowed;opacity:.55}.sm-kind:focus-visible{box-shadow:var(--focus-ring);outline:none}.sm-kind-art{border-radius:var(--radius-sm);background:#0f1416;width:100%;height:72px;display:block}.sm-kind-name{font-weight:700;font-size:var(--font-size-sm);align-items:center;gap:var(--space-2);display:flex}.sm-kind-desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:var(--line-height-base)}.sm-derived{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr))}.sm-derived .v{font-size:var(--font-size-base)}.sm-advanced{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated)}.sm-advanced>summary{cursor:pointer;padding:var(--space-3) var(--space-4);font-weight:600;font-size:var(--font-size-sm);align-items:center;gap:var(--space-2);list-style:none;display:flex}.sm-advanced>summary::-webkit-details-marker{display:none}.sm-advanced>summary svg{width:16px;height:16px;transition:var(--transition)}.sm-advanced[open]>summary svg{transform:rotate(180deg)}.sm-advanced>.form-grid{padding:0 var(--space-4) var(--space-4)}.sm-legend-glyph{vertical-align:-6px;background:#0f1416;border-radius:3px;width:34px;height:22px;margin-right:4px}.sm-rel-warn{margin-left:var(--space-2);color:var(--color-warning-text);font-size:var(--font-size-xs);align-items:center;gap:4px;display:inline-flex}.sm-rel-warn svg{width:12px;height:12px}.sm-rel-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sm-rel{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-container);display:flex}.sm-rel-text{min-width:0;font-size:var(--font-size-sm);flex:1}.sm-rel-form{margin-top:var(--space-3)}.sm-rel-kinds{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=900px){.sm-rel-kinds{grid-template-columns:1fr}}.sm-rel-suggest{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-border)}.sm-rel-suggest-head{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.sm-rel-pending{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);display:flex}.sm-rel-kind{column-gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);cursor:pointer;font-size:var(--font-size-sm);grid-template-rows:auto auto;grid-template-columns:auto 1fr;display:grid}.sm-rel-kind.active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-bg-medium)}.sm-rel-kind input{grid-row:1/span 2;align-self:center;margin:0}.sm-rel-kind b{font-weight:700}.sm-rel-kind span{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.pl-layout{gap:var(--space-5);margin-top:var(--space-4);grid-template-columns:minmax(360px,.9fr) minmax(480px,1.4fr);align-items:start;display:grid}@media (width<=1180px){.pl-layout{grid-template-columns:1fr}}.pl-layout>.panel+.panel{margin-top:0}.pl-main,.pl-side{min-width:0}.pl-toolbar{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.pl-toolbar .form-input{flex:100%}.pl-toolbar .sel{flex:1 1 0;width:auto;min-width:0}.pl-devices{max-height:620px;margin:0;padding:0;list-style:none;overflow-y:auto}.pl-device{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--color-border);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;display:flex}.pl-device:hover{background:var(--color-bg-spotlight)}.pl-device:focus-visible{box-shadow:var(--focus-ring);outline:none}.pl-device.is-selected{background:var(--color-primary-bg-faint);box-shadow:inset 3px 0 0 var(--color-primary)}.pl-device .cell-stack{flex:1;min-width:0}.pl-where{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;font-family:var(--font-mono)}.pl-where.pl-none{color:var(--color-text-tertiary);font-family:inherit}.pl-axis-head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.pl-axis-head .sel{width:auto;min-width:220px}.pl-axis-head .form-hint{margin-left:auto}.pl-canvas{padding:var(--space-3) var(--space-4) 0}.pl-axis{width:100%;height:auto;display:block}.pl-axis.can-pick{cursor:crosshair}.pl-axis .hit{fill:#0000}.pl-axis .tick-g,.pl-axis .lead-g,.pl-axis .mark-g,.pl-axis .candidate-g{pointer-events:none}.pl-axis .mark-g.selected .mark-label{font-weight:700}.pl-axis .rail{stroke:var(--color-border-strong);stroke-width:6px;stroke-linecap:round}.pl-axis .tick{stroke:var(--color-border);stroke-width:1.5px}.pl-axis .tick-label{fill:var(--color-text-tertiary);font-size:15px;font-family:var(--font-mono)}.pl-axis .lead{stroke:var(--color-warning-fill);stroke-width:2px;stroke-dasharray:4 3}.pl-axis .lead-label{fill:var(--color-warning-text);font-size:16px;font-weight:600}.pl-axis .mark{fill:var(--color-success-fill);stroke:var(--color-bg-elevated);stroke-width:2px}.pl-axis .mark.selected{fill:var(--color-primary)}.pl-axis .mark-label{fill:var(--color-text-secondary);font-size:16px}.pl-axis .mark-label.selected{fill:var(--color-text-primary);font-weight:700}.pl-axis .candidate{fill:none;stroke:var(--color-primary);stroke-width:2.5px;stroke-dasharray:4 3}.pl-axis .candidate-label{fill:var(--color-primary);font-size:17px;font-weight:700}.pl-form{padding:var(--space-4);border-top:1px solid var(--color-border);gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.pl-form .form-group{grid-column:1/-1}.pl-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;grid-column:1/-1;display:flex}.pl-actions .hint-row{margin:0}.pl-map-frame{position:relative}.pl-map{background:var(--color-bg-sunken);width:100%;height:420px}.pl-map.can-pick{cursor:crosshair}.pl-map-label{padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.pl-map-label.is-selected{border-color:var(--color-primary);color:var(--color-text-primary);font-weight:700}.pl-geo-inputs{gap:var(--space-2);display:flex}.pl-geo-inputs .form-input{flex:1 1 0;min-width:0}.spark{align-items:flex-end;gap:1px;height:22px;display:flex}.spark i{background:var(--color-success-fill);border-radius:1px;width:4px;font-style:normal;display:block}.spark i.miss{background:var(--color-overlay-medium)}.spark i.warn{background:var(--color-warning-fill)}.spark i.err{background:var(--color-error-fill)}.spark.lg{gap:2px;height:56px}.spark.lg i{border-radius:2px;flex:1 1 0;width:auto;min-width:2px}.spark-frame{display:block}.spark-axis{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-tertiary);justify-content:space-between;display:flex}.legend{gap:var(--space-4);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.legend span{font-size:var(--font-size-sm);color:var(--color-text-secondary);align-items:center;gap:6px;display:inline-flex}.sw{background:var(--color-success-fill);border-radius:2px;width:10px;height:10px}.sw.warn{background:var(--color-warning-fill)}.sw.err{background:var(--color-error-fill)}.sw.miss{background:var(--color-overlay-medium)}.pct{font-family:var(--font-mono);font-size:var(--font-size-sm)}.pct.ok{color:var(--color-success-text)}.pct.warn{color:var(--color-warning-text)}.pct.bad{color:var(--color-error-text)}.raw{background:var(--color-bg-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:pre;margin:0;line-height:1.7;overflow-x:auto}.table .raw{white-space:pre-wrap;word-break:break-all}.copy-field.pending{border-style:dashed}.copy-field.pending code{color:var(--color-text-disabled);font-family:var(--font-family)}.key-note{margin-top:var(--space-3);align-items:flex-start;gap:7px;display:flex}.key-note svg{width:14px;height:14px;color:var(--color-text-tertiary);flex-shrink:0;margin-top:2px}.key-sample{font-family:var(--font-mono);color:var(--color-text-secondary);word-break:break-all}.copy-field.locked{border-style:dashed}.copy-field.locked code{color:var(--color-text-secondary)}.action-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.action-row .copy-field,.action-row .action-text{flex:1;min-width:240px}.action-text .action-desc{margin-bottom:0}.action-text .action-state{align-items:center;gap:var(--space-2);margin-bottom:6px;display:flex}.action-state .k{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.url-echo{margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-tertiary);word-break:break-all;padding-right:26px}.url-echo .k{font-family:var(--font-family)}.section-icon.danger{background:var(--color-error-bg);color:var(--color-error-text)}.profile-summary{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-sunken);flex-direction:column;margin-top:6px;display:flex}.profile-summary .table-wrap{margin:0 calc(-1 * var(--space-4))}#fg-profile-channels .profile-summary:has(.table-wrap){padding-bottom:0;overflow:hidden}.device-name{align-items:center;gap:9px;display:flex}.device-icon{border-radius:var(--radius-md);background:var(--color-bg-spotlight);width:28px;height:28px;color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.device-icon svg{width:15px;height:15px}.device-icon.gas{background:var(--color-primary-bg-medium);color:var(--color-primary)}.device-icon.ble{background:var(--color-info-bg);color:var(--color-info-text)}.device-icon.env{background:var(--color-success-bg);color:var(--color-success-text)}.last-seen.ok{color:var(--color-text-secondary)}.last-seen.stale{color:var(--color-warning-text)}.last-seen.off{color:var(--color-text-disabled)}.title-row{align-items:center;gap:var(--space-3);display:flex}.kv+.kv{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.kv-item .v.mono{font-family:var(--font-mono);font-size:var(--font-size-base)}.ch-unit{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.ch-value{font-family:var(--font-mono);font-size:var(--font-size-md);text-align:right;font-weight:700}.band-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.band-chip{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);white-space:nowrap;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.row-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.edge-list{gap:var(--space-2);margin:var(--space-3) 0;flex-direction:column;display:flex}.edge-row{gap:var(--space-2);grid-template-columns:110px 1fr 130px 36px;align-items:center;display:grid}.edge-text{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.check-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.threshold-name{color:var(--color-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.pg-tabs{border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4);gap:2px;display:flex}.pg-tabs button{padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:2px solid #0000}.pg-tabs button.on{color:var(--color-text-primary);border-bottom-color:var(--color-primary);font-weight:600}.pg-bar{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.pg-bar label{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:inline-flex}.pg-bar input[type=date],.pg-bar select{font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-container);color:var(--color-text-primary);padding:4px 8px}.pg-hint{font-size:var(--font-size-sm)}.pg-save{margin-left:auto}.pg-toggle{border:1px solid var(--color-primary);border-radius:999px;display:inline-flex;overflow:hidden}.pg-toggle button{font:inherit;font-size:var(--font-size-sm);color:var(--color-primary);cursor:pointer;background:0 0;border:0;padding:3px 12px}.pg-toggle button.on{background:var(--color-primary);color:var(--color-on-primary)}.pg-table th.num,.pg-table td.num,.pg-history th.num,.pg-history td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pg-input{text-align:right;width:96px;font:inherit;font-variant-numeric:tabular-nums;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-container);color:var(--color-text-primary);padding:4px 8px}.pg-input:focus{outline:2px solid var(--color-primary-light);border-color:var(--color-primary)}.pg-input.is-error{border-color:var(--color-error-fill)}.pg-input[readonly]{background:var(--color-bg-sunken);color:var(--color-text-tertiary)}.pg-state{font-size:var(--font-size-xs);font-weight:600}.pg-state-unchanged{color:var(--color-text-tertiary);font-weight:400}.pg-state-new{color:var(--color-success-text)}.pg-state-correction{color:var(--color-info-text)}.pg-state-error{color:var(--color-error-text)}.pg-add-channel{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-top:1px dashed var(--color-border);flex-wrap:wrap;display:flex}.pg-add-channel svg{width:14px;height:14px}.pg-add-channel select{font:inherit;font-size:var(--font-size-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-container);color:var(--color-text-primary);padding:3px 8px}.pg-inactive td{opacity:.55}.pg-check input{margin-right:4px}.pg-note{align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.pg-note input{font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);flex:1;padding:4px 8px}.pg-preview-note{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);display:flex}.pg-preview-note svg{width:14px;height:14px}.notice{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.notice-success{background:var(--color-success-bg);color:var(--color-success-text)}.notice-error{background:var(--color-error-bg);color:var(--color-error-text)}@media (width<=720px){.pg-table thead{display:none}.pg-table tr{gap:2px var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}.pg-table td{justify-content:space-between;gap:var(--space-2);border:0;padding:2px 0;display:flex}.pg-table td:before{content:attr(data-label);color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.pg-table td:first-child,.pg-table td[data-label=상태],.pg-table td[data-label=진행]{grid-column:1/-1}.pg-card .pg-table tbody tr+tr td{border-top:0}.pg-table td:first-child:before{content:none}.pg-cards{padding:var(--space-3)}.pg-card-stats{gap:var(--space-3)}.pg-save{justify-content:center;width:100%;margin-left:0}}.pg-page{min-width:0}.pg-bar{gap:var(--space-3) var(--space-5)}.pg-bar-group{align-items:center;gap:var(--space-2) var(--space-3);padding-right:var(--space-5);border-right:1px solid var(--color-border);flex-wrap:wrap;display:inline-flex}.pg-bar-group:last-of-type{border-right:0}.pg-search{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-container);align-items:center;gap:6px;padding:0 8px;display:inline-flex}.pg-search svg{width:14px;height:14px;color:var(--color-text-tertiary)}.pg-search input{color:var(--color-text-primary);font:inherit;background:0 0;border:0;width:140px;padding:4px 0}.pg-search input:focus{outline:none}.pg-chip{border:1px dashed var(--color-border-strong);background:var(--color-bg-container);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:3px 10px 3px 8px;display:inline-flex}.pg-chip svg{width:12px;height:12px}.pg-chip:hover{border-style:solid;border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-subtle)}.pg-presets{flex-wrap:wrap;gap:4px;display:inline-flex}.pg-filter-empty{padding:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.pg-summary{gap:var(--space-4) var(--space-6);padding:var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-sunken);grid-template-columns:auto 1fr;display:grid}.pg-kpi{gap:var(--space-2);grid-template-columns:repeat(2,minmax(120px,auto));align-content:start;display:grid}.pg-kpi>div{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-container);border:1px solid var(--color-border);flex-direction:column;display:flex}.pg-kpi b{font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;font-weight:600}.pg-kpi span{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.pg-kpi>div.is-on{border-color:var(--color-primary)}.pg-kpi>div.is-on b{color:var(--color-primary)}.pg-kpi>div.is-err{border-color:var(--color-error-fill)}.pg-kpi>div.is-err b{color:var(--color-error-text)}.pg-guide{padding:0 0 0 var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-direction:column;gap:4px;max-width:760px;margin:0;display:flex}.pg-guide li::marker{color:var(--color-primary)}.pg-guide b{color:var(--color-text-primary);font-weight:600}.pg-guide-legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin:0 2px 0 6px;display:inline-block}.pg-guide-legend i.base{background:var(--color-success-fill)}.pg-guide-legend i.delta{background:var(--color-primary)}.pg-guide-legend i.minus{background:var(--color-warning-fill)}.pg-guide-warn{color:var(--color-warning-text)}@media (width<=900px){.pg-summary{grid-template-columns:1fr}}.pg-cards{gap:var(--space-4);padding:var(--space-4);flex-direction:column;display:flex}.pg-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-container);overflow:hidden}.pg-card.is-changed{border-color:var(--color-primary)}.pg-card.is-error{border-color:var(--color-error-fill)}.pg-card-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-bg-sunken);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.pg-card-title{align-items:center;gap:var(--space-2);font-size:var(--font-size-md);display:inline-flex}.pg-card-title svg{width:16px;height:16px;color:var(--color-primary)}.pg-card-title b{color:var(--color-text-primary);font-weight:700}.pg-card-sec{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.pg-card-flag{font-size:var(--font-size-xs);border-radius:999px;padding:1px 8px;font-weight:600}.pg-card-flag.on{background:var(--color-primary-subtle);color:var(--color-primary)}.pg-card-flag.err{background:var(--color-error-bg);color:var(--color-error-text)}.pg-card-stats{gap:var(--space-5);margin:0;display:flex}.pg-card-stats div{flex-direction:column;align-items:flex-end;display:flex}.pg-card-stats dt{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.pg-card-stats dd{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.pg-card .pg-table{table-layout:fixed;width:100%}.pg-col-ch{width:120px}.pg-col-prev{width:150px}.pg-col-in{width:140px}.pg-col-res{width:150px}.pg-col-st{width:220px}.pg-card .pg-table th:first-child,.pg-card .pg-table td:first-child{text-align:left}@media (width<=720px){.pg-card .pg-table{table-layout:auto}.pg-card .pg-table colgroup{display:none}}.pg-card .pg-table th{font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding:var(--space-2) var(--space-4);font-weight:500}.pg-card .pg-table td{padding:var(--space-3) var(--space-4);vertical-align:middle}.pg-card .pg-table tbody tr+tr td{border-top:1px solid var(--color-border)}.pg-th-input{width:140px}.pg-sub{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:400;display:block}.pg-card-foot{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-top:1px dashed var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.pg-card-foot-label{margin-right:var(--space-2);align-items:center;gap:4px;font-weight:600;display:inline-flex}.pg-card-foot-label svg{width:12px;height:12px}.pg-input.is-changed{border-color:var(--color-primary);background:var(--color-primary-subtle)}.pg-note-input{width:160px;font:inherit;font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-container);color:var(--color-text-primary);margin-top:4px;padding:3px 8px;display:block}.pg-th-bar,.pg-td-bar{min-width:200px}.pgb{align-items:center;gap:var(--space-2);display:flex}.pgb-track{background:var(--color-bg-sunken);border-radius:3px;flex:1;height:12px;position:relative;overflow:hidden}.pgb.is-error .pgb-track{outline:2px solid var(--color-error-fill)}.pgb-fill{position:absolute;top:0;bottom:0;left:0}.pgb-fill.base{background:var(--color-success-fill)}.pgb-fill.delta{background:var(--color-primary)}.pgb-fill.minus{background:var(--color-warning-fill)}.pgb-pct{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);text-align:right;min-width:48px}.pg-history-sum{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.pg-history-sum b{color:var(--color-text-primary)}.pgh-chart{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.pgh-head{gap:var(--space-3);margin-bottom:var(--space-2);align-items:flex-start;display:flex}.pgh-svg{width:100%;height:auto;display:block}.pgh-legend{margin:var(--space-2) 0 0;gap:4px var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-wrap:wrap;padding:0;list-style:none;display:flex}.pgh-legend li{align-items:center;gap:6px;display:inline-flex}.pgh-swatch{border-radius:999px;width:10px;height:10px;display:inline-block}.pgh-ghost{opacity:.85}#root{display:contents}input:is([type=checkbox],[type=radio]):not(.switch input){appearance:none;vertical-align:middle;border:1px solid var(--color-border-strong);background:var(--color-bg-sunken);width:16px;height:16px;color:var(--color-on-primary);cursor:pointer;border-radius:3px;flex-shrink:0;place-content:center;margin:0;display:inline-grid}input[type=radio]:not(.switch input){border-radius:50%}input:is([type=checkbox],[type=radio]):not(.switch input):hover:not(:disabled){border-color:var(--color-primary)}input:is([type=checkbox],[type=radio]):not(.switch input):is(:checked,:indeterminate){border-color:var(--color-primary);background:var(--color-primary)}input[type=checkbox]:not(.switch input):checked:after{content:"";border:2px solid;border-width:0 2px 2px 0;width:4px;height:8px;transform:translateY(-1px)rotate(45deg)}input[type=checkbox]:not(.switch input):indeterminate:after{content:"";background:currentColor;border:0;width:8px;height:2px;transform:none}input[type=radio]:checked:after{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}input:is([type=checkbox],[type=radio]):not(.switch input):disabled{opacity:.45;cursor:not-allowed}
