:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f9fafb;--line: #e5e7eb;--line-strong: #cbd2dc;--text: #0f172a;--text-2: #334155;--muted: #64748b;--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: #eef2ff;--accent-ring: rgba(79, 70, 229, .28);--success: #047857;--success-soft: #ecfdf5;--warn: #b45309;--warn-soft: #fffbeb;--danger: #b91c1c;--danger-soft: #fef2f2;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 4px 16px rgba(15, 23, 42, .08);--shadow-lg: 0 16px 48px rgba(15, 23, 42, .18);--sidebar-w: 248px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}p{margin:0}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1px 6px}.muted{color:var(--muted)}.small{font-size:13px}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;min-height:0;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);padding:20px 14px;overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.brand-mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--accent),#7c3aed);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;letter-spacing:.02em}.brand-text strong{display:block;font-size:14px;line-height:1.2}.brand-text span{display:block;font-size:12px;color:var(--muted)}.nav{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:2px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.nav-section{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:14px 10px 6px}.nav-section-secondary{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.nav-section-context{margin-top:8px}.nav-back{display:flex;align-items:center;gap:8px;margin:2px 0 8px;padding:8px 10px;border-radius:8px;color:var(--muted);font-size:13px;font-weight:500;text-decoration:none}.nav-context-title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.nav-back:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.team-section{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}.team-section h2{margin:0}.team-section .section-intro{margin:8px 0 20px;color:var(--muted)}.nav-link{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 10px;border-radius:8px;color:var(--text-2);font-weight:500;text-decoration:none}.nav-label{min-width:0;overflow-wrap:anywhere}.nav-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.nav-link .icon{color:var(--muted)}.nav-link.active .icon{color:var(--accent)}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;font-weight:600;font-size:13px;color:var(--text-2);flex:none}.sidebar-foot .who{min-width:0;flex:1}.sidebar-foot .who strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-foot .who span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:760px){.app{display:block}.sidebar{position:static;height:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--line);padding:14px 12px}.sidebar-brand{padding-bottom:14px}.nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.nav-section{grid-column:1 / -1}.sidebar-foot{margin-top:14px}.page{padding:22px 16px 48px}}.content{min-width:0}.page{max-width:1160px;margin:0 auto;padding:28px 32px 64px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.page-header h1{font-size:22px}.page-subtitle{color:var(--muted);margin-top:4px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.icon{display:inline-flex;width:18px;height:18px;flex:none;vertical-align:middle}.icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:8px;padding:0 14px;height:38px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,box-shadow .12s;text-decoration:none}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{border-color:transparent;background:transparent;color:var(--text-2)}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);border-color:#fecaca}.btn.small{height:32px;padding:0 10px;font-size:13px}.btn.icon-only{width:32px;padding:0}.btn[disabled]{opacity:.55;cursor:default;pointer-events:none}.segmented{display:inline-flex;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:3px;gap:2px}.segmented button{border:none;background:transparent;border-radius:6px;padding:6px 12px;font-weight:500;color:var(--text-2);cursor:pointer}.segmented button.active{background:var(--text);color:#fff}.input,.select,.textarea,input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],:is(input[type=time],input[type=datetime-local]),select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:0 12px;height:38px;background:var(--surface);color:var(--text);transition:border-color .12s,box-shadow .12s}.color-field{min-width:0}.color-field-label{display:block}.color-control{display:flex;align-items:center;height:38px;padding:4px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);transition:border-color .12s,box-shadow .12s}.color-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.color-control input.color-value{width:auto;min-width:0;height:28px;flex:1;border:0;padding:0 8px;background:transparent;color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:500;text-transform:uppercase}.color-control input.color-value:focus{box-shadow:none;outline:none}.color-input{appearance:none;-webkit-appearance:none;width:30px;height:28px;flex:0 0 30px;padding:0;border:0!important;border-radius:5px;background:transparent;box-shadow:none!important;cursor:pointer}.color-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch,.color-input::-moz-color-swatch{border:1px solid rgba(0,0,0,.12);border-radius:5px}.color-error{color:var(--danger);font-size:12px;line-height:1.35}.color-error:empty{display:none}.color-control:has(.color-value[aria-invalid=true]){border-color:var(--danger)}textarea{height:auto;padding:10px 12px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}select,:is(input[type=time],input[type=datetime-local]){min-width:0;border-color:var(--line);box-shadow:var(--shadow-sm);font-weight:400}select{appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 40%,var(--muted) 40%,var(--muted) 60%,transparent 60%),linear-gradient(135deg,transparent 40%,var(--muted) 40%,var(--muted) 60%,transparent 60%);background-position:right 15px center,right 12px center;background-size:4px 4px;background-repeat:no-repeat;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@supports (appearance: base-select){select:not([multiple]):not([size]),select:not([multiple]):not([size])::picker(select){appearance:base-select}select:not([multiple]):not([size]){align-items:center}.select-value{display:flex;align-items:center;min-width:0;width:100%;border:0;padding:0;background:transparent;font:inherit;color:inherit;text-align:start}.select-value selectedcontent{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}select::picker-icon{display:none}select::picker(select){margin-block:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);width:max-content;min-width:anchor-size(width);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;scrollbar-width:none}select option{position:relative;min-height:32px;padding:6px 32px 6px 8px;gap:8px;border-radius:4px;font-weight:400;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}select option:hover,select option:focus-visible{background:var(--surface-2);outline:none}select option:checked{background:var(--accent-soft);color:var(--accent)}select option:disabled{color:var(--muted);opacity:.5;cursor:not-allowed}select option::checkmark{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--accent)}}select:not(:disabled):hover,:is(input[type=time],input[type=datetime-local]):not(:disabled):hover{border-color:var(--line-strong)}select:focus-visible,:is(input[type=time],input[type=datetime-local]):focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}select[aria-invalid=true],:is(input[type=time],input[type=datetime-local])[aria-invalid=true]{border-color:var(--danger)}select:disabled,:is(input[type=time],input[type=datetime-local]):disabled{opacity:.5;cursor:not-allowed;background-color:var(--surface-2)}:is(input[type=time],input[type=datetime-local]){font-variant-numeric:tabular-nums}:is(input[type=time],input[type=datetime-local])::-webkit-datetime-edit{padding:0}:is(input[type=time],input[type=datetime-local])::-webkit-calendar-picker-indicator{padding:4px;margin-right:-4px;border-radius:var(--radius-sm);opacity:.6;cursor:pointer}:is(input[type=time],input[type=datetime-local])::-webkit-calendar-picker-indicator:hover{background-color:var(--surface-2);opacity:1}@media(forced-colors:active){select{appearance:auto;background-image:none}select:focus-visible,:is(input[type=time],input[type=datetime-local]):focus-visible{outline:2px solid Highlight;outline-offset:2px}}input::placeholder,textarea::placeholder{color:#94a3b8}label.field,.time-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--text-2)}label.field .help,.time-field .help{font-weight:400;color:var(--muted);font-size:12px}.time-input-wrap{position:relative;min-width:0}.time-input-wrap :is(input[type=time],input[type=datetime-local]){padding-right:38px}.time-input-wrap :is(input[type=time],input[type=datetime-local])::-webkit-calendar-picker-indicator{display:none}.time-picker-trigger{position:absolute;inset:3px 3px 3px auto;display:grid;place-items:center;width:32px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.time-picker-trigger:hover{color:var(--text);background:var(--surface-2)}.time-picker-trigger:disabled{opacity:.5;cursor:not-allowed}.time-picker-trigger:focus-visible,.time-picker-list:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.time-picker{position:fixed;inset:auto;top:anchor(bottom);left:anchor(left);position-try-fallbacks:flip-block,flip-inline;position-visibility:anchors-visible;margin:4px 0;width:220px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;scrollbar-width:none;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-size:14px;font-weight:400}.time-picker-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.time-picker-heading{padding:4px 8px 8px;font-size:12px;font-weight:500;color:var(--muted);text-align:center}.time-picker-list{height:160px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;border-radius:4px}.time-picker::-webkit-scrollbar,.time-picker-list::-webkit-scrollbar{display:none}.time-picker-option{display:block;width:100%;min-height:32px;border:0;border-radius:4px;padding:6px 10px;background:transparent;color:var(--text);font-variant-numeric:tabular-nums;cursor:pointer}.time-picker-option:hover{background:var(--surface-2)}.time-picker-option[aria-selected=true]{background:var(--accent-soft);color:var(--accent);font-weight:500}.time-picker-actions{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}label.check{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text-2);cursor:pointer}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);margin:0}input[type=range]{accent-color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px 16px}.form-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px}.form-actions.page-end{margin-bottom:28px}.page section>.form-actions{margin-top:18px}.slider-row{display:flex;align-items:center;gap:10px}.slider-row input[type=range]{flex:1}.error-text{color:var(--danger);font-size:13px;margin-top:8px}.error-text:empty{display:none}.error-list{margin:8px 0 0;padding-left:18px;color:var(--danger);font-size:13px}.switch{position:relative;display:inline-block;width:36px;height:20px}.switch input{opacity:0;width:0;height:0;position:absolute}.switch .track{position:absolute;inset:0;background:var(--line-strong);border-radius:999px;transition:background .15s}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track:after{transform:translate(16px)}.switch input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.datetime-picker{width:500px}.datetime-picker:popover-open{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:12px;align-items:start}.datetime-picker .time-picker-list{height:224px}.datetime-picker .time-picker-heading{padding-inline:0}.datetime-picker .time-picker-actions{grid-column:1 / -1;margin-top:0}.calendar{min-width:0;padding-right:12px;border-right:1px solid var(--line)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.calendar-header button{width:24px;flex-shrink:0;padding:0;font-size:20px}.calendar-title{font-size:12px;text-align:center;font-weight:500}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekday{text-align:center;font-size:11px;color:var(--muted);padding:6px 0}.calendar-day{width:100%;height:32px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text);font:inherit;font-size:13px;cursor:pointer}.calendar-day:hover{background:var(--surface-2)}.calendar-day:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.calendar-day[aria-current=date]{box-shadow:inset 0 0 0 1px var(--line-strong)}.calendar [aria-selected=true] .calendar-day{background:var(--accent-soft);color:var(--accent);font-weight:500}.calendar-day:disabled{opacity:.4;cursor:not-allowed}.card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:18px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px 0}.card-title{font-size:15px;font-weight:600}.card-subtitle{color:var(--muted);font-size:13px;margin-top:2px}.card-actions{display:flex;gap:6px;flex:none}.card-body{padding:16px 20px 20px}.card-body>form{display:flex;flex-direction:column;gap:14px}.card-body>form>.btn,.card-body>form>.form-actions{align-self:flex-start}.card-body>*+*{margin-top:12px}.card-body>p+p,.card-body>.billing-summary+.form-actions{margin-top:12px}.card-body>.btn+.btn{margin-left:8px}.card-body>.form-actions{margin-top:18px}.billing-summary{display:grid;gap:8px}.card-body [aria-live=polite]>article{padding:14px 0;border-top:1px solid var(--line)}.card-body [aria-live=polite]>article:first-child{border-top:0;padding-top:0}.card-body [aria-live=polite] article h3{font-size:14px;margin-bottom:6px}.card-body [aria-live=polite] article .btn{margin-top:10px}.invitation-choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.invitation-status{margin-bottom:18px}.page>p[role=status]{margin-bottom:18px}.knowledge-summary{margin-bottom:18px}.health-list{display:grid;gap:12px}.health-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.health-row:last-child{padding-bottom:0;border-bottom:0}.health-row>div{min-width:0;display:grid;gap:4px}.health-row .muted{overflow-wrap:anywhere}.card-body>.table{margin:0 -20px -20px;width:calc(100% + 40px)}.stack>.card:last-child{margin-bottom:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-bottom:18px}.stack-lg{display:grid;gap:1.25rem}.translation-row{display:grid;gap:.75rem;padding:1rem 0;border-top:1px solid var(--line)}.translation-context{display:grid;gap:.25rem;padding:.75rem .875rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted)}.translation-context-label{color:var(--muted);font-size:.75rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase}.translation-row:first-child{border-top:0;padding-top:0}.grid-2>.card{margin-bottom:0}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:18px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm)}.kpi-label{font-size:13px;color:var(--muted);font-weight:500}.kpi-value{font-size:28px;font-weight:700;letter-spacing:-.02em;margin-top:6px;line-height:1.1}.kpi-hint{font-size:12px;color:var(--muted);margin-top:6px}.kpi.success .kpi-value{color:var(--success)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:12px 16px;border-top:1px solid var(--line);vertical-align:middle}.table thead th{border-top:none;color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:var(--surface-2)}.table tbody tr:hover{background:#fbfbfd}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table td.actions{text-align:right;white-space:nowrap}.table .primary-cell strong{display:block;font-weight:600}.table .primary-cell>span{display:block;color:var(--muted);font-size:13px}.table-wrap{min-width:0;max-width:100%;overflow-x:auto}.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--text-2);border:1px solid var(--line)}.badge.accent{background:var(--accent-soft);color:var(--accent);border-color:transparent}.badge.success{background:var(--success-soft);color:var(--success);border-color:transparent}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.tag-row{display:flex;flex-wrap:wrap;gap:4px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:4px 6px 4px 12px;font-size:13px}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty.compact{padding:18px 8px}.empty .empty-icon{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:inline-grid;place-items:center;margin-bottom:12px}.empty .empty-icon .icon{width:22px;height:22px}.empty h3{color:var(--text);font-size:15px;margin-bottom:4px}.empty p{max-width:420px;margin:0 auto}.empty .btn{margin-top:14px}.skeleton{display:grid;gap:10px}.skeleton span{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--line) 25%,var(--surface-2) 37%,var(--line) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}.skeleton span:nth-child(odd){width:70%}.content{position:relative}.route-loading{isolation:isolate}.route-loading-overlay{position:absolute;z-index:2;inset:0;display:grid;place-items:start center;padding:28px 32px 64px;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(2px);animation:route-overlay-in .5s cubic-bezier(.16,1,.3,1) both}.route-loading-panel{width:min(420px,100%);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.route-loading-panel .skeleton{grid-column:2;width:100%}.route-spinner{width:16px;height:16px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:route-spin .9s linear infinite}.route-content-enter{will-change:opacity,transform;animation:route-content-in 1.2s cubic-bezier(.16,1,.3,1) both}.route-content-enter>*{will-change:opacity,transform;animation:route-section-in 1.12s cubic-bezier(.16,1,.3,1) both}.route-content-enter>*:nth-child(2){animation-delay:55ms}.route-content-enter>*:nth-child(3){animation-delay:.11s}.route-content-enter>*:nth-child(4){animation-delay:165ms}.route-error{display:grid;justify-items:start;gap:14px;padding:28px 32px 64px}@keyframes route-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes route-content-in{0%{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes route-section-in{0%{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes route-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.route-loading-overlay,.route-content-enter,.route-content-enter>*,.route-spinner{animation:none}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.checklist{list-style:none;margin:0;padding:0}.checklist li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.checklist li:first-child{border-top:none;padding-top:0}.check-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);flex:none}.checklist li.done .check-icon{background:var(--success-soft);color:var(--success)}.check-text{flex:1;min-width:0}.check-text strong{display:block;font-weight:500}.check-text span{display:block;font-size:12px}.preview-copy{background:var(--accent-soft);border-left:3px solid var(--accent);padding:10px 14px;border-radius:8px;color:var(--text)}.widget-mock{position:relative;max-width:320px;background:#fff;color:#111;border:1px solid rgba(0,0,0,.06);border-radius:14px;box-shadow:0 8px 28px #00000024;padding:14px 16px;font-size:14px;line-height:1.5}.widget-mock-brand{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8a8f98;margin:0 20px 6px 0}.widget-mock p{margin:0 20px 8px 0}.widget-mock-item{display:inline-block;font-size:12px;color:#6b7280;background:#f3f4f6;border-radius:999px;padding:2px 10px;margin-bottom:8px}.widget-mock-close{position:absolute;top:10px;right:12px;color:#9ca3af;font-size:18px;line-height:1}.widget-mock-more{display:block;font-size:13px;color:var(--accent);text-decoration:underline}.code-block{background:#0f172a;color:#e2e8f0;border-radius:10px;padding:14px 16px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;margin:0}.toast-stack{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{background:var(--text);color:#fff;padding:10px 14px;border-radius:10px;box-shadow:var(--shadow-lg);font-size:14px;display:flex;align-items:center;gap:10px;animation:toast-in .18s ease-out}.toast.error{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.modal-backdrop{margin:0;width:100%;height:100%;max-width:none;max-height:none;border:0;color:var(--text);position:fixed;inset:0;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding:56px 16px;overflow-y:auto;z-index:50}.modal-backdrop::backdrop{background:transparent}.modal-backdrop:not([open]){display:none}.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:10px 14px;border-radius:8px;background:var(--surface);color:var(--accent);transform:translateY(-150%)}.skip-link:focus{transform:none;outline:2px solid var(--accent)}.modal{background:var(--surface);border-radius:var(--radius-lg);width:min(680px,100%);box-shadow:var(--shadow-lg);animation:toast-in .16s ease-out}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 0}.modal-head h2{font-size:17px}.modal-body{padding:16px 22px 22px}.modal-body>*+*{margin-top:14px}.modal-body>form,.modal-body>div{display:flex;flex-direction:column;gap:14px}.modal-body>form{align-items:stretch}.modal-body>form>.btn,.modal-body>form>.form-actions{align-self:flex-start}.modal-body .form-actions{margin-top:4px}.modal-body .btn+.btn{margin-left:8px}.audit-detail-content>*+*{margin-top:10px}.image-preview{max-width:140px;max-height:100px;border-radius:8px;border:1px solid var(--line);object-fit:cover}input[type=file]{display:none}.login-layout{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 10% -10%,var(--accent-soft),transparent 60%),var(--bg)}.login-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:30px 30px 26px}.login-card .sidebar-brand{padding:0 0 18px}.login-card h1{font-size:20px;margin-bottom:4px}@media(max-width:960px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--line);padding:12px 14px}.nav{flex-direction:row;flex-wrap:wrap}.nav-section,.sidebar-foot .who{display:none}.sidebar-foot{border-top:none;padding-top:8px}.grid-2{grid-template-columns:minmax(0,1fr)}.page{padding:20px 16px 48px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.host-row{display:flex;gap:18px;align-items:flex-start}.host-avatar-preview,.widget-mock-avatar{width:48px;height:48px;border-radius:50%;background:#1f2937;color:#fff;display:inline-grid;place-items:center;font-weight:600;font-size:18px;overflow:hidden;flex:none;box-shadow:0 6px 18px #0000002e}.host-avatar-preview img,.widget-mock-avatar img{width:100%;height:100%;object-fit:cover}.widget-mock-host{display:flex;align-items:center;gap:10px;margin:0 20px 8px 0}.widget-mock-host .widget-mock-avatar{width:28px;height:28px;font-size:12px;box-shadow:none}.widget-mock-host .widget-mock-brand{margin:0}.widget-mock:after{content:"";position:absolute;right:22px;bottom:-7px;width:14px;height:14px;background:#fff;border-right:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06);transform:rotate(45deg)}.mode-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px}.mode-option{position:relative;display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:start;border:1px solid var(--line-strong);border-radius:var(--radius);padding:14px 16px;cursor:pointer;background:var(--surface);transition:border-color .12s,box-shadow .12s,background .12s}.mode-option:hover{background:var(--surface-2)}.mode-option input{position:absolute;opacity:0;width:0;height:0}.mode-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-ring)}.mode-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.mode-title{font-weight:600}.mode-text{grid-column:2;color:var(--muted);font-size:13px}.mode-diagram{grid-row:1 / span 2;position:relative;width:72px;height:60px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);padding:8px 7px;display:flex;flex-direction:column;gap:5px;overflow:hidden}.mode-line{display:block;height:5px;border-radius:3px;background:var(--line)}.mode-line.short{width:60%}.mode-dot{position:absolute;right:6px;bottom:6px;width:14px;height:14px;border-radius:50%;background:var(--accent)}.mode-card{display:block;height:20px;border-radius:4px;background:var(--accent);opacity:.85}.suggestion-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}.suggestion-row:first-child{border-top:none;padding-top:0}.suggestion-actions{display:flex;gap:8px;flex:none}.pos-status{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.allergen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:8px 14px}.allergen-cell{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--text-2);text-transform:capitalize}.allergen-cell select{width:auto;min-width:118px;height:32px;font-size:13px}.field-block{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--text-2)}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(76px,100%),1fr));gap:8px;margin-top:6px}.avatar-tile{display:grid;justify-items:center;gap:4px;padding:8px 4px 6px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;font:inherit;color:#4b5563;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.avatar-tile:hover{border-color:#c7cbd2;transform:translateY(-1px)}.avatar-tile.on{border-color:#1f2937;box-shadow:0 0 0 2px #1f29371f;color:#111827}.avatar-tile img{width:56px;height:56px;border-radius:50%;background:#f3f4f6}.avatar-tile-name{font-size:11px;font-weight:600}.avatar-tile-own{width:56px;height:56px;border-radius:50%;border:1px dashed #c7cbd2;display:grid;place-items:center;font-size:20px;color:#9ca3af}@media(max-width:480px){.host-row{flex-direction:column}}.card-head>div:first-child{min-width:0;overflow-wrap:anywhere}.branding-layout{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(270px,1.35fr);gap:24px;align-items:start}.branding-preview-panel{min-width:0}.branding-preview-label{display:block;margin-bottom:7px;color:var(--text-2);font-size:12px;font-weight:500}.branding-preview{display:grid;gap:8px;min-height:118px;padding:14px 16px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:var(--surface);color:var(--text);font-size:13px;line-height:1.5}.branding-preview-head{display:flex;align-items:center;gap:10px}.branding-preview-avatar{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#fff;font-size:12px;font-weight:700}.branding-preview-name{display:grid;line-height:1.25}.branding-preview-name strong{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.branding-preview-name small{color:var(--muted);font-size:11px}.branding-preview-bubble{width:fit-content;max-width:92%;padding:9px 12px;border-radius:14px 14px 14px 4px}.branding-preview-action{width:fit-content;cursor:default;font-size:13px;text-decoration:underline}@media(max-width:1000px){.branding-layout{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.branding-layout{grid-template-columns:1fr}}
