.auth-root{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;overflow:auto;background:radial-gradient(1100px 600px at 12% -10%,hsl(185 70% 32% / .55),transparent 60%),radial-gradient(900px 700px at 110% 10%,hsl(195 80% 26% / .6),transparent 55%),radial-gradient(800px 800px at 50% 120%,hsl(170 60% 30% / .45),transparent 60%),linear-gradient(160deg,#091d25,#0f2833);color:hsl(var(--foreground))}.auth-root:before{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:radial-gradient(closest-side,hsl(185 80% 45% / .16),transparent);filter:blur(40px);animation:auth-drift 22s ease-in-out infinite alternate;pointer-events:none}@keyframes auth-drift{0%{transform:translate3d(-8%,-6%,0) scale(1)}to{transform:translate3d(10%,8%,0) scale(1.15)}}@media (prefers-reduced-motion: reduce){.auth-root:before{animation:none}.auth-card{animation:none}}.auth-stack{position:relative;width:min(412px,100%);display:flex;flex-direction:column;align-items:center}.auth-logo{height:38px;width:auto;margin-bottom:26px;filter:drop-shadow(0 4px 14px hsl(195 60% 6% / .5))}.auth-card{width:100%;background:hsl(var(--card) / .98);border:1px solid hsl(0 0% 100% / .6);border-radius:18px;padding:30px 30px 26px;box-shadow:0 1px #ffffffb3 inset,0 24px 60px #06141873,0 4px 14px #06141840;animation:auth-in .45s cubic-bezier(.16,1,.3,1) both}@keyframes auth-in{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}.auth-title{margin:0;font-size:21px;font-weight:660;letter-spacing:-.01em;color:hsl(var(--foreground))}.auth-sub{margin:6px 0 22px;font-size:13.5px;color:hsl(var(--muted-foreground));line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:15px}.auth-field{display:flex;flex-direction:column;gap:7px}.auth-field>label{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.auth-input-wrap{position:relative;display:flex}.auth-input{width:100%;padding:11px 13px;font-size:14.5px;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:10px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.auth-input::placeholder{color:hsl(var(--muted-foreground) / .7)}.auth-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .18);background:hsl(var(--card))}.auth-input[readonly]{background:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground))}.auth-input.has-toggle{padding-right:64px}.auth-reveal{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:6px 8px;border-radius:7px;cursor:pointer}.auth-reveal:hover{color:hsl(var(--foreground));background:hsl(var(--muted))}.auth-btn{margin-top:6px;width:100%;padding:12px 16px;font-size:15px;font-weight:620;color:hsl(var(--primary-foreground));background:linear-gradient(135deg,#1a4f61,#227077);border:none;border-radius:11px;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease,filter .2s ease;box-shadow:0 8px 20px #0e2e3959}.auth-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{opacity:.65;cursor:default}.auth-error{margin:0;padding:10px 12px;font-size:13px;color:hsl(var(--destructive));background:hsl(var(--destructive) / .08);border:1px solid hsl(var(--destructive) / .25);border-radius:9px}.auth-foot{margin-top:18px;text-align:center;font-size:12.5px;color:#afcfcf}.auth-badge{display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;padding:5px 12px 5px 8px;font-size:12px;font-weight:600;color:#c6edf1;background:#ffffff14;border:1px solid hsl(0 0% 100% / .14);border-radius:999px}.auth-badge .dot{width:7px;height:7px;border-radius:50%;background:#3cdd9a;box-shadow:0 0 0 3px #3cdd9a40}.auth-splash{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:linear-gradient(160deg,#091d25,#0f2833)}.auth-spinner{width:30px;height:30px;border-radius:50%;border:3px solid hsl(0 0% 100% / .18);border-top-color:#3ccfdd;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-invalid{text-align:center}.auth-invalid h2{margin:0 0 8px;font-size:18px}.user-chip{display:flex;align-items:center;gap:10px;margin:10px 4px 6px;padding:8px 10px;border-radius:12px;background:hsl(var(--sidebar-accent) / .45);border:1px solid hsl(var(--sidebar-border))}.user-avatar{flex:0 0 auto;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:700;color:hsl(var(--primary-foreground));background:linear-gradient(135deg,#2e959e,#206379)}.user-meta{display:flex;flex-direction:column;min-width:0;flex:1}.user-name{font-size:12.5px;font-weight:600;color:hsl(var(--sidebar-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:11px;color:hsl(var(--sidebar-muted));text-transform:capitalize}.user-logout{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:hsl(var(--sidebar-muted));cursor:pointer;transition:background .15s,color .15s}.user-logout:hover{background:hsl(var(--sidebar-border));color:hsl(var(--sidebar-foreground))}.dc-page{display:flex;flex-direction:column;gap:14px}.dc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.dc-subtitle{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;max-width:620px}.dc-stats{display:flex;gap:10px}.dc-stat{min-width:64px;text-align:center;padding:6px 12px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));box-shadow:var(--shadow-sm)}.dc-stat-num{font-size:20px;font-weight:700;line-height:1.1;color:hsl(var(--foreground))}.dc-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin-top:2px}.dc-filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dc-search{display:flex;align-items:center;gap:8px;flex:1 1 280px;min-width:220px}.dc-search input{flex:1;min-width:0}.dc-search .dc-hint{white-space:nowrap}.dc-day-filter{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 4px}.dc-day-filter .dc-chip{display:inline-flex;align-items:center;gap:6px}.dc-day-count{font-size:11px;font-variant-numeric:tabular-nums;background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:999px;padding:0 6px;line-height:16px;min-width:16px;text-align:center}.dc-chip.on .dc-day-count{background:hsl(var(--primary-foreground) / .25);color:inherit}.dc-day-pills{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}.dc-day-pill{font-size:10px;font-weight:600;letter-spacing:.02em;padding:1px 6px;border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.dc-day-pill.on{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.dc-error,.dc-notice{border-radius:var(--radius);padding:9px 12px;font-size:12.5px}.dc-error{border:1px solid hsl(var(--destructive) / .4);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.dc-notice{border:1px solid hsl(var(--accent) / .35);background:hsl(var(--accent) / .08);color:hsl(var(--accent))}.dc-hint{color:hsl(var(--muted-foreground));font-size:12px}.dc-empty{color:hsl(var(--muted-foreground));text-align:center;padding:28px;border:1px dashed hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted) / .25);font-size:12.5px}.dc-list{display:flex;flex-direction:column;gap:8px}.dc-row{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .14s,box-shadow .14s}.dc-row:hover{border-color:hsl(var(--accent) / .35)}.dc-row.open{border-color:hsl(var(--accent) / .5);box-shadow:var(--shadow)}.dc-row-header{display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer}.dc-row-main{flex:1;min-width:0}.dc-row-title{font-weight:600;font-size:13.5px;color:hsl(var(--foreground))}.dc-row-sub{color:hsl(var(--muted-foreground));font-size:12px;margin-top:2px}.dc-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dc-row-amount{font-weight:700;font-size:13.5px;color:hsl(var(--foreground))}.dc-chevron{color:hsl(var(--muted-foreground));display:inline-flex;transition:transform .15s}.dc-row.open .dc-chevron{transform:rotate(90deg)}.dc-row-expand{border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .18);padding:14px;display:flex;flex-direction:column;gap:12px}.dc-edit-fields{display:flex;flex-wrap:wrap;gap:12px}.dc-edit-fields label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:500;color:hsl(var(--muted-foreground))}.dc-edit-actions{display:flex;gap:8px;align-items:center}.dc-pill{display:inline-flex;align-items:center;font-size:10.5px;font-weight:500;padding:2px 8px;border-radius:999px;border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .5);white-space:nowrap}.dc-pill.green{border-color:hsl(var(--success) / .4);background:hsl(var(--success) / .12);color:hsl(var(--success))}.dc-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:5px 11px;border-radius:999px;border:1px solid hsl(var(--border));background:hsl(var(--card));cursor:pointer;color:hsl(var(--foreground));transition:background .12s,border-color .12s,color .12s}.dc-chip:hover{border-color:hsl(var(--accent) / .45);background:hsl(var(--muted) / .5)}.dc-chip.small{font-size:11px;padding:3px 9px}.dc-chip.on{border-color:hsl(var(--accent));background:hsl(var(--accent) / .12);color:hsl(var(--accent));font-weight:500}.dc-chip button{border:none;background:none;cursor:pointer;padding:0 0 0 2px;color:inherit;font-size:13px;line-height:1}.dc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.dc-cats{display:flex;flex-wrap:wrap;gap:6px}.dc-card{border:1px solid hsl(var(--border));border-radius:var(--radius);padding:16px;background:hsl(var(--card));box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px}.dc-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.dc-card-head strong{font-size:13.5px}.dc-card-stats{display:flex;gap:6px;flex-shrink:0}.dc-card-actions{display:flex;gap:8px;align-items:center}.dc-card+.dc-card{margin-top:8px}.dc-drift{font-size:12px;color:hsl(var(--success));display:flex;align-items:center;gap:6px}.dc-drift.on{color:hsl(var(--warning))}.danger{color:hsl(var(--destructive))!important;border-color:hsl(var(--destructive) / .4)!important;background:hsl(var(--card))!important}.danger:hover{background:hsl(var(--destructive) / .1)!important;border-color:hsl(var(--destructive) / .6)!important}.dc-h3{margin:6px 0 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.dc-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12252b73;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dc-modal{background:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border));padding:22px;width:560px;max-width:100%;display:flex;flex-direction:column;gap:13px;box-shadow:var(--shadow),0 24px 60px #12252b40}.dc-modal h2{margin:0;font-size:16px;font-weight:650}.dc-modal>label,.dc-edit-fields>label{font-size:11.5px;font-weight:500}.dc-modal label,.dc-form-inner label{display:flex;flex-direction:column;gap:4px;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:500}.dc-modal .dc-row-inline,.dc-form-inner .dc-row-inline{display:flex;gap:14px;flex-wrap:wrap}.dc-modal .dc-row-inline>label,.dc-form-inner .dc-row-inline>label{flex:1;min-width:150px}.dc-modal fieldset,.dc-card fieldset,.dc-form-inner fieldset{border:1px solid hsl(var(--border));border-radius:var(--radius);padding:14px;margin:0;display:flex;flex-direction:column;gap:10px;background:hsl(var(--muted) / .22)}.dc-modal legend,.dc-card legend,.dc-form-inner legend{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));padding:0 6px}.dc-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.dc-fullmodal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#12252b80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex}.dc-fullmodal{margin:auto;width:100%;height:100%;background:hsl(var(--background));display:flex;flex-direction:column;overflow:hidden}@media (min-width: 900px){.dc-fullmodal{width:min(1080px,95vw);height:min(94vh,100%);border-radius:var(--radius);border:1px solid hsl(var(--border));box-shadow:var(--shadow),0 30px 80px #12252b4d}}.dc-fullmodal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));flex-shrink:0}.dc-fullmodal-head h2{margin:0;font-size:17px;font-weight:650}.dc-fullmodal-head .dc-hint{margin:3px 0 0}.dc-close{border:none;background:transparent;font-size:22px;line-height:1;color:hsl(var(--muted-foreground));padding:4px 9px;border-radius:var(--radius)}.dc-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.dc-fullmodal-body{flex:1;overflow:auto;padding:24px}.dc-form-inner{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.dc-fullmodal-foot{display:flex;justify-content:flex-end;gap:10px;padding:13px 24px;border-top:1px solid hsl(var(--border));background:hsl(var(--card));flex-shrink:0}.dc-coll-list{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:auto;background:hsl(var(--card))}.dc-coll-list .dc-empty{border:none;background:transparent}.dc-checkbox{flex-direction:row!important;align-items:center;gap:6px;color:hsl(var(--foreground))!important;font-size:12.5px!important;font-weight:400!important}.dc-days{display:flex;gap:6px}.dc-day{width:32px;height:32px;border-radius:var(--radius);border:1px solid hsl(var(--border));background:hsl(var(--card));cursor:pointer;font-weight:600}.dc-day.on{background:hsl(var(--accent) / .12);border-color:hsl(var(--accent));color:hsl(var(--accent))}.dc-coll-row{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid hsl(var(--border) / .6);font-size:12.5px;font-weight:400!important;color:hsl(var(--foreground))!important;cursor:pointer}.dc-coll-row:hover{background:hsl(var(--muted) / .4)}.dc-coll-row input[type=checkbox]{flex-shrink:0}.dc-coll-row:last-child{border-bottom:none}.dc-rot2{display:flex;flex-direction:column;gap:10px}.dc-daytabs{display:flex;gap:6px;flex-wrap:wrap}.dc-daytab{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));font-size:12.5px;font-weight:500}.dc-daytab:hover{border-color:hsl(var(--accent) / .45)}.dc-daytab.on{background:hsl(var(--accent) / .12);border-color:hsl(var(--accent));color:hsl(var(--accent))}.dc-daytab-badge{font-size:10.5px;font-weight:600;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.dc-daytab.on .dc-daytab-badge{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.dc-rot2-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dc-rot2-bar strong{font-size:13.5px}.dc-rot2-actions{margin-left:auto;display:flex;gap:8px}.dc-brand-results{display:flex;flex-direction:column;border:1px solid hsl(var(--border));border-radius:var(--radius);margin-top:6px;max-height:180px;overflow:auto;box-shadow:var(--shadow-sm)}.dc-brand-result{text-align:left;border:none;border-radius:0;border-bottom:1px solid hsl(var(--border) / .5);background:hsl(var(--card));padding:8px 11px;cursor:pointer;font-size:12.5px}.dc-brand-result:last-child{border-bottom:none}.dc-brand-result:hover{background:hsl(var(--muted) / .6)}.dc-fp{display:flex;flex-direction:column;gap:13px}.dc-dim{display:flex;flex-direction:column;gap:5px}.dc-dim>label.dc-hint{font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:10.5px}.dc-chip-input{width:64px;font-size:11px;padding:3px 9px;border-radius:999px!important;border:1px dashed hsl(var(--border))!important}.dc-name{font-size:15px;font-weight:600;padding:9px 12px}.dc-webhook{margin-top:4px;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.dc-webhook-head{width:100%;display:flex;justify-content:space-between;align-items:center;border:none;border-radius:0;background:hsl(var(--muted) / .35);padding:10px 14px;cursor:pointer;font-size:12.5px;font-weight:500}.dc-webhook-head:hover{background:hsl(var(--muted) / .6)}.dc-webhook-table{width:100%;border-collapse:collapse;font-size:12px}.dc-webhook-table th{text-align:left;padding:8px 12px;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .2)}.dc-webhook-table td{text-align:left;padding:8px 12px;border-top:1px solid hsl(var(--border) / .6)}.dc-ev{font-size:10.5px;font-weight:500;padding:2px 8px;border-radius:999px;background:hsl(var(--muted) / .6);color:hsl(var(--muted-foreground))}.dc-ev.ev-synced{background:hsl(var(--success) / .15);color:hsl(var(--success))}.dc-ev.ev-warn{background:hsl(var(--warning) / .18);color:hsl(var(--warning))}.dc-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:hsl(var(--muted-foreground))}.dc-seg{display:inline-flex;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}.dc-seg button{border:none;border-radius:0;background:hsl(var(--card));padding:6px 13px;font-size:12px}.dc-seg button+button{border-left:1px solid hsl(var(--border))}.dc-seg button.on{background:hsl(var(--accent) / .12);color:hsl(var(--accent));font-weight:500}.dc-curate-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.dc-is-removed{opacity:.55}.dc-spin-row{display:flex;gap:8px;align-items:center;font-size:12.5px;flex-wrap:wrap}:root{--background: 240 14% 98%;--foreground: 195 50% 12%;--card: 0 0% 100%;--card-foreground: 195 50% 12%;--muted: 170 18% 93%;--muted-foreground: 260 6% 45%;--border: 172 16% 85%;--input: 172 16% 85%;--primary: 195 58% 22%;--primary-foreground: 170 30% 96%;--accent: 185 55% 28%;--accent-foreground: 170 30% 96%;--secondary: 200 24% 91%;--secondary-foreground: 195 72% 16%;--success: 188 58% 37%;--warning: 36 74% 31%;--destructive: 325 58% 45%;--ring: 195 72% 30%;--sidebar: 195 72% 16%;--sidebar-foreground: 190 20% 90%;--sidebar-muted: 195 25% 62%;--sidebar-accent: 195 55% 26%;--sidebar-border: 195 45% 24%;--radius: .45rem;--shadow-sm: 0 1px 2px hsl(195 40% 12% / .05);--shadow: 0 1px 2px hsl(195 40% 12% / .04), 0 4px 14px hsl(195 40% 12% / .05);color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:13px;color:hsl(var(--foreground));background:hsl(var(--background));-webkit-font-smoothing:antialiased}button{font:inherit;font-weight:500;cursor:pointer;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));padding:5px 10px;border-radius:calc(var(--radius) - 2px);transition:background .14s,border-color .14s,color .14s,box-shadow .14s,opacity .14s}button:hover{background:hsl(var(--muted));border-color:hsl(var(--accent) / .4)}button:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .35)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:var(--shadow-sm)}button.primary:hover{background:hsl(var(--accent));border-color:hsl(var(--accent))}button.ghost{border-color:transparent;background:transparent;color:hsl(var(--accent))}button.ghost:hover{background:hsl(var(--accent) / .1)}input,select{font:inherit;padding:5px 9px;border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);background:hsl(var(--card));color:hsl(var(--foreground));transition:border-color .14s,box-shadow .14s}input::placeholder{color:hsl(var(--muted-foreground) / .8)}input:focus,select:focus{outline:none;border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--ring) / .18)}input[type=checkbox]{width:15px;height:15px;accent-color:hsl(var(--accent))}.app{display:grid;grid-template-columns:188px 1fr;height:100vh;overflow:hidden}.sidebar{background:hsl(var(--sidebar));color:hsl(var(--sidebar-foreground));padding:10px 8px;display:flex;flex-direction:column;gap:2px;border-right:1px solid hsl(var(--sidebar-border))}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 8px 8px;margin-bottom:2px;overflow:visible}.top-tag{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:60;font-size:9px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:#fff;background:hsl(var(--primary));border:1px solid hsl(var(--sidebar-border));border-top:none;border-radius:0 0 9px 9px;padding:3px 11px;box-shadow:var(--shadow);white-space:nowrap;pointer-events:none}.brand-logo{display:block;height:26px;width:auto;max-width:100%;object-fit:contain}.sidebar h1{font-size:13px;font-weight:650;color:#fff;margin:0;letter-spacing:.2px;line-height:1.1}.sidebar .sub{font-size:11px;color:hsl(var(--sidebar-muted));margin:1px 0 0;letter-spacing:.2px}.nav-group{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:hsl(var(--sidebar-muted));padding:10px 10px 4px}.nav-item{display:flex;align-items:center;gap:9px;text-align:left;width:100%;border:none;background:transparent;color:hsl(var(--sidebar-foreground));padding:6px 10px;border-radius:calc(var(--radius) - 2px);font-weight:500}.nav-item:hover{background:hsl(var(--sidebar-accent));border-color:transparent;color:#fff}.nav-item.active{background:hsl(var(--accent));color:#fff;box-shadow:var(--shadow-sm)}.nav-item .nav-icon{display:grid;place-items:center;width:18px;height:18px;flex:none;opacity:.7}.nav-item .nav-icon svg{width:18px;height:18px}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{opacity:1}.sidebar .spacer{flex:1}.sidebar .env-pill{font-size:10px;line-height:1.55;color:hsl(var(--sidebar-muted));background:#ffffff0d;border:1px solid hsl(var(--sidebar-border));border-radius:calc(var(--radius) - 2px);padding:7px 10px}.sidebar .env-pill b{color:#fff;font-weight:600}.env-switch{display:flex;gap:3px;margin:2px 8px 8px;padding:3px;background:#ffffff0f;border:1px solid hsl(var(--sidebar-border));border-radius:var(--radius)}.env-switch-btn{flex:1;border:none;background:transparent;color:hsl(var(--sidebar-muted));font-size:11px;font-weight:600;padding:5px 6px;border-radius:calc(var(--radius) - 3px)}.env-switch-btn:hover{background:hsl(var(--sidebar-accent));color:#fff}.env-switch-btn.active{background:hsl(var(--accent));color:#fff}.env-switch.env-prod .env-switch-btn.active{background:hsl(var(--warning))}.main{height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:8px 14px 0}.pane{flex:1;min-height:0;overflow:auto;padding-bottom:24px}.pane-flush{overflow:hidden;padding-bottom:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:10px;flex:none}.topbar h2{margin:0;font-size:14px;font-weight:650;letter-spacing:-.2px}.topbar .actions{display:flex;gap:8px;align-items:center}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-bottom:12px}.card{position:relative;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:9px 12px;box-shadow:var(--shadow);overflow:hidden}.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:hsl(var(--accent));opacity:.85}.card .num{font-size:18px;font-weight:680;letter-spacing:-.4px;color:hsl(var(--foreground))}.card .label{font-size:10px;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.5px;margin-top:1px;font-weight:500}.cov-bar{position:relative;height:6px;border-radius:999px;background:hsl(var(--border));overflow:hidden;margin:6px 0 4px}.cov-bar>span{position:absolute;left:0;top:0;bottom:0;background:hsl(var(--accent));border-radius:999px;transition:width .3s ease}.cov-row{display:flex;align-items:center;gap:12px}.cov-row-label{width:130px;font-size:13px;text-transform:capitalize;color:hsl(var(--foreground))}.cc{display:flex;flex-direction:column;height:100%;min-height:0;gap:7px}.cc-rail{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap;flex:none}.cc-stat{display:flex;flex-direction:column;gap:0;padding:4px 10px;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--card));cursor:pointer;min-width:60px;transition:border-color .12s,box-shadow .12s,background .12s}.cc-stat:hover{border-color:hsl(var(--accent) / .5)}.cc-stat.active{border-color:hsl(var(--accent));box-shadow:0 0 0 2px hsl(var(--ring) / .18);background:hsl(var(--accent) / .06)}.cc-stat .n{font-size:15px;font-weight:680;letter-spacing:-.4px;line-height:1.05}.cc-stat .k{font-size:9px;text-transform:uppercase;letter-spacing:.4px;color:hsl(var(--muted-foreground));font-weight:600}.cc-stat.s-create .n{color:hsl(var(--accent))}.cc-stat.s-update .n{color:hsl(var(--warning))}.cc-stat.s-sync .n{color:hsl(var(--success))}.cc-stat.s-error .n{color:hsl(var(--destructive))}.cc-fielddiv{width:1px;background:hsl(var(--border));margin:2px 4px}.cc-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1}.cc-chips-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:hsl(var(--muted-foreground));font-weight:600}.cc-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;border:1px solid hsl(var(--border));background:hsl(var(--card));font-size:11px;cursor:pointer}.cc-chip:hover{border-color:hsl(var(--accent) / .5)}.cc-chip.active{background:hsl(var(--accent));border-color:hsl(var(--accent));color:#fff}.cc-chip .cnt{font-size:11px;font-weight:600;opacity:.7}.cc-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:none}.cc-toolbar input,.cc-toolbar select,.cc-toolbar button{padding:4px 8px;font-size:12px}.seg{display:inline-flex;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}.seg button{padding:4px 12px;font-size:12px;border:none;border-radius:0;background:transparent;color:hsl(var(--muted-foreground))}.seg button.active{background:hsl(var(--accent) / .15);color:hsl(var(--foreground));font-weight:600}tr.is-canon td{background:hsl(var(--accent) / .08)}tr.busy{opacity:.5;pointer-events:none}.linklike{background:none;border:none;padding:0;color:hsl(var(--accent));font:inherit;cursor:pointer;text-align:left}.linklike:hover{text-decoration:underline}.vgrid-wrap{flex:1;min-height:0;overflow:auto;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card))}.vgrid{border-collapse:separate;border-spacing:0;font-size:11px;width:max-content;min-width:100%}.vgrid th,.vgrid td{padding:3px 8px;border-bottom:1px solid hsl(var(--border));text-align:left;vertical-align:top;max-width:220px}.vdelta{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:700;background:hsl(var(--warning) / .15);color:hsl(var(--warning))}.vdelta.zero{background:hsl(var(--success) / .14);color:hsl(var(--success))}.vgrid thead th{position:sticky;top:0;z-index:2;background:hsl(var(--secondary));text-transform:uppercase;letter-spacing:.3px;font-size:10px;color:hsl(var(--muted-foreground));white-space:nowrap}.vgrid tbody tr{cursor:pointer}.vgrid tbody tr:hover{background:hsl(var(--muted) / .5)}.vsticky{position:sticky;left:0;z-index:1;background:hsl(var(--card));min-width:184px;max-width:240px}.vgrid thead th.vsticky{z-index:3;background:hsl(var(--secondary))}.vgrid tbody tr:hover .vsticky{background:hsl(var(--muted) / .5)}.vprod{font-weight:550;white-space:normal;line-height:1.25}.vprod-id{font-size:10px}.vchanged{background:hsl(var(--warning) / .08)}.vinfo{background:hsl(var(--muted) / .5)}.vcell-changed.info .vcell-old,.vcell-changed.info .vcell-new{color:hsl(var(--muted-foreground));font-weight:400;text-decoration:none}.vcell-old{color:hsl(var(--destructive));text-decoration:line-through;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.vcell-new{color:hsl(var(--success));font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.vcell-same{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;color:hsl(var(--muted-foreground))}.vcell-actions{display:none;gap:8px;margin-top:3px}.vgrid tbody tr:hover .vcell-actions{display:flex}.vlink{background:none;border:none;padding:0;font-size:11px;color:hsl(var(--primary));cursor:pointer;text-decoration:underline}.vlink:hover{opacity:.8}td.vov{background:hsl(var(--success) / .08)}.vcell-ov{display:flex;align-items:center;gap:6px}.vov-badge{display:inline-block;font-size:11px;padding:1px 6px;border-radius:999px;background:hsl(var(--success) / .18);color:hsl(var(--success));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.card.create:before{background:hsl(var(--accent))}.card.create .num{color:hsl(var(--accent))}.card.update:before{background:hsl(var(--warning))}.card.update .num{color:hsl(var(--warning))}.card.sync:before{background:hsl(var(--success))}.card.sync .num{color:hsl(var(--success))}.card.error:before{background:hsl(var(--destructive))}.card.error .num{color:hsl(var(--destructive))}.panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.toolbar{display:flex;gap:8px;align-items:center;padding:7px 10px;border-bottom:1px solid hsl(var(--border));flex-wrap:wrap;background:hsl(var(--muted) / .4)}.toolbar .grow{flex:1}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:5px 9px;border-bottom:1px solid hsl(var(--border));vertical-align:middle}th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .5);font-weight:600}tbody tr{transition:background .1s}tbody tr:hover{background:hsl(var(--accent) / .05)}tbody tr:last-child td{border-bottom:none}td.actions-cell,th.actions-cell{text-align:right}.table-scroll{max-height:calc(100vh - 200px);overflow:auto}.data-table thead th{position:sticky;top:0;z-index:2}.data-table .th-label{display:inline-flex;align-items:center;gap:5px;-webkit-user-select:none;user-select:none}.data-table .th-label.sortable{cursor:pointer}.data-table .th-label.sortable:hover{color:hsl(var(--foreground))}.sort-ind{font-size:9px;line-height:1;color:hsl(var(--muted-foreground) / .45)}.sort-ind.asc,.sort-ind.desc{color:hsl(var(--accent))}.data-table tr.filter-row th{top:25px;padding:4px 9px 5px;background:hsl(var(--muted) / .5);z-index:1}.col-filter{width:100%;min-width:70px;padding:5px 8px;font-size:12px;font-weight:400;text-transform:none;letter-spacing:0;color:hsl(var(--foreground))}.data-table tbody tr.selected{background:hsl(var(--accent) / .1)}.data-table tbody tr.selected:hover{background:hsl(var(--accent) / .14)}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .3)}.pager{display:flex;align-items:center;gap:10px}.badge{display:inline-block;font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;text-transform:capitalize;line-height:1.4}.badge.to_create{background:hsl(var(--accent) / .12);color:hsl(var(--accent))}.badge.to_update{background:hsl(var(--warning) / .14);color:hsl(var(--warning))}.badge.in_sync,.badge.applied{background:hsl(var(--success) / .14);color:hsl(var(--success))}.badge.error{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.muted{color:hsl(var(--muted-foreground))}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f262e73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end;z-index:70}.drawer{width:min(760px,100%);background:hsl(var(--card));height:100%;overflow:auto;box-shadow:-10px 0 40px #12252b2e;animation:slidein .18s ease-out}@keyframes slidein{0%{transform:translate(24px);opacity:.4}to{transform:translate(0);opacity:1}}.drawer .drawer-head{position:sticky;top:0;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.drawer .drawer-body{padding:10px 14px}.diff-row{display:grid;grid-template-columns:92px 1fr 1fr;gap:10px;padding:5px 0;border-bottom:1px solid hsl(var(--border));align-items:center}.diff-row .field{font-size:12px;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.3px}.diff-old{color:hsl(var(--destructive));text-decoration:line-through;word-break:break-word}.diff-new{color:hsl(var(--success));font-weight:550;word-break:break-word}.diff-field-block{border-bottom:1px solid hsl(var(--border))}.diff-field-block .diff-row{border-bottom:none}.diff-field-block.is-changed{background:hsl(var(--warning) / .06);border-left:2px solid hsl(var(--warning));padding-left:8px;margin-left:-10px}.diff-override{gap:8px;padding:0 0 8px;flex-wrap:wrap}.ghost.small,button.ghost.small{font-size:12px;padding:3px 8px}input.small{font-size:12px;padding:4px 8px}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:hsl(var(--muted-foreground));font-weight:600;margin:20px 0 8px}.audit-banner{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:var(--radius);margin-bottom:12px;border:1px solid hsl(var(--border));box-shadow:var(--shadow)}.audit-banner .verdict{font-size:18px;font-weight:750;letter-spacing:-.3px;white-space:nowrap}.audit-banner.pass{background:hsl(var(--success) / .1);border-color:hsl(var(--success) / .35)}.audit-banner.pass .verdict{color:hsl(var(--success))}.audit-banner.fail{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .35)}.audit-banner.fail .verdict{color:hsl(var(--destructive))}.audit-banner.idle{background:hsl(var(--card))}.sys-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.sys-card{position:relative;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:10px 14px;box-shadow:var(--shadow)}.sys-card .sys-name{font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:650;color:hsl(var(--muted-foreground))}.sys-card .sys-tags{font-size:22px;font-weight:720;letter-spacing:-.5px;margin-top:2px}.sys-card .sys-sub{font-size:11px;color:hsl(var(--muted-foreground));margin-top:2px}.sys-card.alert{border-color:hsl(var(--destructive) / .45)}.sys-card.alert .sys-miss{color:hsl(var(--destructive));font-weight:650}.sbs{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}.sbs .mark{font-weight:700}.sbs.present .mark{color:hsl(var(--success))}.sbs.missing{color:hsl(var(--destructive));font-weight:650}.sbs.diff .qty{color:hsl(var(--warning));font-weight:700}.sbs.short .qty{color:hsl(var(--destructive));font-weight:700}td.sbs-truth{background:hsl(var(--accent) / .05)}.warn{background:hsl(var(--warning) / .1);border:1px solid hsl(var(--warning) / .3);color:hsl(var(--warning));border-radius:calc(var(--radius) - 2px);padding:8px 12px;font-size:13px;margin:4px 0}.err{background:hsl(var(--destructive) / .08);border:1px solid hsl(var(--destructive) / .3);color:hsl(var(--destructive));border-radius:calc(var(--radius) - 2px);padding:8px 12px;font-size:13px}.toast-wrap{position:fixed;bottom:22px;right:22px;display:flex;flex-direction:column;gap:8px;z-index:80}.toast{background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:11px 16px;border-radius:var(--radius);box-shadow:var(--shadow);font-size:14px;animation:slidein .18s ease-out}.toast.ok{background:hsl(var(--success))}.toast.bad{background:hsl(var(--destructive))}.row{display:flex;gap:10px;align-items:center}.field-grid{display:grid;grid-template-columns:180px 1fr;gap:12px 16px;align-items:center;margin:10px 0}.toggle{display:inline-flex;align-items:center;gap:8px}.spinner{width:15px;height:15px;border:2px solid hsl(0 0% 100% / .4);border-top-color:#fff;border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{padding:48px;text-align:center;color:hsl(var(--muted-foreground))}.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;color:hsl(var(--muted-foreground))}.loader-spinner{width:26px;height:26px;border-radius:50%;border:3px solid hsl(var(--border));border-top-color:hsl(var(--primary));animation:spin .7s linear infinite}.loader-label{font-size:13px}@media (prefers-reduced-motion: reduce){.loader-spinner{animation-duration:1.6s}}.table-scroll{overflow-x:auto}.th-label{display:inline-flex;align-items:center;gap:5px}.th-label.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.th-label.sortable:hover{color:hsl(var(--accent))}.sort-ind{font-size:9px;opacity:.45;line-height:1}.sort-ind.asc,.sort-ind.desc{opacity:1;color:hsl(var(--accent))}tr.filter-row th{background:hsl(var(--card));padding:8px 14px;border-bottom:1px solid hsl(var(--border))}.col-filter{width:100%;padding:5px 8px;font-size:12px;font-weight:400;text-transform:none;letter-spacing:normal}tbody tr.selected{background:hsl(var(--accent) / .08)}tbody tr.selected:hover{background:hsl(var(--accent) / .12)}.empty-cell{text-align:center;color:hsl(var(--muted-foreground));padding:32px}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .4)}.pager{display:flex;align-items:center;gap:8px}.pager button{padding:4px 10px}.probe-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-variant-numeric:tabular-nums;color:hsl(var(--foreground) / .8);background:hsl(var(--success) / .1);border:1px solid hsl(var(--success) / .3);transition:background .4s ease,border-color .4s ease;white-space:nowrap}.probe-chip.off{color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .6);border-color:hsl(var(--border))}.probe-chip .probe-dot{width:8px;height:8px;border-radius:50%;background:hsl(var(--success));box-shadow:0 0 hsl(var(--success) / .5);animation:probe-pulse 2s ease-out infinite}.probe-chip.off .probe-dot{background:hsl(var(--muted-foreground));animation:none}.probe-chip .probe-sep{opacity:.5}.probe-chip .probe-last{color:hsl(var(--muted-foreground))}.probe-chip.flash{background:hsl(var(--success) / .28);border-color:hsl(var(--success) / .7)}.probe-chip.flash .probe-dot{animation:probe-pulse .7s ease-out 2}@keyframes probe-pulse{0%{box-shadow:0 0 hsl(var(--success) / .5)}70%{box-shadow:0 0 0 6px hsl(var(--success) / 0)}to{box-shadow:0 0 hsl(var(--success) / 0)}}.data-table th.num .th-label{justify-content:flex-end}.data-table th.num,.data-table td.num{text-align:right}.inv-diff{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;margin-bottom:4px}.inv-diff-col{min-width:0}.inv-diff-head{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:hsl(var(--muted-foreground));margin-bottom:4px}.inv-diff-total{margin-left:auto;font-size:13px;font-weight:700;color:hsl(var(--foreground))}.inv-diff-net{grid-column:1 / -1;display:flex;flex-direction:row;align-items:center;gap:10px;padding:8px 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--muted) / .3)}.data-table.mini{font-size:11px}.data-table.mini th,.data-table.mini td{padding:3px 7px}.compare-table{table-layout:fixed;width:100%}.compare-table th,.compare-table td{vertical-align:top;overflow-wrap:anywhere;word-break:break-word}.compare-table th:nth-child(1),.compare-table td:nth-child(1){width:116px}.compare-table th:nth-child(4),.compare-table td:nth-child(4){width:66px}.compare-table tr.changed td{background:hsl(var(--destructive, 0 70% 50%) / .06)}.copytag{border:none;background:transparent;padding:0;margin:0;cursor:pointer;color:hsl(var(--accent));text-decoration:underline dotted;text-underline-offset:2px}.copytag:hover{text-decoration:underline solid}.ok-text{color:hsl(var(--success));font-weight:600}.warn-text{color:hsl(var(--destructive, 0 70% 50%));font-weight:600}
