:root{--c-bg: #f7f8fa;--c-surface: #ffffff;--c-surface-2: #f1f3f6;--c-border: #e3e6ea;--c-border-strong: #cdd2da;--c-text: #0f1729;--c-text-secondary: #44506a;--c-text-muted: #79839b;--c-accent: #4f46e5;--c-accent-hover: #4338ca;--c-accent-soft: #eef0fe;--c-positive: #15803d;--c-warn: #b45309;--c-danger: #c0303a;--c-focus: #6366f1;--chart-1: #4f46e5;--chart-2: #0e9f6e;--chart-3: #d97706;--chart-4: #db2777;--chart-5: #0891b2;--chart-6: #7c3aed;--chart-grid: #e7e9ee;--chart-axis: #79839b;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .875rem;--fs-lg: 1rem;--fs-xl: 1.375rem;--fs-2xl: 1.75rem;--fw-normal: 450;--fw-medium: 550;--fw-bold: 650;--lh: 1.5;--tracking-tight: -.011em;--tracking-wide: .04em;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 41, .04), 0 1px 3px rgba(15, 23, 41, .06);--shadow-md: 0 2px 4px rgba(15, 23, 41, .05), 0 6px 16px rgba(15, 23, 41, .08);--ring: 0 0 0 3px rgba(99, 102, 241, .35);--dur: .14s;--ease: cubic-bezier(.4, 0, .2, 1);--control-h: 2rem;--control-pad-x: .6rem}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-md);font-weight:var(--fw-normal);line-height:var(--lh);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{letter-spacing:var(--tracking-tight);font-weight:var(--fw-bold)}a{color:var(--c-accent);text-decoration:none}a:hover{text-decoration:underline}button,select,input{font:inherit;color:var(--c-text)}button{cursor:pointer}select,input[type=text],input[type=search],input[type=date],input[type=datetime-local]{height:var(--control-h);padding:0 var(--control-pad-x);background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}select option{color:var(--c-text);background:var(--c-surface)}:where(button,select,input,a,[tabindex]):focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--c-focus)}.app{max-width:1240px;margin:0 auto;padding:var(--sp-5) var(--sp-5) var(--sp-7)}.app-header{display:flex;align-items:baseline;gap:var(--sp-4);padding-bottom:var(--sp-4);margin-bottom:var(--sp-5);border-bottom:1px solid var(--c-border)}.app-header h1{margin:0;font-size:var(--fs-2xl)}.app-header .tagline{margin:0;color:var(--c-text-muted);font-size:var(--fs-sm)}.app-nav{margin-left:auto;display:flex;gap:var(--sp-1)}.app-nav a{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);color:var(--c-text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.app-nav a:hover{background:var(--c-surface-2);text-decoration:none}.controls{display:flex;flex-wrap:wrap;gap:var(--sp-5);align-items:flex-end;margin-bottom:var(--sp-5);padding:var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.control{display:flex;flex-direction:column;gap:var(--sp-2)}.control>label{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted)}.control select,.control input{min-width:168px}.range-buttons{display:inline-flex;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:2px;gap:2px}.range-buttons button{border:none;background:transparent;color:var(--c-text-secondary);padding:0 var(--sp-3);height:calc(var(--control-h) - 4px);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.range-buttons button:hover{background:var(--c-surface);color:var(--c-text)}.range-buttons button.active{background:var(--c-accent);color:#fff}.date-range{display:inline-flex;align-items:center;gap:var(--sp-2)}.date-range-sep{color:var(--c-text-muted)}.edit-toggle{height:var(--control-h);padding:0 var(--sp-4);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.edit-toggle:hover{border-color:var(--c-accent);color:var(--c-accent)}.edit-toggle--on{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.edit-toggle--on:hover{background:var(--c-accent-hover);color:#fff}.dash-panel-title--static{border-color:transparent;background:none;cursor:default}.dash-panel-title--static:hover{border-color:transparent;background:none}.live-controls{display:flex;align-items:center;gap:var(--sp-3)}.live-toggle{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--c-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.live-toggle input{accent-color:var(--c-accent);cursor:pointer}.live-controls select{min-width:4.5rem}.live-controls select:disabled{opacity:.45;cursor:not-allowed}.chart-container{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--sp-4);min-height:380px;box-shadow:var(--shadow-sm)}.chart-drag{position:relative;touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none}.drag-band{position:absolute;top:0;bottom:24px;background:#4f46e529;border-left:1px solid var(--c-accent);border-right:1px solid var(--c-accent);pointer-events:none}.drag-band--pan{top:auto;bottom:0;height:22px;background:#4f46e547}.chart-meta{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--c-text-muted);font-variant-numeric:tabular-nums}.live-dot{color:var(--c-positive)}.live-dot--err{color:var(--c-warn)}.empty-state{color:var(--c-text-muted);text-align:center;padding:var(--sp-7) var(--sp-4);font-style:italic}.error-state{color:var(--c-danger);text-align:center;padding:var(--sp-7) var(--sp-4)}.controls .error-state{padding:var(--sp-2) 0;text-align:left;font-size:var(--fs-sm);font-style:normal}.dash-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-bottom:var(--sp-5);border-bottom:1px solid var(--c-border)}.dash-tab{display:flex;align-items:center;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.dash-tab--active{box-shadow:inset 0 -2px 0 var(--c-accent)}.dash-tab-label{border:none;background:none;padding:var(--sp-3) var(--sp-3);color:var(--c-text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.dash-tab--active .dash-tab-label,.dash-tab-label:hover{color:var(--c-text)}.dash-tab-x{border:none;background:none;color:var(--c-text-muted);padding:0 var(--sp-2) 0 0;font-size:var(--fs-lg)}.dash-tab-x:hover{color:var(--c-danger)}.dash-tab-add{border:1px dashed var(--c-border-strong);background:none;border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);color:var(--c-text-muted);font-size:var(--fs-sm);align-self:center}.dash-tab-add:hover{color:var(--c-accent);border-color:var(--c-accent)}.dash-section{border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--sp-5);margin-bottom:var(--sp-5);background:var(--c-surface);box-shadow:var(--shadow-sm)}.dash-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-4)}.dash-section-head h2{margin:0;font-size:var(--fs-lg);display:flex;align-items:center;gap:var(--sp-3)}.dash-kind{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);color:var(--c-text-muted);border:1px solid var(--c-border);border-radius:var(--radius-pill);padding:1px var(--sp-2);text-transform:uppercase}.dash-section-actions{display:flex;gap:var(--sp-2)}.dash-section-actions button,.dash-add-section{font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:var(--sp-2) var(--sp-3);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-text-secondary);transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.dash-section-actions button:hover{border-color:var(--c-accent);color:var(--c-accent)}.dash-add-section{border-style:dashed;color:var(--c-text-muted)}.dash-add-section:hover{color:var(--c-accent);border-color:var(--c-accent)}.dash-grid{position:relative;width:100%}.dash-grid .react-grid-item{transition:all .18s var(--ease)}.dash-grid--edit .dash-panel-head{cursor:grab;border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-2);margin:calc(-1 * var(--sp-1)) calc(-1 * var(--sp-2)) var(--sp-2);transition:background var(--dur) var(--ease)}.dash-grid--edit .dash-panel-head:hover{background:var(--c-surface-2)}.dash-grid--edit .dash-panel-head:active{cursor:grabbing}.dash-panel-grip{display:inline-flex;align-items:center;color:var(--c-text-muted);cursor:grab;flex-shrink:0;margin-right:var(--sp-1);opacity:.6;transition:opacity var(--dur) var(--ease)}.dash-panel-head:hover .dash-panel-grip{opacity:1;color:var(--c-accent)}.dash-panel-grip:active{cursor:grabbing}.react-grid-placeholder{background:var(--c-accent-soft)!important;border:1px dashed var(--c-accent)!important;border-radius:var(--radius-md)!important;opacity:.85!important}.dash-panel{display:flex;flex-direction:column;height:100%;border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--sp-4);background:var(--c-surface);transition:box-shadow var(--dur) var(--ease);overflow:hidden}.dash-panel-body{flex:1;min-height:0;display:flex;flex-direction:column}.dash-panel-body .chart-drag{flex:1;min-height:0}.dash-panel:hover{box-shadow:var(--shadow-md)}.dash-panel-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.dash-panel-title{flex:1;border:1px solid transparent;background:none;font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--c-text);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);height:auto}.dash-panel-title:hover{border-color:var(--c-border);background:var(--c-surface-2)}.dash-panel-actions{display:flex;gap:var(--sp-1)}.dash-panel-actions button{border:1px solid var(--c-border-strong);background:var(--c-surface);border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-2);color:var(--c-text-secondary);font-size:var(--fs-xs);font-weight:var(--fw-medium)}.dash-panel-actions button:hover{border-color:var(--c-accent);color:var(--c-accent)}.dash-panel-config{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3);padding:var(--sp-3);background:var(--c-surface-2);border-radius:var(--radius-sm)}.dash-panel-config select{min-width:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172973;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:50}.modal{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:min(560px,100%);max-height:90vh;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--c-border)}.modal-head h3{margin:0;font-size:var(--fs-lg)}.modal-x{border:none;background:none;font-size:var(--fs-xl);color:var(--c-text-muted);line-height:1}.modal-x:hover{color:var(--c-danger)}.modal-body{padding:var(--sp-5);overflow:auto;display:flex;flex-direction:column;gap:var(--sp-4)}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field>span{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted)}.field-row{display:flex;gap:var(--sp-4)}.field-row .field{flex:1}.modal-hint{margin:0;font-size:var(--fs-sm);color:var(--c-text-muted)}.modal-foot{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--c-border);display:flex;justify-content:flex-end}.dash-tag-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);flex-basis:100%}.dash-chip{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--c-accent-soft);border:1px solid transparent;color:var(--c-accent);border-radius:var(--radius-pill);padding:2px var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-medium)}.dash-chip button{border:none;background:none;color:var(--c-accent);font-size:var(--fs-md);line-height:1;padding:0;opacity:.7}.dash-chip button:hover{opacity:1}.modal-section-label{margin-top:var(--sp-4);margin-bottom:var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted)}.modal-hint-inline{text-transform:none;letter-spacing:0;font-weight:var(--fw-normal)}.bin-field{display:flex;gap:var(--sp-2);align-items:center}.bin-field select{flex:1}.bin-custom{width:80px}.series-list{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-2)}.series-row{border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface)}.series-row-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.series-caret{border:none;background:none;color:var(--c-text-muted);font-size:var(--fs-sm);padding:0;width:16px;cursor:pointer}.series-name{flex:1;font-weight:var(--fw-medium);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-type{max-width:190px}.series-badge{font-size:var(--fs-xs);color:var(--c-accent);background:var(--c-accent-soft);border-radius:var(--radius-pill);padding:1px var(--sp-2)}.series-x{border:none;background:none;color:var(--c-text-muted);font-size:var(--fs-md);line-height:1;padding:0 var(--sp-1);cursor:pointer}.series-x:hover{color:var(--c-danger)}.series-detail{display:flex;flex-wrap:wrap;gap:var(--sp-3);padding:0 var(--sp-3) var(--sp-3) calc(16px + var(--sp-2) + var(--sp-3));border-top:1px solid var(--c-border);padding-top:var(--sp-3)}.series-detail .field{flex:1;min-width:180px}.series-reset{align-self:flex-end;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-muted);border-radius:var(--radius-md);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs);cursor:pointer}.series-reset:hover{color:var(--c-text)}.tag-tree{border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface);overflow:hidden}.tag-tree-search{width:100%;border:none;border-bottom:1px solid var(--c-border);border-radius:0;padding:var(--sp-3);font-size:var(--fs-sm)}.tag-tree-search:focus{outline:none;box-shadow:inset 0 -2px 0 var(--c-accent)}.tag-tree-body{max-height:260px;overflow:auto}.tag-group+.tag-group{border-top:1px solid var(--c-border)}.tag-group-head{display:flex;align-items:center;gap:var(--sp-2);width:100%;border:none;background:var(--c-surface-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer}.tag-group-head:hover{background:var(--c-border)}.tag-caret{color:var(--c-text-muted);width:14px}.tag-group-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-group-kind{font-size:var(--fs-xs);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em}.tag-group-badge{font-size:var(--fs-xs);background:var(--c-accent);color:#fff;border-radius:var(--radius-pill);padding:0 var(--sp-2);min-width:18px;text-align:center}.tag-group-items{padding:var(--sp-1) 0}.tag-tree-note{padding:var(--sp-2) var(--sp-5);font-size:var(--fs-sm);color:var(--c-text-muted);font-style:italic}.tag-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-5);font-size:var(--fs-sm);cursor:pointer}.tag-item:hover{background:var(--c-surface-2)}.tag-item input{accent-color:var(--c-accent);cursor:pointer}.tag-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-item-unit{font-size:var(--fs-xs);color:var(--c-text-secondary)}.tag-item-type{font-size:var(--fs-xs);color:var(--c-text-muted);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:0 var(--sp-1)}.login-shell{min-height:calc(100vh - 2 * var(--sp-5));display:flex;align-items:center;justify-content:center}.login-card{width:100%;max-width:360px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--sp-6) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.login-title{margin:0;font-size:var(--fs-2xl);text-align:center}.login-tagline{margin:0 0 var(--sp-2);text-align:center;color:var(--c-text-muted);font-size:var(--fs-sm)}.login-card .field{width:100%}.login-card .field input{width:100%;box-sizing:border-box}.login-error{background:color-mix(in srgb,var(--c-danger) 12%,transparent);color:var(--c-danger);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.login-submit{width:100%;margin-top:var(--sp-2)}.account-menu{position:relative;margin-left:var(--sp-2)}.account-avatar{width:32px;height:32px;border-radius:999px;border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text);font-weight:var(--fw-bold);font-size:var(--fs-sm);cursor:pointer}.account-avatar:hover{border-color:var(--c-accent);color:var(--c-accent)}.account-pop{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--sp-2);z-index:10;display:flex;flex-direction:column;gap:var(--sp-1)}.account-meta{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-border);margin-bottom:var(--sp-1)}.account-email{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-text);overflow:hidden;text-overflow:ellipsis}.account-role{font-size:var(--fs-xs);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.account-action{border:none;background:none;text-align:left;padding:var(--sp-2) var(--sp-3);color:var(--c-text);font-size:var(--fs-sm);border-radius:var(--radius-sm);cursor:pointer}.account-action:hover{background:var(--c-surface-2);color:var(--c-accent)}.login-banner{background:color-mix(in srgb,var(--c-positive, #2ea043) 12%,transparent);color:var(--c-positive, #2ea043);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.page-title{margin:0 0 var(--sp-4);font-size:var(--fs-lg)}.invite-form{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--sp-4);box-shadow:var(--shadow-sm);margin-bottom:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2)}.invite-row{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-end}.invite-row .field{flex:1;min-width:200px}.invite-success{font-size:var(--fs-sm);color:var(--c-positive, #2ea043)}.users-table-wrap{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.users-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.users-table th,.users-table td{text-align:left;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-border)}.users-table th{background:var(--c-surface-2);font-weight:var(--fw-bold);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:var(--fs-xs)}.users-table tr:last-child td{border-bottom:none}.dim{color:var(--c-text-muted)}.row-actions{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;justify-content:flex-end}.row-action{border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text-secondary);border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs);cursor:pointer;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.row-action:hover{border-color:var(--c-accent);color:var(--c-accent)}.row-action:disabled{opacity:.55;cursor:not-allowed}.row-action--danger:hover{border-color:var(--c-danger);color:var(--c-danger)}.row-error{flex-basis:100%;color:var(--c-danger);font-size:var(--fs-xs)}
