@layer reset,base,layout,components,utilities;:root{--bg-page: #fafafa;--bg-surface: #ffffff;--bg-subtle: #fafafa;--text-primary: #313d3e;--text-muted: #666666;--border-default: #e5e5e5;--border-soft: #f0f0f0;--accent-primary: #ff0080;--accent-primary-hover: #e60073;--accent-gradient: linear-gradient(180deg, #ff0080 0%, #683bab 100%);--accent-gradient-diagonal: linear-gradient(135deg, #ff0080, #683bab);--danger: #c10007;--danger-hover: #a30006;--success: #2e7d32;--pill-owner-bg: rgba(104, 59, 171, .12);--pill-owner-color: #683bab;--pill-admin-bg: rgba(255, 0, 128, .12);--pill-admin-color: #ff0080;--pill-neutral-bg: #f0f0f0;--pill-neutral-color: #666666;--pill-warning-bg: rgb(254, 249, 194);--pill-warning-color: rgb(166, 95, 0);--pill-success-bg: rgb(220, 252, 231);--pill-success-color: rgb(0, 130, 54);--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-display: "Montserrat", var(--font-sans);--text-xs: .75rem;--text-sm: .85rem;--text-base: .95rem;--text-lg: 1.1rem;--text-xl: 1.4rem;--text-2xl: 1.625rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--shadow-menu: 0 8px 24px rgba(0, 0, 0, .12);--shadow-card-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-card-soft: 0 1px 3px rgba(0, 0, 0, .04);--z-dropdown: 50;--sidebar-width: 260px;--content-max: 920px;--measure: 680px}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}img,svg{display:block;max-width:100%}button{font:inherit}}@layer base{body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-page)}h1,h2,h3{font-family:var(--font-display)}h1{font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-5)}h2{font-size:var(--text-lg);margin:var(--space-6) 0 var(--space-3)}h3{font-size:1rem;margin:var(--space-5) 0 var(--space-1)}a{color:var(--accent-primary)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}section{margin-bottom:var(--space-6)}section>:first-child{margin-top:0}table{width:100%;border-collapse:collapse;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}th,td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-default)}th{background:var(--bg-surface);color:var(--text-muted);font-family:var(--font-display);font-weight:500}tr:hover td{background:var(--bg-subtle)}form{display:flex;flex-direction:column;gap:var(--space-3);max-width:480px}label{display:flex;flex-direction:column;gap:var(--space-1);font-weight:500}input,select,textarea{width:100%;padding:.4rem .6rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base);color:var(--text-primary);background:var(--bg-subtle)}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--accent-primary) 25%,transparent);border-color:var(--accent-primary)}textarea{min-height:80px;resize:vertical}button{display:inline-block;padding:.4rem 1rem;border:none;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;font-family:var(--font-display);font-size:var(--text-base);font-weight:500;line-height:1.4;width:fit-content;background:var(--accent-primary);color:#fff}button:hover{background:var(--accent-primary-hover)}}@layer layout{.app-shell{display:flex;align-items:stretch;min-height:100vh}.sidebar{flex:0 0 var(--sidebar-width);width:var(--sidebar-width);display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5) var(--space-4);background:var(--bg-surface);border-right:1px solid var(--border-default);position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto}main{flex:1 1 auto;min-width:0;max-width:var(--content-max);margin:2.75rem auto;padding:0 2.25rem var(--space-8)}@media(max-width:720px){.app-shell{flex-direction:column}.sidebar{flex-basis:auto;width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--border-default)}main{margin:var(--space-5) auto}.nav-group-account{margin-top:0}}}@layer components{.brand{font-family:var(--font-display);font-weight:700;font-size:1.15rem}.brand-mark{flex-shrink:0;width:32px;height:32px;border-radius:9px;background:var(--accent-gradient)}.brand-row{display:flex;align-items:center;gap:var(--space-3)}.btn{display:inline-block;padding:.4rem 1rem;border:none;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;font-family:var(--font-display);font-size:var(--text-base);font-weight:500;line-height:1.4;width:fit-content;background:var(--accent-primary);color:#fff}.btn:hover{background:var(--accent-primary-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-secondary{background:var(--bg-subtle);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover{background:#f3f3f3}.org-switcher{position:relative}.org-switcher-trigger{display:flex;align-items:center;gap:var(--space-2);padding:.4rem var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;list-style:none;user-select:none}.org-switcher-trigger::-webkit-details-marker{display:none}.org-switcher-trigger:hover{background:var(--bg-subtle)}.org-switcher[open] .org-switcher-trigger{border-color:var(--accent-primary)}.org-switcher-name-block{display:flex;flex-direction:column;flex:1;min-width:0}.org-switcher-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-switcher-chevron{flex:none;color:var(--text-muted);transition:transform .15s ease}.org-switcher[open] .org-switcher-chevron{transform:rotate(180deg)}.org-avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:var(--accent-gradient);color:#fff;font-family:var(--font-display);font-weight:700;font-size:var(--text-xs);line-height:1}.org-switcher-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:var(--sidebar-width);padding:.35rem;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-menu);z-index:var(--z-dropdown)}.org-switcher-list{display:flex;flex-direction:column;gap:.1rem;max-width:none;margin:0}.org-switcher-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:.4rem var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-weight:400;text-align:left;cursor:pointer}.org-switcher-item:hover{background:var(--bg-subtle)}.org-switcher-item-text{display:flex;flex-direction:column;min-width:0;flex:1}.org-switcher-item-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-switcher-item-role{font-size:var(--text-xs);color:var(--text-muted)}.org-switcher-check{flex:none;color:var(--accent-primary);font-weight:700}.org-switcher-create{display:block;width:100%;margin-top:var(--space-1);padding:var(--space-2);background:transparent;border:none;border-top:1px solid var(--border-soft);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;text-align:left;cursor:pointer}.org-switcher-create:hover{background:var(--bg-subtle)}.nav-group{display:flex;flex-direction:column;gap:.15rem}.nav-group-account{margin-top:auto}.nav-group a{display:flex;align-items:center;gap:var(--space-2);padding:.45rem var(--space-3);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;text-decoration:none}.nav-group a:hover{background:var(--bg-subtle)}.nav-group a.active{background:var(--bg-subtle);color:var(--accent-primary);font-weight:600}.nav-group a.active .nav-dot{background:var(--accent-primary)}.nav-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--border-default)}.logout-form{margin:.35rem 0 0;max-width:none}.logout-form button{width:100%;padding:.4rem var(--space-3);background:var(--bg-subtle);border:1px solid var(--border-default);color:var(--text-muted);font-family:var(--font-sans);font-weight:400}.tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-5);border-bottom:1px solid var(--border-default)}.tabs a{padding:var(--space-2) .85rem;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--text-muted);font-weight:500;text-decoration:none}.tabs a:hover{color:var(--text-primary)}.tabs a.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:600}.card{margin-bottom:var(--space-6);padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.card>:first-child{margin-top:0}.card>:last-child{margin-bottom:0}.card-danger{border-color:color-mix(in srgb,var(--danger) 35%,var(--border-default))}.stat-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.stat-card{padding:var(--space-4) var(--space-5);background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg)}.stat-card-label{margin-bottom:var(--space-2);color:var(--text-muted);font-size:var(--text-xs)}.stat-card-value{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg)}.empty-state{padding:var(--space-8) var(--space-4);background:var(--bg-surface);border:1px dashed var(--border-default);border-radius:var(--radius-xl);text-align:center}.empty-state>:first-child{margin-top:0}.empty-state>:last-child{margin-bottom:0}.pill{display:inline-flex;align-items:center;padding:.15rem .65rem;border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:var(--text-xs);line-height:1.4}.pill-owner{background:var(--pill-owner-bg);color:var(--pill-owner-color)}.pill-admin{background:var(--pill-admin-bg);color:var(--pill-admin-color)}.pill-neutral{background:var(--pill-neutral-bg);color:var(--pill-neutral-color)}.pill-warning{background:var(--pill-warning-bg);color:var(--pill-warning-color)}.pill-success{background:var(--pill-success-bg);color:var(--pill-success-color)}select.pill{padding:.3rem 1.5rem .3rem .65rem;border:none;cursor:pointer}.breadcrumb{margin-bottom:var(--space-2);color:var(--text-muted);font-size:var(--text-xs)}.progress-bar{height:8px;background:var(--border-soft);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent-gradient-diagonal)}.pricing-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--space-5);margin-bottom:var(--space-6)}.pricing-card{position:relative;padding:var(--space-6);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl)}.pricing-card-elevated{box-shadow:0 4px 14px -4px #00000014}.pricing-card-current{border:2px solid var(--accent-primary);box-shadow:var(--shadow-card-lg)}.pricing-card-badge{position:absolute;top:-11px;left:24px;background:var(--accent-primary);color:#fff;font-family:var(--font-display);font-weight:700;font-size:.7rem;padding:.2rem .65rem;border-radius:999px}.pricing-card-icon{flex-shrink:0;width:32px;height:32px;border-radius:9px;background:var(--accent-gradient)}.pricing-card-price{font-family:var(--font-display);font-weight:700;font-size:1.8rem;margin:var(--space-3) 0 var(--space-5)}.pricing-card-price-unit{font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.pricing-card-features{display:flex;flex-direction:column;gap:var(--space-2);margin:0 0 var(--space-5);padding:0;list-style:none;font-size:var(--text-base)}.pricing-card-features li{display:flex;align-items:center;gap:var(--space-2)}.pricing-card-check{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--pill-admin-bg);color:var(--accent-primary);font-size:.6rem;font-weight:700}.modal{width:calc(100% - 2rem);max-width:var(--modal-max, 460px);margin:auto;padding:var(--space-6);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.modal::backdrop{background:#0000004d}.modal>:first-child,.modal>form>:first-child{margin-top:0}.login-wrap{max-width:400px;margin:5rem auto;padding:var(--space-8);background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:20px;box-shadow:var(--shadow-card-soft)}.login-wrap h1{font-size:1.125rem;margin-bottom:var(--space-6)}}@layer utilities{.stack{display:flex;flex-direction:column;gap:var(--space-3)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.actions{display:flex;align-items:center;gap:var(--space-2)}.measure{max-width:var(--measure)}.grow{flex:1 1 auto;min-width:12rem}.input-narrow{width:5rem}.table-compact{max-width:420px}.table-scroll{overflow-x:auto}.mt-0{margin-top:0}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.text-center{text-align:center}.muted{color:var(--text-muted)}.hint{color:var(--text-muted);font-size:var(--text-sm)}p.hint{margin-bottom:var(--space-3)}.error{color:var(--danger);margin-bottom:var(--space-2)}.success{color:var(--success);margin-bottom:var(--space-2)}.badge{display:inline-block;font-size:var(--text-sm);color:var(--text-muted)}.badge-active{color:var(--accent-primary)}.form-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-2);max-width:none}.inline-form{display:inline;max-width:none}.inline-check{flex-direction:row;align-items:center;gap:var(--space-2);font-weight:400}.form-row>input,.form-row>select,.cluster>input,.cluster>select{width:auto}.btn-sm{padding:.2rem .6rem;font-size:var(--text-sm)}.btn-block{width:100%;text-align:center}.row-actions a,.row-actions button{margin-right:var(--space-1);font-size:var(--text-sm)}.divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0;color:var(--text-muted);font-size:var(--text-xs)}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid var(--border-default)}}
