*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button,a,input,select{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--colors-focus)}.bootstrap{color:canvastext;text-align:center;background:canvas;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;font:16px/1.6 system-ui,sans-serif;display:flex}.bootstrap h1{font-size:24px}.bootstrap button{padding:12px 20px}.bootstrap-spinner{border:2px solid graytext;border-top-color:canvastext;border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}:is(#root:has(.workspace),#root:has(.login-layout)){font-family:var(--typography-font-family);font-size:var(--typography-font-size-base);line-height:var(--typography-line-height);color:var(--colors-text);background:var(--colors-background);min-height:100vh}h1,h2,h3,p{margin:0}h1{font-size:calc(var(--typography-font-size-base) * 2.1429);letter-spacing:-.03em;font-weight:650;line-height:1.25}h2{font-size:calc(var(--typography-font-size-base) * 1.2143);font-weight:650}h3{font-size:calc(var(--typography-font-size-base) * 1.1429);font-weight:650}.icon{vertical-align:middle;flex-shrink:0}.muted{color:var(--colors-text-muted)}.eyebrow{font-size:calc(var(--typography-font-size-base) * .7143);letter-spacing:.16em;margin-bottom:calc(var(--spacing-normal) * .75);color:var(--colors-text-muted);font-weight:700;display:block}.button{border:1px solid var(--colors-border);border-radius:var(--radius-control);min-height:40px;padding:calc(var(--spacing-normal) * .625) calc(var(--spacing-normal) * 1);justify-content:center;align-items:center;gap:calc(var(--spacing-normal) * .5);white-space:nowrap;font-size:calc(var(--typography-font-size-base) * .9286);font-weight:550;transition:background .15s,transform .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--colors-primary);border-color:var(--colors-primary);color:var(--colors-on-primary)}.button-primary:hover:not(:disabled){background:color-mix(in srgb, var(--colors-primary), var(--colors-text) 15%)}.button-quiet{background:var(--colors-surface);color:var(--colors-text)}.button-quiet:hover:not(:disabled){background:color-mix(in srgb, var(--colors-primary) 5%, var(--colors-surface))}.icon-button{border-radius:var(--radius-control);border:1px solid var(--colors-border);background:var(--colors-surface);width:38px;height:38px;color:var(--colors-text-muted);justify-content:center;align-items:center;display:inline-flex}.text-button{justify-content:center;align-items:center;gap:calc(var(--spacing-normal) * .25);color:var(--colors-primary);font-size:calc(var(--typography-font-size-base) * .8571);padding:calc(var(--spacing-normal) * .5) 0;background:0 0;border:0;font-weight:600;display:inline-flex}.danger-text{color:var(--colors-danger)}.badge{white-space:nowrap;font-size:calc(var(--typography-font-size-base) * .7143);padding:calc(var(--spacing-normal) * .1875) calc(var(--spacing-normal) * .4375);border-radius:calc(var(--radius-control) * .65);color:var(--colors-text-muted);background:color-mix(in srgb, var(--colors-text-muted) 8%, var(--colors-surface));border:1px solid color-mix(in srgb, var(--colors-text-muted) 10%, var(--colors-surface));align-items:center;font-weight:600;line-height:1.6;display:inline-flex}.badge-demo{color:var(--colors-primary);background:color-mix(in srgb, var(--colors-primary) 8%, var(--colors-surface));border-color:color-mix(in srgb, var(--colors-primary) 18%, var(--colors-surface))}.badge-success{color:var(--colors-success);background:color-mix(in srgb, var(--colors-success) 7%, var(--colors-surface));border-color:color-mix(in srgb, var(--colors-success) 15%, var(--colors-surface))}.badge-warning{color:var(--colors-warning);background:color-mix(in srgb, var(--colors-warning) 7%, var(--colors-surface));border-color:color-mix(in srgb, var(--colors-warning) 15%, var(--colors-surface))}.notice{align-items:flex-start;gap:calc(var(--spacing-normal) * .625);color:var(--colors-text-muted);border:1px solid var(--colors-border);background:var(--colors-surface);border-radius:var(--radius-control);font-size:calc(var(--typography-font-size-base) * .8571);padding:calc(var(--spacing-normal) * .75) calc(var(--spacing-normal) * .9375);margin-bottom:calc(var(--spacing-normal) * 1);display:flex}.notice .icon{width:17px;height:17px;color:var(--colors-primary);margin-top:calc(var(--spacing-normal) * .0625)}.notice-error{color:var(--colors-danger);border-color:color-mix(in srgb, var(--colors-danger) 25%, var(--colors-surface));background:color-mix(in srgb, var(--colors-danger) 4%, var(--colors-surface))}.notice-error .icon{color:var(--colors-danger)}.brand{align-items:center;gap:calc(var(--spacing-normal) * .75);display:flex}.brand img{object-fit:contain;background:var(--colors-surface);border-radius:var(--radius-control);width:68px;height:44px;padding:5px}.brand strong{font-size:calc(var(--typography-font-size-base) * 1.5714);letter-spacing:-.025em;line-height:1.2;display:block}.brand span{font-size:calc(var(--typography-font-size-base) * .7143);margin-top:calc(var(--spacing-normal) * .3125);letter-spacing:.015em;display:block}.brand-compact img{width:56px;height:35px}.brand-compact strong{font-size:calc(var(--typography-font-size-base) * 1.4286)}.brand-compact span{font-size:calc(var(--typography-font-size-base) * .6429);opacity:.65;max-width:142px}.login-layout{grid-template-columns:1.07fr 1fr;min-height:100vh;display:grid}.login-story{background:var(--colors-primary);color:var(--colors-on-primary);padding:calc(var(--spacing-normal) * 3) 8%;flex-direction:column;display:flex;position:relative;overflow:hidden}.login-story .brand span{opacity:.7}.login-intro{max-width:440px;padding:calc(var(--spacing-normal) * 4) 0 calc(var(--spacing-normal) * 2.5);margin:auto 0}.login-intro .eyebrow{color:var(--colors-on-primary);opacity:.65;font-size:calc(var(--typography-font-size-base) * .7143);letter-spacing:.2em}.login-intro h1{font-size:calc(var(--typography-font-size-base) * 3);letter-spacing:-.04em;font-weight:550;line-height:1.45}.login-intro p{margin-top:calc(var(--spacing-normal) * 1.4375);font-size:calc(var(--typography-font-size-base) * 1);opacity:.7;line-height:1.9}.story-footer{font-size:calc(var(--typography-font-size-base) * .7143);letter-spacing:.02em;opacity:.65}.login-illustration{margin-top:calc(var(--spacing-normal) * 3);border:1px solid color-mix(in srgb, var(--colors-on-primary) 18%, transparent);border-radius:var(--radius-card);background:color-mix(in srgb, var(--colors-on-primary) 5%, transparent);max-width:405px;box-shadow:var(--shadow-overlay);transform:perspective(900px)rotateY(-5deg)rotateX(4deg)}.illustration-heading{padding:calc(var(--spacing-normal) * .8125);gap:calc(var(--spacing-normal) * .3125);border-bottom:1px solid color-mix(in srgb, var(--colors-on-primary) 15%, transparent);display:flex}.illustration-heading span{background:color-mix(in srgb, var(--colors-on-primary) 40%, transparent);border-radius:50%;width:4px;height:4px}.illustration-body{min-height:170px;display:flex}.illustration-sidebar{border-right:1px solid color-mix(in srgb, var(--colors-on-primary) 15%, transparent);width:44px}.illustration-content{padding:calc(var(--spacing-normal) * 1.125);flex:1}.illustration-cards{gap:calc(var(--spacing-normal) * .625);display:flex}.illustration-cards i{background:color-mix(in srgb, var(--colors-on-primary) 12%, transparent);border:1px solid color-mix(in srgb, var(--colors-on-primary) 8%, transparent);border-radius:var(--radius-control);flex:1;height:37px}.illustration-content svg{width:100%;height:105px;margin-top:calc(var(--spacing-normal) * .875)}.illustration-grid{stroke:color-mix(in srgb, var(--colors-on-primary) 9%, transparent);stroke-width:1px}.illustration-line{stroke:var(--colors-accent);stroke-width:2.5px}.login-form-area{background:var(--colors-surface);padding:calc(var(--spacing-normal) * 4.375) calc(var(--spacing-normal) * 2.5);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.login-box{width:100%;max-width:360px}.login-box .eyebrow{color:var(--colors-primary);font-size:calc(var(--typography-font-size-base) * .7857);letter-spacing:.06em}.login-box h2{font-size:calc(var(--typography-font-size-base) * 2.1429);letter-spacing:-.035em;font-weight:600}.login-box>p{font-size:calc(var(--typography-font-size-base) * .9286);margin-top:calc(var(--spacing-normal) * .75);line-height:1.8}.login-box form{margin-top:calc(var(--spacing-normal) * 2)}.login-box label{margin-bottom:calc(var(--spacing-normal) * 1.25)}.login-submit{width:100%;margin-top:calc(var(--spacing-normal) * .375);min-height:46px;padding-inline:calc(var(--spacing-normal) * 1.125);justify-content:space-between}.input-icon{align-items:center;display:flex;position:relative}.input-icon .icon{color:var(--colors-text-muted);width:18px;position:absolute;left:13px}.input-icon input{padding-left:calc(var(--spacing-normal) * 2.5625)}.code-input{letter-spacing:.18em}.resend{width:100%;margin-top:calc(var(--spacing-normal) * .75)}.login-footnote{margin-top:calc(var(--spacing-normal) * 2);padding-top:calc(var(--spacing-normal) * 1.5);border-top:1px solid var(--colors-border);gap:calc(var(--spacing-normal) * .75);font-size:calc(var(--typography-font-size-base) * .7857);color:var(--colors-text-muted);align-items:flex-start;line-height:1.9;display:flex}.login-footnote .icon{width:17px;margin-top:calc(var(--spacing-normal) * .0625)}.login-bottom{color:var(--colors-text-muted);font-size:calc(var(--typography-font-size-base) * .7143);position:absolute;bottom:30px}.workspace{min-height:100vh;display:flex}.sidebar{background:var(--colors-primary);width:230px;color:var(--colors-on-primary);padding:calc(var(--spacing-normal) * 1.875) calc(var(--spacing-normal) * 1.25) 0;z-index:20;flex-direction:column;display:flex;position:fixed;top:0;bottom:0}.sidebar .brand{margin:0 calc(var(--spacing-normal) * .125)}.sidebar-caption{font-size:calc(var(--typography-font-size-base) * .6429);letter-spacing:.12em;opacity:.48;margin:calc(var(--spacing-normal) * 2.625) calc(var(--spacing-normal) * .9375) calc(var(--spacing-normal) * .875)}.sidebar nav{gap:calc(var(--spacing-normal) * .3125);flex-direction:column;display:flex}.nav-item{align-items:center;gap:calc(var(--spacing-normal) * .75);width:100%;color:var(--colors-on-primary);border-radius:var(--radius-control);padding:calc(var(--spacing-normal) * .8125) calc(var(--spacing-normal) * .9375);font-size:calc(var(--typography-font-size-base) * .8571);text-align:left;opacity:.68;background:0 0;border:0;display:flex;position:relative}.nav-item:hover{background:color-mix(in srgb, var(--colors-on-primary) 7%, transparent);opacity:1}.nav-item.active{opacity:1;background:color-mix(in srgb, var(--colors-on-primary) 12%, transparent);font-weight:600}.nav-item .icon{width:18px;height:18px}.nav-item i{background:var(--colors-accent);border-radius:50%;width:4px;height:4px;position:absolute;right:14px}.sidebar-end{margin-top:auto}.sidebar-note{gap:calc(var(--spacing-normal) * .625);padding:calc(var(--spacing-normal) * 1.5) calc(var(--spacing-normal) * .75);font-size:calc(var(--typography-font-size-base) * .7143);opacity:.65;align-items:flex-start;line-height:1.8;display:flex}.sidebar-note .icon{width:15px;height:15px;margin-top:calc(var(--spacing-normal) * .125)}.sidebar-note span{font-size:calc(var(--typography-font-size-base) * .6429);opacity:.65}.user-block{gap:calc(var(--spacing-normal) * .625);padding:calc(var(--spacing-normal) * 1.3125) 0;border-top:1px solid color-mix(in srgb, var(--colors-on-primary) 14%, transparent);align-items:center;display:flex}.avatar{background:color-mix(in srgb, var(--colors-primary) 9%, var(--colors-surface));width:33px;height:33px;color:var(--colors-primary);font-size:calc(var(--typography-font-size-base) * .8571);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:650;display:flex}.user-block .avatar{background:color-mix(in srgb, var(--colors-on-primary) 13%, transparent);color:var(--colors-on-primary)}.user-block>div:nth-child(2){flex:1;min-width:0}.user-block strong{font-size:calc(var(--typography-font-size-base) * .7143);text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.user-block span{font-size:calc(var(--typography-font-size-base) * .6429);opacity:.6;margin-top:calc(var(--spacing-normal) * .125);display:block}.user-block button{color:var(--colors-on-primary);opacity:.6;padding:calc(var(--spacing-normal) * .1875);background:0 0;border:0}.user-block .icon{width:16px}.workspace-main{margin-left:calc(var(--spacing-normal) * 14.375);width:calc(100% - 230px)}.topbar{background:var(--colors-surface);border-bottom:1px solid var(--colors-border);height:70px;padding:0 calc(var(--spacing-normal) * 2.375);font-size:calc(var(--typography-font-size-base) * .7857);justify-content:space-between;align-items:center;display:flex}.topbar-context{color:var(--colors-text-muted)}.topbar strong{font-weight:500}.topbar-separator{margin-inline:calc(var(--spacing-normal) * .9375);color:var(--colors-border)}.topbar-right{align-items:center;gap:calc(var(--spacing-normal) * 1.25);display:flex}.topbar-right>span:first-child{align-items:center;gap:calc(var(--spacing-normal) * .375);color:var(--colors-text-muted);font-size:calc(var(--typography-font-size-base) * .7143);display:flex}.topbar-right .icon{width:13px;height:13px}.content{max-width:1800px;padding:calc(var(--spacing-normal) * 2.375) calc(var(--spacing-normal) * 2.375) calc(var(--spacing-normal) * 1.5);margin:0 auto}.page-heading{margin-bottom:calc(var(--spacing-normal) * 1.625);justify-content:space-between;align-items:center;gap:calc(var(--spacing-normal) * 1.25);display:flex}.page-heading .eyebrow{color:var(--colors-primary);opacity:.7;font-size:calc(var(--typography-font-size-base) * .6429);margin-bottom:calc(var(--spacing-normal) * .5625);letter-spacing:.17em}.page-heading p{font-size:calc(var(--typography-font-size-base) * .8571);color:var(--colors-text-muted);margin-top:calc(var(--spacing-normal) * .5625)}.heading-actions{gap:calc(var(--spacing-normal) * .5625);align-items:center;display:flex}.demo-banner{gap:calc(var(--spacing-normal) * .75);margin-bottom:calc(var(--spacing-normal) * 1.125);padding:calc(var(--spacing-normal) * .75) calc(var(--spacing-normal) * 1);border:1px solid color-mix(in srgb, var(--colors-primary) 13%, var(--colors-surface));background:color-mix(in srgb, var(--colors-primary) 3%, var(--colors-surface));border-radius:var(--radius-control);color:var(--colors-text-muted);font-size:calc(var(--typography-font-size-base) * .7857);align-items:center;display:flex}.demo-banner .badge{background:var(--colors-surface)}label{gap:calc(var(--spacing-normal) * .5);font-size:calc(var(--typography-font-size-base) * .7857);color:var(--colors-text-muted);flex-direction:column;font-weight:550;display:flex}input:not([type=checkbox]),select{width:100%;min-height:40px;padding:calc(var(--spacing-normal) * .625) calc(var(--spacing-normal) * .75);color:var(--colors-text);border:1px solid var(--colors-border);border-radius:var(--radius-control);background:var(--colors-surface);font-size:calc(var(--typography-font-size-base) * .8571);line-height:1.4}input::placeholder{color:var(--colors-text-muted);opacity:.65}input[type=checkbox]{accent-color:var(--colors-primary);flex-shrink:0;width:14px;height:14px}select{padding-right:calc(var(--spacing-normal) * 1.4375)}.filter-bar{gap:calc(var(--spacing-normal) * .75);padding:calc(var(--spacing-normal) * 1.1875) calc(var(--spacing-normal) * 1.25) calc(var(--spacing-normal) * 1.3125);background:var(--colors-surface);border:1px solid var(--colors-border);border-radius:var(--radius-card);margin-bottom:calc(var(--spacing-normal) * 1.75);box-shadow:var(--shadow-card);flex-wrap:wrap;align-items:flex-end;display:flex}.filter-bar label{gap:calc(var(--spacing-normal) * .4375);min-width:128px;max-width:220px;font-size:calc(var(--typography-font-size-base) * .7143);flex:1}.filter-bar label:first-child{max-width:132px}.filter-save{font-size:calc(var(--typography-font-size-base) * .7857);height:40px;padding-inline:calc(var(--spacing-normal) * .75);margin-left:auto}.filter-save .icon{width:15px}.section-title{margin:calc(var(--spacing-normal) * .625) 0 calc(var(--spacing-normal) * 1.1875);justify-content:space-between;align-items:center;display:flex}.section-title h2{font-size:calc(var(--typography-font-size-base) * 1)}.section-title h2 span{font-size:calc(var(--typography-font-size-base) * .7143);color:var(--colors-text-muted);margin-left:calc(var(--spacing-normal) * .5625);font-weight:500}.section-title small{font-size:calc(var(--typography-font-size-base) * .6429);color:var(--colors-text-muted)}.device-section{margin-bottom:calc(var(--spacing-normal) * 1.875)}.device-heading{align-items:center;gap:calc(var(--spacing-normal) * .6875);margin-bottom:calc(var(--spacing-normal) * .875);display:flex}.device-mark{background:var(--colors-surface);border:1px solid var(--colors-border);border-radius:var(--radius-control);width:36px;height:36px;color:var(--colors-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.device-mark .icon{width:19px}.device-heading h3{font-size:calc(var(--typography-font-size-base) * .9286);margin-bottom:calc(var(--spacing-normal) * .125)}.device-heading span{font-size:calc(var(--typography-font-size-base) * .6429);color:var(--colors-text-muted)}.device-heading .text-button{font-size:calc(var(--typography-font-size-base) * .7143);margin-left:auto}.device-heading .text-button .icon{width:14px}.metrics-grid{gap:calc(var(--spacing-normal) * .875);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric-card{background:var(--colors-surface);border:1px solid var(--colors-border);border-radius:var(--radius-card);padding:calc(var(--spacing-normal) * 1.1875) calc(var(--spacing-normal) * 1.25) 0;box-shadow:var(--shadow-card);min-width:0}.metric-label{justify-content:space-between;align-items:center;gap:calc(var(--spacing-normal) * .375);color:var(--colors-text-muted);font-size:calc(var(--typography-font-size-base) * .7857);margin-bottom:calc(var(--spacing-normal) * 1.125);display:flex}.metric-label .icon{opacity:.6;width:15px;height:15px}.metric-number{font-variant-numeric:tabular-nums;font-size:calc(var(--typography-font-size-base) * 2.1429);letter-spacing:-.04em;overflow-wrap:anywhere;font-weight:550;line-height:1.15}.metric-number small{font-size:calc(var(--typography-font-size-base) * .7143);letter-spacing:0;margin-left:calc(var(--spacing-normal) * .4375);color:var(--colors-text-muted);font-weight:500}.metric-meta{align-items:center;gap:calc(var(--spacing-normal) * .5);margin-top:calc(var(--spacing-normal) * .875);flex-wrap:wrap;display:flex}.metric-meta>span:nth-child(2){font-size:calc(var(--typography-font-size-base) * .6429);color:var(--colors-text-muted)}.metric-foot{border-top:1px solid var(--colors-border);margin-top:calc(var(--spacing-normal) * 1);padding:calc(var(--spacing-normal) * .625) 0;justify-content:space-between;gap:calc(var(--spacing-normal) * .5);font-size:calc(var(--typography-font-size-base) * .5714);color:var(--colors-text-muted);flex-wrap:wrap;line-height:1.5;display:flex}.metric-muted .metric-number{color:var(--colors-unknown)}.panel{background:var(--colors-surface);border:1px solid var(--colors-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:calc(var(--spacing-normal) * 1.375);overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:calc(var(--spacing-normal) * 1.25);padding:calc(var(--spacing-normal) * 1.4375) calc(var(--spacing-normal) * 1.5);border-bottom:1px solid var(--colors-border);display:flex}.panel-heading p{color:var(--colors-text-muted);font-size:calc(var(--typography-font-size-base) * .7857);margin-top:calc(var(--spacing-normal) * .375)}.panel-heading h2{font-size:calc(var(--typography-font-size-base) * 1.0714)}.panel>.notice{margin:calc(var(--spacing-normal) * 1) calc(var(--spacing-normal) * 1.5)}.panel-actions{justify-content:flex-end;gap:calc(var(--spacing-normal) * .5625);padding:calc(var(--spacing-normal) * 1.25) calc(var(--spacing-normal) * 1.5);border-top:1px solid var(--colors-border);display:flex}.dashboard-editor{margin-top:calc(var(--spacing-normal) * -.5)}.editor-grid{gap:calc(var(--spacing-normal) * 1.75);padding:calc(var(--spacing-normal) * 1.5);grid-template-columns:1fr 1fr;display:grid}.metric-checks{align-content:start;gap:calc(var(--spacing-normal) * 1.125);grid-template-columns:repeat(2,1fr);display:grid}.metric-checks label{align-items:center;gap:calc(var(--spacing-normal) * .5625);color:var(--colors-text);font-size:calc(var(--typography-font-size-base) * .8571);flex-direction:row;display:flex}.metric-order{border:1px solid var(--colors-border);border-radius:var(--radius-control);margin:0;padding:0;list-style:none;overflow:hidden}.metric-order li{align-items:center;gap:calc(var(--spacing-normal) * .625);padding:calc(var(--spacing-normal) * .5) calc(var(--spacing-normal) * .75);font-size:calc(var(--typography-font-size-base) * .7857);border-bottom:1px solid var(--colors-border);display:flex}.metric-order li:last-child{border-bottom:0}.metric-order li>span:nth-child(2){flex:1}.order-number{font-size:calc(var(--typography-font-size-base) * .7143);color:var(--colors-text-muted)}.metric-order .icon-button{background:var(--colors-background);border:0;width:24px;height:24px}.metric-order .icon{width:12px;height:12px}.empty{text-align:center;padding:calc(var(--spacing-normal) * 3.4375) calc(var(--spacing-normal) * 1.5);color:var(--colors-text-muted);background:var(--colors-surface);border-radius:var(--radius-card);border:1px dashed var(--colors-border)}.panel .empty{border:0}.empty>.icon{opacity:.45;width:31px;height:31px;margin-bottom:calc(var(--spacing-normal) * .8125)}.empty h3{font-size:calc(var(--typography-font-size-base) * .9286);color:var(--colors-text);margin-bottom:calc(var(--spacing-normal) * .5)}.empty p{font-size:calc(var(--typography-font-size-base) * .7857);max-width:440px;margin-inline:auto;line-height:1.8}.loading-panel{padding:calc(var(--spacing-normal) * 3.4375) calc(var(--spacing-normal) * 1.5);text-align:center;color:var(--colors-text-muted);font-size:calc(var(--typography-font-size-base) * .8571)}.inline-fields{gap:calc(var(--spacing-normal) * .75);display:flex}.inline-fields label{gap:calc(var(--spacing-normal) * .25);min-width:120px;font-size:calc(var(--typography-font-size-base) * .6429)}.inline-fields select{min-height:34px;padding:calc(var(--spacing-normal) * .4375) calc(var(--spacing-normal) * .625);font-size:calc(var(--typography-font-size-base) * .7857)}.chart-wrap{padding:calc(var(--spacing-normal) * 1.75) calc(var(--spacing-normal) * 1.25) calc(var(--spacing-normal) * .9375);min-width:0}.chart-wrap svg{width:100%;height:auto;font-family:var(--typography-font-family);display:block;overflow:visible}.chart-grid{stroke:var(--colors-chart-grid);stroke-width:1px;stroke-dasharray:3 4}.chart-axis{fill:var(--colors-chart-axis);font-size:calc(var(--typography-font-size-base) * .7143)}.chart-line{stroke:var(--colors-chart-palette-0);stroke-width:2.2px;fill:none;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:var(--colors-chart-palette-0);stroke:var(--colors-surface);stroke-width:1.5px}.chart-caption{color:var(--colors-text-muted);font-size:calc(var(--typography-font-size-base) * .6429);padding:calc(var(--spacing-normal) * .625) calc(var(--spacing-normal) * 1.25);display:block}.compact-metrics{margin-bottom:calc(var(--spacing-normal) * 1.5)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:calc(var(--typography-font-size-base) * .7857);white-space:nowrap}th{background:color-mix(in srgb, var(--colors-background) 65%, var(--colors-surface));font-size:calc(var(--typography-font-size-base) * .7143);color:var(--colors-text-muted);text-align:left;padding:calc(var(--spacing-normal) * .875) calc(var(--spacing-normal) * 1.375);border-bottom:1px solid var(--colors-border);font-weight:500}td{padding:calc(var(--spacing-normal) * 1) calc(var(--spacing-normal) * 1.375);border-bottom:1px solid var(--colors-border);font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb, var(--colors-primary) 2%, var(--colors-surface))}td strong{font-size:calc(var(--typography-font-size-base) * .7857);font-weight:550}td small{font-size:calc(var(--typography-font-size-base) * .6429);color:var(--colors-text-muted);margin-top:calc(var(--spacing-normal) * .3125);display:block}.numeric{font-variant-numeric:tabular-nums}.sync-title{align-items:center;gap:calc(var(--spacing-normal) * .8125);display:flex}.sync-details{padding:calc(var(--spacing-normal) * 1.625) calc(var(--spacing-normal) * 1.5);gap:calc(var(--spacing-normal) * 1.25);grid-template-columns:repeat(4,1fr);display:grid}.sync-details>div:not(:first-child){border-left:1px solid var(--colors-border);padding-left:calc(var(--spacing-normal) * 1.5)}.sync-details span{color:var(--colors-text-muted);font-size:calc(var(--typography-font-size-base) * .7143);margin-bottom:calc(var(--spacing-normal) * .625);display:block}.sync-details strong{font-size:calc(var(--typography-font-size-base) * 1.0714);font-variant-numeric:tabular-nums;font-weight:500}.tabs{gap:calc(var(--spacing-normal) * 1.75);border-bottom:1px solid var(--colors-border);margin-bottom:calc(var(--spacing-normal) * 1.5625);display:flex}.tabs button{color:var(--colors-text-muted);font-size:calc(var(--typography-font-size-base) * .8571);padding:calc(var(--spacing-normal) * .875) 0;background:0 0;border:0;position:relative}.tabs button.active{color:var(--colors-primary);font-weight:600}.tabs button.active:after{content:"";background:var(--colors-primary);height:2px;position:absolute;bottom:-1px;left:0;right:0}.admin-grid{gap:calc(var(--spacing-normal) * 1.375);grid-template-columns:1.5fr 1fr;align-items:start;display:grid}.admin-form form{padding:calc(var(--spacing-normal) * 1.5)}.admin-form form>label{margin-bottom:calc(var(--spacing-normal) * 1.25)}.admin-form .panel-actions{padding:calc(var(--spacing-normal) * 1.25) 0 0}.member-row{gap:calc(var(--spacing-normal) * .75);padding:calc(var(--spacing-normal) * 1.1875) calc(var(--spacing-normal) * 1.5);border-bottom:1px solid var(--colors-border);align-items:center;display:flex}.member-row:last-child{border-bottom:0}.member-info{flex:1;min-width:0}.member-info strong{font-size:calc(var(--typography-font-size-base) * .8571);overflow-wrap:anywhere;font-weight:550;display:block}.member-info span{font-size:calc(var(--typography-font-size-base) * .6429);color:var(--colors-text-muted);margin-top:calc(var(--spacing-normal) * .3125);display:block}.member-actions{gap:calc(var(--spacing-normal) * .8125);flex-shrink:0;display:flex}.device-checkboxes{margin:calc(var(--spacing-normal) * 1.375) 0;gap:calc(var(--spacing-normal) * .8125);border:0;flex-direction:column;padding:0;display:flex}.device-checkboxes legend{margin-bottom:calc(var(--spacing-normal) * .9375);font-size:calc(var(--typography-font-size-base) * .7857);color:var(--colors-text-muted);padding:0;font-weight:550}.device-checkboxes label{align-items:center;gap:calc(var(--spacing-normal) * .625);font-size:calc(var(--typography-font-size-base) * .7857);color:var(--colors-text);flex-direction:row;display:flex}.device-checkboxes small{font-size:calc(var(--typography-font-size-base) * .6429);color:var(--colors-text-muted)}.secret-panel{padding:calc(var(--spacing-normal) * 1.375) calc(var(--spacing-normal) * 1.5)}.secret-panel h2{font-size:calc(var(--typography-font-size-base) * 1);margin-bottom:calc(var(--spacing-normal) * 1)}.secret-panel code{background:var(--colors-background);border:1px solid var(--colors-border);padding:calc(var(--spacing-normal) * .9375);border-radius:var(--radius-control);overflow-wrap:anywhere;font-size:calc(var(--typography-font-size-base) * .8571);display:block}.secret-panel .panel-actions{padding:calc(var(--spacing-normal) * 1.25) 0 0;border:0}.content-footer{justify-content:space-between;gap:calc(var(--spacing-normal) * .75);font-size:calc(var(--typography-font-size-base) * .5714);color:var(--colors-text-muted);margin-top:calc(var(--spacing-normal) * 2.25);padding-top:calc(var(--spacing-normal) * 1.125);border-top:1px solid var(--colors-border);display:flex}.spinning{animation:1.4s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1500px){.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.content{padding:calc(var(--spacing-normal) * 2.5) calc(var(--spacing-normal) * 3)}.topbar{padding-inline:calc(var(--spacing-normal) * 3)}.metric-number{font-size:calc(var(--typography-font-size-base) * 2.4286)}.filter-bar label{max-width:none}.filter-bar label:first-child{max-width:150px}}@media (width>=1900px){.metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=1100px){.sidebar{width:200px;padding-inline:calc(var(--spacing-normal) * .875)}.workspace-main{margin-left:calc(var(--spacing-normal) * 12.5);width:calc(100% - 200px)}.topbar{padding-inline:calc(var(--spacing-normal) * 1.5)}.content{padding:calc(var(--spacing-normal) * 1.875) calc(var(--spacing-normal) * 1.5)}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-number{font-size:calc(var(--typography-font-size-base) * 2.0714)}.admin-grid{grid-template-columns:1fr}.login-intro h1{font-size:calc(var(--typography-font-size-base) * 2.4286)}.login-story{padding:calc(var(--spacing-normal) * 2.375) 7%}.filter-bar label{min-width:125px;max-width:none}.sync-details strong{font-size:calc(var(--typography-font-size-base) * .9286)}.panel-heading{padding:calc(var(--spacing-normal) * 1.25)}.panel-heading:has(.inline-fields){flex-direction:column;align-items:flex-start}.inline-fields{width:100%}.inline-fields label{flex:1}}@media (width<=760px){.login-layout{grid-template-columns:1fr;min-height:100vh}.login-story{padding:calc(var(--spacing-normal) * 1.5625);min-height:0}.login-story .brand img{width:34px;height:34px}.login-story .brand strong{font-size:calc(var(--typography-font-size-base) * 1.5714)}.login-intro,.story-footer{display:none}.login-form-area{padding:calc(var(--spacing-normal) * 3.125) calc(var(--spacing-normal) * 1.5) calc(var(--spacing-normal) * 5.3125);min-height:calc(100vh - 95px)}.login-box{max-width:400px}.sidebar{width:72px;padding:calc(var(--spacing-normal) * 1.4375) calc(var(--spacing-normal) * .5625) 0}.sidebar .brand{justify-content:center;margin:0}.sidebar .brand img{width:35px;height:35px}.sidebar .brand>div{display:none}.sidebar-caption{margin:calc(var(--spacing-normal) * 1.75) 0 calc(var(--spacing-normal) * .875);font-size:0}.nav-item{padding:calc(var(--spacing-normal) * .875) calc(var(--spacing-normal) * .75);justify-content:center}.nav-item span{display:none}.nav-item .icon{width:20px;height:20px}.nav-item i{width:3px;height:3px;right:5px}.sidebar-note{display:none}.user-block{padding-bottom:calc(var(--spacing-normal) * 1);flex-wrap:wrap;justify-content:center}.user-block>div:nth-child(2){display:none}.user-block button{padding:calc(var(--spacing-normal) * .375)}.workspace-main{margin-left:calc(var(--spacing-normal) * 4.5);width:calc(100% - 72px)}.topbar{height:58px;padding-inline:calc(var(--spacing-normal) * 1.25)}.topbar-context,.topbar-separator,.topbar-right>span:first-child{display:none}.content{padding:calc(var(--spacing-normal) * 1.5625) calc(var(--spacing-normal) * 1.25)}.page-heading{margin-bottom:calc(var(--spacing-normal) * 1.25);align-items:flex-start}.page-heading h1{font-size:calc(var(--typography-font-size-base) * 1.7857)}.page-heading p{font-size:calc(var(--typography-font-size-base) * .7143);max-width:230px;line-height:1.8}.page-heading .eyebrow{font-size:calc(var(--typography-font-size-base) * .5714)}.heading-actions{gap:calc(var(--spacing-normal) * .3125)}.heading-actions .button{padding:calc(var(--spacing-normal) * .5625);min-height:36px;font-size:0}.heading-actions .button .icon{width:17px}.heading-actions .icon-button{width:36px;height:36px}.demo-banner{font-size:calc(var(--typography-font-size-base) * .6429);padding:calc(var(--spacing-normal) * .625) calc(var(--spacing-normal) * .75);align-items:flex-start;gap:calc(var(--spacing-normal) * .5625);line-height:1.8}.demo-banner .badge{font-size:calc(var(--typography-font-size-base) * .5714);flex-shrink:0}.filter-bar{padding:calc(var(--spacing-normal) * .9375);gap:calc(var(--spacing-normal) * .75);margin-bottom:calc(var(--spacing-normal) * 1.375)}.filter-bar label{flex:1;min-width:calc(50% - 6px);max-width:none!important}.filter-bar input,.filter-bar select{font-size:calc(var(--typography-font-size-base) * .7143);min-height:36px;padding:calc(var(--spacing-normal) * .5)}.filter-save{width:100%;font-size:calc(var(--typography-font-size-base) * .7857);margin:0}.section-title{align-items:flex-start;gap:calc(var(--spacing-normal) * .5625)}.section-title small{font-size:calc(var(--typography-font-size-base) * .5714);text-align:right;max-width:110px;line-height:1.7}.metrics-grid{gap:calc(var(--spacing-normal) * .625)}.metric-card{padding:calc(var(--spacing-normal) * .875) calc(var(--spacing-normal) * .8125) 0}.metric-label{font-size:calc(var(--typography-font-size-base) * .7143);margin-bottom:calc(var(--spacing-normal) * .9375)}.metric-label .icon{width:12px;height:12px}.metric-number{font-size:calc(var(--typography-font-size-base) * 1.7143)}.metric-number small{font-size:calc(var(--typography-font-size-base) * .5714);margin-left:calc(var(--spacing-normal) * .25)}.metric-meta{gap:calc(var(--spacing-normal) * .25);margin-top:calc(var(--spacing-normal) * .75)}.metric-meta .badge{font-size:calc(var(--typography-font-size-base) * .5714);padding:calc(var(--spacing-normal) * .125) calc(var(--spacing-normal) * .3125)}.metric-meta>span:nth-child(2){font-size:calc(var(--typography-font-size-base) * .5714)}.metric-foot{font-size:calc(var(--typography-font-size-base) * .5);padding:calc(var(--spacing-normal) * .5625) 0;display:block}.metric-foot span{display:block}.device-heading h3{font-size:calc(var(--typography-font-size-base) * .8571)}.device-heading span{font-size:calc(var(--typography-font-size-base) * .5714)}.device-heading .text-button{font-size:calc(var(--typography-font-size-base) * .6429)}.device-mark{width:31px;height:31px}.device-heading{gap:calc(var(--spacing-normal) * .5)}.content-footer{font-size:calc(var(--typography-font-size-base) * .5);display:block}.content-footer span{margin-bottom:calc(var(--spacing-normal) * .3125);display:block}.panel-heading{padding:calc(var(--spacing-normal) * 1.125) calc(var(--spacing-normal) * 1);gap:calc(var(--spacing-normal) * .75)}.panel-heading h2{font-size:calc(var(--typography-font-size-base) * .9286)}.panel-heading p{font-size:calc(var(--typography-font-size-base) * .6429);line-height:1.8}.editor-grid{padding:calc(var(--spacing-normal) * 1.125) calc(var(--spacing-normal) * 1);gap:calc(var(--spacing-normal) * 1.375);grid-template-columns:1fr}.metric-checks{gap:calc(var(--spacing-normal) * .9375)}.metric-checks label,.metric-order li{font-size:calc(var(--typography-font-size-base) * .7143)}.panel-actions{padding:calc(var(--spacing-normal) * 1)}.sync-details{padding:calc(var(--spacing-normal) * 1.25) calc(var(--spacing-normal) * 1);gap:calc(var(--spacing-normal) * 1.5625) calc(var(--spacing-normal) * .75);grid-template-columns:1fr 1fr}.sync-details>div:not(:first-child){border:0;padding-left:0}.sync-details span{font-size:calc(var(--typography-font-size-base) * .6429)}.sync-details strong{font-size:calc(var(--typography-font-size-base) * .8571)}.sync-title{gap:calc(var(--spacing-normal) * .5)}.panel>.notice{margin:calc(var(--spacing-normal) * .75) calc(var(--spacing-normal) * 1);font-size:calc(var(--typography-font-size-base) * .7143)}.admin-form form{padding:calc(var(--spacing-normal) * 1.125) calc(var(--spacing-normal) * 1)}.member-row{padding:calc(var(--spacing-normal) * 1.0625) calc(var(--spacing-normal) * 1);gap:calc(var(--spacing-normal) * .625)}.member-info strong{font-size:calc(var(--typography-font-size-base) * .7143)}.member-actions{gap:calc(var(--spacing-normal) * .5625);flex-direction:column}.member-actions .text-button{font-size:calc(var(--typography-font-size-base) * .7143);padding:0}.member-row .avatar{width:27px;height:27px;font-size:calc(var(--typography-font-size-base) * .7143)}.table-scroll table{font-size:calc(var(--typography-font-size-base) * .7143)}th,td{padding:calc(var(--spacing-normal) * .75) calc(var(--spacing-normal) * 1)}.tabs{gap:calc(var(--spacing-normal) * 1.375)}.tabs button{font-size:calc(var(--typography-font-size-base) * .7857)}.chart-wrap{padding-inline:calc(var(--spacing-normal) * .3125)}.chart-caption{font-size:calc(var(--typography-font-size-base) * .5714)}.notice{font-size:calc(var(--typography-font-size-base) * .7143)}.empty{padding:calc(var(--spacing-normal) * 2.5) calc(var(--spacing-normal) * 1)}.empty p{font-size:calc(var(--typography-font-size-base) * .7143)}.empty h3{font-size:calc(var(--typography-font-size-base) * .8571)}}@media (width<=420px){.sidebar{width:58px;padding-inline:calc(var(--spacing-normal) * .375)}.workspace-main{margin-left:calc(var(--spacing-normal) * 3.625);width:calc(100% - 58px)}.content{padding:calc(var(--spacing-normal) * 1.375) calc(var(--spacing-normal) * .75)}.topbar{padding-inline:calc(var(--spacing-normal) * .75)}.metric-number{font-size:calc(var(--typography-font-size-base) * 1.4286)}.metric-label{font-size:calc(var(--typography-font-size-base) * .6429)}.metric-label .icon{display:none}.metric-card{padding:calc(var(--spacing-normal) * .8125) calc(var(--spacing-normal) * .6875) 0}.badge{font-size:calc(var(--typography-font-size-base) * .6429)}.filter-bar{padding:calc(var(--spacing-normal) * .75)}.metric-meta>span:nth-child(2){font-size:calc(var(--typography-font-size-base) * .5)}.page-heading h1{font-size:calc(var(--typography-font-size-base) * 1.6429)}.device-heading>div:nth-child(2){min-width:0}.device-heading .text-button{flex-shrink:0}.device-heading span{font-size:calc(var(--typography-font-size-base) * .5)}.demo-banner,.topbar-right .badge{font-size:calc(var(--typography-font-size-base) * .5714)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.config-categories{gap:var(--spacing-small);margin-bottom:var(--spacing-large);flex-wrap:wrap;display:flex}.config-grid{gap:var(--spacing-large);grid-template-columns:1.5fr 1fr;align-items:start;display:grid}.form-two-columns{gap:var(--spacing-normal);margin-bottom:var(--spacing-large);grid-template-columns:1fr 1fr;display:grid}.json-editor{font:calc(var(--typography-font-size-base) * .78)/1.6 ui-monospace, SFMono-Regular, monospace;color:var(--colors-text);background:var(--colors-background);padding:var(--spacing-small);border:1px solid var(--colors-border);border-radius:var(--radius-control);resize:vertical;width:100%}.field-note{font-size:calc(var(--typography-font-size-base) * .65);color:var(--colors-text-muted);font-weight:400;line-height:1.8}.confirmation-check{color:var(--colors-warning);margin-top:var(--spacing-normal);flex-direction:row;align-items:flex-start}.rule-preview{font-size:calc(var(--typography-font-size-base) * .65);white-space:pre-wrap;overflow-wrap:anywhere;max-width:280px;color:var(--colors-text-muted)}details summary{cursor:pointer;color:var(--colors-primary);font-size:calc(var(--typography-font-size-base) * .71)}@media (width<=1200px){.config-grid{grid-template-columns:1fr}}@media (width<=760px){.tabs{gap:var(--spacing-normal);white-space:nowrap;overflow-x:auto}.config-categories .button{font-size:calc(var(--typography-font-size-base) * .7);padding:var(--spacing-small)}.form-two-columns{gap:var(--spacing-small)}}.chart-wrap{position:relative}.chart-tooltip{top:var(--spacing-normal);right:var(--spacing-large);background:var(--colors-chart-tooltip-bg);color:var(--colors-text);border:1px solid var(--colors-border);padding:var(--spacing-small);border-radius:var(--radius-control);box-shadow:var(--shadow-overlay);font-size:calc(var(--typography-font-size-base) * .75);pointer-events:none;position:absolute}.link-confirm{margin-top:var(--spacing-large)}.confirmed-email{align-items:center;gap:var(--spacing-normal);padding:var(--spacing-normal);background:var(--colors-background);border:1px solid var(--colors-border);border-radius:var(--radius-control);overflow-wrap:anywhere;display:flex}.confirmed-email .icon{color:var(--colors-primary)}.confirmed-email strong{font-size:calc(var(--typography-font-size-base) * .95);font-weight:550}.link-confirm>p{font-size:calc(var(--typography-font-size-base) * .75);margin:var(--spacing-normal) 0}.mail-hint{margin-top:var(--spacing-normal)}.login-box .input-icon .icon{left:var(--spacing-normal)}.login-box .input-icon input{padding-left:calc(var(--spacing-normal) + 28px)}
