:root,[data-theme=dark]{--surface-base:#111;--surface-primary:#171717;--surface-elevated:#1e1e1e;--surface-hover:#252525;--surface-active:#323232;--surface-border:#404040;--surface-border-subtle:#222;--text-primary:#ececec;--text-secondary:#a0a0a0;--text-tertiary:#666;--text-disabled:#3a3a3a;--text-inverse:#111;--shadow-sm:0 2px 8px rgba(0,0,0,.3);--shadow-md:0 8px 24px rgba(0,0,0,.4);--shadow-lg:0 16px 48px rgba(0,0,0,.5);--glass-bg:hsla(0,0%,7%,.75);--glass-border:1px solid hsla(0,0%,100%,.06);--glass-blur:blur(20px)}[data-theme=light]{--surface-base:#fff;--surface-primary:#f8f8f8;--surface-elevated:#fff;--surface-hover:#f0f0f0;--surface-active:#eee;--surface-border:#e7e7e7;--surface-border-subtle:#f0f0f0;--text-primary:#0d0d0d;--text-secondary:#6e6e73;--text-tertiary:#a0a0a0;--text-disabled:#c8c8c8;--text-inverse:#fff;--shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow-md:0 4px 16px rgba(0,0,0,.08);--shadow-lg:0 12px 40px rgba(0,0,0,.1);--glass-bg:hsla(0,0%,100%,.75);--glass-border:1px solid rgba(0,0,0,.06);--glass-blur:blur(20px)}:root{--brand-ambient:#3a7c9d;--brand-interactive:#2b8fb3;--brand-hover:#239ab8;--brand-muted:rgba(43,143,179,.1);--status-critical:#e5484d;--status-critical-bg:rgba(229,72,77,.1);--status-warning:#f5a623;--status-warning-bg:rgba(245,166,35,.1);--status-success:#30a46c;--status-success-bg:rgba(48,164,108,.1);--status-neutral:#71717a;--status-neutral-bg:hsla(240,4%,46%,.1);--font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial;--font-mono:"SF Mono","Fira Code",monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-pill:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--ease-out:cubic-bezier(0.16,1,0.3,1);--duration-fast:120ms;--duration-normal:200ms;--duration-slow:300ms;--z-sticky:10;--z-header:20;--z-sidebar:30;--z-modal:40;--z-search:50;--z-toast:60;--font-size-display:28px;--font-weight-display:700;--line-height-display:1.15;--letter-spacing-display:-0.02em;--font-size-title:24px;--font-weight-title:600;--line-height-title:1.2;--letter-spacing-title:-0.01em;--font-size-heading:18px;--font-weight-heading:600;--line-height-heading:1.3;--letter-spacing-heading:0;--font-size-section:14px;--font-weight-section:600;--line-height-section:1.4;--letter-spacing-section:0;--font-size-body:14px;--font-weight-body:400;--line-height-body:1.6;--letter-spacing-body:0;--font-weight-body-strong:500;--font-size-label:13px;--font-weight-label:500;--line-height-label:1.4;--letter-spacing-label:0;--font-size-caption:12px;--font-weight-caption:400;--line-height-caption:1.4;--letter-spacing-caption:0;--font-size-overline:11px;--font-weight-overline:500;--line-height-overline:1.2;--letter-spacing-overline:0.08em;--font-size-action:13px;--font-weight-action:500;--line-height-action:1;--letter-spacing-action:0;--lens-max-width:800px;--lens-padding-desktop:40px;--lens-padding-tablet:24px;--lens-padding-mobile:16px;--lens-body-max-line:680px;--sidebar-width:420px;--search-max-width:720px;--search-height:48px;--modal-max-width:480px;--modal-padding:32px;--modal-shadow:0 25px 50px -12px rgba(0,0,0,.4);--header-height:56px;--touch-target-min:44px;--touch-target-mobile:48px;--button-height-ghost:36px;--button-height-primary:36px;--button-padding-ghost-x:12px;--button-padding-ghost-y:8px;--button-padding-primary-x:24px;--button-padding-primary-y:12px;--button-icon-only-size:32px;--pill-height:24px;--pill-padding-x:12px;--pill-padding-y:4px;--pill-dot-size:6px;--input-height:36px;--input-padding-x:12px;--input-padding-y:10px;--section-header-height:44px;--list-row-min-height:44px;--list-row-padding-y:12px;--list-row-padding-x:20px;--vital-signs-height:40px;--card-padding-x:20px;--card-padding-y:16px;--file-preview-height:48px;--media-preview-max-height:240px;--toast-max-width:400px;--toast-padding:16px;--gap-sections:24px;--gap-title-vitals:12px;--gap-overline-title:4px;--gap-section-content:12px;--gap-vital-items:16px}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.animate-toast-in{animation:toast-in .2s var(--ease-out) forwards}.text-display{font-size:var(--font-size-display);font-weight:var(--font-weight-display);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-display);color:var(--text-primary)}.text-title{font-size:var(--font-size-title);font-weight:var(--font-weight-title);line-height:var(--line-height-title);letter-spacing:var(--letter-spacing-title);color:var(--text-primary)}.text-heading{font-size:var(--font-size-heading);font-weight:var(--font-weight-heading);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);color:var(--text-primary)}.text-section{font-size:var(--font-size-section);font-weight:var(--font-weight-section);line-height:var(--line-height-section);letter-spacing:var(--letter-spacing-section);color:var(--text-secondary)}.text-body{font-weight:var(--font-weight-body)}.text-body,.text-body-strong{font-size:var(--font-size-body);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);color:var(--text-primary)}.text-body-strong{font-weight:var(--font-weight-body-strong)}.text-label{font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);color:var(--text-secondary)}.text-caption{font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--line-height-caption);letter-spacing:var(--letter-spacing-caption);color:var(--text-tertiary)}.text-overline{font-size:var(--font-size-overline);font-weight:var(--font-weight-overline);line-height:var(--line-height-overline);letter-spacing:var(--letter-spacing-overline);text-transform:uppercase;color:var(--text-tertiary)}.text-action{font-weight:var(--font-weight-action);line-height:var(--line-height-action);letter-spacing:var(--letter-spacing-action);color:var(--brand-interactive)}.btn-ghost,.text-action{font-size:var(--font-size-action)}.btn-ghost{background:transparent;color:var(--text-primary);font-weight:500;padding:0 12px;border-radius:10px;border:1px solid transparent;height:36px;min-height:36px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background var(--duration-fast) var(--ease-out)}.btn-ghost:hover{background:#eee}.dark .btn-ghost:hover,[data-theme=dark] .btn-ghost:hover{background:#323232}.btn-ghost:active{opacity:.9}.btn-ghost:disabled{color:var(--text-disabled);cursor:not-allowed;background:transparent}.btn-primary{background:#111;color:#fff;font-size:var(--font-size-body);font-weight:500;padding:0 12px;border-radius:10px;border:1px solid #111;height:36px;min-height:36px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:opacity var(--duration-fast) var(--ease-out)}.btn-primary:hover{opacity:.9}.btn-primary:active{opacity:.85}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.dark .btn-primary,[data-theme=dark] .btn-primary{background:#f2f2f2;color:#1e1e1e;border-color:#f2f2f2}.btn-secondary{background:transparent;color:var(--text-primary);font-size:var(--font-size-body);font-weight:500;padding:0 12px;border-radius:10px;border:1px solid #e7e7e7;height:36px;min-height:36px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background var(--duration-fast) var(--ease-out)}.btn-secondary:hover{background:#eee}.dark .btn-secondary,[data-theme=dark] .btn-secondary{border-color:#404040}.dark .btn-secondary:hover,[data-theme=dark] .btn-secondary:hover{background:#323232}.btn-danger{background:#dc2626;color:#fff;font-size:var(--font-size-action);font-weight:500;padding:0 12px;border:1px solid #dc2626;border-radius:10px;height:36px;min-height:36px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background var(--duration-fast) var(--ease-out)}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.btn-danger-confirm{background:#dc2626;color:#fff;border-color:#dc2626}.btn-icon{width:var(--button-icon-only-size);height:var(--button-icon-only-size);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.btn-icon:hover{background:var(--surface-hover);color:var(--text-primary)}.btn-icon svg{width:18px;height:18px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:var(--pill-padding-y) var(--pill-padding-x);border-radius:var(--radius-pill);font-size:var(--font-size-caption);font-weight:var(--font-weight-action);height:var(--pill-height)}.status-pill-neutral{background:var(--status-neutral-bg);color:var(--status-neutral)}.status-pill-warning{background:var(--status-warning-bg);color:var(--status-warning)}.status-pill-success{background:var(--status-success-bg);color:var(--status-success)}.status-pill-critical{background:var(--status-critical-bg);color:var(--status-critical)}.status-dot{width:var(--pill-dot-size);height:var(--pill-dot-size);border-radius:50%;flex-shrink:0}.status-dot-neutral{background:var(--status-neutral)}.status-dot-warning{background:var(--status-warning)}.status-dot-success{background:var(--status-success)}.status-dot-critical{background:var(--status-critical)}.input-field{height:36px;min-height:36px;padding:0 12px;font-size:var(--font-size-body);font-weight:var(--font-weight-body);color:var(--text-primary);background:var(--surface-base);border:1px solid var(--surface-border);border-radius:10px;width:100%;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.input-field::-moz-placeholder{color:var(--text-disabled)}.input-field::placeholder{color:var(--text-disabled)}.input-field:focus{border-color:var(--brand-interactive);outline:none;box-shadow:0 0 0 3px var(--brand-muted)}.input-field-error{border-color:var(--status-critical);box-shadow:0 0 0 3px var(--status-critical-bg)}.input-field:disabled{background:var(--surface-hover);color:var(--text-disabled);cursor:not-allowed}.textarea-field{min-height:100px;padding:var(--input-padding-y) var(--input-padding-x);font-size:var(--font-size-body);font-weight:var(--font-weight-body);line-height:var(--line-height-body);color:var(--text-primary);background:var(--surface-base);border:1px solid var(--surface-border);border-radius:var(--radius-md);width:100%;resize:vertical;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.textarea-field:focus{border-color:var(--brand-interactive);outline:none;box-shadow:0 0 0 3px var(--brand-muted)}.section-container{overflow:hidden;margin-bottom:var(--gap-sections)}.entity-card,.section-container{background:var(--surface-primary);border-radius:var(--radius-md)}.entity-card{padding:var(--card-padding-y) var(--card-padding-x);min-height:var(--touch-target-min);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.entity-card:hover{background:var(--surface-hover)}.file-preview-card{background:var(--surface-primary);border-radius:var(--radius-md);padding:12px 16px;height:var(--file-preview-height);display:flex;align-items:center;gap:12px;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.file-preview-card:hover{background:var(--surface-hover)}.file-preview-card .file-icon{width:20px;height:20px;color:var(--text-tertiary);flex-shrink:0}.file-preview-card .file-name{font-size:var(--font-size-body);font-weight:var(--font-weight-action);color:var(--text-primary)}.file-preview-card .file-size{font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);color:var(--text-tertiary)}.lens-container{max-width:var(--lens-max-width);margin:0 auto;padding-left:var(--lens-padding-desktop);padding-right:var(--lens-padding-desktop)}@media (max-width:1024px){.lens-container{padding-left:var(--lens-padding-tablet);padding-right:var(--lens-padding-tablet)}}@media (max-width:768px){.lens-container{padding-left:var(--lens-padding-mobile);padding-right:var(--lens-padding-mobile)}}.text-readable{max-width:var(--lens-body-max-line)}.touch-target{min-height:var(--touch-target-min)}@media (max-width:768px){.touch-target{min-height:var(--touch-target-mobile)}}.section-gap{margin-bottom:var(--gap-sections)}.list-row{min-height:var(--list-row-min-height);padding:var(--list-row-padding-y) var(--list-row-padding-x)}.vital-signs{height:var(--vital-signs-height);display:flex;align-items:center;gap:var(--gap-vital-items)}.skeleton{background:var(--surface-hover);border-radius:var(--radius-sm);animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{opacity:.5}50%{opacity:.8}to{opacity:.5}}.skeleton-title{width:60%;height:24px}.skeleton-body-line{width:100%;height:14px}.skeleton-vital-signs{width:80%;height:20px}.skeleton-section-header{width:40%;height:14px}.skeleton-entity-card{width:100%;height:56px}.skeleton-media-preview{width:100%;height:160px}.skeleton-status-pill{width:64px;height:var(--pill-height);border-radius:var(--radius-pill)}.lens-entering{opacity:0;transform:scale(.98);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}.lens-entered{opacity:1;transform:scale(1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:opacity .3s var(--ease-out,cubic-bezier(.16,1,.3,1)),transform .3s var(--ease-out,cubic-bezier(.16,1,.3,1)),backdrop-filter .3s var(--ease-out,cubic-bezier(.16,1,.3,1))}.lens-exiting{backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:opacity .2s ease-in,transform .2s ease-in,backdrop-filter .2s ease-in}.lens-exited,.lens-exiting{opacity:0;transform:scale(.98)}.lens-exited{visibility:hidden}.lens-section-header{position:sticky;top:56px;z-index:var(--z-sticky,10);background-color:var(--surface-base);border-bottom:1px solid transparent;transition:background-color .12s var(--ease-out,cubic-bezier(.16,1,.3,1)),border-color .12s var(--ease-out,cubic-bezier(.16,1,.3,1))}.lens-section-header.is-pinned{background-color:var(--surface-elevated);border-bottom-color:var(--surface-border)}@media (prefers-reduced-motion:reduce){.lens-entered,.lens-entering,.lens-exited,.lens-exiting{transition:none!important;animation:none!important}.lens-entered,.lens-entering{opacity:1;transform:scale(1);backdrop-filter:none}.lens-exited,.lens-exiting{opacity:0;transform:none}}