@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p{margin:0}button,input{font:inherit;color:inherit}svg{flex:none}}@layer tokens{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:var(--lightningcss-light,#f6f7f9)var(--lightningcss-dark,#14171d);--color-surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1c2028);--color-surface-2:var(--lightningcss-light,#eef0f4)var(--lightningcss-dark,#252a34);--color-border:var(--lightningcss-light,#dde1e8)var(--lightningcss-dark,#2f3542);--color-border-strong:var(--lightningcss-light,#7d8698)var(--lightningcss-dark,#7a8396);--color-text:var(--lightningcss-light,#1d2230)var(--lightningcss-dark,#e9ebf0);--color-text-muted:var(--lightningcss-light,#566074)var(--lightningcss-dark,#a3abbb);--color-accent:var(--lightningcss-light,#a9d3f5)var(--lightningcss-dark,#7fb3dd);--color-accent-strong:var(--lightningcss-light,#1d5a8e)var(--lightningcss-dark,#a9cdee);--color-on-accent:var(--lightningcss-light,#1d2230)var(--lightningcss-dark,#10151c);--color-accent-hover:color-mix(in srgb, var(--color-accent), var(--color-text) 12%);--color-accent-active:color-mix(in srgb, var(--color-accent), var(--color-text) 20%);--color-accent-soft:color-mix(in srgb, var(--color-surface), var(--color-accent) 22%);--color-focus:var(--color-accent-strong);--color-danger:var(--lightningcss-light,#9b1c1c)var(--lightningcss-dark,#ffb4b4);--color-danger-bg:var(--lightningcss-light,#fde8e8)var(--lightningcss-dark,#3a1d21);--color-danger-fill:var(--lightningcss-light,#f4b8b8)var(--lightningcss-dark,#e08a8a);--color-on-danger-fill:var(--lightningcss-light,#3b0d0d)var(--lightningcss-dark,#2a0a0a);--color-success:var(--lightningcss-light,#166534)var(--lightningcss-dark,#9de3b4);--color-success-bg:var(--lightningcss-light,#e3f5ea)var(--lightningcss-dark,#17301f);--color-warning:var(--lightningcss-light,#7a4b00)var(--lightningcss-dark,#f3cf85);--color-warning-bg:var(--lightningcss-light,#fdf1d8)var(--lightningcss-dark,#382c12);--color-info:var(--lightningcss-light,#1d5a8e)var(--lightningcss-dark,#a9cdee);--color-info-bg:var(--lightningcss-light,#e4effa)var(--lightningcss-dark,#1c2c3d);--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--line-height-tight:1.25;--line-height-base:1.5;--font-weight-medium:500;--font-weight-bold:650;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:3rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-full:999px;--shadow-1:0 1px 2px var(--lightningcss-light,#1d223014)var(--lightningcss-dark,#0006);--shadow-2:0 6px 20px var(--lightningcss-light,#1d22301a)var(--lightningcss-dark,#00000073);--duration-fast:.15s;--duration-base:.2s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--tap-min:44px;--content-width:30rem;--content-width-wide:64rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-role=owner]{--color-accent:var(--lightningcss-light,#a8e0c4)var(--lightningcss-dark,#7fcaa3);--color-accent-strong:var(--lightningcss-light,#1b6b49)var(--lightningcss-dark,#9fdcbc)}:root[data-role=staff]{--color-accent:var(--lightningcss-light,#f6c9a8)var(--lightningcss-dark,#e5a97c);--color-accent-strong:var(--lightningcss-light,#8f4a14)var(--lightningcss-dark,#f0bf9b)}:root[data-role=support]{--color-accent:var(--lightningcss-light,#cdbcf2)var(--lightningcss-dark,#b09ae0);--color-accent-strong:var(--lightningcss-light,#5a3fa0)var(--lightningcss-dark,#cbbaf0)}:root[data-role=platform]{--color-accent:var(--lightningcss-light,#f2b5c4)var(--lightningcss-dark,#dc93a8);--color-accent-strong:var(--lightningcss-light,#9a3050)var(--lightningcss-dark,#ecaabb)}}@layer base{html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}::selection{background:var(--color-accent);color:var(--color-on-accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}}@layer components{.shell{min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;display:flex}.shell-header{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:3.5rem;padding:env(safe-area-inset-top) var(--space-4) 0;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex}.shell-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.shell-title:before{content:"";width:.625rem;height:.625rem;margin-right:var(--space-2);border-radius:var(--radius-full);background:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-strong);display:inline-block}.app{width:100%;max-width:var(--content-width);padding:var(--space-6) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));flex:1;margin:0 auto}.app-wide{max-width:var(--content-width-wide)}@media (width>=48rem){.app{padding-top:var(--space-8)}}.stack{gap:var(--space-3);flex-direction:column;display:flex}.heading{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.01em}.heading-1{font-size:var(--font-size-2xl)}.heading-2{font-size:var(--font-size-xl)}.heading-3{font-size:var(--font-size-lg)}.muted{color:var(--color-text-muted)}.divider{align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.divider:before,.divider:after{content:"";background:var(--color-border);flex:1;height:1px}.card{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.card-flat{box-shadow:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-5);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:1px solid #0000;line-height:1.2;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn-full{width:100%}.btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-primary:active:not(:disabled){background:var(--color-accent-active)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-2)}.btn-ghost{color:var(--color-accent-strong);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-accent-soft)}.btn-danger{background:var(--color-danger-fill);color:var(--color-on-danger-fill)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger-fill), var(--color-on-danger-fill) 12%)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn[aria-busy=true]{cursor:progress}.link{min-height:var(--tap-min);color:var(--color-accent-strong);text-align:left;text-underline-offset:.2em;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;text-decoration:underline;display:inline-flex}.link:hover{text-decoration-thickness:2px}.links{flex-direction:column;align-items:flex-start;display:flex}.field{gap:var(--space-1);flex-direction:column;display:flex}.field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.field-control{display:flex;position:relative}.field-input{width:100%;min-height:var(--tap-min);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-md);transition:border-color var(--duration-fast) var(--ease-standard)}.field-input::placeholder{color:var(--color-text-muted)}.field-input:hover:not(:disabled){border-color:var(--color-text-muted)}.field-input:focus-visible{outline-offset:0;border-color:var(--color-focus)}.field-input:disabled{opacity:.6;background:var(--color-surface-2)}.field-input[aria-invalid=true]{border-color:var(--color-danger);border-width:2px}.field-has-toggle .field-input{padding-right:var(--tap-min)}.field-toggle{width:var(--tap-min);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;place-items:center;display:grid;position:absolute;inset:0 0 0 auto}.field-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.field-error{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-danger);display:flex}.field-select:after{content:"";border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);pointer-events:none;width:.5rem;height:.5rem;margin-block:auto;position:absolute;inset-block:0;inset-inline-end:var(--space-4);transform:translateY(-25%)rotate(45deg)}select.field-input{appearance:none;color:var(--color-text);cursor:pointer;padding-inline-end:calc(var(--space-4) + 1.5rem)}.badge{padding:0 var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);align-self:flex-start;align-items:center;line-height:1.6;display:inline-flex}.badge-accent{background:var(--color-accent-soft);color:var(--color-accent-strong)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.object-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.object-card{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);flex-wrap:wrap;display:flex}.object-card-body{gap:var(--space-1);flex-direction:column;flex:12rem;min-width:0;display:flex}.object-card-title{font-weight:var(--font-weight-medium);overflow-wrap:anywhere}.object-card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--alert-bg);color:var(--alert-color);font-size:var(--font-size-sm);border:1px solid;display:flex}.alert>svg{margin-top:.1rem}.alert-text{color:var(--color-text)}.alert-danger{--alert-bg:var(--color-danger-bg);--alert-color:var(--color-danger)}.alert-success{--alert-bg:var(--color-success-bg);--alert-color:var(--color-success)}.alert-warning{--alert-bg:var(--color-warning-bg);--alert-color:var(--color-warning)}.alert-info{--alert-bg:var(--color-info-bg);--alert-color:var(--color-info)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, transparent, var(--lightningcss-light,#fff9)var(--lightningcss-dark,#ffffff14), transparent) var(--color-surface-2);max-width:100%;animation:skeleton-shimmer 1.4s var(--ease-standard) infinite;background-size:200% 100%;display:block}.skeleton-circle{border-radius:var(--radius-full)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:var(--spinner-size,1.25rem);height:var(--spinner-size,1.25rem);border:2px solid color-mix(in srgb, currentcolor, transparent 70%);border-radius:var(--radius-full);border-top-color:currentColor;animation:.8s linear infinite spinner-rotate;display:inline-block}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.state{align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-4);text-align:center;flex-direction:column;display:flex}.state-icon{border-radius:var(--radius-full);background:var(--color-accent-soft);width:3.5rem;height:3.5rem;color:var(--color-accent-strong);place-items:center;display:grid}.state-icon-danger{background:var(--color-danger-bg);color:var(--color-danger)}.state-text{max-width:22rem;color:var(--color-text-muted)}.theme-switch{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);display:flex}.theme-option{justify-content:center;align-items:center;gap:var(--space-1);min-height:calc(var(--tap-min) - 8px);padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);background:0 0;border:none;flex:1;display:inline-flex}.theme-option[aria-checked=true]{background:var(--color-surface);color:var(--color-text);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-1)}.theme-option:hover:not([aria-checked=true]){color:var(--color-text)}.icon-btn{width:var(--tap-min);height:var(--tap-min);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);place-items:center;padding:0;display:inline-grid;position:relative;box-shadow:0 2px 8px #00000040}.icon-btn:hover:not(:disabled){background:var(--color-accent-soft)}.icon-btn-primary{background:var(--color-accent);color:var(--color-on-accent);border-color:#0000}.icon-btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.icon-btn:disabled{cursor:default;opacity:.7}.icon-btn:after{content:attr(data-tip);top:50%;right:calc(100% + var(--space-2));padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-bg);font-size:var(--font-size-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);position:absolute;transform:translateY(-50%)}.icon-btn:hover:after,.icon-btn:focus-visible:after{opacity:1}.floating-actions{right:var(--space-3);bottom:calc(var(--space-8) + env(safe-area-inset-bottom));z-index:5;gap:var(--space-2);flex-direction:column;display:flex;position:absolute}}@layer utilities{.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.location-picker{gap:var(--space-3);flex-direction:column;display:flex}.location-address{gap:var(--space-2);flex-direction:column;display:flex}.location-frame{border-radius:var(--radius-md);background:var(--color-bg);height:280px;position:relative;overflow:hidden}.location-frame>.location-map{position:absolute;inset:0}.location-coords{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}
