@layer reset,tokens,base,components,layouts,pages,states,responsive,utilities;@font-face{font-family:Acme;src:url(/fonts/Acme/Acme-Regular.woff2) format("woff2"),url(/fonts/Acme/Acme-Regular.ttf) format("truetype");font-weight:var(--font-weight-regular);font-style:normal;font-display:swap}@font-face{font-family:KCAcmeHandInked;src:url(/fonts/KCAcmeHand/KCSimpleSans-Inked.otf) format("opentype");font-weight:var(--font-weight-regular);font-style:normal;font-display:swap}@font-face{font-family:Inconsolata;src:url(/fonts/Inconsolata/Inconsolata-Variable.woff2) format("woff2-variations");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond/CormorantGaramond-Regular.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:rgba(var(--text-rgb, 25, 25, 25),.7) transparent}::selection{background-color:var(--color-accent);color:var(--color-neutral-100)}::-moz-selection{background-color:var(--color-accent);color:var(--color-neutral-100)}body{font-family:Arial,Helvetica,sans-serif;font-weight:500;line-height:1.4;margin:0;padding:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-display:swap}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;line-height:1.2;margin:0}p{margin:0;line-height:1.6}ul,ol{list-style:none;margin:0;padding:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle;max-width:100%;height:auto}button svg,.btn svg,[type=button] svg,[type=submit] svg{color:inherit}img{border-style:none}table{border-collapse:collapse;border-spacing:0}a{color:inherit;text-decoration:inherit}a:hover{text-decoration:underline}nav a:hover,.sidebar a:hover,.portal-global-header a:hover,.portal-tabs a:hover,.tab-list a:hover,.stat-card a:hover,.btn-primary:hover,.btn-secondary:hover,.btn-sm:hover{text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus{outline:none}:focus-visible{outline:none;box-shadow:0 0 0 var(--focus-ring-width, 2px) var(--focus-ring-color, var(--color-accent))}:focus:not(:focus-visible){outline:none}details{border-radius:var(--border-radius-lg, 12px)}summary{display:flex;align-items:center;gap:var(--icon-gap-md);cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.portal :is(.nav-item,.sidebar-toggle-btn){display:flex;align-items:center;gap:var(--icon-gap-md)}.portal :is(button,a,.btn,.btn-primary,.btn-secondary,.btn-outline):not(.icon-btn):not(.nav-btn)>.btn-icon{width:1em;height:1em;flex-shrink:0}.portal :is(button,a,.btn):hover>svg,.portal :is(button,a,.btn):hover>.btn-icon{color:inherit}.portal svg{color:var(--color-text-primary);align-self:center}.portal button svg,.portal a svg{color:inherit}details:focus-within{outline:2px solid var(--color-accent);outline-offset:-2px}details>summary:focus-visible{outline:none;box-shadow:none}.custom-dropdown{border-radius:var(--border-radius-lg, 12px)}.custom-dropdown.open:not(.table-dropdown):focus-within{outline:2px solid var(--color-accent);outline-offset:-2px}.table-dropdown.open:focus-within{outline:none}.custom-dropdown.open .dropdown-trigger--custom:focus,.custom-dropdown.open .dropdown-trigger--custom:focus-visible{outline:none;box-shadow:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){:root{--color-shadow: var(--portal-alpha-black-80, rgba(0, 0, 0, .8))}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body{font-size:12pt;line-height:1.5}.no-print{display:none!important}}}@layer tokens;@layer tokens;@layer tokens{:root{--color-brand-primary: #dc2626;--color-brand-primary-rgb: 220, 38, 38;--color-brand-secondary: #10b981;--color-brand-accent: #dc2626;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #e0e0e0;--color-gray-300: #d4d4d4;--color-gray-400: #a3a3a3;--color-gray-500: #737373;--color-gray-600: #525252;--color-gray-700: #404040;--color-gray-800: #262626;--color-gray-900: #171717;--color-gray-950: #0a0a0a;--portal-neutral-0: #000000;--portal-neutral-50: #0a0a0a;--portal-neutral-100: #1a1a1a;--portal-neutral-200: #2a2a2a;--portal-neutral-300: #3a3a3a;--portal-neutral-400: #4a4a4a;--portal-neutral-500: #787878;--portal-neutral-600: #a0a0a0;--portal-neutral-700: #c0c0c0;--portal-neutral-800: #e0e0e0;--portal-neutral-900: #f4f4f4;--color-off-white: #e0e0e0;--color-success-500: #10b981;--color-success-600: #059669;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-info-500: #3b82f6;--color-info-600: #2563eb;--color-bg-primary: var(--color-off-white);--color-bg-secondary: var(--color-gray-100);--color-bg-tertiary: var(--color-gray-200);--color-bg-raised: var(--color-gray-300);--color-bg-elevated: var(--color-gray-400);--color-bg-prominent: var(--color-gray-500);--color-bg-hover: var(--color-gray-100);--color-bg-readonly: var(--color-gray-100);--color-bg-inverse: var(--color-gray-900);--color-bg-overlay: rgba(0, 0, 0, .5);--color-surface-primary: var(--color-off-white);--color-surface-secondary: var(--color-gray-100);--color-surface-tertiary: var(--color-gray-200);--color-surface-elevated: var(--color-off-white);--color-form-input-bg: #333333;--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-700);--color-text-tertiary: var(--color-gray-500);--color-text-disabled: var(--color-gray-400);--color-text-inverse: var(--color-off-white);--color-text-brand: var(--color-brand-primary);--color-nav-text: #333333;--color-border-primary: var(--color-gray-300);--color-border-secondary: var(--color-gray-200);--color-border-tertiary: var(--color-gray-100);--color-border-focus: var(--color-brand-primary);--color-border-error: var(--color-error-500);--color-interactive-primary: var(--color-brand-primary);--color-interactive-primary-hover: #b91c1c;--color-interactive-primary-active: #991b1b;--color-interactive-secondary: var(--color-gray-500);--color-interactive-secondary-hover: var(--color-gray-700);--color-interactive-secondary-active: var(--color-gray-800);--color-state-hover: rgba(0, 0, 0, .05);--color-state-active: rgba(0, 0, 0, .1);--color-state-selected: rgba(0, 0, 0, .08);--color-state-disabled: var(--color-gray-400);--color-accent-10: rgba(var(--color-brand-primary-rgb), .1);--color-hover-bg: var(--color-gray-900);--color-hover-text: var(--color-off-white);--color-hover-icon: var(--color-off-white);--color-hover-border: var(--color-gray-900);--color-shadow-sm: rgba(0, 0, 0, .05);--color-shadow-md: rgba(0, 0, 0, .1);--color-shadow-lg: rgba(0, 0, 0, .15);--color-shadow-xl: rgba(0, 0, 0, .25);--color-shadow-2xl: rgba(0, 0, 0, .3);--color-shadow-3xl: rgba(0, 0, 0, .5);--color-overlay-subtle: rgba(0, 0, 0, .05);--color-overlay-muted: rgba(0, 0, 0, .25);--color-overlay-light: rgba(0, 0, 0, .5);--color-overlay-medium: rgba(0, 0, 0, .7);--color-overlay-heavy: rgba(0, 0, 0, .8);--color-overlay-dark: rgba(0, 0, 0, .85);--color-annotation-red: #ef4444;--color-annotation-yellow: #eab308;--color-annotation-blue: #3b82f6;--color-annotation-green: #22c55e;--color-chart-primary: var(--color-brand-primary);--color-chart-secondary: #22c55e;--color-chart-tertiary: #f59e0b;--color-chart-quaternary: #9ca3af;--color-chart-text: var(--color-gray-700);--color-chart-grid: var(--color-gray-300)}html[data-theme=dark]:not([data-page=admin]):not([data-page=client]){--color-bg-primary: var(--color-gray-900);--color-bg-secondary: var(--color-gray-800);--color-bg-tertiary: var(--color-gray-700);--color-bg-inverse: var(--color-gray-50);--color-surface-primary: var(--color-gray-900);--color-surface-secondary: var(--color-gray-800);--color-surface-tertiary: var(--color-gray-700);--color-surface-elevated: var(--color-gray-800);--color-text-primary: var(--color-gray-50);--color-text-secondary: var(--color-gray-200);--color-text-tertiary: var(--color-gray-400);--color-text-inverse: var(--color-gray-900);--color-nav-text: var(--color-gray-50);--color-form-input-bg: var(--color-gray-800);--color-border-primary: var(--color-text-primary);--color-border-secondary: var(--color-gray-700);--color-border-tertiary: var(--color-gray-800);--color-state-hover: rgba(255, 255, 255, .1);--color-state-active: rgba(255, 255, 255, .15);--color-state-selected: rgba(255, 255, 255, .2);--color-shadow-sm: rgba(0, 0, 0, .3);--color-shadow-md: rgba(0, 0, 0, .5);--color-shadow-lg: rgba(0, 0, 0, .7);--color-shadow-xl: rgba(0, 0, 0, .9)}@media(prefers-contrast:high){:root{--color-text-primary: #000000;--color-text-secondary: #000000;--color-border-primary: #000000;--color-shadow-md: rgba(0, 0, 0, .5)}html[data-theme=dark]{--color-text-primary: #ffffff;--color-text-secondary: #ffffff;--color-border-primary: #ffffff}}:root,html[data-theme=light]{--color-neutral-100: #fffdfc;--color-neutral-200: var(--color-gray-200);--color-neutral-300: #e0e0e0;--color-neutral-400: var(--color-gray-400);--color-neutral-500: var(--color-gray-500);--color-neutral-600: var(--color-gray-600);--color-neutral-700: var(--color-gray-700);--color-neutral-800: var(--color-gray-800);--color-neutral-900: var(--color-gray-900);--color-dark: #333333;--color-light: #ffffff;--color-primary: var(--color-text-primary);--color-accent-rgb: var(--color-brand-primary-rgb);--color-accent-hover: var(--color-brand-accent);--color-secondary: var(--color-brand-secondary);--color-accent: var(--color-brand-accent);--color-border: #000000;--color-border-light: #e0e0e0;--color-shadow: rgba(0, 0, 0, .2);--app-color-primary: var(--color-brand-primary);--app-color-primary-hover: var(--color-interactive-primary-hover);--app-color-success: var(--color-success);--app-color-warning: var(--color-warning);--app-color-danger: var(--color-danger);--app-color-info: var(--color-info);--app-color-purple: var(--color-purple);--app-color-warning-light: var(--color-warning-light);--app-color-danger-dark: var(--color-danger-dark);--color-light-bg: #e0e0e0;--color-light-text: #171717;--color-light-text-secondary: #525252;--color-light-text-muted: #737373;--color-light-border: #d4d4d4;--color-success: #10b981;--color-success-dark: #047857;--color-success-light: #d1fae5;--color-warning: #fbbf24;--color-warning-dark: #d97706;--color-warning-light: #fef3c7;--color-error: #dc2626;--color-error-dark: #991b1b;--color-error-light: #fee2e2;--color-info: #3b82f6;--color-info-dark: #1d4ed8;--color-info-light: #dbeafe;--color-danger: #dc2626;--color-danger-rgb: 220, 38, 38;--color-danger-dark: #ff4757;--color-danger-bg: #dc2626;--color-danger-hover: #b91c1c;--color-role-technical: #ea580c;--color-purple: #c084fc;--color-pink: #f472b6;--color-cyan: #22d3ee;--status-active: #3b82f6;--status-active-rgb: 59, 130, 246;--status-active-bg: rgba(59, 130, 246, .15);--status-pending: #fbbf24;--status-pending-rgb: 251, 191, 36;--status-pending-bg: rgba(251, 191, 36, .15);--status-completed: #10b981;--status-completed-rgb: 16, 185, 129;--status-completed-bg: rgba(16, 185, 129, .15);--status-cancelled: #ef4444;--status-cancelled-rgb: 239, 68, 68;--status-cancelled-bg: rgba(239, 68, 68, .15);--status-qualified: #8b5cf6;--status-qualified-rgb: 139, 92, 246;--status-qualified-bg: rgba(139, 92, 246, .15);--status-inactive: #6b7280;--status-inactive-rgb: 107, 114, 128;--status-inactive-bg: rgba(107, 114, 128, .15);--status-new: #06b6d4;--status-new-rgb: 6, 182, 212;--status-new-bg: rgba(6, 182, 212, .15);--status-on-hold: #f97316;--status-on-hold-rgb: 249, 115, 22;--status-on-hold-bg: rgba(249, 115, 22, .15);--color-status-new: var(--status-new);--color-status-pending: var(--status-pending);--color-status-read: var(--status-qualified);--color-status-responded: var(--status-completed);--color-status-completed: var(--status-completed);--color-status-archived: var(--status-inactive);--color-status-overdue: var(--status-cancelled);--color-status-pending-bg: #fef3cd;--color-status-pending-text: #92400e;--color-status-pending-border: #f59e0b;--color-status-progress-bg: #dbeafe;--color-status-progress-text: #1e40af;--color-status-progress-border: #3b82f6;--color-status-review-bg: #ede9fe;--color-status-review-text: #6b21a8;--color-status-review-border: #8b5cf6;--color-status-completed-bg: #d1fae5;--color-status-completed-text: #065f46;--color-status-completed-border: #10b981;--color-status-hold-bg: #f3f4f6;--color-status-hold-text: #374151;--color-status-hold-border: #6b7280;--color-status-overdue-bg: #fee2e2;--color-status-overdue-text: #991b1b;--color-status-overdue-border: #dc2626;--color-status-blue: #3b82f6;--color-status-gray: #9ca3af;--color-status-gray-dark: #6b7280;--color-terminal-bg: #000000;--color-terminal-bg-light: #0d0d0d;--color-terminal-bg-panel: #0a0a0a;--color-terminal-bg-input: #050505;--color-terminal-bg-hover: #1a1a1a;--color-terminal-bg-dark: #222222;--color-terminal-border: #2a2a2a;--color-terminal-border-dark: #000000;--color-terminal-green: #7ff709;--color-terminal-green-dark: #5cb800;--color-terminal-blue: #268bd2;--color-terminal-cyan: #88def2;--color-terminal-red: #ff4444;--color-terminal-pink: #ec4891;--color-terminal-text: #e0e8f0;--color-terminal-text-muted: #808080;--color-terminal-text-dim: #606060;--color-terminal-text-dimmer: #404040;--color-terminal-scrollbar: #2a2a2a;--color-terminal-scrollbar-hover: #3a3a3a;--color-mac-close: #ff5f56;--color-mac-close-rgb: 255, 95, 86;--color-mac-minimize: #ffbd2e;--color-mac-maximize: #27ca40;--color-error-rgb: 239, 68, 68;--color-success-rgb: 16, 185, 129;--color-warning-rgb: 245, 158, 11;--color-skeleton-base: #2a2a2a;--color-skeleton-highlight: #3a3a3a;--color-svg-text-left: #333333;--color-svg-text-right: #222222;--color-card-bg: var(--color-off-white);--color-card-bg-gradient-end: #f8f9fa;--color-card-text: #333333;--color-admin-bg-start: #444444;--color-admin-bg-end: #444444;--color-admin-purple: #a855f7;--color-admin-purple-dark: #9333ea;--form-input-border: #333333;--form-input-placeholder: #666666;--form-btn-bg: #333333;--form-btn-fg: var(--color-off-white);--form-btn-shadow: rgba(0, 0, 0, .2)}html[data-theme=dark]:not([data-page=admin]):not([data-page=client]){--color-neutral-300: #333333;--color-neutral-100: #3a3a3a;--color-neutral-200: #3a3a3a;--color-neutral-700: #d0d0d0;--color-neutral-800: #f0f0f0;--color-neutral-900: #f5f5f5;--color-dark: #e0e0e0;--color-light: #1a1a1a;--color-secondary: var(--color-brand-secondary);--color-accent: var(--color-brand-accent);--color-shadow: rgba(0, 0, 0, 1);--form-input-border: #e0e0e0;--form-input-placeholder: #999999;--form-btn-bg: #e0e0e0;--form-btn-fg: #2a2a2a;--form-btn-shadow: rgba(0, 0, 0, .3);--color-svg-text-left: #d5d5d5;--color-svg-text-right: #9a9a9a;--color-card-bg: var(--color-gray-200);--color-card-bg-gradient-end: var(--color-gray-300)}}@layer tokens;@layer tokens{:root{--font--acme: "Acme", sans-serif;--font-family-acme: var(--font--acme);--font-family-sans: "Inconsolata", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;--font-family-serif: "Cormorant Garamond", Georgia, Cambria, "Times New Roman", Times, serif;--font-family-mono: "Inconsolata", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;--font-family-display: "Cormorant Garamond", Georgia, serif;--font-size-base-px: 16;--font-size-2xs: clamp(.625rem, .6rem + .125vw, .6875rem);--font-size-xs: clamp(.75rem, .7rem + .25vw, .875rem);--font-size-sm: clamp(.875rem, .825rem + .25vw, 1rem);--font-size-md: clamp(1rem, .95rem + .25vw, 1.125rem);--font-size-lg: clamp(1.125rem, 1.05rem + .375vw, 1.25rem);--font-size-xl: clamp(1.25rem, 1.125rem + .625vw, 1.5rem);--font-size-2xl: clamp(1.5rem, 1.25rem + 1.25vw, 2rem);--font-size-3xl: clamp(1.875rem, 1.5rem + 1.875vw, 2.5rem);--font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);--font-size-base: var(--font-size-md);--font-weight-light: 300;--font-weight-regular: 400;--font-weight-normal: 400;--font-weight-base: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--letter-spacing-tightest: -.09em;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--letter-spacing-label: var(--letter-spacing-wider);--letter-spacing-title: var(--letter-spacing-wide);--letter-spacing-label-wide: .05em;--letter-spacing-title-wide: .02em;--letter-spacing-extra-wide: .08em}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}}@layer tokens{:root{--space-base: .5rem;--space-0: 0;--space-px: 1px;--space-0-25: calc(var(--space-base) * .25);--space-0-5: calc(var(--space-base) * .5);--space-1: var(--space-base);--space-1-5: calc(var(--space-base) * 1.5);--space-2: calc(var(--space-base) * 2);--space-2-5: calc(var(--space-base) * 2.5);--space-3: calc(var(--space-base) * 3);--space-3-5: calc(var(--space-base) * 3.5);--space-4: calc(var(--space-base) * 4);--space-4-5: calc(var(--space-base) * 4.5);--space-5: calc(var(--space-base) * 5);--space-6: calc(var(--space-base) * 6);--space-7: calc(var(--space-base) * 7);--space-8: calc(var(--space-base) * 8);--space-9: calc(var(--space-base) * 9);--space-10: calc(var(--space-base) * 10);--space-11: calc(var(--space-base) * 11);--space-12: calc(var(--space-base) * 12);--space-14: calc(var(--space-base) * 14);--space-16: calc(var(--space-base) * 16);--space-20: calc(var(--space-base) * 20);--space-24: calc(var(--space-base) * 24);--space-28: calc(var(--space-base) * 28);--space-32: calc(var(--space-base) * 32);--space-fluid-xs: clamp(.25rem, 1vw, .5rem);--space-fluid-sm: clamp(.5rem, 2vw, 1rem);--space-fluid-md: clamp(1rem, 3vw, 1.5rem);--space-fluid-lg: clamp(1.5rem, 4vw, 2rem);--space-fluid-xl: clamp(2rem, 5vw, 3rem);--space-fluid-2xl: clamp(3rem, 6vw, 4rem);--icon-gap-xs: 8px;--icon-gap-sm: 10px;--icon-gap-md: 12px;--icon-gap-lg: 16px;--icon-gap-xl: 20px;--icon-gap: clamp(8px, .75vw, 10px);--portal-section-gap: var(--space-3);--portal-section-heading-padding: var(--space-1-5) var(--space-2);--dashboard-section-gap: var(--space-6);--dashboard-grid-gap: var(--space-3);--dashboard-card-gap: var(--space-2);--dashboard-panel-gap: var(--space-3-5)}}@layer tokens{:root{--shadow-xs: 0 1px 2px 0 var(--color-shadow-sm);--shadow-sm: 0 1px 3px 0 var(--color-shadow-sm), 0 1px 2px -1px var(--color-shadow-sm);--shadow-md: 0 4px 6px -1px var(--color-shadow-md), 0 2px 4px -2px var(--color-shadow-sm);--shadow-lg: 0 10px 15px -3px var(--color-shadow-md), 0 4px 6px -4px var(--color-shadow-sm);--shadow-xl: 0 20px 25px -5px var(--color-shadow-lg), 0 8px 10px -6px var(--color-shadow-sm);--shadow-2xl: 0 25px 50px -12px var(--color-shadow-xl);--shadow-inner: inset 0 2px 4px 0 var(--color-shadow-md);--shadow-none: 0 0 #0000;--shadow-brand-sm: 0 1px 3px 0 rgba(var(--color-brand-primary-rgb), .1), 0 1px 2px -1px rgba(var(--color-brand-primary-rgb), .1);--shadow-brand-md: 0 4px 6px -1px rgba(var(--color-brand-primary-rgb), .1), 0 2px 4px -2px rgba(var(--color-brand-primary-rgb), .1);--shadow-brand-lg: 0 10px 15px -3px rgba(var(--color-brand-primary-rgb), .1), 0 4px 6px -4px rgba(var(--color-brand-primary-rgb), .06);--shadow-error: 0 1px 3px 0 rgba(239, 68, 68, .1), 0 1px 2px -1px rgba(239, 68, 68, .1);--shadow-success: 0 1px 3px 0 rgba(16, 185, 129, .1), 0 1px 2px -1px rgba(16, 185, 129, .1);--shadow-warning: 0 1px 3px 0 rgba(245, 158, 11, .1), 0 1px 2px -1px rgba(245, 158, 11, .1);--shadow-card-rest: var(--shadow-sm);--shadow-card-hover: var(--shadow-md);--shadow-card-active: var(--shadow-xs);--shadow-button-rest: var(--shadow-sm);--shadow-button-hover: var(--shadow-md);--shadow-button-active: var(--shadow-inner);--shadow-button-focus: 0 0 0 3px rgba(var(--color-brand-primary-rgb), .2);--shadow-modal: var(--shadow-2xl);--shadow-dropdown: 4px 0 12px rgba(0, 0, 0, .3), -4px 0 12px rgba(0, 0, 0, .3), 0 -4px 12px rgba(0, 0, 0, .3);--shadow-tooltip: var(--shadow-md);--shadow-nav: var(--shadow-sm);--shadow-nav-mobile: var(--shadow-lg);--shadow-input-rest: var(--shadow-inner);--shadow-input-focus: 0 0 0 3px rgba(var(--color-brand-primary-rgb), .1), var(--shadow-inner);--shadow-input-error: 0 0 0 3px rgba(239, 68, 68, .1), var(--shadow-inner)}:root{--shadow-card: 1px 0 2px rgba(0, 0, 0, .2), 2px 0 6px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .2), 0 2px 6px rgba(0, 0, 0, .15);--shadow-content: 2px 2px 8px rgba(0, 0, 0, .4), 4px 4px 16px rgba(0, 0, 0, .3);--shadow-sidebar: 2px 0 4px rgba(0, 0, 0, .4), 4px 0 12px rgba(0, 0, 0, .3);--shadow-panel: 2px 0 4px rgba(0, 0, 0, .4), 4px 0 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .3), -1px 0 1px rgba(0, 0, 0, .3), 0 -1px 1px rgba(0, 0, 0, .3);--shadow-inset: inset 2px 2px 6px rgba(0, 0, 0, .5), inset -1px -1px 3px rgba(0, 0, 0, .3);--shadow-inset-light: inset 2px 2px 6px rgba(0, 0, 0, .3), inset -1px -1px 3px rgba(0, 0, 0, .15);--shadow-spread: 4px 0 12px rgba(0, 0, 0, .3), -4px 0 12px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .3);--shadow-elevated-sm: 0 4px 12px rgba(0, 0, 0, .15);--shadow-elevated-md: 0 8px 32px rgba(0, 0, 0, .1);--shadow-elevated-lg: 0 8px 32px rgba(0, 0, 0, .3);--shadow-elevated-xl: 0 12px 40px rgba(0, 0, 0, .15);--shadow-elevated-dark: 0 8px 32px rgba(0, 0, 0, .75);--shadow-dropdown-xl: 0 20px 60px rgba(0, 0, 0, .5);--shadow-terminal: 4px 4px 10px rgba(0, 0, 0, .3), 0 8px 32px rgba(0, 0, 0, .4);--shadow-button: 6px 6px 12px rgba(0, 0, 0, .2), 12px 12px 24px rgba(0, 0, 0, .15);--shadow-button-dark: 6px 6px 12px rgba(0, 0, 0, .5), 12px 12px 24px rgba(0, 0, 0, .4);--shadow-button-pressed: 8px 8px 16px rgba(0, 0, 0, .55), 16px 16px 32px rgba(0, 0, 0, .45)}@media(prefers-reduced-motion:reduce){*{transition:box-shadow .01ms!important}}@media(prefers-contrast:high){:root{--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3)}}}@layer tokens{:root{--border-width-0: 0;--border-width-px: 1px;--border-width-2: 2px;--border-width-4: 4px;--border-width-8: 8px;--border-width-thin: 1px;--border-width: 2px;--border-width-thick: 3px;--border-width-heavy: 4px;--svg-stroke-width: 2.5;--border-radius-none: 0;--border-radius-xs: 0;--border-radius-sm: 0;--border-radius-md: 0;--border-radius-lg: 0;--border-radius-xl: 0;--border-radius-2xl: 0;--border-radius-3xl: 0;--border-radius-full: 9999px;--border-radius-button: 0;--border-radius-input: 0;--border-radius-card: 0;--border-radius-modal: 0;--border-radius-badge: 0;--border-radius-avatar: var(--border-radius-full);--border-style-solid: solid;--border-style-dashed: dashed;--border-style-dotted: dotted;--border-style-none: none}}@layer tokens{:root{--duration-faster: .15s;--duration-fast: .2s;--duration-medium: .3s;--duration-normal: .3s;--duration-slow: .4s;--duration-slower: .5s;--transition-faster: .15s ease;--transition-fast: .2s ease;--transition-medium: .3s ease;--transition-slow: .4s ease;--transition-slower: .5s ease;--cubic-default: cubic-bezier(.4, 0, .2, 1);--cubic-menu: cubic-bezier(.65, .05, 0, 1);--blur-amount: 4px;--drop-distance: 20px;--transition-enter: .3s;--transition-exit: .2s;--stagger-delay: .05s;--page-transition-duration: var(--transition-length);--page-blur-amount: 12px;--transition-theme: .4s;--transition-mouse: .2s;--transition-normal: .3s;--transition-length: .5s;--transition-long: .8s;--easing-linear: linear;--easing-ease: ease;--easing-ease-in: ease-in;--easing-ease-out: ease-out;--easing-ease-in-out: ease-in-out;--easing-smooth: cubic-bezier(.4, 0, .2, 1);--easing-sharp: cubic-bezier(.4, 0, .6, 1);--easing-emphasized: cubic-bezier(.2, 0, 0, 1);--easing-decelerated: cubic-bezier(0, 0, .2, 1);--easing-accelerated: cubic-bezier(.4, 0, 1, 1);--easing-standard: cubic-bezier(.2, 0, 0, 1);--easing-bounce: cubic-bezier(.68, -.55, .265, 1.55);--easing-elastic: cubic-bezier(.175, .885, .32, 1.275);--easing-spring: cubic-bezier(.25, .1, .25, 3.5);--easing-smooth-sal: cubic-bezier(.3, .9, .3, .9);--easing-default: var(--easing-smooth-sal);--animation-button-hover: var(--duration-fast) var(--easing-smooth);--animation-button-press: var(--duration-fast) var(--easing-sharp);--animation-card-hover: var(--duration-normal) var(--easing-smooth);--animation-card-enter: var(--duration-slow) var(--easing-decelerated);--animation-card-exit: var(--duration-normal) var(--easing-accelerated);--animation-modal-enter: var(--duration-slow) var(--easing-decelerated);--animation-modal-exit: var(--duration-normal) var(--easing-accelerated);--animation-modal-backdrop: var(--duration-normal) var(--easing-smooth);--animation-nav-slide: var(--duration-slow) var(--easing-emphasized);--animation-nav-fade: var(--duration-normal) var(--easing-smooth);--animation-input-focus: var(--duration-fast) var(--easing-smooth);--animation-input-error: var(--duration-normal) var(--easing-bounce);--animation-spinner: 1s var(--easing-linear) infinite;--animation-spinner-fast: .8s var(--easing-linear) infinite;--animation-pulse: 2s var(--easing-smooth) infinite alternate;--animation-pulse-loading: 1.5s var(--easing-ease-in-out) infinite;--animation-pulse-skeleton: 2s var(--easing-ease-in-out) infinite;--animation-skeleton-shimmer: 1.5s var(--easing-ease-in-out) infinite;--animation-typing-bounce: 1.4s var(--easing-ease-in-out) infinite both;--animation-fade-in: var(--duration-slow) var(--easing-decelerated);--animation-fade-out: var(--duration-normal) var(--easing-accelerated);--animation-card-flip: .8s var(--easing-smooth);--animation-card-scale: var(--duration-normal) var(--easing-bounce)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer tokens{:root{--breakpoint-xs: 475px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--bp-xs: 320px;--bp-sm: 576px;--bp-md: 768px;--bp-lg: 992px;--bp-xl: 1200px;--bp-2xl: 1400px;--container-xs: 100%;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--max-width-xs: 20rem;--max-width-sm: 24rem;--max-width-md: 28rem;--max-width-lg: 32rem;--max-width-xl: 36rem;--max-width-2xl: 42rem;--max-width-3xl: 48rem;--max-width-4xl: 56rem;--max-width-5xl: 64rem;--max-width-6xl: 72rem;--max-width-7xl: 80rem;--max-width-full: 100%;--max-width-screen: 100vw;--max-width-prose: 65ch;--max-width-screen-xs: var(--breakpoint-xs);--max-width-screen-sm: var(--breakpoint-sm);--max-width-screen-md: var(--breakpoint-md);--max-width-screen-lg: var(--breakpoint-lg);--max-width-screen-xl: var(--breakpoint-xl);--max-width-screen-2xl: var(--breakpoint-2xl)}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media(min-width:475px){.container{max-width:var(--container-xs)}}@media(min-width:640px){.container{max-width:var(--container-sm);padding-left:var(--space-6);padding-right:var(--space-6)}}@media(min-width:768px){.container{max-width:var(--container-md);padding-left:var(--space-8);padding-right:var(--space-8)}}@media(min-width:1024px){.container{max-width:var(--container-lg);padding-left:var(--space-12);padding-right:var(--space-12)}}@media(min-width:1280px){.container{max-width:var(--container-xl);padding-left:var(--space-16);padding-right:var(--space-16)}}@media(min-width:1536px){.container{max-width:var(--container-2xl);padding-left:var(--space-20);padding-right:var(--space-20)}}}@layer tokens{:root{--z-index-0: 0;--z-index-1: 1;--z-index-10: 10;--z-index-20: 20;--z-index-30: 30;--z-index-40: 40;--z-index-50: 50;--z-index-dropdown: 100;--z-index-sticky: 200;--z-index-fixed: 300;--z-index-modal-backdrop: 400;--z-index-modal: 500;--z-index-popover: 600;--z-index-tooltip: 700;--z-index-toast: 800;--z-index-overlay: 900;--z-index-max: 999;--z-index-behind: -1;--z-index-base: 0;--z-index-content: 1;--z-index-elevated: 10;--z-index-footer: 50;--z-index-skip-link: 9999;--z-header: var(--z-index-elevated);--z-nav: var(--z-index-nav);--z-modal: var(--z-index-portal-modal);--z-index-nav-backdrop: 90;--z-index-nav: 100;--z-index-nav-dropdown: 110;--z-index-nav-overlay: 115;--z-index-nav-menu: 120;--z-index-nav-menu-content: 125;--z-index-nav-header: 130;--z-index-business-card: 50;--z-index-business-card-overlay: 400;--z-index-business-card-modal: 500;--z-index-loading: 999;--z-index-intro: 998;--z-index-portal-base: 9000;--z-index-portal-header: 9100;--z-index-portal-sidebar: 9200;--z-index-portal-overlay: 9500;--z-index-portal-modal: 9600;--z-index-portal-dropdown: 9700;--z-index-portal-toast: 9800;--z-index-portal-confirm: 9900;--z-index-debug: 10000}.stacking-context{position:relative;z-index:var(--z-index-base)}.nav-container{position:relative;z-index:var(--z-index-nav)}.modal-container{position:fixed;inset:0;z-index:var(--z-index-modal)}.modal-backdrop{position:absolute;inset:0;z-index:var(--z-index-modal-backdrop)}.modal-content{position:relative;z-index:var(--z-index-modal)}.business-card-container{position:relative;z-index:var(--z-index-business-card)}.business-card-overlay{position:fixed;inset:0;z-index:var(--z-index-business-card-overlay)}.business-card-modal{position:relative;z-index:var(--z-index-business-card-modal)}.loading-overlay{position:fixed;inset:0;z-index:var(--z-index-loading)}.intro-overlay{position:fixed;inset:0;z-index:var(--z-index-intro)}.debug-panel{position:fixed;z-index:var(--z-index-debug)}}@layer tokens{[data-page=admin],[data-page=client]{--portal-btn-padding-y: var(--space-2);--portal-btn-padding-x: var(--space-4);--portal-btn-padding: var(--portal-btn-padding-y) var(--portal-btn-padding-x);--portal-btn-min-height: var(--space-5);--portal-btn-font-family: "Inconsolata", ui-monospace, monospace;--portal-btn-font-size: .875rem;--portal-btn-font-weight: 500;--portal-btn-letter-spacing: -.02em;--portal-btn-text-transform: uppercase;--portal-btn-border-width: 2px;--portal-btn-border-bottom-width: 6px;--portal-btn-border-radius: 0;--portal-btn-border-color: var(--color-text-primary);--portal-btn-bg: inherit;--portal-btn-color: var(--color-text-primary);--portal-btn-border: var(--color-text-primary);--portal-btn-hover-bg: var(--color-text-primary);--portal-btn-hover-color: var(--color-bg-primary);--portal-btn-hover-border: var(--color-text-primary);--portal-btn-danger-bg: transparent;--portal-btn-danger-color: var(--color-error-500);--portal-btn-danger-border: var(--color-error-500);--portal-btn-danger-hover-bg: var(--color-error-500);--portal-btn-danger-hover-color: var(--color-text-primary);--portal-btn-danger-hover-border: var(--color-error-500);--portal-btn-transition: all var(--transition-fast);--portal-btn-shadow: none;--portal-btn-shadow-hover: none;--portal-btn-shadow-focus: none;--portal-btn-sm-padding-y: var(--space-1);--portal-btn-sm-padding-x: var(--space-2);--portal-btn-sm-font-size: .8rem;--portal-btn-sm-min-height: var(--space-4);--portal-btn-icon-size: calc(var(--space-4) + var(--space-0-5));--portal-btn-icon-size-sm: var(--space-4);--portal-btn-icon-size-xs: calc(var(--space-3) + var(--space-0-5));--portal-btn-icon-radius: 0;--portal-btn-icon-inner-size: var(--icon-size-lg);--portal-btn-icon-inner-size-sm: var(--icon-size-md)}html[data-theme=light] body[data-page=client],html[data-theme=light] body[data-page=admin],html[data-theme=light] [data-page=client],html[data-theme=light] [data-page=admin]{--portal-btn-border-color: var(--color-gray-900);--portal-btn-bg: inherit;--portal-btn-color: var(--color-gray-900);--portal-btn-border: var(--color-gray-900);--portal-btn-hover-bg: var(--color-gray-900);--portal-btn-hover-color: var(--color-off-white);--portal-btn-hover-border: var(--color-gray-900);--portal-btn-danger-bg: transparent}}@layer tokens{:root{--header-height: 60px;--footer-height: 40px;--size-container: min(1200px, 100vw - 2rem);--container-padding: clamp(1rem, 4vw, 2rem);--gap: clamp(.75rem, 3vw, 1.5rem);--section-padding: clamp(1rem, 5vw, 2rem);--modal-width-sm: 400px;--modal-width-md: 560px;--modal-width-lg: 860px;--icon-size-xs: 12px;--icon-size-sm: 14px;--icon-size-md: 16px;--icon-size-lg: 20px;--icon-size-xl: 24px;--icon-size-2xl: 32px;--icon-text-size: var(--font-size-sm);--portal-nav-font-size: 1.25rem;--sidebar-icon-size: 20px;--btn-portal-icon-size: 32px;--btn-portal-icon-size-sm: 28px;--btn-portal-icon-size-xs: 24px;--btn-table-icon-size: 24px;--btn-portal-icon-inner-size: 14px;--dropdown-caret-size: var(--icon-size-xs);--dropdown-caret-gap: var(--space-2);--dropdown-font-size: inherit;--dropdown-font-weight: inherit;--dropdown-font-family: inherit;--dropdown-letter-spacing: inherit;--dropdown-text-transform: none;--status-dot-size: 8px;--status-dot-gap: var(--space-2);--menu-padding: clamp(.5rem, 2vw, 1rem);--nav-base-gap: clamp(.5rem, 1.5vw, .8rem);--menu-multiplier: .15;--list-multiplier: .12;--menu-heading-size: clamp(2.5rem, 6vw, 4rem);--menu-button-size: clamp(2rem, 4vw, 2.5rem);--theme-button-size: clamp(2rem, 4vw, 2.5rem);--menu-width-desktop: 35rem;--menu-width-tablet: 32rem;--menu-width-mobile: 100vw;--menu-border-radius: 1.25rem;--menu-height: 100vh;--menu-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--menu-multiplier)));--list-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--list-multiplier)));--business-card-width-svg: 1069.5;--business-card-height-svg: 599.3;--business-card-aspect-ratio: 1.784582;--business-card-base-width: 35vw;--business-card-base-height: calc(var(--business-card-base-width) / var(--business-card-aspect-ratio));--business-card-large-width: 525px;--business-card-large-height: calc(var(--business-card-large-width) / var(--business-card-aspect-ratio));--business-card-medium-width: 420px;--business-card-medium-height: calc(var(--business-card-medium-width) / var(--business-card-aspect-ratio));--business-card-small-width: 350px;--business-card-small-height: calc(var(--business-card-small-width) / var(--business-card-aspect-ratio));--business-card-tiny-width: 280px;--business-card-tiny-height: calc(var(--business-card-tiny-width) / var(--business-card-aspect-ratio));--contact-input-height: clamp(52px, 14vw, 60px);--contact-input-width: min(520px, 100%);--contact-textarea-height: 175px;--contact-textarea-width: min(520px, 100%);--contact-field-gap: 0;--contact-row-gap: 0;--contact-layout-height: 480px;--contact-field-border-width: var(--border-width);--contact-field-border-color: var(--color-text-primary);--terminal-font-family: "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;--terminal-line-height: 1.7;--sidebar-width-open: 240px;--sidebar-width-min: 200px;--sidebar-width-collapsed: 56px;--sidebar-width-default: 280px;--aside-width-narrow: 240px;--aside-width-medium: 280px;--aside-width-wide: 320px;--icon-btn-size-sm: 28px;--icon-btn-size-md: 36px;--icon-btn-size-lg: 40px;--icon-btn-size-xl: 48px;--icon-size-3xl: 64px;--tooltip-max-width: 280px;--tooltip-max-width-sm: 250px;--panel-min-height-sm: 72px;--card-min-height-sm: 120px;--chart-height-md: 200px;--form-container-max-width: 420px;--logo-width-sidebar: 120px;--divider-thin: 1px;--divider-size: 2px;--scrollbar-width: 4px;--tooltip-arrow-size: 6px;--indicator-dot-md: 10px;--indicator-dot-sm: 6px;--input-width-search-table: 180px;--search-input-max-width: 20rem;--progress-bar-height: 16px}}@layer tokens{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.focus-visible:focus{outline:2px solid var(--color-border-focus);outline-offset:2px}.js-focus-visible :focus:not(.focus-visible){outline:none}.hover\:scale-105:hover{transform:scale(var(--scale-105))}.hover\:shadow-lg:hover{box-shadow:var(--shadow-lg)}.hover\:bg-opacity-90:hover{background-color:rgba(var(--color-bg-primary-rgb),.9)}.focus\:outline-none:focus{outline:none}.focus\:ring:focus{outline:2px solid transparent;box-shadow:0 0 0 2px var(--color-border-focus)}.active\:scale-95:active{transform:scale(var(--scale-95))}.disabled,[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.focus-within\:ring:focus-within{box-shadow:0 0 0 2px var(--color-border-focus)}@media(prefers-contrast:high){.card,.btn,.input{border-width:2px}}@media(prefers-reduced-motion:reduce){.card,.btn,.input,.hover\:scale-105:hover,.active\:scale-95:active{transition:none;transform:none;animation:none}}}@layer tokens{:root{--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem}:root{--letter-spacing-label: .05em;--letter-spacing-title: .02em;--letter-spacing-wide: .08em}:root{--color-shadow: rgba(0, 0, 0, .5)}*{box-sizing:border-box}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{font-family:var(--font-family-body, Arial, Helvetica, sans-serif);font-size:var(--font-size-base);line-height:1.6;margin:0;padding:0;color:var(--color-text-primary);transition:background-color .2s ease,color .2s ease}body:is([data-page=admin],[data-page=client]){font-family:var(--font-family-mono, "Inconsolata", monospace)}.header,main,section,.footer{transition:background-color .2s ease,color .2s ease}.container{width:100%;max-width:var(--size-container);margin:0 auto;padding:0 var(--container-padding)}.p-sm{padding:var(--space-fluid-sm)}.p-md{padding:var(--space-fluid-md)}.p-lg{padding:var(--space-fluid-lg)}.p-xl{padding:var(--space-fluid-xl)}@media(max-width:767px){.md\:hidden{display:none}.sm\:block{display:block}}@media(min-width:768px){.md\:block{display:block}.sm\:hidden{display:none}}img{max-width:100%;height:auto;display:block}}@layer components{.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer components{.loading-spinner{display:inline-block;width:20px;height:20px;border:var(--border-width) solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--border-radius-full, 50%);animation:spin var(--animation-spinner-fast)}.loading-spinner--small{width:14px;height:14px;border-width:2px}.loading-spinner--large{width:32px;height:32px;border-width:var(--border-width-thick)}@keyframes spin{to{transform:rotate(360deg)}}button[aria-busy=true],input[type=submit][aria-busy=true]{cursor:wait;opacity:.8}button[aria-busy=true] .loading-spinner,button[aria-busy=true] .btn-loading-text{display:inline-block;vertical-align:middle}button[aria-busy=true] .loading-spinner{margin-right:.5rem}.btn-loading-text{font-size:inherit}.loading-row.loading-state{text-align:center;padding:2rem 1rem}.loading-row.loading-state .loading-spinner{margin-right:.5rem;vertical-align:middle}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(var(--space-2),3vw,var(--space-4));min-height:150px;gap:clamp(12px,2vw,20px);color:inherit;font-size:inherit}.loading-state .loading-spinner,.loading-state .loading-message{margin:0;padding:0}.skeleton-item,.skeleton-card{padding:1rem;background:var(--color-bg-secondary);border-radius:var(--border-radius-md, 8px);margin-bottom:.5rem}.skeleton-line{height:12px;background:linear-gradient(90deg,var(--color-skeleton-base) 25%,var(--color-skeleton-highlight) 50%,var(--color-skeleton-base) 75%);background-size:200% 100%;border-radius:var(--border-radius-sm, 4px);animation:skeleton-shimmer var(--animation-skeleton-shimmer)}.skeleton-line--title{height:16px;width:60%;margin-bottom:.75rem}.skeleton-line--text{width:100%;margin-bottom:.5rem}.skeleton-line--text:last-child{margin-bottom:0}.skeleton-line--short{width:40%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-chart{padding:1rem;min-height:200px;display:flex;align-items:flex-end;justify-content:center}.skeleton-chart-bars{display:flex;gap:1rem;align-items:flex-end;height:150px;width:100%;max-width:300px}.skeleton-bar{flex:1;background:linear-gradient(90deg,var(--color-skeleton-base) 25%,var(--color-skeleton-highlight) 50%,var(--color-skeleton-base) 75%);background-size:200% 100%;border-radius:var(--border-radius-sm, 4px) var(--border-radius-sm, 4px) 0 0;animation:skeleton-shimmer var(--animation-skeleton-shimmer)}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none;border-top-color:var(--color-accent);opacity:.7}.skeleton-line,.skeleton-bar{animation:none;background:var(--color-skeleton-base)}}tr.error-row td,tr.loading-row td,tr.empty-row td,td.error-row,td.loading-row,td.empty-row,td.empty-cell,td.loading-cell,td.error-cell,div.empty-row,div.loading-row,div.error-row,.portal .data-table td.error-row,.portal .data-table td.loading-row,.portal .data-table td.empty-row,.portal .data-table td.empty-cell,.portal .data-table tr.error-row td,.portal .data-table tr.loading-row td,.portal .data-table tr.empty-row td,.portal .data-table tbody td[colspan],.portal table td[colspan]{text-align:center;color:inherit;padding:clamp(var(--space-2),3vw,var(--space-3));font-size:inherit;background:transparent}tr.loading-row,tr.error-row,tr.empty-row{width:100%}tr.loading-row>td,tr.error-row>td,tr.empty-row>td{width:100%}td.error-row,td.loading-row,td.empty-row{border-bottom-left-radius:0;border-bottom-right-radius:0}.error-state,.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,2vw,20px);padding:clamp(var(--space-2),3vw,var(--space-4));width:100%;height:100%;min-height:60px;flex:1 1 auto;box-sizing:border-box;text-align:center;margin:0 auto;color:var(--color-text-primary, inherit);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.portal .portal-card,.portal .dashboard-card,.portal [class*=card]:not(.business-card){position:relative}.portal .loading-state,.portal .empty-state,.portal .error-state{min-height:var(--space-12);padding:clamp(var(--space-3),3vw,var(--space-5))}.empty-state--compact{min-height:auto;padding:var(--space-2);gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary, inherit)}.empty-state--full{flex:1}.empty-state--compact:before{content:"";display:block;width:16px;height:16px;background-color:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;flex-shrink:0}.portal :has(>.empty-state):not(td):not(th):not(.panel):not(.data-table-card),.portal :has(>.loading-state):not(td):not(th):not(.panel):not(.data-table-card),.portal :has(>.error-state):not(td):not(th):not(.panel):not(.data-table-card){display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px}.portal .funnel-container,.portal .source-list{display:flex;flex-direction:column;min-height:100px}td .loading-state,td .error-state,td .empty-state,td[colspan] .loading-state,td[colspan] .error-state,td[colspan] .empty-state{padding:var(--space-2) var(--space-3)}@layer utilities{@media(min-width:701px){.data-table tbody td[colspan],.portal table td[colspan]{display:table-cell;text-align:center;vertical-align:middle;min-height:120px;padding:var(--space-4)}.data-table tbody td[colspan] .empty-state,.data-table tbody td[colspan] .loading-state,.data-table tbody td[colspan] .error-state,.portal table td[colspan] .empty-state,.portal table td[colspan] .loading-state,.portal table td[colspan] .error-state{width:-moz-max-content;width:max-content;max-width:100%;min-width:0;height:auto;min-height:60px;margin-left:auto;margin-right:auto}}@media(max-width:700px){.data-table td[colspan]{justify-content:center;align-items:center;flex-direction:column}.data-table td[colspan] .empty-state,.data-table td[colspan] .loading-state,.data-table td[colspan] .error-state{width:-moz-max-content;width:max-content;max-width:100%;min-width:0;height:auto}}}.loading-state p,.error-state p,.empty-state p{margin:0;padding:0;text-align:center;line-height:var(--line-height-snug);font-style:normal;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary, inherit)}td.loading-state,td.loading-row.loading-state{display:table-cell;text-align:center;vertical-align:middle}td.loading-state p,td.loading-row.loading-state p{margin:0;display:inline-block}p.empty-state{display:block;padding:var(--space-4)}[class$=-list]:has(.empty-state,.loading-state,.error-state),[id$=-list]:has(.empty-state,.loading-state,.error-state){display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px}[class$=-list]>.empty-state,[id$=-list]>.empty-state{min-height:80px;padding:var(--space-4)}.loading-state:before{content:"";display:block;width:24px;height:24px;border:var(--border-width-thick) solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--border-radius-full, 50%);animation:spin var(--animation-spinner-fast);flex-shrink:0}.loading-state:has(.loading-spinner):before,.loading-state:has(svg):before{display:none}.error-state:before{content:"";display:block;width:24px;height:24px;background-color:var(--color-danger);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;flex-shrink:0}.error-state:has(.error-state-icon):before,.error-state:has(.error-icon):before,.error-state:has(svg):before{display:none}.error-icon,.error-state-icon{width:24px;height:24px;color:var(--color-danger);flex-shrink:0}.error-icon svg,.error-state-icon svg{width:24px;height:24px}.empty-state:before{content:"";display:block;width:24px;height:24px;background-color:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;flex-shrink:0}.empty-state:has(.empty-icon):before,.empty-state:has(svg):before{display:none}.empty-icon{width:var(--icon-size-xl);height:var(--icon-size-xl);color:inherit;flex-shrink:0}.empty-state>svg,.loading-state>svg,.error-state>svg,.empty-icon>svg,.error-state-icon>svg{width:var(--icon-size-xl);height:var(--icon-size-xl);flex-shrink:0;color:inherit;stroke:currentColor}.portal .empty-state svg,.portal .loading-state svg,.portal .error-state svg,.portal .empty-icon svg{width:var(--icon-size-xl);height:var(--icon-size-xl);margin:0;color:inherit;stroke:currentColor}.error-message,.error-state-message,.empty-state-message,.loading-message{color:var(--color-text-primary, inherit);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-style:normal;margin:0}.module-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(var(--space-2),3vw,var(--space-4));min-height:150px;text-align:center}.module-error-state p{margin-bottom:var(--space-1)}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(var(--space-2),3vw,var(--space-4));min-height:150px;gap:clamp(12px,2vw,20px);text-align:center;color:inherit;font-size:inherit}.btn-retry,.error-state-retry{margin-top:var(--space-1, .5rem)}.error-inline{color:var(--color-danger);font-size:var(--font-size-base);display:block;margin-top:.25rem}.error-notification{position:fixed;bottom:1rem;right:1rem;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-danger);border-radius:var(--border-radius-md, 8px);box-shadow:var(--shadow-elevated-sm);z-index:var(--z-index-loading)}.error-notification .error-icon{font-size:var(--font-size-sm)}.error-notification .error-message{color:var(--color-text)}.error-dismiss{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-lg);cursor:pointer;padding:0 .25rem;line-height:1}.error-dismiss:hover{color:var(--color-text)}.empty-state-cta{margin-top:var(--space-1)}.portal .empty-state:not(td *):not(.data-table *):not(.data-table-card *):not(.card *):not(.portal-card *):not(.panel *),.portal .error-state:not(td *):not(.data-table *):not(.data-table-card *):not(.card *):not(.portal-card *):not(.panel *),.portal .loading-state:not(td *):not(.data-table *):not(.data-table-card *):not(.card *):not(.portal-card *):not(.panel *){border:var(--portal-border);padding:var(--space-3);min-height:120px}.error-state-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.error-state-secondary{padding:var(--space-0-5, .375rem) var(--space-1-5, .75rem);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);background:transparent;color:var(--color-text-primary, var(--color-text));border:var(--border-width) solid var(--portal-border, var(--color-border));cursor:pointer;transition:all var(--transition-fast, .2s ease)}.error-state-secondary:hover{background:var(--color-bg-hover, var(--color-state-hover));border-color:var(--color-text-primary, var(--color-text-inverse));color:var(--color-text-primary, var(--color-text-inverse))}.skeleton-container{display:flex;flex-direction:column;gap:var(--space-1);width:100%;padding:var(--space-2)}.loading-state--skeleton:before{display:none}.skeleton-line--full{width:100%;height:12px;background:linear-gradient(90deg,var(--color-skeleton-base) 25%,var(--color-skeleton-highlight) 50%,var(--color-skeleton-base) 75%);background-size:200% 100%;border-radius:var(--border-radius-sm, 4px);animation:skeleton-shimmer var(--animation-skeleton-shimmer)}.skeleton-row{display:flex;gap:var(--space-2);padding:var(--space-1) 0}.skeleton-row .skeleton-line{flex:1}.spinning,.loading-spin{animation:spin var(--animation-spinner-fast)}@media(max-width:767px){.empty-state,.loading-state,.error-state{min-width:100%;box-sizing:border-box}.empty-state p,.loading-state p,.error-state p{white-space:normal;word-break:normal;overflow-wrap:break-word}}@media(prefers-reduced-motion:reduce){.skeleton-line--full{animation:none;background:var(--color-skeleton-base)}.spinning,.loading-spin{animation:none;opacity:.7}}}@layer components{.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-index-portal-toast);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;max-width:var(--toast-max-width)}.toast{display:flex;align-items:center;gap:var(--icon-gap-md);background:var(--color-bg-secondary);border:var(--portal-border);box-shadow:none;color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);pointer-events:auto;opacity:0;transform:translate(100%);transition:opacity var(--transition-normal) ease,transform var(--transition-normal) ease;min-width:var(--toast-min-width);max-width:var(--toast-max-width)}.toast-show{opacity:1;transform:translate(0)}.toast-hide{opacity:0;transform:translate(100%)}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--icon-size-lg);height:var(--icon-size-lg)}.toast-icon svg{width:100%;height:100%}.toast-message{flex:1;word-wrap:break-word}.toast-action{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);text-decoration:none;border-bottom:var(--border-width) solid transparent;transition:border-color var(--transition-fast) ease,color var(--transition-fast) ease;white-space:nowrap}.toast-action:hover{color:var(--color-accent);border-color:var(--color-accent)}.toast-close{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast) ease,color var(--transition-fast) ease;flex-shrink:0;width:var(--icon-size-xl);height:var(--icon-size-xl)}.toast-close:hover{background:var(--color-bg-raised);color:var(--color-text-primary)}.toast-close svg{width:var(--icon-size-md);height:var(--icon-size-md)}.toast-success{border-left:var(--border-width-thick) solid var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-error{border-left:var(--border-width-thick) solid var(--color-danger)}.toast-error .toast-icon{color:var(--color-danger)}.toast-warning{border-left:var(--border-width-thick) solid var(--color-warning)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info{border-left:var(--border-width-thick) solid var(--color-info)}.toast-info .toast-icon{color:var(--color-info)}@media(max-width:767px){.toast-container{top:var(--space-2);right:var(--space-2);left:var(--space-2);max-width:none}.toast{min-width:auto;max-width:none;transform:translateY(-100%)}.toast-show{transform:translateY(0)}.toast-hide{transform:translateY(-100%)}}}@layer components{.field-label,.meta-label,.stat-label{font-size:var(--label-font-size);font-weight:var(--label-font-weight);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--label-letter-spacing)}.field-label,.meta-label{display:block;margin-bottom:var(--portal-field-label-gap);line-height:var(--line-height-tight);white-space:nowrap!important}.field-label svg{display:inline-block;vertical-align:middle;margin-right:var(--portal-field-label-gap)}.field-label--spaced{margin-bottom:var(--space-2)}.meta-value{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--color-text-primary);line-height:var(--line-height-snug)}.meta-value a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}.meta-value a:hover{color:var(--color-accent);text-decoration:underline}.meta-item{display:flex;flex-direction:column;gap:var(--portal-field-label-gap)}.meta-item .field-label,.meta-item .meta-label{margin-bottom:0}.stat-label{margin:0}}@layer responsive{@media(max-width:767px){.hide-mobile{display:none}.admin-grid-2col,.admin-grid-3col,.admin-grid-4col,.form-grid-2col,.cards-grid,.cards-grid-sm,.cards-grid-lg{grid-template-columns:1fr}.layout-split,.layout-split-asymmetric{flex-direction:column}.masonry-grid{-moz-column-count:1;column-count:1}}@media(min-width:768px){.show-tablet{display:block}.hide-tablet{display:none}.admin-grid-auto{grid-template-columns:repeat(2,1fr)}.masonry-grid{-moz-column-count:2;column-count:2}}@media(min-width:992px){.show-desktop{display:block}.hide-desktop{display:none}.admin-grid-2col{grid-template-columns:repeat(2,1fr)}.admin-grid-3col{grid-template-columns:repeat(3,1fr)}.admin-grid-4col{grid-template-columns:repeat(4,1fr)}.admin-grid-auto{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.masonry-grid{-moz-column-count:3;column-count:3}}@media(min-width:1200px){.show-wide{display:block}.hide-wide{display:none}.masonry-grid{-moz-column-count:4;column-count:4}}@media(max-width:767px){[data-page=admin] #tab-analytics>.quick-stats{grid-template-columns:1fr}}@media(max-width:479px){[data-page=admin] #tab-analytics .chart-container ul{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem;justify-items:start}[data-page=admin] #tab-analytics .chart-container ul li{margin:0}.data-table-header h3 .title-full{display:none}.data-table-header h3 .title-mobile{display:inline}[data-page=admin] .data-table tbody td:empty{display:none}}@media(max-width:767px){.portal-sidebar{position:fixed;left:-100%;transition:left var(--transition-normal) ease}.portal-sidebar.is-open{left:0}.portal-header{padding:var(--space-2) var(--space-3)}.portal-stats-grid,.portal-widgets-grid{grid-template-columns:1fr}}@media(max-width:767px){.portal .sidebar{width:56px;min-width:56px;max-width:56px}.portal .sidebar.collapsed{width:0;min-width:0;max-width:0;overflow:hidden;padding:0}.portal .sidebar .sidebar-buttons .nav-btn .nav-label{display:none}.portal .sidebar .sidebar-buttons .nav-btn{justify-content:center}.portal .sidebar .sidebar-shortcut{display:none}.portal .portal-body .dashboard-content{width:100%;flex:1}}@media print{.sidebar,.portal-sidebar,.admin-sidebar,.btn,button,.dropdown-toggle{display:none}.main-content,.dashboard-content{width:100%;margin:0;padding:0}.card,.portal-card{-moz-column-break-inside:avoid;break-inside:avoid}}@media(prefers-contrast:high){.card,.portal-card,.btn{border-width:2px}:focus-visible{outline-width:3px;outline-offset:3px}}}@layer components{*{box-sizing:border-box}.container{z-index:var(--z-index-content);max-width:var(--size-container);padding-left:var(--container-padding);padding-right:var(--container-padding);width:100%;margin-left:auto;margin-right:auto;position:relative}.container.is--full{max-width:100%}li{display:list-item;text-align:-webkit-match-parent;unicode-bidi:isolate}.header{z-index:var(--z-index-nav-header);font-family:var(--font-family-acme);padding:0;padding-top:env(safe-area-inset-top,0);position:fixed;top:0;left:0;right:0;width:100%;background-color:transparent}.header .container{padding:0 var(--container-padding)}.nav-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;width:100%;min-height:40px;flex-wrap:nowrap}.nav-logo-row{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--color-nav-text);font-weight:600;font-size:20px;pointer-events:auto;text-shadow:0 2px 4px var(--color-shadow);text-transform:uppercase;white-space:nowrap;flex-shrink:0;position:relative;transition:color var(--transition-mouse) ease;-webkit-tap-highlight-color:transparent}.nav-logo-row:visited{color:var(--color-nav-text)}.nav-logo-row:hover,.nav-logo-row:active{color:var(--color-accent);text-decoration:none}.nav-logo-row:focus{color:var(--color-nav-text);text-decoration:none;outline:none}.nav-logo-row:focus-visible{color:var(--color-accent);outline:none;box-shadow:none}.nav-row__right{display:flex;align-items:center;gap:16px;pointer-events:auto;flex-shrink:0;white-space:nowrap;position:relative;z-index:var(--z-index-nav-menu-content)}.nav{z-index:var(--z-index-nav-menu);width:100%;height:100dvh;max-height:100dvh;margin-left:auto;margin-right:auto;display:none;position:fixed;inset:0%;pointer-events:auto}.nav[data-nav=open]{display:block}.overlay{z-index:var(--z-index-nav-overlay);cursor:pointer;background-color:rgba(var(--bg-rgb, 25, 25, 25),.7);width:100vw;height:100vh;position:fixed;top:0;left:0;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);transition:opacity var(--transition-length, .5s) cubic-bezier(.3,.9,.3,.9),visibility var(--transition-length, .5s),backdrop-filter var(--transition-length, .5s)}.nav[data-nav=open] .overlay,.overlay.visible{opacity:1;visibility:visible;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu{z-index:var(--z-index-nav-menu-content);grid-column-gap:5em;grid-row-gap:5em;flex-flow:column;justify-content:flex-start;align-items:flex-start;position:relative;overflow-y:auto;overflow-x:hidden;padding-top:calc(3 * var(--menu-padding));padding-bottom:var(--menu-padding);width:var(--menu-width-desktop);height:100%;max-height:100dvh;margin-left:auto;transform:translate(120%)}.menu-bg{z-index:var(--z-index-content);position:absolute;inset:0%}.menu-inner{z-index:var(--z-index-content);grid-column-gap:5em;grid-row-gap:5em;padding-right:0rem;flex-flow:column;justify-content:space-between;align-items:flex-start;height:100%;display:flex;position:relative;overflow:auto}.bg-panel{z-index:var(--z-index-content);background-color:var(--color-neutral-100);border-top-left-radius:var(--menu-border-radius);border-bottom-left-radius:var(--menu-border-radius);position:absolute;inset:0%}.bg-panel.first{background-color:var(--color-accent)}.bg-panel.second{background-color:var(--color-neutral-300)}.menu-list{flex-flow:column;width:100%;margin-bottom:0;padding:0;list-style:none;display:flex}.menu-list-item{position:relative;overflow:hidden}.menu-link{padding-top:.75em;padding-bottom:.75em;padding-left:var(--container-padding);padding-right:var(--menu-padding);gap:.75em;width:100%;text-decoration:none;display:flex;color:inherit;position:relative;overflow:hidden;border:none;outline:none;text-transform:uppercase;align-items:center;justify-content:flex-start;min-height:0}.menu-link-heading{text-shadow:0 1em 0 var(--color-neutral-100),0 2px 4px var(--color-shadow);z-index:var(--z-index-content);text-transform:uppercase;font-family:var(--font-family-acme);font-weight:700;line-height:.9;position:relative;font-size:var(--menu-heading-size);letter-spacing:.1em;display:inline-block;transform:translateY(-100%);transition:transform .4s var(--cubic-menu);flex:0 1 auto;text-align:left;white-space:nowrap}@media(max-width:479px){.menu-link-heading{text-shadow:none;transform:none;transition:none}}.menu-link-bg{z-index:var(--z-index-base);background-color:var(--color-dark);transform-origin:50% 100%;transform-style:preserve-3d;position:absolute;inset:0%;transform:scale3d(1,0,1);transition:transform .4s var(--cubic-menu);pointer-events:none}.menu-link.disabled{opacity:.5;pointer-events:none;cursor:not-allowed;position:relative}.menu-link.disabled .menu-link-heading{color:var(--color-neutral-800);opacity:.6}.menu-link.disabled .eyebrow{opacity:.4}.menu .menu-link.disabled:hover .menu-link-bg{transform:scale3d(1,0,1)}.menu-link.current,.menu-link[aria-current=page]{filter:blur(2px);opacity:.5;cursor:default;pointer-events:none}.menu-link.current .menu-link-heading,.menu-link[aria-current=page] .menu-link-heading{color:var(--color-text-secondary)}.menu-link.current .menu-link-bg,.menu-link[aria-current=page] .menu-link-bg{display:none}.menu-link.current:hover,.menu-link[aria-current=page]:hover{filter:blur(4px)}.coming-soon-banner{position:absolute;top:50%;right:40%;transform:translateY(-40%);background:var(--color-accent);color:var(--color-dark);padding:var(--space-1) var(--space-3);border-radius:1rem;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;z-index:var(--z-index-elevated);font-family:monospace;text-shadow:none;box-shadow:0 2px 8px rgba(var(--color-accent-rgb),.3)}html[data-theme=dark] .coming-soon-banner{color:var(--color-neutral-100);background:var(--color-accent)}.menu-link .eyebrow{z-index:var(--z-index-content);color:var(--color-accent);text-transform:uppercase;font-family:monospace;font-weight:400;position:relative;text-shadow:none;font-size:var(--font-size-sm);flex-shrink:0}.social-icon{width:1em;height:1em;flex-shrink:0;vertical-align:middle;margin-right:.35em}.text-link{display:inline-flex;align-items:center;gap:.25em;text-decoration:none;position:relative;color:inherit;text-transform:uppercase}@media(hover:hover){.text-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--color-accent);transform-origin:right center;transform:scaleX(0);transition:transform .4s var(--cubic-default)}.text-link:hover:after{transform-origin:left center;transform:scaleX(1)}}.theme-button,.menu-button{display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;padding:8px 0;min-height:40px;color:inherit;text-transform:uppercase;flex-shrink:0;font-family:inherit;font-size:inherit;line-height:inherit;text-shadow:0 2px 4px var(--color-shadow);transition:color var(--transition-mouse) ease}.theme-button:hover,.theme-button:active,.menu-button:hover,.menu-button:active{color:var(--color-accent)}.theme-button:focus-visible,.menu-button:focus-visible{color:var(--color-accent);background-color:rgba(var(--color-accent-rgb),.1);outline:none;box-shadow:none}.theme-button:focus,.menu-button:focus{outline:none}.theme-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--border-radius-full);transition:background-color var(--transition-mouse) ease}.menu-button-icon{width:16px;height:16px;transition:transform var(--transition-normal) ease;filter:drop-shadow(0 2px 4px var(--color-shadow))}.menu-button-text{flex-flow:column;justify-content:flex-start;align-items:flex-start;height:20px;display:flex;overflow:hidden;text-transform:uppercase}.menu-button-text p{margin:0;padding:0;line-height:1;font-size:var(--font-size-xl);font-weight:600;white-space:nowrap;font-family:var(--font-family-acme, "Acme", sans-serif)}.menu-details{padding-left:var(--container-padding);grid-column-gap:1.25em;grid-row-gap:1.25em;flex-flow:column;justify-content:flex-start;align-items:flex-start;display:flex;text-transform:uppercase}.socials-row{grid-column-gap:var(--space-6);grid-row-gap:var(--space-6);flex-flow:row;display:flex}.p-small{font-size:.875em;font-family:var(--font-family-acme);text-transform:uppercase}.p-large{font-size:1.125em;font-family:var(--font-family-acme);text-transform:uppercase}.icon-wrap{display:flex;align-items:center;justify-content:center;transform:rotate(0);width:24px;height:24px;position:relative;transition:all var(--transition-normal) var(--cubic-default)}.theme-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--icon-size-lg);height:var(--icon-size-lg);color:currentColor;transition:opacity var(--transition-normal) ease;filter:drop-shadow(0 2px 4px var(--color-shadow))}[data-theme=light] .sun-icon{opacity:1}[data-theme=light] .moon-icon,[data-theme=dark] .sun-icon{opacity:0}[data-theme=dark] .moon-icon{opacity:1}.social-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--border-radius-full);background:var(--color-surface-secondary);color:var(--color-text-primary);transition:all var(--transition-normal) var(--cubic-default)}.social-link:hover{background:var(--color-accent);color:var(--color-text-on-primary);transform:translateY(-2px)}.social-link svg{width:24px;height:24px}@supports (-webkit-appearance: none){.menu{-webkit-overflow-scrolling:touch}.menu-link-heading{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@-moz-document url-prefix(){.menu-link-bg{transform-style:flat}}html[data-theme=dark] .nav-logo-row,html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] h4,html[data-theme=dark] h5,html[data-theme=dark] h6{text-shadow:0 2px 4px var(--color-shadow)}html[data-theme=dark] .theme-button,html[data-theme=dark] .menu-button{background:transparent;border:none;box-shadow:none}html[data-theme=dark] .theme-button:hover,html[data-theme=dark] .menu-button:hover{background:transparent;border:none;box-shadow:none;color:var(--color-accent)}html[data-theme=dark] .menu-link-heading{text-shadow:0 1em 0 var(--color-neutral-300)}html[data-theme=dark] .bg-panel{background-color:var(--color-bg-secondary)}html[data-theme=dark] .bg-panel.first{background-color:var(--color-accent)}html[data-theme=dark] .bg-panel.second{background-color:var(--color-neutral-100)}}@layer components{.nav[data-nav=open] .overlay{opacity:1;visibility:visible}.nav[data-nav=open] .menu{transform:translate(0)}.nav[data-nav=open] .menu-link-heading{transform:translateY(0)}.nav[data-nav=open] .menu-button-icon{transform:rotate(45deg)}@media(hover:hover){.menu-button:hover .icon-wrap{transform:rotate(90deg)}.theme-button:hover .icon-wrap{transform:scale(1.1)}.menu-link:hover .menu-link-heading{transform:translateY(-100%)}.menu-link:hover .menu-link-heading:before{transform:translateY(-100%)}.menu-link:hover .menu-link-bg{transform:scale(1)}.text-link:hover{transform:scale(1.05)}}.nav[data-nav=closed] .menu-link-heading{transform:none;transition:none}.nav.nav[data-nav=closed] .menu-link-heading:before{transform:translateY(0);transition:none}.menu-link-heading{transform-origin:center center}@media(hover:hover){.menu-button:hover .icon-wrap{transform:rotate(90deg)}.theme-button:hover .icon-wrap{transform:scale(1.1)}.nav[data-nav=open] .menu-link:hover .menu-link-heading{transform:translateY(-100%)}.nav[data-nav=open] .menu-link:hover .menu-link-heading:before{transform:translateY(-100%)}.nav[data-nav=open] .menu-link:hover .menu-link-bg{transform:scale(1)}.nav.nav[data-nav=closed] .menu-link:hover .menu-link-heading,.nav.nav[data-nav=closed] .menu-link:hover .menu-link-heading:before{transform:none;transition:none}.text-link:hover{transform:scale(1.05)}}.menu-link.touch-active .menu-link-heading{transform:translateY(-100%)}.menu-link.touch-active .menu-link-heading:before{transform:translateY(-100%)}.menu-link.touch-active .menu-link-bg{transform:scale(1)}}@layer components{@media(max-width:991px){:root{--nav-base-gap: clamp(.35rem, 1.2vw, .7rem);--menu-multiplier: .14;--list-multiplier: .11;--menu-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--menu-multiplier)));--list-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--list-multiplier)))}.menu{width:var(--menu-width-tablet);padding-top:calc(4 * var(--menu-padding))}.bg-panel{border-top-left-radius:calc(var(--menu-border-radius) * .8);border-bottom-left-radius:calc(var(--menu-border-radius) * .8)}.nav-logo-row{width:auto;font-size:var(--font-size-xl);gap:var(--icon-gap-sm)}}@media(max-width:767px){:root{--nav-base-gap: clamp(.3rem, 1vw, .6rem);--menu-padding: clamp(.75rem, 3vw, 1.5rem);--menu-heading-size: clamp(5rem, 18vw, 8rem);--menu-button-size: clamp(2.2rem, 5vw, 2.8rem);--theme-button-size: clamp(2.2rem, 5vw, 2.8rem);--menu-multiplier: .13;--list-multiplier: .1;--menu-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--menu-multiplier)));--list-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--list-multiplier)))}.portal-button{opacity:0;visibility:hidden;pointer-events:none;margin-left:.75rem}.header{position:static}.nav-logo-row{font-size:var(--font-size-xl);gap:var(--icon-gap-xs);min-width:auto;text-shadow:0 2px 4px var(--portal-alpha-black-20)}.menu-button-text{text-shadow:0 2px 4px var(--portal-alpha-black-20)}.nav-logo__icon{width:16px;height:16px}.nav-row__right{grid-column-gap:.5rem;grid-row-gap:.5rem;flex-shrink:0}.menu{padding-top:calc(5 * var(--menu-padding))}.menu{width:var(--menu-width-mobile)}.bg-panel{border-top-left-radius:0;border-bottom-left-radius:0}.menu-list{padding-top:2rem}.menu-list-item{min-height:clamp(4rem,10vw,5.5rem)}.menu .menu-link .menu-link-heading{font-size:clamp(3rem,12vw,4.5rem);text-shadow:0 1em 0 var(--color-neutral-100)}.menu-link{padding-top:1em;padding-bottom:1em}.socials-row{grid-column-gap:clamp(1rem,3vw,1.5rem);grid-row-gap:clamp(1rem,3vw,1.5rem);flex-flow:row;display:flex;padding-bottom:var(--menu-padding)}.p-large.text-link{font-size:clamp(.9rem,2vw,1rem)}}@media(max-width:479px){:root{--nav-base-gap: clamp(.25rem, .8vw, .5rem);--menu-padding: clamp(.5rem, 2vw, 1rem);--menu-heading-size: clamp(1.8rem, 5vw, 3.5rem);--theme-button-size: clamp(2rem, 4vw, 2.5rem);--menu-button-size: clamp(2rem, 4vw, 2.5rem);--menu-multiplier: .12;--list-multiplier: .09;--menu-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--menu-multiplier)));--list-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--list-multiplier)))}.menu{padding-top:calc(6 * var(--menu-padding));padding-bottom:calc(1.5 * var(--menu-padding))}.menu-list-item{min-height:clamp(2.5rem,6vw,3.5rem)}.nav-row__right{grid-column-gap:.25rem;grid-row-gap:.25rem}}@media(min-width:1200px){:root{--nav-base-gap: .9rem;--menu-padding: clamp(1rem, 2.5vh, 2.5rem);--menu-heading-size: min(5.5rem, 11dvh);--menu-multiplier: .12;--list-multiplier: .09;--menu-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--menu-multiplier)));--list-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--list-multiplier)))}.menu{width:40rem}}@media(min-width:1400px){:root{--nav-base-gap: 1.1rem;--menu-padding: clamp(1rem, 3vh, 3rem);--menu-heading-size: min(6rem, 12dvh);--menu-multiplier: .13;--list-multiplier: .1;--menu-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--menu-multiplier)));--list-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--list-multiplier)))}}.nav .menu-link:focus,.nav .menu-button:focus,.nav .theme-button:focus,.nav .menu-link:active,.nav .menu-button:active,.nav .theme-button:active,.nav .menu-link.active,.nav .menu-button.active,.nav .theme-button.active{border:none;outline:none}@media(hover:none)and (pointer:coarse){.menu-link,.menu-button,.theme-button{min-height:44px;min-width:44px}.menu-link-heading{font-size:clamp(2rem,5vw,4rem)}}@media(min-resolution:192dpi){.nav-logo__icon,.menu-button-icon{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media(max-width:767px){.theme-button{display:flex;width:36px;height:36px}}@media print{.nav,.header,.menu-button,.theme-button{display:none!important}}.menu,.bg-panel,.menu-link-heading,.menu-link-bg,.menu-button-icon,.icon-wrap{will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.menu-inner{contain:layout style paint}}@layer components{.portal-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--border-radius-full, 50%);background:none;border:none;cursor:pointer;padding:var(--space-2) 0;color:inherit;text-transform:uppercase;flex-shrink:0;font-family:inherit;font-size:inherit;line-height:inherit;text-shadow:0 2px 4px var(--color-shadow);transition:color .2s ease,background-color .2s ease}.portal-button:hover{color:var(--color-accent)}.portal-button:focus{outline:none}.portal-button:focus-visible{color:var(--color-accent);background-color:var(--color-danger-alpha-10);outline:none;box-shadow:none}.portal-button .icon-wrap{display:flex;align-items:center;justify-content:center;width:24px;height:24px;position:relative}.portal-button .icon-wrap svg{width:var(--icon-size-lg);height:var(--icon-size-lg);color:currentColor;filter:drop-shadow(0 2px 4px var(--color-shadow))}@media(hover:hover){.portal-button:hover .icon-wrap{transform:scale(1.1)}}.portal-backdrop{display:none;position:fixed;inset:0;width:100vw;height:100vh;background:var(--color-overlay-light);z-index:var(--z-index-portal-overlay);pointer-events:auto;isolation:isolate}.portal-backdrop.open{display:block}.portal-dropdown{position:fixed;top:70px;right:20px;width:320px;background:var(--color-neutral-300);border:var(--border-width-thick) solid var(--color-dark);padding:1.5rem;z-index:var(--z-index-portal-dropdown);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;box-shadow:0 10px 40px var(--color-shadow-2xl);isolation:isolate;color:var(--color-dark)}.portal-dropdown.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.portal-dropdown:before{content:"";position:absolute;top:-12px;left:var(--caret-left, 20px);border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid var(--color-dark)}.portal-dropdown:after{content:"";position:absolute;top:-6px;left:calc(var(--caret-left, 20px) + 2px);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--color-neutral-300)}.portal-dropdown-header{font-family:var(--font-family-sans);font-size:var(--font-size-xl);text-transform:uppercase;margin-bottom:1rem;color:var(--color-dark)}.portal-dropdown .portal-auth-toggle{display:flex;width:100%;height:44px;border:var(--border-width-thick) solid var(--color-dark);border-radius:0;margin-bottom:1rem;box-sizing:border-box;overflow:hidden}.portal-dropdown .portal-toggle-btn{flex:1;height:100%;padding:0 1rem;background:transparent;border:none;font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:40px;text-transform:uppercase;color:var(--color-dark);cursor:pointer;transition:background-color .2s ease,color .2s ease}.portal-dropdown .portal-toggle-btn:first-child{border-right:var(--border-width-thick) solid var(--color-dark)}.portal-dropdown .portal-toggle-btn.active{background:var(--color-dark);color:var(--color-light)}.portal-dropdown-form{display:none}.portal-dropdown-form.form-active{display:block}.portal-dropdown .dropdown-input{width:100%;height:48px;background:inherit;border:var(--border-width) solid var(--color-dark);border-radius:0;padding:0 1rem;font-size:var(--font-size-sm);color:var(--color-dark);margin-bottom:.75rem;box-sizing:border-box}.portal-dropdown .dropdown-input::-moz-placeholder{color:var(--color-dark);opacity:.5}.portal-dropdown .dropdown-input::placeholder{color:var(--color-dark);opacity:.5}.portal-dropdown .dropdown-input:focus{outline:none;border-color:var(--color-accent)}.portal-dropdown .password-field{position:relative}.portal-dropdown .password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:var(--color-dark);display:flex;align-items:center;justify-content:center;margin-top:-.375rem}.portal-dropdown .password-toggle:hover{color:var(--color-accent)}.portal-dropdown .password-toggle .password-icon-hide,.portal-dropdown .password-toggle.showing .password-icon-show{display:none}.portal-dropdown .password-toggle.showing .password-icon-hide{display:block}.portal-dropdown .dropdown-submit{width:100%;height:48px;background:inherit;color:inherit;border:var(--portal-btn-border-width, 2px) solid currentColor;border-bottom-width:var(--portal-btn-border-bottom-width, 6px);border-radius:0;font-family:var(--portal-btn-font-family, inherit);font-size:var(--font-size-base);text-transform:uppercase;cursor:pointer;transition:filter .2s ease}.portal-dropdown .dropdown-submit:hover,.portal-dropdown .dropdown-submit:focus{filter:brightness(1.15)}.portal-dropdown .dropdown-submit.valid{background:var(--color-accent);color:var(--color-bg-primary);opacity:1}.portal-dropdown .dropdown-submit.valid:hover,.portal-dropdown .dropdown-submit.valid:focus{background:var(--color-accent);color:var(--color-bg-primary);filter:brightness(1.1)}.portal-dropdown .dropdown-link{display:block;margin-top:.75rem;font-size:var(--font-size-xs);color:var(--color-dark);text-decoration:underline;text-underline-offset:2px;text-align:center}.portal-dropdown .dropdown-link:hover{color:var(--color-accent)}.portal-dropdown button.dropdown-link{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;width:100%}.portal-dropdown .magic-info{font-size:var(--font-size-xs);color:var(--color-dark);opacity:.7;margin-top:.5rem;text-align:center}.portal-dropdown .forgot-info{font-size:var(--font-size-sm);color:var(--color-dark);margin-bottom:1rem;text-align:left;line-height:var(--line-height-snug)}.portal-dropdown .reset-sent-icon{display:flex;justify-content:center;margin-bottom:1rem;color:var(--color-accent)}.portal-dropdown .reset-sent-message{font-size:var(--font-size-sm);color:var(--color-dark);text-align:center;line-height:var(--line-height-normal);margin-bottom:1rem}@media(max-width:479px){.portal-dropdown{position:fixed;inset:auto 0 0;width:100%;border-left:none;border-right:none;border-bottom:none;transform:translateY(100%)}.portal-dropdown.open{transform:translateY(0)}.portal-dropdown:before,.portal-dropdown:after{display:none}}@media(max-width:767px){.portal-button{width:36px;height:36px}}.portal-login-section{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height, 60px));padding:2rem 1rem}.portal-login-content{display:flex;flex-direction:column;align-items:center;width:100%;max-width:420px}.portal-login-card{width:100%;border:var(--border-width-thick) solid var(--color-dark);padding:2rem;background:transparent}.portal-login-header{margin-bottom:1.5rem}.portal-login-logo{display:block;width:120px;height:120px;margin:0 auto 1.25rem}.portal-login-header h2{font-family:var(--font-family-sans);font-size:var(--font-size-3xl);text-transform:uppercase;color:var(--color-dark);margin:0 0 .25rem;letter-spacing:var(--letter-spacing-label);text-align:center}.portal-login-subtitle{font-size:var(--font-size-base);color:var(--color-dark);margin:0;opacity:.7;text-align:center}.portal-page-form{display:flex;flex-direction:column;gap:1rem}.portal-page-field{display:flex;flex-direction:column}.portal-page-input{width:100%;padding:.75rem 1rem;border:var(--border-width) solid var(--color-dark);background:transparent;color:var(--color-dark);font-size:var(--font-size-base);font-family:inherit;outline:none;transition:border-color var(--transition-fast) ease;box-sizing:border-box}.portal-page-input::-moz-placeholder{color:var(--color-dark);opacity:.5}.portal-page-input::placeholder{color:var(--color-dark);opacity:.5}.portal-page-input:-webkit-autofill,.portal-page-input:-webkit-autofill:hover,.portal-page-input:-webkit-autofill:focus,.portal-page-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--color-neutral-300) inset!important;-webkit-text-fill-color:var(--color-dark)!important;-webkit-transition:background-color 9999s ease-in-out 0s;transition:background-color 9999s ease-in-out 0s;caret-color:var(--color-dark)}.portal-page-input:focus{border-color:var(--color-accent)}.portal-page-pw-wrapper{position:relative}.portal-page-pw-wrapper .portal-page-input{padding-right:2.75rem}.portal-page-pw-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-dark);padding:.25rem;display:flex;align-items:center;justify-content:center}.portal-page-pw-toggle:hover{opacity:.7}.portal-page-error{font-size:var(--font-size-sm);color:var(--color-danger);margin:0}.portal-page-error:empty{display:none}.portal-page-submit{width:100%;padding:.75rem;background:inherit;color:inherit;border:var(--portal-btn-border-width, 2px) solid currentColor;border-bottom-width:var(--portal-btn-border-bottom-width, 6px);border-radius:0;font-family:var(--portal-btn-font-family, inherit);font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);cursor:pointer;transition:filter .2s ease}.portal-page-submit:hover:not(:disabled){filter:brightness(1.15)}.portal-page-submit:disabled{opacity:.6;cursor:not-allowed}.portal-page-success{border:var(--border-width-thick) solid var(--color-dark);padding:1rem;font-size:var(--font-size-sm);color:var(--color-dark);text-align:center}.portal-page-footer{display:flex;align-items:center;justify-content:center;gap:.5rem;text-align:center;margin-top:.5rem}.portal-page-divider{font-size:var(--font-size-sm);color:var(--color-dark);opacity:.4}.portal-page-link{font-size:var(--font-size-sm);color:var(--color-dark);text-decoration:underline;cursor:pointer}.portal-page-link:hover{opacity:.7}.intake-modal-backdrop{display:none;position:fixed;inset:0;width:100vw;height:100vh;background:var(--color-overlay-medium);z-index:var(--z-index-portal-overlay, 9500);pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.intake-modal-backdrop.open{display:block}.intake-modal.intake-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:900px;height:90vh;max-height:85vh;z-index:var(--z-index-portal-modal, 9600);border-radius:var(--border-radius-md, 8px);overflow:hidden;box-shadow:var(--shadow-dropdown-xl);background-color:var(--color-terminal-bg)}.intake-modal.open{display:block}.intake-modal-close{position:absolute;top:10px;right:10px;z-index:var(--z-index-elevated);background:var(--color-overlay-light);border:none;border-radius:var(--border-radius-full, 50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-tertiary);transition:color .2s ease,background .2s ease}.intake-modal-close:hover{color:var(--color-light);background:rgba(var(--color-mac-close-rgb, 255, 95, 86),.8)}.intake-modal-container{width:100%;height:100%;overflow:hidden}.intake-modal.intake-modal .terminal-intake-container,.intake-modal.intake-modal .terminal-intake{height:100%;max-height:100%;width:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-terminal-bg)}.intake-modal.intake-modal .terminal-window{flex:1;width:100%;max-width:100%;max-height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin:0}.intake-modal.intake-modal .terminal-chat{flex:1;min-height:0;max-height:none;overflow-y:auto}.intake-modal.intake-modal .terminal-header,.intake-modal.intake-modal .terminal-progress,.intake-modal.intake-modal .terminal-input-area{flex-shrink:0}.intake-modal .intake-modal-container{background-color:var(--color-terminal-bg)}.intake-modal.intake-modal.open .intake-modal-container>*{opacity:1;visibility:visible}@media(max-width:767px){.intake-modal{width:100vw;height:100vh;max-width:100%;max-height:100%;top:0;left:0;transform:none}.intake-modal-close{top:15px;right:15px;width:44px;height:44px}}}@layer components{[data-page=client] .footer:not(.portal-footer),[data-page=admin] .footer:not(.admin-footer){display:none}.footer{position:fixed;bottom:0;left:0;right:0;height:var(--footer-height, 40px);background:transparent;padding:var(--spacing-sm) 0;font-size:var(--font-size-sm);color:var(--color-dark);text-align:center;z-index:var(--z-index-footer);display:flex;align-items:center;justify-content:center;opacity:1;visibility:visible}.intro-loading .footer,.intro-complete .footer,.intro-complete.intro-finished .footer,.paw-exit .footer{opacity:1;visibility:visible}.footer-text{margin:0}[data-theme=dark] .footer{background:transparent;color:var(--color-dark)}@media(min-width:480px)and (max-width:767px){.footer{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-index-footer);background:transparent}}@media(max-width:479px){.footer{position:fixed;bottom:0;left:0;right:0;width:100%;height:auto;z-index:var(--z-index-footer);margin-top:0;background:transparent;padding-bottom:env(safe-area-inset-bottom,0px);transform:translateY(100%);transition:transform .25s var(--ease-out, ease-out);pointer-events:none}body:has(#contact.page-active) .footer{transform:translateY(0);pointer-events:auto}}}@layer pages;@layer pages;@layer pages{html:has(.portal),body:has(.portal){overscroll-behavior:none}.portal{overflow:hidden;font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-primary);--font-size-base: 15px}:where(.portal) :where(svg){width:1em;height:1em;flex-shrink:0}.portal *,.portal *:before,.portal *:after{border-radius:0}.portal hr{height:var(--divider-size);border-radius:0;background-color:var(--color-text-primary)}.portal .content-section>div{box-shadow:none}.portal .card,.portal .cp-card,.portal .cp-stat,.portal .content-section,.portal .timeline-content,.portal .update-item,.portal .content-item,.portal .settings-form{background:transparent;border:none}html[data-theme=light] .portal,html[data-theme=light] .portal h1,html[data-theme=light] .portal h2,html[data-theme=light] .portal h3,html[data-theme=light] .portal h4,html[data-theme=light] .portal h5,html[data-theme=light] .portal h6{color:var(--color-text-primary)}html[data-theme=light] .portal hr{background-color:var(--color-border-primary)}html[data-theme=light] .portal .stat-label,html[data-theme=light] .portal .stat-secondary,html[data-theme=light] .portal .stat-meta,html[data-theme=light] .portal .field-label,html[data-theme=light] .portal .section-label,html[data-theme=light] .portal .meta-label,html[data-theme=light] .portal .summary-label,html[data-theme=light] .portal .funnel-stage-label,html[data-theme=light] .portal .funnel-stage,html[data-theme=light] .portal .funnel-value{color:var(--color-text-secondary)}.portal-global-header{position:fixed;top:0;left:0;right:0;width:100%;height:var(--portal-header-height);background:var(--color-bg-primary);border-bottom:none;display:flex;flex-direction:column;justify-content:space-evenly;gap:0;box-sizing:border-box;z-index:var(--z-index-nav);box-shadow:none}.portal-global-header-row{display:flex;align-items:center;justify-content:space-between;min-height:var(--space-5);padding-top:var(--space-2);padding-bottom:var(--space-2);border-top:var(--border-width-thick) solid var(--color-border-primary);border-bottom:var(--border-width-thick) solid var(--color-border-primary)}.portal-global-header-left{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.portal-global-header-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.portal-global-header-breadcrumbs{display:flex;align-items:center;gap:var(--icon-gap-md);min-height:var(--space-5);padding:var(--space-2) 0;margin:0}.header-search-trigger{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;padding:1px var(--space-2);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm, 4px);background:transparent;color:var(--color-text-tertiary);font-family:var(--font-family-mono, monospace);font-size:var(--font-size-xs, .75rem);cursor:pointer;transition:border-color var(--transition-faster) ease,color var(--transition-faster) ease;white-space:nowrap;min-width:160px}.header-search-trigger:hover{border-color:var(--color-border-primary);color:var(--color-text-primary)}.header-search-placeholder{flex:1;text-align:left}.header-search-shortcut{font-family:var(--font-family-mono, monospace);font-size:var(--font-size-2xs, .65rem);padding:1px 4px;border:var(--border-width-thin) solid var(--color-text-tertiary);border-radius:3px;color:var(--color-text-primary);line-height:1}.portal-global-header .header-branding{display:flex;align-items:center;gap:var(--icon-gap-md);text-decoration:none;color:var(--color-text-primary);transition:color var(--transition-mouse) ease;margin-left:calc(var(--space-1) * -1)}.portal-global-header .header-branding:hover{color:var(--color-accent);text-decoration:none}.portal-global-header .header-avatar{display:inline-block;width:var(--icon-size-2xl);height:var(--icon-size-2xl);flex-shrink:0;background-color:var(--color-text-primary);mask-image:url(/images/avatar_small_sidebar.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/images/avatar_small_sidebar.svg);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.portal-global-header .header-logo-text{font-family:var(--font-family-mono);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-widest);white-space:nowrap}.portal-global-header .header-sidebar-toggle{display:flex;align-items:center;justify-content:center;width:var(--sidebar-icon-size);height:var(--sidebar-icon-size);min-width:var(--sidebar-icon-size);padding:0;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;transition:color var(--transition-fast);flex-shrink:0}.portal-global-header .header-sidebar-toggle:hover{color:var(--color-text-primary)}.portal-global-header .header-sidebar-toggle svg{width:var(--sidebar-icon-size);height:var(--sidebar-icon-size)}.breadcrumb-trail{display:flex;align-items:center;gap:var(--space-1);flex:1;min-width:0;font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb-trail .breadcrumb-link{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast);flex-shrink:0}.breadcrumb-trail .breadcrumb-link:hover{color:var(--color-text-primary)}.breadcrumb-trail .breadcrumb-current{color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis}.breadcrumb-trail .breadcrumb-separator{color:var(--color-text-tertiary);flex-shrink:0}.portal-global-header .header-theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--portal-btn-icon-size);height:var(--portal-btn-icon-size);min-width:var(--portal-btn-icon-size);min-height:var(--portal-btn-icon-size);padding:0;background:transparent;border:none;cursor:pointer;color:var(--color-text-primary);transition:color var(--transition-mouse) ease}.portal-global-header .header-theme-toggle .theme-icon{position:static;transform:none;filter:none}.portal-global-header .header-theme-toggle:hover{color:var(--color-accent);background:transparent}.portal-global-header .header-theme-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.portal-global-header .header-theme-toggle svg{width:var(--portal-btn-icon-inner-size);height:var(--portal-btn-icon-inner-size)}.portal-global-header .header-theme-toggle .sun-icon{display:block;opacity:1}.portal-global-header .header-theme-toggle .moon-icon,html[data-theme=dark] .portal-global-header .header-theme-toggle .sun-icon{display:none;opacity:0}html[data-theme=dark] .portal-global-header .header-theme-toggle .moon-icon{display:block;opacity:1}.portal-body{display:flex;width:100%;height:calc(100vh - var(--portal-header-height));height:calc(100dvh - var(--portal-header-height));margin-top:var(--portal-header-height);background:var(--color-bg-primary);overflow:hidden}.portal .portal-body .sidebar,.portal .portal-body .dashboard-content{height:100%;min-height:100%}.portal .dashboard-content{display:flex;flex-direction:column;flex:1;min-width:0;overflow-y:auto;overscroll-behavior:contain;background-color:var(--color-bg-primary);box-sizing:border-box}.portal .tab-section{border:var(--portal-border)}.portal .overview-table-section,.portal .overview-table-section .table-layout,.portal .overview-table-section .data-table-card{width:100%;margin:0}.portal .overview-table-section .data-table,.portal .overview-table-section .data-table tbody{min-height:auto}.portal :is(.overview-grid,.overview-col-main,.overview-col-aside,.content-cards,.analytics-dashboard,.analytics-breakdown,[class*=-grid],[class*=-stack]):not(.gap-none):not(.help-main-grid){gap:var(--portal-section-gap)}.portal :is([class*=-layout]):not(.gap-none):not(.messages-layout):not(.files-browser-layout){gap:var(--portal-section-gap)}.portal .messages-layout{gap:0}.tabs-container{display:flex;flex-direction:column}.portal .portal-page-header{display:block;padding:0;margin:0;background:transparent}.portal .portal-page-header h1{line-height:var(--portal-header-height-line);margin:0;padding:0}.portal .portal-header-title{display:flex;flex-direction:column;align-items:flex-start;gap:0}.portal .portal-header-subtabs{display:flex;align-items:center;justify-content:space-between;width:100%}.portal .header-subtab-actions{display:flex;align-items:center;gap:var(--space-1);margin-left:auto;flex-shrink:0}.portal .portal-header-subtabs .header-subtabs{display:flex;align-items:center;margin-left:0}.portal .portal-header-subtabs .header-subtabs .header-subtab-group{display:none}.portal .portal-header-subtabs .header-subtabs .portal-subtabs.header-subtab-group{display:flex}[data-page=admin][data-active-group=work] .portal .portal-header-subtabs .header-subtabs .header-subtab-group[data-for-tab=work],[data-page=admin][data-active-group=crm] .portal .portal-header-subtabs .header-subtabs .header-subtab-group[data-for-tab=crm],[data-page=admin][data-active-group=documents] .portal .portal-header-subtabs .header-subtabs .header-subtab-group[data-for-tab=documents],[data-page=admin][data-active-group=support] .portal .portal-header-subtabs .header-subtabs .header-subtab-group[data-for-tab=support],[data-page=admin][data-active-group=analytics] .portal .portal-header-subtabs .header-subtabs .header-subtab-group[data-for-tab=analytics],[data-page=admin][data-active-group=workflows] .portal .portal-header-subtabs .header-subtabs .header-subtab-group[data-for-tab=workflows],[data-page=admin][data-active-tab=project-detail] .portal .portal-header-subtabs .header-subtabs .header-subtab-group[data-for-tab=project-detail],[data-page=admin][data-active-tab=client-detail] .portal .portal-header-subtabs .header-subtabs .header-subtab-group[data-for-tab=client-detail]{display:flex;gap:var(--space-1);align-items:center}[data-page=admin][data-active-tab=tasks] .header-controls[data-for-tab=tasks],[data-page=admin][data-active-tab=leads] .header-controls[data-for-tab=leads],[data-page=admin][data-active-tab=knowledge-base] .header-controls[data-for-tab=knowledge-base]{display:flex}.portal :is(.page-header-tabs,.tab-nav){display:flex;align-items:flex-end;gap:0;border-bottom:var(--portal-border);flex-shrink:0}.portal :is(.page-header-tabs,.tab-nav) .tab-btn{background:transparent;border:none;border-bottom:var(--border-width) solid transparent;margin-bottom:var(--space-neg-px);font-family:var(--portal-subtab-family);font-size:var(--portal-subtab-size);font-weight:var(--portal-subtab-weight);text-transform:var(--portal-subtab-transform);letter-spacing:var(--portal-subtab-spacing);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast)}.portal :is(.page-header-tabs,.tab-nav) .tab-btn:hover{color:var(--color-text-primary)}.portal :is(.page-header-tabs,.tab-nav) .tab-btn.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.portal :is(.page-header-actions,.admin-table-actions,.data-table-actions,.section-actions,.panel-actions){display:flex;align-items:center;gap:var(--action-btn-gap);flex-shrink:0;margin-left:auto}.portal .portal-grid-2{display:grid;grid-template-columns:repeat(2,1fr)}.portal .portal-grid-3{display:grid;grid-template-columns:repeat(3,1fr)}.portal-grid-1{display:grid;grid-template-columns:1fr}.portal-grid-4{display:grid;grid-template-columns:repeat(4,1fr)}.portal .portal-two-column{display:grid;grid-template-columns:var(--aside-width-medium) 1fr;align-items:start}.aside-narrow .overview-col-aside{width:var(--aside-width-narrow)}.aside-medium .overview-col-aside{width:var(--aside-width-medium)}.aside-wide .overview-col-aside{width:var(--aside-width-wide)}.aside-left{grid-template-columns:auto 1fr}.form-grid-2col{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr)}.grid-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}table{width:100%;table-layout:auto;border-collapse:collapse}th,td{word-break:break-word;overflow-wrap:anywhere;white-space:normal}.section{display:flex;flex-direction:column;gap:var(--portal-section-gap);background-color:inherit;padding:var(--portal-section-gap) var(--space-2) var(--space-8);box-sizing:border-box;min-width:0}.subsection{display:flex;flex-direction:column;gap:var(--content-gutter);background-color:inherit}.panel{display:flex;flex-direction:column;align-items:stretch;gap:0;background-color:inherit;border:var(--portal-border)}.portal .panel .panel,.portal .panel .stat-card,.portal .panel .card,.portal .panel .accordion-item-wrapper{border-width:var(--border-width-thin)}.portal .portal-section-title{font-family:var(--heading-font-family);font-size:var(--heading-section-font-size);font-weight:var(--heading-section-font-weight);color:var(--heading-section-color);text-transform:var(--heading-text-transform);letter-spacing:var(--heading-section-letter-spacing);margin:0 0 var(--space-2) 0}.portal .portal-content-row{display:flex;align-items:flex-start}.portal .portal-content-stack{display:flex;flex-direction:column}.card-clickable,.card-hover{background:transparent;border:var(--portal-border);transition:border-color var(--transition-fast);cursor:pointer}.card-clickable:hover,.card-hover:hover{border-color:var(--color-text-primary)}.layout-row{display:flex;align-items:center;gap:var(--space-3)}.layout-row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.layout-row-top{display:flex;align-items:flex-start;gap:var(--space-3)}.layout-row-top>svg{margin-top:.2em}.layout-row-end{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.layout-stack{display:flex;flex-direction:column;gap:var(--space-3)}.flex-fill{flex:1;min-width:0}.portal-content-stack{display:flex;flex-direction:column;gap:var(--portal-section-gap)}.portal-content-row{display:flex;align-items:center}.detail-view{display:flex;flex-direction:column;gap:var(--portal-section-gap)}.detail-view--compact{gap:var(--space-2)}.detail-view--wide{max-width:none}.scroll-container{overflow-y:auto;overscroll-behavior:contain}.scroll-container::-webkit-scrollbar{width:var(--progress-track-height)}.scroll-container::-webkit-scrollbar-track{background:transparent}.scroll-container::-webkit-scrollbar-thumb{background:var(--portal-alpha-white-20)}.scroll-container::-webkit-scrollbar-thumb:hover{background:var(--portal-alpha-white-30)}.skip-link{position:absolute;top:-100%;left:0;z-index:var(--z-index-skip-link);padding:var(--space-1) var(--space-2);background-color:var(--color-text-primary);color:var(--color-bg-primary);text-decoration:none;font-size:var(--font-size-sm)}.skip-link:focus{top:0}.portal h1,.portal h2,.portal h3,.portal h4,.portal h5,.portal h6{font-family:var(--font-family-sans);letter-spacing:var(--letter-spacing-tightest, -.09em);text-shadow:none;color:var(--color-text-primary)}.portal .detail-name-row h1{font-family:var(--font-family-serif, "Cormorant Garamond", Georgia, serif)}.portal .page-header h2,.portal .client-name{text-shadow:none}.heading{font-family:var(--font-family-mono, monospace);color:var(--color-text-primary);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-wide)}.section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-widest);color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);color:var(--color-text-tertiary)}.font-mono{font-family:var(--font-family-mono)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.line-through{text-decoration:line-through}.italic,.text-italic{font-style:italic}.bg-white{background-color:var(--color-text-primary)}.bg-black{background-color:var(--color-bg-primary)}.bg-transparent{background:transparent}.gap-sm{gap:var(--space-1)}.gap-md{gap:var(--portal-section-gap)}.gap-lg{gap:var(--space-4)}.m-0{margin:0}.mb-1{margin-bottom:var(--space-0-5)}.mb-2{margin-bottom:var(--space-1)}.mb-3{margin-bottom:var(--space-1-5)}.mb-4{margin-bottom:var(--space-2)}.mt-1{margin-top:var(--space-0-5)}.mt-2{margin-top:var(--space-1)}.mt-3{margin-top:var(--space-1-5)}.mt-4{margin-top:var(--space-2)}.ml-2{margin-left:var(--space-1)}.mb-6{margin-bottom:var(--space-3)}.mt-6{margin-top:var(--space-3)}.p-0{padding:0}.p-1{padding:var(--space-0-5)}.p-2{padding:var(--space-1)}.p-3{padding:var(--space-1-5)}.p-4{padding:var(--space-2)}.px-3{padding-left:var(--space-1-5);padding-right:var(--space-1-5)}.px-4{padding-left:var(--space-2);padding-right:var(--space-2)}.py-1{padding-top:var(--space-0-5);padding-bottom:var(--space-0-5)}.py-2{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-8{padding-top:var(--space-4);padding-bottom:var(--space-4)}.pt-2{padding-top:var(--space-1)}.pt-3{padding-top:var(--space-1-5)}.w-full{width:100%}.w-fit{width:-moz-fit-content;width:fit-content}.w-px{width:1px}.w-1{width:var(--space-0-5)}.w-2{width:var(--space-1)}.w-3{width:var(--space-1-5)}.w-4{width:var(--space-2)}.w-5{width:var(--space-2-5)}.w-7{width:var(--space-3-5)}.w-8{width:var(--space-4)}.h-full{height:100%}.h-1{height:var(--space-0-5)}.h-2{height:var(--space-1)}.h-3{height:var(--space-1-5)}.h-4{height:var(--space-2)}.h-5{height:var(--space-2-5)}.h-6{height:var(--space-3)}.h-7{height:var(--space-3-5)}.h-8{height:var(--space-4)}.h-9{height:2.25rem}.space-y-1>*+*{margin-top:var(--space-0-5)}.space-y-2>*+*{margin-top:var(--space-1)}.space-y-4>*+*{margin-top:var(--space-2)}.mt-0\.5{margin-top:var(--space-0-25)}.gap-1\.5{gap:.375rem}.gap-0\.5{gap:var(--space-0-25)}.h-3\.5{height:.875rem}.w-3\.5{width:.875rem}.card-content-truncate{min-width:0}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-1{flex:1 1 0%}.flex-wrap{flex-wrap:wrap}.flex-shrink-0,.shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-around{justify-content:space-around}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:0}.top-1{top:var(--space-0-5, .25rem)}.bottom-0{bottom:0}.left-2{left:var(--space-1)}.left-3{left:var(--space-1-5)}.top-1\/2{top:50%}.-translate-y-1\/2{transform:translateY(-50%)}.z-10{z-index:var(--z-index-elevated)}.-left-5{left:-1.25rem}.hidden{display:none}.inline-block{display:inline-block}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.transition-colors{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.transition-all{transition:all var(--transition-fast)}.rotate-180{transform:rotate(180deg)}.animate-spin{animation:spin var(--animation-spinner)}.border{border:var(--border-width) solid var(--portal-alpha-white-30)}.border-2{border-width:2px}.border-b{border-bottom:var(--border-width) solid var(--portal-alpha-white-30)}.border-t{border-top:var(--border-width) solid var(--portal-alpha-white-30)}.border-r{border-right:var(--border-width) solid var(--portal-alpha-white-30)}.border-dashed{border-style:dashed}.border-black{border-color:var(--color-bg-primary)}.rounded{border-radius:0}.ring-2{box-shadow:0 0 0 var(--focus-ring-width-thick) var(--ring)}.ring-white{--ring: var(--color-border-primary)}.error-message{background:var(--color-error-light);color:var(--color-error);border:var(--border-width) solid var(--color-error);text-align:center;margin:var(--space-2) 0}.login-btn.loading{opacity:var(--opacity-subtle);cursor:not-allowed}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--icon-gap-sm);border-bottom:var(--portal-border);font-size:var(--font-size-sm)}.section-header .section-title{margin:0;line-height:1}.section-title-group{display:flex;align-items:center;gap:var(--icon-gap)}.section-icon{width:var(--icon-size-sm);height:var(--icon-size-sm);color:var(--color-text-secondary)}.section-header .section-icon,.section-title-group .section-icon{width:1em;height:1em;flex-shrink:0}.section-header .icon-btn{width:2em;height:2em;min-width:2em;min-height:2em}.section-header-action{margin-left:auto}.page-header{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.page-header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.page-title-group{display:flex;align-items:center;gap:var(--space-2)}.page-title-icon{width:var(--icon-size-lg);height:var(--icon-size-lg);color:var(--color-accent)}.page-title{font-size:var(--heading-page-font-size);font-weight:var(--heading-page-font-weight);color:var(--heading-page-color);margin:0;line-height:var(--line-height-tight)}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;margin-top:var(--space-0-5)}.page-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.divider{height:1px;background:var(--portal-alpha-white-20);margin:var(--space-4) 0}.mobile-menu-toggle{display:none;align-items:center;justify-content:center;width:var(--space-5);height:var(--space-5);padding:0;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;flex-shrink:0}.mobile-menu-toggle svg{width:var(--icon-size-lg);height:var(--icon-size-lg)}.mobile-menu-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.fill-current{fill:currentColor}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:900px){.portal .portal-grid-3,.grid-responsive.portal-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.portal :is(.portal-grid-2,.portal-grid-3){grid-template-columns:1fr}.grid-responsive:is(.portal-grid-3,.portal-grid-4){grid-template-columns:repeat(2,1fr)}.grid-responsive.portal-grid-2{grid-template-columns:1fr}}@media(max-width:479px){.grid-responsive:is(.portal-grid-2,.portal-grid-3,.portal-grid-4){grid-template-columns:1fr}}@media(max-width:600px){.portal .sidebar.collapsed~.dashboard-content .mobile-menu-toggle{display:flex}}@media(max-width:400px){.portal .portal-header-subtabs{padding-left:0;padding-right:0}}@media(max-width:767px){.portal .portal-two-column{grid-template-columns:1fr}.portal .portal-content-row{flex-direction:column}.portal .portal-header-subtabs{flex-wrap:wrap;gap:var(--space-1)}.portal .portal-header-subtabs .header-subtab-group{flex-wrap:wrap}}}@layer pages{:is(.portal,.portal-modal) :is(.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-danger,.btn-success):not(.icon-btn):not(.nav-btn){display:inline-flex;align-items:center;justify-content:center;gap:var(--icon-gap-md, .5rem);padding:var(--portal-btn-padding, 8px 18px);border:var(--portal-btn-border-width, 2px) solid var(--portal-btn-border-color, var(--color-dark));border-bottom-width:var(--portal-btn-border-bottom-width, 2px);border-radius:var(--portal-btn-border-radius, 0);font-size:var(--portal-btn-font-size, var(--font-size-sm));font-weight:var(--portal-btn-font-weight, 600);font-family:var(--portal-btn-font-family, inherit);letter-spacing:var(--portal-btn-letter-spacing, normal);text-transform:var(--portal-btn-text-transform, uppercase);cursor:pointer;background:inherit;color:var(--portal-btn-color, var(--color-dark));box-shadow:var(--portal-btn-shadow, none);transition:var(--portal-btn-transition, all .2s ease);text-decoration:none;white-space:nowrap;text-shadow:none;box-sizing:border-box}:is(.portal,.portal-modal) :is(.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-danger,.btn-success,.form-button):not(.icon-btn):not(.nav-btn)>svg{color:inherit}:is(.portal,.portal-modal) :is(.btn-primary,.btn-secondary,.btn-outline):not(.icon-btn):not(.nav-btn):hover{background:var(--portal-btn-hover-bg, var(--color-dark));color:var(--portal-btn-hover-color, var(--color-light));border-color:var(--portal-btn-hover-border, var(--color-dark));box-shadow:var(--portal-btn-shadow-hover, none)}:is(.portal,.portal-modal) :is(.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-danger,.btn-success):not(.icon-btn):not(.nav-btn):focus,:is(.portal,.portal-modal) :is(.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-danger,.btn-success):not(.icon-btn):not(.nav-btn):focus-visible{outline:2px solid var(--color-off-white);outline-offset:2px;box-shadow:none}button:has(>svg):not(.portal-checkbox){display:inline-flex;align-items:center;justify-content:center;gap:var(--icon-gap-md)}:is(.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-danger,.btn-success):not(.dropdown-trigger):not(.date-range-trigger)>:is(svg,.btn-icon),.icon-btn>:is(svg,.icon-btn-svg),button:not(.portal-checkbox):not(.panel-action):not(.dropdown-trigger--custom):not(.dropdown-trigger):not(.dropdown-trigger--status):not(.dropdown-trigger--form):not(.modal-dropdown-trigger):not(.date-range-trigger)>:is(.icon-wrap,.tab-icon,svg){order:-1}.btn-danger{background:var(--portal-btn-danger-bg);color:var(--portal-btn-danger-color);border-color:var(--portal-btn-danger-border)}.btn-danger:hover{background:var(--portal-btn-danger-hover-bg);color:var(--portal-btn-danger-hover-color);border-color:var(--portal-btn-danger-hover-border)}.btn-success{background:inherit;color:var(--color-success-500);border-color:var(--color-success-500)}.btn-success:hover{background:var(--color-success-500);color:var(--color-text-primary);border-color:var(--color-success-500)}.btn-link{background:transparent;border:none;color:var(--color-accent);font-size:var(--font-size-sm);cursor:pointer;padding:0;text-decoration:none;text-transform:none;letter-spacing:normal;font-weight:var(--font-weight-medium);box-shadow:none}.btn-link:hover{color:var(--color-accent);text-decoration:underline;background:transparent;box-shadow:none}.btn-sm{font-size:var(--portal-btn-sm-font-size);min-height:var(--portal-btn-sm-min-height)}.btn-outline{background:inherit;color:var(--portal-btn-color);border:var(--portal-btn-border-width) solid var(--portal-btn-border-color)}.btn-outline:hover{background:var(--portal-btn-hover-bg);color:var(--portal-btn-hover-color);border-color:var(--portal-btn-hover-border)}.btn-ghost{background:transparent;border-color:transparent;color:var(--color-text-primary)}.btn-ghost:hover{background:var(--color-bg-prominent);color:var(--color-accent);border-color:transparent}.btn-unstyled{background:transparent;border:none;padding:0;cursor:pointer;color:inherit;font:inherit}.btn-full{width:100%}.btn-lg{height:var(--space-7);font-size:var(--portal-btn-font-size);line-height:var(--space-7)}.btn-filled{background:var(--color-accent);color:var(--color-text-primary);border:var(--portal-btn-border-width) solid var(--color-accent);border-bottom-width:var(--portal-btn-border-bottom-width);border-bottom-color:var(--portal-btn-border-color)}.btn-filled:hover{background:var(--color-brand-hover, var(--color-interactive-primary-hover));color:var(--color-text-primary);border-color:var(--color-brand-hover, var(--color-interactive-primary-hover));border-bottom-color:var(--portal-btn-border-color)}.btn-filled:disabled{background:var(--color-bg-prominent);color:var(--color-text-tertiary);cursor:not-allowed}.btn-auth{width:100%;border:var(--portal-btn-border-width) solid currentColor;border-bottom-width:var(--portal-btn-border-bottom-width);border-radius:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;font-family:var(--font-family-sans);letter-spacing:var(--letter-spacing-wider);transition:all var(--transition-fast);text-transform:uppercase;background-color:inherit;color:inherit;box-shadow:none}.btn-auth:hover{background-color:var(--portal-btn-hover-bg);color:var(--portal-btn-hover-color);border-color:var(--portal-btn-hover-border)}.btn-auth:disabled{color:var(--color-text-tertiary);border-color:var(--color-border-primary);cursor:not-allowed}.btn-sm .btn-icon{width:1em;height:1em}.portal .nav-btn{display:flex;align-items:center;gap:var(--icon-gap-md);width:auto;padding-right:calc(var(--icon-gap-md) + var(--sidebar-icon-size));min-height:var(--space-5);font-family:var(--font-family-mono);font-size:var(--portal-nav-font-size);font-weight:var(--font-weight-medium);text-align:left;justify-content:flex-start;background:transparent;border:none;box-shadow:none;overflow:hidden;text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-primary);cursor:pointer;transition:color var(--transition-fast);border-radius:0;text-decoration:none}.portal :is(.nav-btn:hover,.nav-btn.is-active){background:transparent;box-shadow:none;border:none;color:var(--color-accent)}.portal :is(.nav-btn:hover,.nav-btn.is-active) .nav-icon{color:var(--color-accent)}.portal .nav-btn .nav-icon{flex-shrink:0;width:var(--sidebar-icon-size);height:var(--sidebar-icon-size)}.portal .nav-btn .nav-label{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--portal-btn-icon-size);height:var(--portal-btn-icon-size);min-width:var(--portal-btn-icon-size);min-height:var(--portal-btn-icon-size);padding:0;background:transparent;border:none;box-shadow:none;color:var(--color-text-primary);cursor:pointer;flex-shrink:0;transition:color var(--transition-mouse) ease;text-decoration:none;outline:none}.icon-btn:hover{color:var(--color-accent);background:transparent}.icon-btn.icon-btn-danger:hover{color:var(--color-error-500)}.icon-btn.icon-btn-success{color:var(--color-success)}.icon-btn.icon-btn-success:hover{color:var(--color-success-500)}.icon-btn.icon-btn-active{color:var(--status-active)}.icon-btn.icon-btn-active:hover{color:var(--color-accent)}.icon-btn.icon-btn-warning,.icon-btn.icon-btn-warning:hover{color:var(--color-warning)}.icon-btn.icon-btn-outline{border:var(--portal-border)}.icon-btn.icon-btn-outline:hover{border-color:var(--color-accent)}.icon-btn.icon-btn-outline.icon-btn-danger:hover{border-color:var(--color-danger)}.icon-btn.icon-btn-sm{width:var(--portal-btn-icon-size-sm);height:var(--portal-btn-icon-size-sm);min-width:var(--portal-btn-icon-size-sm);min-height:var(--portal-btn-icon-size-sm)}.icon-btn.icon-btn-xs{width:var(--portal-btn-icon-size-xs);height:var(--portal-btn-icon-size-xs);min-width:var(--portal-btn-icon-size-xs);min-height:var(--portal-btn-icon-size-xs)}.icon-btn svg,.portal .nav-btn>svg{width:1em;height:1em;flex-shrink:0}.icon-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.icon-btn.icon-btn-primary{color:var(--color-accent)}.icon-btn.icon-btn-primary:hover{color:var(--color-accent-hover)}.icon-btn.icon-btn-outline.is-active{border-color:var(--color-accent);color:var(--color-accent)}@media(pointer:coarse){:is(.portal,.portal-modal) .icon-btn{width:var(--space-5);height:var(--space-5);min-width:var(--space-5);min-height:var(--space-5)}.icon-btn:active{color:var(--color-accent);transform:scale(var(--transform-scale-press))}.icon-btn{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:var(--portal-alpha-primary-10)}}@media(pointer:coarse){.data-table .icon-btn,.data-table .action-group .icon-btn,.data-table .col-actions .icon-btn,.data-table td .icon-btn,.action-group .icon-btn,.col-actions .icon-btn{width:var(--portal-btn-icon-size-xs);height:var(--portal-btn-icon-size-xs);min-width:var(--portal-btn-icon-size-xs);min-height:var(--portal-btn-icon-size-xs)}.data-table .icon-btn svg,.data-table .action-group .icon-btn svg,.data-table .col-actions .icon-btn svg,.data-table td .icon-btn svg,.action-group .icon-btn svg,.col-actions .icon-btn svg{width:1em;height:1em}}:is(td,.col-actions,.action-group,.data-table,table) .icon-btn{width:var(--portal-btn-icon-size);height:var(--portal-btn-icon-size);min-width:var(--portal-btn-icon-size);min-height:var(--portal-btn-icon-size);max-width:var(--portal-btn-icon-size);max-height:var(--portal-btn-icon-size);padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-primary);background:transparent}:is(td,.col-actions,.action-group,.data-table,table) .icon-btn:is(.icon-btn-danger,.icon-btn-success,.icon-btn-warning,.icon-btn-primary){color:var(--color-text-primary);background:transparent}:is(td,.col-actions,.action-group,.data-table,table) .icon-btn:hover{color:var(--color-accent);background:transparent;box-shadow:none}:is(td,.col-actions,.action-group,.data-table,table) .icon-btn svg{width:1em;height:1em;min-width:1em;min-height:1em;max-width:1em;max-height:1em;flex-shrink:0}.portal :is(.sidebar.collapsed,.sidebar.icon-only) .nav-btn{padding:0;justify-content:center;margin:0 auto;border:none;background:transparent;box-shadow:none;overflow:visible;position:relative}.portal :is(.sidebar.collapsed,.sidebar.icon-only) .nav-btn.is-active{background:transparent;border:none;outline:none;box-shadow:none}.portal :is(.sidebar.collapsed,.sidebar.icon-only) .nav-btn:is(.is-active,:hover,:focus) .nav-icon{color:var(--color-accent)}.portal :is(.sidebar.collapsed,.sidebar.icon-only) .nav-btn .nav-label{display:none;width:0;height:0;overflow:hidden;visibility:hidden;position:absolute;left:-9999px}.portal :is(.sidebar.collapsed,.sidebar.icon-only) .nav-btn .nav-icon{margin:0}.portal :is(.sidebar.collapsed,.sidebar.icon-only) .nav-btn:is(.is-active,:hover) .nav-icon svg{filter:drop-shadow(0 1px 1px var(--portal-alpha-black-30))}@media(max-width:600px){.portal .sidebar:not(.collapsed) .sidebar-buttons{gap:var(--space-1)}.portal .sidebar:not(.collapsed) .nav-btn{padding:0;justify-content:center;border:none;background:transparent;box-shadow:none;position:relative;overflow:visible}.portal .sidebar:not(.collapsed) .nav-btn.is-active,.portal .sidebar:not(.collapsed) .nav-btn:is(:hover,:focus){background:transparent;border:none;box-shadow:none}.portal .sidebar:not(.collapsed) .nav-btn:is(.is-active,:hover) .nav-icon{color:var(--color-accent)}.portal .sidebar:not(.collapsed) .nav-btn .nav-label{display:none;visibility:hidden;position:absolute;left:-9999px}}.toggle-btn{flex:1;background:transparent;border:none;font-family:var(--portal-btn-font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);text-transform:uppercase;color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-mouse) ease,color var(--transition-mouse) ease}.toggle-btn:not(:last-child){border-right:var(--border-width) solid var(--portal-btn-border-color)}.toggle-btn:hover:not(.is-active){background:var(--portal-alpha-white-10)}.toggle-btn.is-active{background:var(--color-text-primary);color:var(--color-bg-primary)}.btn:not(.btn-primary):not(.btn-secondary):not(.btn-outline):not(.btn-danger):not(.nav-btn){display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font-size:var(--portal-btn-font-size);font-weight:var(--font-weight-regular);font-family:var(--font-family-mono, monospace);background:transparent;color:var(--color-text-primary);border:none;border-radius:0;cursor:pointer;transition:color var(--transition-fast)}.btn:not(.btn-primary):not(.btn-secondary):not(.btn-outline):not(.btn-danger):not(.nav-btn):hover{color:var(--color-accent)}.btn:not(.btn-primary):not(.btn-secondary):not(.btn-outline):not(.btn-danger):not(.nav-btn):disabled{color:var(--color-text-tertiary);cursor:not-allowed}.action-bar{display:flex;align-items:center;gap:var(--space-2)}.action-bar>:is(button,.btn,.btn-primary,.btn-secondary,.btn-outline,select,.form-select,[class*=dropdown-trigger],[class*=date-selector]){height:var(--action-bar-item-height);min-height:var(--action-bar-item-height);box-sizing:border-box}.action-bar>*{display:inline-flex;align-items:center}@media(max-width:479px){:is(.portal,.portal-modal) :is(.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-danger,.btn-success):not(.icon-btn):not(.nav-btn){padding:clamp(6px,1.5vw,10px) clamp(12px,3vw,20px);font-size:clamp(.7rem,2.5vw,.9rem)}}@media(prefers-contrast:high){:is(.portal,.portal-modal) :is(.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-danger,.btn-success):not(.icon-btn):not(.nav-btn){border-width:var(--border-width-thick)}}@media(prefers-reduced-motion:reduce){:is(.portal,.portal-modal) :is(.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-danger,.btn-success):not(.icon-btn):not(.nav-btn){transition:none}}}@layer pages{.portal .messages-layout,.portal .messages-clients-column,.portal .messages-thread-column,.portal .message-attachments,.portal .message-compose,.messaging-sidebar,.messaging-main-area,.messaging-messages-list,.message-thread-container,.message-bubble-container,.message-edit-form,.message-attachments-list,.message-composer{display:flex;flex-direction:column}.message-composer{gap:var(--space-1);border-top:var(--portal-border)}.portal .messages-layout{flex:1;min-height:0;border:var(--portal-border)}.portal .messages-global-search{flex-shrink:0;border-bottom:var(--portal-border)}.portal .messages-columns{display:grid;grid-template-columns:var(--aside-width-medium) 1fr;flex:1;min-height:0;overflow:hidden}.portal .messages-clients-column{min-height:0;border-right:var(--portal-border)}.portal .thread-list-header{flex-shrink:0;border-bottom:var(--portal-border)}.portal .thread-list-header h3{margin:0}.portal .thread-list{flex:1;min-height:0;overflow-y:auto}.portal .thread-item{cursor:pointer}.portal .thread-item.is-active{background:var(--color-bg-elevated)}.portal .thread-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.portal .thread-item-title,.portal .thread-item-contact,.portal .thread-item-time{color:inherit;font-family:var(--font-family-sans);font-size:var(--font-size-sm)}.portal .thread-item-title{font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal .thread-item-contact{font-size:var(--font-size-xs);margin-top:var(--space-0-5)}.portal .thread-item-time{font-size:var(--font-size-2xs);flex-shrink:0}.portal .thread-item.unread .thread-item-title{font-weight:var(--font-weight-bold)}.portal .thread-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--inline-pill-height);height:var(--inline-pill-height);background:var(--color-accent);color:var(--color-bg-tertiary);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.portal .messages-thread-column{min-height:0;overflow:hidden}.portal .messages-thread{flex:1;min-height:0;overflow-y:auto}.portal .message{display:flex;align-items:flex-end;gap:var(--space-2);margin-bottom:var(--space-3)}.portal .message:last-child{margin-bottom:0}.portal .message-sent{flex-direction:row;justify-content:flex-end}.portal .message-received{flex-direction:row;justify-content:flex-start}.portal .message-content{border:var(--portal-border);max-width:70%}.portal .message-header{position:relative;display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);font-size:var(--font-size-xs)}.portal .message-sender{font-weight:var(--font-weight-semibold)}.portal .message-time{color:var(--color-text-tertiary)}.portal .message-body{font-size:var(--font-size-sm);white-space:pre-wrap;word-wrap:break-word}.portal .message-avatar{flex-shrink:0;width:var(--icon-size-2xl);height:var(--icon-size-2xl);display:flex;align-items:center;justify-content:center}.portal .message-avatar .avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.portal .message-avatar .avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-full);background:var(--color-text-primary);color:var(--color-bg-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.portal .message-status{display:flex;align-items:center;gap:var(--icon-gap);margin-top:var(--space-1);font-size:var(--font-size-2xs);color:var(--color-text-tertiary)}.portal .message-sent .message-status{color:var(--color-text-inverse)}.portal .message-status.read,.portal .message-sent .message-status.read{color:var(--color-success)}.portal .message-actions{position:absolute;right:0;top:0;display:none;align-items:center;gap:var(--action-btn-gap)}.portal .message:hover .message-actions{display:flex}.portal .message-actions button{background:transparent;border:none;cursor:pointer;color:var(--color-text-tertiary);opacity:var(--opacity-subtle)}.portal .message-actions button:hover{opacity:1}.portal .message-sent .message-actions button{color:var(--color-text-inverse)}.msgtab-reaction-anchor{position:relative}.portal .reaction-picker{position:absolute;bottom:calc(100% + var(--space-1));left:50%;transform:translate(-50%);background:var(--color-bg-tertiary);border:var(--portal-border);display:flex;align-items:center;gap:var(--space-1);z-index:var(--z-index-elevated);white-space:nowrap}.portal .reaction-picker.hidden{display:none}.portal .reaction-picker button{border:none;background:transparent;font-size:var(--font-size-base);line-height:1;cursor:pointer;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center}.portal .reaction-picker button:hover{background:var(--color-bg-hover)}.portal .message-reactions{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.portal .reaction-badge{display:inline-flex;align-items:center;gap:var(--space-0-5);background:var(--color-bg-elevated);border:var(--portal-border);font-size:var(--font-size-xs);cursor:pointer}.portal .message.pinned{border-left:var(--border-width) solid var(--color-accent)}.portal .pin-message-btn.pinned{color:var(--color-accent)}.portal .message-attachments{gap:var(--space-1);margin-top:var(--space-2)}.portal .message-attachment{display:flex;align-items:center;gap:var(--icon-gap);background:var(--color-bg-elevated);border:var(--portal-border);font-size:var(--font-size-xs);text-decoration:none;color:inherit}.portal .message-attachment:hover{background:var(--color-bg-hover)}.portal .message-sent .message-attachment{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.portal .message-attachment-icon,.portal .message-attachment-download{flex-shrink:0}.portal .message-attachment-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal .message-attachment-size{flex-shrink:0;color:var(--color-text-tertiary)}.portal .message-compose{flex-shrink:0;gap:var(--space-2);border-top:var(--portal-border)}.portal .message-compose textarea{width:100%;min-height:var(--min-height-textarea-lg);border:var(--portal-border);background:transparent;color:inherit;font-family:inherit;font-size:inherit;resize:vertical}.portal .message-compose textarea::-moz-placeholder{color:var(--color-text-tertiary);opacity:var(--opacity-disabled)}.portal .message-compose textarea::placeholder{color:var(--color-text-tertiary);opacity:var(--opacity-disabled)}.portal .message-compose-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.portal .attachment-input{display:none}.portal .messages-contact-card,.portal .messages-tips-card{padding:0}.portal .messages-contact-item{display:flex;align-items:center;gap:var(--icon-gap);margin:0 0 var(--space-1) 0}.portal .messages-contact-icon{display:flex;align-items:center}.portal .messages-contact-icon svg{width:var(--icon-size-md);height:var(--icon-size-md)}.portal .messages-contact-note{margin:0;opacity:var(--opacity-subtle);font-size:var(--font-size-sm)}.portal .messages-tips-list{margin:0;list-style:disc}.portal .messages-tips-list li{margin-bottom:var(--space-1);font-size:var(--font-size-sm)}.portal .messages-tips-list li:last-child{margin-bottom:0}.portal .messages-thread-header{flex-shrink:0;border-bottom:var(--portal-border)}.portal .messages-thread-header .thread-title{font-weight:var(--font-weight-medium)}@media(max-width:900px){.portal .messages-columns{grid-template-columns:200px 1fr}}@media(max-width:700px){.portal .messages-columns{grid-template-columns:1fr}.portal .messages-clients-column{display:none}}.attachment-thumbnail{width:var(--icon-size-2xl);height:var(--icon-size-2xl);-o-object-fit:cover;object-fit:cover;flex-shrink:0}.attachment-filename{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-textarea{min-height:auto;resize:none;overflow:hidden}.messaging-panel-container{display:flex;flex-direction:column;gap:0;height:calc(100vh - 200px);min-height:500px;overflow:hidden;padding:0}.messaging-top-bar{flex-shrink:0;border-bottom:var(--portal-border)}.messaging-columns{display:flex;flex:1;overflow:hidden}.messaging-sidebar{width:320px;flex-shrink:0;border-right:var(--portal-border)}.messaging-section-header{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);border-bottom:var(--portal-border);flex-shrink:0}.messaging-heading-with-badge{font-size:var(--font-size-base);margin:0}.messaging-search-container{position:relative;width:100%}.messaging-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:var(--icon-size-md);height:var(--icon-size-md);color:var(--color-text-tertiary);pointer-events:none;z-index:var(--z-index-content)}.messaging-search-container .input,.messaging-search-container input{width:100%}.messaging-filter-tabs{margin-top:0;border-bottom:none;gap:var(--space-0-5);flex-shrink:0}.messaging-filter-tab{font-size:0;display:flex;align-items:center;justify-content:center}.messaging-filter-tab-icon{width:var(--icon-size-sm);height:var(--icon-size-sm);flex-shrink:0}.messaging-avatar{width:2.5rem;height:2.5rem;border:var(--portal-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.messaging-avatar-sm{width:2rem;height:2rem}.messaging-avatar-icon{width:1.25rem;height:1.25rem;color:var(--color-text-tertiary)}.messaging-avatar-icon-sm{width:1rem;height:1rem}.messaging-conv-item-content{display:flex;align-items:flex-start;gap:.75rem;width:100%}.messaging-conv-item-details{flex:1;min-width:0}.messaging-conv-item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.messaging-conv-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messaging-conv-name-unread{font-weight:var(--font-weight-bold)}.messaging-conv-time{font-size:var(--font-size-2xs);flex-shrink:0}.messaging-conv-project{font-size:var(--font-size-2xs);display:block}.messaging-conv-preview{font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:var(--space-0-5)}.messaging-main-area{display:flex;flex-direction:column;flex:1;overflow:hidden}.messaging-main-area .msgtab-container{height:auto;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:none;background:transparent;padding:0;border-radius:0;box-shadow:none;gap:0}.messaging-main-area .msgtab-thread-area,.messaging-main-area .msgtab-compose-area{border:none}.messaging-main-area .msgtab-panel{flex:1;min-height:0;overflow-y:auto}.messaging-main-area .msgtab-input-panel{margin-left:0;margin-right:0}.messaging-conv-project-link{padding:0;font-size:var(--font-size-xs)}.messaging-messages-container{flex:1}.messaging-messages-list{gap:var(--space-2)}.messaging-message-row{display:flex;gap:var(--space-1-5)}.messaging-message-row-admin{justify-content:flex-end}.messaging-message-row-client{justify-content:flex-start}.messaging-message-bubble{max-width:70%;border:var(--portal-border)}.messaging-message-bubble-admin{background:var(--color-text-primary);color:var(--color-bg-tertiary)}.messaging-message-bubble-client{background:transparent;color:var(--color-text-primary)}.messaging-message-content{font-size:var(--font-size-sm);white-space:pre-wrap}.messaging-message-meta{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-0-5);margin-top:var(--space-0-5);font-size:var(--font-size-2xs)}.messaging-message-meta-admin{color:var(--color-text-inverse)}.messaging-message-meta-client{color:var(--color-text-tertiary)}.messaging-bubble-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);margin-top:var(--space-1)}.messaging-bubble-time{font-size:var(--font-size-2xs);color:var(--color-text-muted)}.messaging-bubble-status{display:flex;align-items:center;color:var(--color-text-muted)}.messaging-status-icon{width:.75rem;height:.75rem}.messaging-compose{border-top:var(--portal-border)}.messaging-compose-row{display:flex;align-items:flex-end;gap:.5rem}.messaging-compose-input-container{flex:1}.messaging-compose-textarea{min-height:var(--space-5);max-height:120px}.messaging-attachment-icon{width:var(--icon-size-md);height:var(--icon-size-md)}.messaging-send-icon{width:1rem;height:1rem}.messaging-icon-lg{width:2rem;height:2rem}.messaging-icon-xl{width:3rem;height:3rem}.messaging-star-icon,.messaging-more-icon{width:1rem;height:1rem}.message-thread-container{height:100%}.message-bubble-container{gap:var(--space-0-5)}.message-bubble-container.own{align-items:flex-end}.message-bubble-container.other{align-items:flex-start}.message-row{display:flex;align-items:flex-start;gap:.375rem}.message-bubble-actions{display:flex;align-items:center;gap:.125rem}.message-bubble{max-width:280px}.message-bubble.own{background:var(--color-brand-primary);color:var(--color-text-primary)}.message-bubble.other{background:var(--color-bg-raised);color:var(--color-text-primary)}.message-bubble-text{font-size:var(--font-size-xs);white-space:pre-wrap;word-wrap:break-word}.message-sender-name{font-size:var(--font-size-2xs);color:var(--color-text-tertiary);margin-left:var(--space-0-5)}.message-meta{display:flex;align-items:center;gap:var(--space-0-5);margin:0 var(--space-0-5)}.message-time{font-size:var(--font-size-2xs);color:var(--color-text-tertiary)}.message-edited{font-size:var(--font-size-2xs);color:var(--color-text-tertiary);font-style:italic}.message-edit-form{gap:var(--action-btn-gap)}.message-edit-textarea{width:100%;min-height:var(--min-height-textarea);font-size:var(--font-size-xs);background:var(--color-bg-primary);color:var(--color-text-primary);border:var(--portal-border);resize:none}.message-edit-textarea:focus{outline:none;box-shadow:0 0 0 1px var(--color-brand-primary)}.message-edit-actions{display:flex;justify-content:flex-end;gap:var(--space-0-5)}.message-action-btn{height:var(--icon-size-xl);width:var(--icon-size-xl)}.message-action-btn:focus,.message-action-btn:focus-visible{outline:none;box-shadow:none}.message-action-btn.danger:hover{color:var(--status-cancelled)}.message-edit-btn{height:var(--icon-size-xl);font-size:var(--font-size-2xs)}.message-attachments-list{gap:var(--space-0-5);margin-top:var(--space-1)}.attachment-preview-item{display:flex;align-items:center;gap:var(--space-1);border:var(--portal-border)}.attachment-preview-info{flex:1;min-width:0}.attachment-preview-name{font-size:var(--font-size-sm);color:var(--color-text-primary)}.attachment-preview-size{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.composer-attachments-preview{display:flex;flex-wrap:wrap;gap:var(--space-1)}.composer-attachment-item{display:flex;align-items:center;gap:.375rem;font-size:var(--font-size-sm);border:var(--portal-border)}.composer-input-row{display:flex;align-items:flex-end;gap:var(--space-1)}.composer-textarea-wrapper{flex:1}.messages-area{flex:1;overflow-y:auto;overscroll-behavior:contain}.file-input-hidden{display:none}.message-thread-content{flex:1;min-width:0}.message-thread-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.message-thread-preview-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.125rem}.message-thread-list{gap:0}.message-timestamp{flex-shrink:0}.typing-indicator{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-2xs);color:var(--color-text-tertiary)}.typing-indicator-dots{display:flex;align-items:center;gap:3px}.typing-dot{width:4px;height:4px;border-radius:var(--border-radius-full);background:var(--color-text-tertiary);animation:typing-bounce var(--animation-typing-bounce)}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-indicator-text{font-style:italic}}@layer pages{.msgtab-container{display:flex;flex-direction:column;gap:var(--space-3);height:calc(100dvh - var(--portal-header-height) - var(--portal-page-top) - var(--portal-page-bottom) - 3.5rem)}.dashboard-content:has(.portal-tab-panel .msgtab-container){display:flex;flex-direction:column}.section:has(.portal-tab-panel .msgtab-container){flex:1;min-height:0}.portal-tab-panel:has(.msgtab-container){flex:1;min-height:0;display:flex;flex-direction:column}.portal-tab-panel .data-table-card:has(.msgtab-container){flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.portal-tab-panel .msgtab-container{flex:1;min-height:0;height:auto}.data-table-card .msgtab-thread-area{border:none}.data-table-card .msgtab-compose-area{border:none;border-top:var(--portal-border)}.data-table-card .msgtab-container{gap:0}.msgtab-thread-area{flex:1 1 auto;min-height:min(60vh,20rem);display:flex;flex-direction:column;border:var(--portal-border);overflow:hidden}.msgtab-compose-area{flex:0 0 auto;max-height:40vh;border:var(--portal-border)}.msgtab-panel{flex:1;overflow-y:auto;border-radius:0}.msgtab-thread{display:flex;flex-direction:column;gap:var(--space-4)}.msgtab-row{display:flex;align-items:flex-end;gap:var(--space-3)}.msgtab-row.is-admin{flex-direction:row-reverse}.msgtab-avatar{width:var(--icon-size-2xl);height:var(--icon-size-2xl);flex-shrink:0;border-radius:0}.msgtab-avatar.is-admin{background-color:var(--color-text-primary);mask-image:url(/images/avatar_small_sidebar.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/images/avatar_small_sidebar.svg);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.msgtab-avatar.is-client{background-color:var(--color-text-primary);border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-bg-primary);font-family:var(--font-family-sans);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);line-height:1}.msgtab-date-sep{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0}.msgtab-date-sep:before,.msgtab-date-sep:after{content:"";flex:1;height:var(--border-width-thin);background:var(--color-border-primary)}.msgtab-date-label{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.msgtab-avatar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--space-0-5);flex-shrink:0;width:var(--icon-size-2xl)}.msgtab-avatar-spacer{width:var(--icon-size-2xl);flex-shrink:0}.msgtab-row.is-continuation{margin-top:calc(-1 * var(--space-2))}.msgtab-content-wrap{max-width:70%;display:flex;flex-direction:column;gap:var(--space-0-5)}.msgtab-content-wrap.is-admin{align-items:flex-end}.msgtab-sender{display:none;max-width:var(--icon-size-2xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msgtab-bubble-row{display:flex;align-items:center;gap:var(--space-1)}.msgtab-inline-actions{display:flex;flex-direction:column;align-items:center;gap:var(--action-btn-gap);visibility:hidden;order:1}.msgtab-content-wrap.is-admin .msgtab-inline-actions{order:-1}.msgtab-row:hover .msgtab-inline-actions{visibility:visible}.msgtab-inline-actions .message-action-btn{width:var(--font-size-sm);height:var(--font-size-sm);min-width:unset;padding:0}.msgtab-inline-actions .message-action-btn svg{width:var(--font-size-sm);height:var(--font-size-sm)}.msgtab-bubble-group{display:flex;flex-direction:column}.msgtab-bubble{border:var(--portal-border);border-radius:0}.msgtab-bubble.is-editable{cursor:text;transition:border-color var(--transition-faster)}.msgtab-bubble.is-editable:hover{border-color:var(--color-border-secondary)}@media(pointer:coarse){.msgtab-bubble{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}}.msgtab-content{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);white-space:pre-wrap;word-wrap:break-word}.msgtab-footer{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.msgtab-footer.is-admin{justify-content:flex-end}.msgtab-time{white-space:nowrap}.msgtab-receipt{display:flex;align-items:center;line-height:1}.msgtab-input-panel{display:flex;flex-direction:column;gap:var(--space-2)}.msgtab-textarea{width:100%;min-height:var(--min-height-textarea)}.msgtab-send-btn{width:100%}kbd.msgtab-kbd{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);text-transform:none;letter-spacing:0;border-color:var(--color-border-primary)}.portal .reaction-badge.is-reacted{border-color:var(--color-primary);background:var(--color-bg-elevated)}.msgtab-attachments{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-1)}.msgtab-attachment-link{display:block;text-decoration:none;color:inherit;border:var(--portal-border);transition:background var(--transition-faster)}.msgtab-attachment-link:hover{background:var(--color-bg-hover)}.msgtab-attachment-thumb{max-width:200px;max-height:150px;display:block;-o-object-fit:cover;object-fit:cover}.msgtab-attachment-file{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs)}.msgtab-attachment-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msgtab-attachment-size{color:var(--color-text-muted);flex-shrink:0}.msgtab-pending-files{display:flex;flex-wrap:wrap;gap:var(--space-1)}.msgtab-pending-file{display:flex;align-items:center;gap:var(--space-1);border:var(--portal-border);font-size:var(--font-size-xs);max-width:200px}.msgtab-pending-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msgtab-typing-indicator{font-size:var(--font-size-sm);color:var(--color-text-muted)}.msgtab-compose-footer{display:flex;flex-direction:column;gap:var(--space-1)}.msgtab-compose-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1)}.msgtab-attach-btn{flex-shrink:0}.msgtab-compose-footer .msgtab-send-btn{width:auto;display:inline-flex;align-items:center;gap:var(--space-1)}.msgtab-compose-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}@media(max-width:640px){.msgtab-content-wrap{max-width:85%}.msgtab-compose-hint{display:none}}}@layer pages{.portal h3{margin:0;font-family:var(--heading-font-family);font-size:var(--heading-section-font-size);font-weight:var(--heading-section-font-weight);color:var(--heading-section-color);text-transform:var(--heading-text-transform);letter-spacing:var(--heading-section-letter-spacing);line-height:var(--line-height-tight)}.portal-cards-list{display:flex;flex-direction:column;gap:var(--space-3)}.portal .analytics-section>h3:first-child,.portal .chart-container>h3:first-child,.portal .analytics-column>h3:first-child,.portal .analytics-column-full>h3:first-child,.portal .data-table-card>h3:first-child,.portal .portal-card>h3:first-child,.portal .content-section>h3:first-child{margin:0;border-bottom:var(--portal-border)}.portal :is(.field-label,.section-label,.stat-label,.milestone-title,.payment-plans-section h4,.project-notes h4){font-family:var(--font-family-sans);font-size:var(--label-font-size);font-weight:var(--label-font-weight);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--label-letter-spacing)}html[data-theme=light] .portal :is(.field-label,.section-label,.stat-label,.milestone-title,.payment-plans-section h4,.project-notes h4){color:var(--color-light-text)}.portal :is(.command-palette-section-label,.shortcuts-group-title,.config-section-title){font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.portal .modal-body .form-field>label:not(.portal-checkbox-label),.portal .modal-body label:not(.portal-checkbox-label):not([class*=checkbox]){display:block;margin-bottom:var(--space-1);font-family:var(--font-family-sans);font-size:var(--label-font-size);font-weight:var(--label-font-weight);color:var(--color-text-secondary);text-transform:var(--label-text-transform);letter-spacing:var(--label-letter-spacing)}.portal :is(.icon-blue,.stat-icon-blue,.panel-icon-blue){background:transparent;color:var(--status-active)}.portal :is(.icon-green,.stat-icon-green,.panel-icon-green){background:transparent;color:var(--status-completed)}.portal :is(.icon-purple,.stat-icon-purple,.panel-icon-purple){background:transparent;color:var(--status-qualified)}.portal :is(.icon-red,.stat-icon-red,.panel-icon-red){background:transparent;color:var(--status-cancelled)}.portal :is(.icon-yellow,.stat-icon-yellow,.panel-icon-yellow){background:transparent;color:var(--status-pending)}.portal h2>.heading-icon,.portal .modal-header .heading-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25em;height:1.25em;flex-shrink:0;vertical-align:middle;color:inherit}.portal h2>.heading-icon svg,.portal .modal-header .heading-icon svg{width:100%;height:100%}.portal h3>.heading-icon,.portal .panel-icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;flex-shrink:0;vertical-align:middle;color:inherit}.portal h3>.heading-icon svg,.portal .panel-icon svg{width:100%;height:100%}.portal .portal-card{background-color:inherit;border:var(--portal-border);box-shadow:none}.portal .portal-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-family:var(--heading-font-family);font-size:var(--heading-card-font-size);font-weight:var(--heading-card-font-weight);color:var(--heading-card-color);text-transform:var(--heading-text-transform);letter-spacing:var(--heading-card-letter-spacing);margin:0 0 var(--space-2) 0}.portal .portal-card-header .action-group,.portal .portal-card-header .panel-actions,.portal .portal-card-header .icon-btn{margin-left:auto}.portal .portal-card-inner{background:transparent;border:var(--portal-border);box-shadow:none}.portal .portal-card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.portal .portal-card.clickable{cursor:pointer;transition:border-color var(--transition-faster)}.portal .portal-card.clickable:hover{border-color:var(--color-border-primary)}.portal .portal-card-body{color:var(--color-text-primary)}.portal .portal-card-title-group.flex-col{align-items:flex-start;gap:var(--space-0-5, .125rem)}.portal .portal-card-meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.portal .portal-card-meta-item{display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary)}.portal .portal-card-detail-list{font-size:var(--font-size-sm)}.portal .portal-card-detail-list>*+*{margin-top:var(--space-0-5, .125rem)}.portal .portal-card-detail-row{display:flex;justify-content:space-between}.portal :is(.quick-stats,.attention-grid,.card-grid-4){display:grid;grid-template-columns:repeat(4,1fr);gap:var(--portal-section-gap);max-width:100%;align-items:stretch}.portal :is(.quick-stats,.attention-grid,.card-grid-4)>*{min-width:0;height:100%}@media(max-width:900px){.portal :is(.quick-stats,.attention-grid,.card-grid-4){grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.portal :is(.quick-stats,.attention-grid,.card-grid-4){grid-template-columns:1fr}}.portal .dashboard-stats-grid{display:flex;gap:var(--portal-section-gap);max-width:100%}.portal .dashboard-stats-grid>*{flex:1;min-width:0}@media(max-width:767px){.portal .dashboard-stats-grid{flex-wrap:wrap}.portal .dashboard-stats-grid>*{flex:1 1 calc(50% - var(--portal-section-gap))}}@media(max-width:500px){.portal .dashboard-stats-grid>*{flex:1 1 100%}}.portal .card-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--card-grid-gap, var(--space-4))}.portal .card-grid-2>*{min-width:0}@media(max-width:767px){.portal .card-grid-2{grid-template-columns:1fr}}.portal .health-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--portal-section-gap)}.portal .health-item{display:flex;align-items:center;gap:var(--icon-gap-lg);background:transparent;border:var(--portal-border)}.portal .health-indicator{width:var(--indicator-dot-md);height:var(--indicator-dot-md);border-radius:var(--border-radius-full);flex-shrink:0}.portal .health-indicator.health-loading{background:var(--color-text-tertiary);animation:pulse var(--animation-pulse-loading)}.portal .health-indicator.health-ok{background:var(--status-active)}.portal .health-indicator.health-warning{background:var(--color-warning)}.portal .health-indicator.health-error{background:var(--status-cancelled)}.portal .health-label{flex:1;color:var(--color-text-primary)}.portal .health-status{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.portal .quick-actions-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--portal-section-gap)}.portal :is(.milestone-item,.milestone-task-item).completed :is(.milestone-title,.milestone-task-title){color:var(--color-text-secondary)}.portal :is(.list-item,.data-item,.report-item,.alert-item,.bundle-item,.history-request-item){display:flex;justify-content:space-between;align-items:center;background:transparent;border:none;color:var(--color-text-primary);font-size:inherit}.portal :is(.list-item,.data-item,.report-item,.alert-item,.bundle-item,.history-request-item):hover{background:var(--portal-alpha-white-05)}@media(max-width:767px){.portal :is(.quick-stats,.attention-grid,.card-grid-4,.kpi-cards-row,.analytics-card-grid,.vitals-grid,.health-check-grid){gap:var(--space-2)}.portal .health-check-grid{grid-template-columns:1fr}}}@layer pages{.portal .stat-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);background:transparent;border:var(--portal-border);transition:border-color var(--transition-fast);position:relative;overflow:hidden}.portal .stat-card:after{display:none}.portal .stat-card:before{display:none}.portal .stat-card:hover{border-color:var(--color-border-primary)}.portal .stat-value{display:block;font-family:var(--font-family-mono);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);line-height:1;color:var(--color-text-primary);letter-spacing:-.02em;margin:0}.portal :is(.stat-label,.stat-card .field-label){display:block;line-height:var(--line-height-snug);margin:0}.portal .stat-card-icon,.portal .stat-card .stat-icon,.portal .stat-card svg:not(.btn-icon){display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;color:var(--color-text-primary);flex-shrink:0}.portal .stat-card-clickable,.portal a.stat-card{cursor:pointer;text-decoration:none}.portal button.stat-card-clickable{font:inherit;text-align:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--portal-border)}.portal .stat-card-clickable:hover,.portal a.stat-card:hover{border-color:var(--color-border-primary)}.portal .stat-card-clickable:hover .stat-value{color:var(--color-accent)}.portal .stat-card-clickable.is-active,.portal .stat-card.is-active{border-color:var(--color-accent)}.portal .stat-card-clickable.is-active .stat-value,.portal .stat-card.is-active .stat-value{color:var(--color-accent)}.portal .stat-card :is(.stat-secondary,.stat-change,.stat-meta){font-size:var(--font-size-xs);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-normal);margin:0;line-height:var(--line-height-snug)}.portal .stat-card .stat-change.positive{color:var(--color-success)}.portal .stat-card .stat-change.negative{color:var(--color-danger)}.portal .stat-value-alert,.portal .stat-card--alert .stat-value,.portal .stat-card--alert.has-items .stat-value{color:var(--status-cancelled)}.portal .stat-value-warning,.portal .stat-card--warning .stat-value,.portal .stat-card--warning.has-items .stat-value{color:var(--color-warning-500)}.portal .stat-value-success,.portal :is(.stat-card--success,.stat-card-success) .stat-value{color:var(--status-completed)}.portal .stat-value-primary{color:var(--color-accent)}@media(max-width:479px){.portal .stat-card{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-1)}.portal .stat-card .stat-value{font-size:var(--font-size-lg);margin:0}.portal .stat-card .stat-label{font-size:var(--font-size-xs);text-align:right;margin-top:0}}}@layer pages{.portal .progress-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.portal .action-items-section{display:flex;flex-direction:column;gap:var(--space-2)}.portal .action-items-section h3{display:flex;align-items:center;gap:var(--space-1)}.portal .action-items-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.portal .activity-list>li,.portal .activity-item{display:flex;align-items:center;gap:var(--icon-gap)}.portal .activity-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;border:none;color:var(--color-text-tertiary)}.portal .activity-icon svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.portal .activity-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-0-5)}.portal .activity-title{flex:1;min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal .activity-client{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.portal .activity-context{color:var(--color-text-tertiary);font-weight:var(--font-weight-normal)}.portal :is(.activity-time,.activity-date){font-size:var(--font-size-sm);color:var(--color-text-tertiary);white-space:nowrap}.portal .activity-item.empty{justify-content:center}.portal .upcoming-tasks{background:transparent;border:var(--portal-border)}.portal .upcoming-tasks .section-header-inline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.portal .upcoming-tasks .section-header-actions{display:flex;align-items:center;gap:var(--space-2)}.portal .dashboard-tasks-kanban{min-height:200px}.portal .dashboard-tasks-kanban .kanban-board{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--space-2);width:100%}.portal .dashboard-tasks-kanban .kanban-column{min-width:180px;flex:1 1 0}.portal .dashboard-tasks-kanban .kanban-column-header{font-size:var(--font-size-xs)}@media(max-width:767px){.portal .dashboard-tasks-kanban .kanban-board{flex-direction:column}.portal .dashboard-tasks-kanban .kanban-column{min-width:100%}}.portal .dashboard-tasks-kanban .task-card-header{display:flex;flex-direction:column;gap:var(--space-0-5);margin-bottom:var(--space-1)}.portal .dashboard-tasks-kanban .task-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal .dashboard-tasks-kanban .task-card-project{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.portal .dashboard-tasks-kanban .task-meta{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.portal .dashboard-tasks-kanban .task-meta-item{display:flex;align-items:center;gap:var(--icon-gap-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.portal .dashboard-tasks-kanban .task-meta-item.overdue{color:var(--status-cancelled)}.portal .upcoming-tasks-list .task-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);background:transparent;border:var(--portal-border);margin-bottom:var(--space-0-5);cursor:pointer;transition:border-color var(--transition-mouse) ease}.portal .upcoming-tasks-list .task-item:hover{border-color:var(--color-border-primary)}.portal .upcoming-tasks-list .task-item:last-child{margin-bottom:0}.portal .upcoming-tasks-list .task-item.empty{justify-content:center;color:var(--color-text-tertiary);font-style:italic;cursor:default}.portal .upcoming-tasks-list .task-item.empty:hover{border-color:var(--color-border-primary)}.portal .task-item-content{display:flex;flex-direction:column;gap:var(--space-0-5);flex:1;min-width:0}.portal .task-item .task-title{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal .task-item .task-project{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.portal .task-item-meta{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.portal .task-item .task-due{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap}.portal .task-item.task-overdue .task-due{color:var(--status-cancelled)}.portal :is(.task-priority,.task-priority-badge){display:inline-flex;align-items:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);background:transparent;border:var(--portal-border);color:var(--color-text-tertiary)}.portal :is(.task-priority,.task-priority-badge).task-priority-urgent{background:transparent;border-color:var(--status-cancelled);color:var(--status-cancelled)}.portal :is(.task-priority,.task-priority-badge).task-priority-high{background:transparent;border-color:var(--status-on-hold);color:var(--status-on-hold)}.portal :is(.task-priority,.task-priority-badge).task-priority-medium{background:transparent;border-color:var(--app-color-primary);color:var(--app-color-primary)}.portal :is(.task-priority,.task-priority-badge).task-priority-low{background:transparent;border-color:var(--color-text-secondary);color:var(--color-text-secondary)}.portal .dashboard-section{margin-bottom:var(--space-3)}.portal .dashboard-section:last-child{margin-bottom:0}.portal .dashboard-section-title{font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);margin:0 0 var(--space-1-5) 0}.portal .attention-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);background:transparent;border:var(--portal-border);color:var(--color-text-primary);font-family:inherit;cursor:pointer;transition:border-color var(--transition-fast);text-align:left;box-shadow:none}.portal .attention-card:hover{border-color:var(--color-border-primary)}.portal .attention-card.attention-card--alert{border-color:var(--status-cancelled)}.portal .attention-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:none}.portal :is(.attention-icon-warning,.attention-icon-info,.attention-icon-danger){color:var(--color-text-secondary)}.portal .attention-content{display:flex;flex-direction:row;align-items:baseline;gap:var(--space-1)}.portal .attention-count{display:block;font-family:var(--font-family-mono);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1;color:var(--color-text-primary)}.portal .attention-card.has-items .attention-count{color:var(--color-text-primary)}@media(max-width:479px){.portal .upcoming-tasks .section-header-inline{flex-wrap:wrap;gap:var(--space-1)}.portal .upcoming-tasks .section-header-actions{gap:var(--space-1)}.portal .upcoming-tasks-list .task-item{flex-wrap:wrap}.portal .task-item-meta{width:100%;margin-top:var(--space-1);justify-content:flex-end}.portal .dashboard-tasks-kanban{overflow-x:auto;-webkit-overflow-scrolling:touch}.portal .dashboard-tasks-kanban .kanban-board{min-width:-moz-max-content;min-width:max-content}.portal .dashboard-tasks-kanban .kanban-column{min-width:140px}}.progress-bar{height:var(--progress-bar-height);background:var(--color-bg-elevated);overflow:hidden;box-shadow:var(--shadow-inset-light);margin:var(--space-2) 0}.progress-fill{height:100%;background:var(--color-accent);transition:width var(--transition-normal) ease;border-radius:inherit}.progress-bar.progress-sm{height:var(--progress-bar-height-sm)}.progress-bar.progress-lg{height:var(--progress-bar-height-lg)}.progress-fill.progress-success{background:var(--color-success)}.progress-fill.progress-warning{background:var(--color-warning)}.progress-fill.progress-danger{background:var(--color-danger)}.portal .milestone-list{display:flex;flex-direction:column;gap:var(--space-2)}.portal .milestone-item-wrapper{display:flex;flex-direction:column;border:var(--portal-border)}.portal .milestone-item{display:flex;align-items:center;gap:var(--space-1-5);cursor:pointer}.portal .milestone-content{flex:1;display:flex;align-items:center;gap:var(--icon-gap)}.portal .milestone-due{display:inline-flex;align-items:center;gap:var(--space-1);margin-left:var(--space-3)}.portal .milestone-item .accordion-item-caret{margin-left:var(--space-3)}.portal .deliv-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;padding:0;margin:0}.portal .deliv-item{display:flex;align-items:center;gap:var(--space-3)}}@layer pages{.data-table{width:100%;max-width:100%;min-width:100%;border-collapse:collapse;border-spacing:0;background-color:inherit;table-layout:auto;border:none;font-family:inherit;font-size:inherit;color:var(--table-cell-color)}.data-table thead tr{height:var(--table-header-height);border-bottom:var(--portal-border)}.data-table thead{border-bottom:none}.data-table th{box-sizing:border-box;text-align:left;color:var(--color-text-primary);font-size:inherit;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);white-space:nowrap;border-bottom:none;vertical-align:middle;background:transparent}.data-table tbody tr{height:var(--table-row-height);cursor:pointer;transition:background var(--transition-faster)}.data-table td{box-sizing:border-box;color:inherit;font-size:inherit;font-weight:inherit;border:none;vertical-align:middle;background:transparent}.data-table tbody tr:hover td{background:var(--color-bg-hover)}.data-table tbody tr:hover td[colspan],.data-table tbody tr:hover td:has(.empty-state),.data-table tbody tr:has(td[colspan]):hover td,.data-table tbody tr.empty-row:hover td{background:transparent}.data-table tbody tr:active td{background:var(--color-bg-active)}.data-table tbody tr.row-focused td,.data-table tbody tr[data-focused=true] td{background:var(--color-bg-hover)}.data-table tbody tr.row-focused td:first-child,.data-table tbody tr[data-focused=true] td:first-child{box-shadow:inset var(--space-px) 0 0 var(--color-accent),inset calc(var(--space-px) * 2) 0 0 var(--color-accent)}.data-table tbody tr.row-selected td,.data-table tbody tr[data-selected=true] td{background:var(--color-bg-raised)}.button-group{display:flex;align-items:center;gap:var(--space-0-5);flex-wrap:nowrap}.button-group--modal{gap:var(--space-1-5)}.button-group--toolbar,.button-group--sidebar{gap:var(--space-1)}.action-group{display:inline-flex;align-items:center;gap:var(--table-actions-gap);flex-wrap:nowrap;justify-content:flex-end;--portal-btn-icon-size: var(--icon-size-sm)}.col-actions{display:table-cell;vertical-align:middle;text-align:right;margin:0;border-top:none;background:transparent}.data-table :is(th,td).col-actions,.data-table :is(th,td):last-child:has(.action-group){width:auto;min-width:-moz-fit-content;min-width:fit-content;white-space:nowrap;text-align:right}.data-table th.col-actions{text-align:right}.data-table .col-actions{width:1%;white-space:nowrap;text-align:right}.data-table :is(th,td).star-col,.data-table :is(th,td).star-cell{width:1%;min-width:3rem;max-width:3rem;white-space:nowrap;text-align:center}.col-actions:not(:has(.action-group)){gap:var(--table-actions-gap)}.data-table td.col-actions:not(:has(.data-table-row-actions)),.data-table td.col-actions:has(.data-table-row-actions:empty){padding-left:0;padding-right:0;margin:0}.data-table-header{display:flex;justify-content:space-between;align-items:center;min-height:var(--space-7);border-top:none;border-bottom:var(--portal-border);border-radius:0;background-color:inherit}.data-table-header>.status-badge{display:none}.data-table-header h3{order:0;flex:0 0 auto;margin:0;display:inline-flex;align-items:center;gap:var(--icon-gap);color:var(--heading-section-color);font-size:var(--heading-section-font-size);font-weight:var(--heading-section-font-weight);text-transform:var(--heading-text-transform);letter-spacing:var(--heading-section-letter-spacing);white-space:nowrap}.data-table-header h3 svg{width:1em;height:1em;flex-shrink:0}.data-table-header h3 .title-mobile{display:none}.data-table-header h3 .title-full{display:inline}.stats-summary{order:1;display:inline-flex;align-items:center;gap:var(--space-2);margin-left:var(--space-4);color:var(--color-text-tertiary);font-size:var(--label-font-size);font-weight:var(--label-font-weight);text-transform:uppercase;letter-spacing:var(--label-letter-spacing);flex-wrap:wrap}.stats-summary-item{display:inline-flex;align-items:center;white-space:nowrap}.stats-summary-item:not(:last-child):after{content:"•";margin-left:var(--space-2);color:var(--color-text-tertiary)}.stats-summary-item.stats-pending,.stats-summary-item.stats-active,.stats-summary-item.stats-completed,.stats-summary-item.stats-overdue,.stats-summary-item.stats-cancelled{color:inherit}.data-table-actions{order:2;display:flex;gap:var(--action-btn-gap);align-items:center;margin-left:auto;flex-shrink:0}.data-table-actions .icon-btn{flex-shrink:0}.data-table-actions .status-badge{display:none}.data-table-actions .admin-filter-select,.data-table-actions .view-toggle{align-self:center}.table-layout{width:100%;min-width:0}.data-table-card{background-color:inherit;border:var(--portal-border);overflow:visible;min-width:0}.table-container,.data-table-container{background:transparent;border:none;overflow:visible;min-width:0}.data-table-container>ul{display:flex;flex-direction:column;gap:0;padding:0}.data-table td[colspan]:before{display:none}.table-scroll-wrapper,.data-table-scroll-wrapper{width:100%;overflow-x:auto;overflow-y:visible;background-color:inherit;border:none}.table-scroll-wrapper:not(.data-table-card *),.data-table-scroll-wrapper:not(.data-table-card *){border:var(--portal-border)}.data-table-card:has(.table-pagination) .data-table-scroll-wrapper{border-bottom-left-radius:0;border-bottom-right-radius:0}.table-pagination{display:flex;align-items:center;border-top:var(--portal-border);color:inherit;font-size:inherit}.pagination-inner{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--space-4)}.pagination-info,.pagination-size label{color:inherit}.pagination-controls,.pagination-size,.pagination-nav{display:flex;align-items:center}.pagination-controls{gap:var(--space-4)}.pagination-size{gap:var(--space-2)}.pagination-nav{gap:var(--space-1)}.pagination-btn{display:flex;align-items:center;justify-content:center;width:var(--table-pagination-btn-size);height:var(--table-pagination-btn-size);padding:0;background:transparent;border:var(--portal-input-border);color:inherit;cursor:pointer;box-sizing:border-box;transition:color var(--transition-fast),border-color var(--transition-fast)}.pagination-btn:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent)}.pagination-btn:disabled{color:var(--color-text-tertiary);border-color:var(--color-border-primary);cursor:not-allowed}.pagination-btn svg{width:var(--table-icon-size);height:var(--table-icon-size)}.pagination-page-btn{display:flex;align-items:center;justify-content:center;min-width:var(--table-pagination-btn-size);width:var(--table-pagination-btn-size);height:var(--table-pagination-btn-size);padding:0;background:transparent;border:var(--portal-input-border);color:inherit;font-size:inherit;box-sizing:border-box;cursor:pointer}.pagination-page-btn:hover:not(.is-active){color:var(--color-accent);border-color:var(--color-accent)}.pagination-page-btn.is-active{font-weight:var(--font-weight-semibold)}.data-table td a{color:inherit;text-decoration:none}.data-table td a:hover{text-decoration:underline}.data-table .identity-cell{min-width:0;max-width:var(--table-identity-max-width)}.data-table .cell-content,.data-table .cell-title,.data-table .cell-subtitle,.data-table .identity-name,.data-table .identity-email,.data-table .identity-contact,.data-table .identity-phone,.data-table .identity-company,.data-table .type-value,.data-table .date-value,.data-table .due-date-value,.data-table .expires-at-value,.data-table .budget-value,.data-table .timeline-value,.data-table .type-stacked,.data-table .date-stacked,.data-table .budget-stacked,.data-table .timeline-stacked,.data-table .target-stacked,.data-table .last-active-stacked,.data-table .type-budget-stacked{font-size:inherit;font-weight:inherit;color:inherit;font-family:inherit;line-height:var(--line-height-snug)}.data-table .cell-content{display:inline-flex;flex-direction:column;gap:var(--space-0-5);vertical-align:middle;width:100%;max-width:100%;box-sizing:border-box;margin:0}.data-table .cell-empty,.cell-empty{color:var(--color-text-tertiary)}.data-table .cell-with-icon{display:flex;flex-direction:row;align-items:center;gap:var(--space-2)}.data-table .icon-sm,.data-table .icon-xs{color:inherit}.data-table .type-cell .cell-with-icon,.data-table .type-cell .document-type-badge,.data-table .priority-cell .cell-with-icon,.data-table .cell-with-icon-inline{display:inline-flex;align-items:center;gap:var(--icon-gap)}.data-table .cell-title,.data-table .cell-subtitle,.data-table .identity-name,.data-table .identity-email,.data-table .identity-contact,.data-table .identity-phone,.data-table .identity-company,.data-table .type-value,.data-table .date-value,.data-table .due-date-value,.data-table .expires-at-value,.data-table .budget-value,.data-table .timeline-value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .cell-content>.identity-company{order:0}.data-table .cell-content>.identity-name{order:1}.data-table .cell-content>.identity-email{order:2}.data-table .cell-content>.identity-phone{order:3}.data-table .type-stacked,.data-table .date-stacked,.data-table .budget-stacked,.data-table .timeline-stacked,.data-table .target-stacked,.data-table .last-active-stacked,.data-table .type-budget-stacked,.data-table .company-stacked,.data-table .project-stacked,.data-table .priority-stacked,.data-table .assigned-stacked,.data-table .count-stacked,.data-table .invoice-stacked,.data-table .amount-stacked,.data-table .source-stacked,.data-table .trigger-stacked,.data-table .category-stacked,.data-table .status-stacked{display:none}.data-table .priority-stacked{display:none;align-items:center;gap:var(--icon-gap);color:inherit;font-size:inherit}.data-table .priority-stacked .priority-indicator{width:var(--status-dot-size);height:var(--status-dot-size);border-radius:var(--border-radius-full);flex-shrink:0}.data-table .project-stacked{order:-1;color:inherit;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.data-table .count-stacked,.data-table .target-stacked{color:inherit;font-size:inherit}.data-table .invoice-stacked{color:inherit;font-size:inherit;font-family:var(--font-family-mono)}.data-table .amount-stacked{color:inherit;font-size:inherit;font-weight:var(--font-weight-medium)}.data-table .source-stacked,.data-table .trigger-stacked,.data-table .category-stacked,.data-table .status-stacked{color:inherit;font-size:inherit}.data-table .slug-cell,.data-table .slug-cell code,.data-table .type-cell code,.data-table code{font-family:var(--font-family-mono);font-size:inherit}.data-table .slug-cell code,.data-table .type-cell code,.data-table code{background:transparent;padding:0}.data-table td span,.data-table td code,.data-table .cell-with-icon span{font-size:inherit}.data-table :is(td,th).col-checkbox{width:var(--table-checkbox-width);min-width:var(--table-checkbox-width);max-width:var(--table-checkbox-width);text-align:center}.data-table th,.data-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:var(--table-cell-max-width)}.data-table :is(th,td):has(>.portal-checkbox){overflow:visible;text-overflow:clip;max-width:none;width:var(--table-checkbox-width);min-width:var(--table-checkbox-width)}.data-table :is(th,td).status-col{min-width:10rem;width:10rem}.data-table td.status-col{overflow:visible;text-overflow:clip;text-align:center}.data-table td.status-col .table-dropdown,.data-table td.status-col .table-dropdown .dropdown-trigger--custom{margin:0}.data-table td.status-col .table-dropdown{display:inline-flex;justify-content:center}.data-table :is(.name-col,.name-cell,.title-col,.title-cell,.subject-col,.subject-cell,.message-col,.message-cell,.client-col,.client-cell,.contact-col,.contract-col,.contract-cell,.email-col,.user-col,.user-cell){max-width:var(--table-name-max-width)}.data-table .primary-cell{white-space:normal;overflow:hidden}.data-table .primary-cell .cell-content{white-space:normal}.data-table .primary-cell .cell-title,.data-table .primary-cell .cell-subtitle{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;text-overflow:ellipsis}.data-table :is(.identity-col,.identity-cell){max-width:var(--table-identity-max-width)}.data-table .mono-text{font-family:var(--font-family-mono, "SF Mono", "Fira Code", "Fira Mono", Menlo, monospace);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-label)}.data-table :is(.type-col,.type-cell,.status-col,.date-col,.timeline-col,.timeline-cell,.budget-col,.budget-cell,.amount-col,.count-col,.count-cell,.slug-col,.slug-cell,.size-col,.size-cell,.docs-col,.docs-cell,.hours-col,.hours-cell,.progress-col,.progress-cell,.version-col,.version-cell){max-width:var(--table-compact-max-width)}.data-table :is(.status-col,.count-col,.count-cell,.articles-col,.articles-cell,.active-col,.active-cell,.featured-col,.featured-cell,.views-col,.views-cell,.runs-col,.runs-cell,.success-col,.success-cell,.steps-col,.steps-cell,.projects-col,.projects-cell,.docs-col,.docs-cell,.hours-col,.hours-cell,.progress-col,.progress-cell,.version-col,.version-cell,.date-col,.due-date-col,.due-date-cell,.created-col,.updated-col,.text-center){text-align:center}.data-table td.text-center:has(>svg:only-child){display:flex;align-items:center;justify-content:center}.data-table td.text-center svg,.data-table th.text-center svg{display:inline-block;vertical-align:middle}.data-table :is(.amount-col,.text-right),.data-table th.amount-col,.data-table th.text-right,.data-table th[class*=amount]{text-align:right}.data-table .col-actions{max-width:none;overflow:visible;text-align:right}.data-table .truncate{max-width:var(--table-truncate-max-width);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table :is(.notes-cell,.description-cell){max-width:var(--table-truncate-max-width);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table td.cell-wrap{white-space:normal;overflow:visible;text-overflow:clip;line-height:var(--line-height-snug)}.data-table td[colspan],.data-table :is(td.error-row,td.loading-row,td.empty-row){width:100%;max-width:none;overflow:visible;text-overflow:clip;white-space:normal;text-align:center}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;transition:background-color var(--transition-faster)}.data-table th.sortable:hover{background-color:transparent}.sort-header-btn{display:inline-flex;align-items:center;gap:var(--icon-gap);background:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;white-space:nowrap}.sort-header-btn:hover{color:var(--color-text-primary)}.sort-header-btn .sort-indicator{font-size:var(--table-sort-indicator-size);color:var(--color-accent)}.data-table th.sortable .sort-icon,.data-table th.sortable .data-table-sort-icon{display:inline-flex;align-items:center;position:absolute;right:var(--table-cell-padding-x);top:50%;transform:translateY(-50%)}.data-table th.sortable .sort-icon svg,.data-table th.sortable .data-table-sort-icon svg{width:var(--table-icon-size);height:var(--table-icon-size);color:var(--color-text-primary);transition:color var(--transition-faster)}.data-table th.sortable:hover .sort-icon svg,.data-table th.sortable:hover .data-table-sort-icon svg{color:var(--color-text-primary)}.data-table th.sortable .sort-icon svg.sort-asc,.data-table th.sortable .sort-icon svg.sort-desc,.data-table th.sortable .data-table-sort-icon svg.sort-asc,.data-table th.sortable .data-table-sort-icon svg.sort-desc{color:var(--color-accent)}.table-link{color:var(--color-text-primary);cursor:pointer;text-decoration:none;transition:-webkit-text-decoration var(--transition-faster);transition:text-decoration var(--transition-faster);transition:text-decoration var(--transition-faster),-webkit-text-decoration var(--transition-faster)}.table-link:hover{text-decoration:underline}@media(max-width:767px){.data-table{min-width:0;width:100%;table-layout:auto}.data-table th,.data-table td{white-space:nowrap}.data-table :is(.type-col,.type-cell,.date-col,.status-col){width:auto}.data-table .col-checkbox,.data-table th.col-checkbox{display:none}.data-table :is(.source-col,.source-cell,.timeline-col,.timeline-cell,.budget-col,.budget-cell){display:none}.data-table .type-stacked,.data-table .date-stacked,.data-table .budget-stacked,.data-table .last-active-stacked,.data-table .type-budget-stacked,.data-table .company-stacked{display:block}.data-table-header{flex-wrap:wrap;gap:var(--space-1)}.data-table-header h3{flex:0 0 auto}.stats-summary{order:2;flex:1 1 100%;margin-left:0;gap:var(--space-1-5);font-size:var(--font-size-xs)}.data-table-actions{order:1;margin-left:auto}}@media(max-width:1100px){.data-table :is(.source-col,.source-cell){display:none}.data-table .cell-content .source-stacked{display:block}.data-table :is(.project-col,.project-cell,.priority-col,.priority-cell,.date-col,.created-col):not(.primary-cell){display:none}.data-table .cell-content .project-stacked{display:block;order:-1;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.data-table .cell-content .priority-stacked{display:inline-flex}.data-table .cell-content .date-stacked{display:block}}@media(max-width:1024px){.data-table :is(.date-col,.created-col,.timeline-col,.timeline-cell,.assigned-col,.assigned-cell){display:none}.data-table :is(.company-col,.company-cell,.project-col,.project-cell,.type-col,.type-cell,.projects-col,.projects-cell,.count-col,.count-cell,.category-col,.category-cell):not(.primary-cell){display:none}.data-table .cell-content .project-stacked{display:block;order:-1;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.data-table .cell-content .company-stacked,.data-table .cell-content .type-stacked,.data-table .cell-content .date-stacked,.data-table .cell-content .assigned-stacked,.data-table .cell-content .count-stacked,.data-table .cell-content .target-stacked,.data-table .cell-content .project-stacked,.data-table .cell-content .trigger-stacked,.data-table .cell-content .category-stacked,.data-table .identity-cell .identity-company{display:block;color:inherit;font-size:inherit}}@media(max-width:900px){.data-table :is(.budget-col,.budget-cell,.amount-col,.priority-col,.priority-cell,.invoice-col,.invoice-cell):not(.primary-cell){display:none}.data-table .budget-stacked,.data-table .invoice-stacked,.data-table .amount-stacked{display:block}.data-table .cell-content .priority-stacked{display:inline-flex}.data-table .cell-content .status-stacked{display:block}}@media(max-width:700px){.table-scroll-wrapper,.data-table-scroll-wrapper{overflow-x:visible}.data-table,.data-table thead,.data-table tbody,.data-table tr,.data-table th,.data-table td{display:block;width:100%}.data-table{min-width:0}.data-table thead{display:none}.data-table td:has(.empty-state,.loading-state,.error-state){white-space:normal}.data-table :is(.source-col,.source-cell,.timeline-col,.timeline-cell,.budget-col,.budget-cell,.date-col,.created-col,.assigned-col,.assigned-cell,.company-col,.company-cell,.project-col,.project-cell,.type-col,.type-cell,.projects-col,.projects-cell,.count-col,.count-cell,.category-col,.category-cell,.amount-col,.priority-col,.priority-cell,.invoice-col,.invoice-cell,.status-col):not(.primary-cell){display:flex}.data-table tbody tr{height:auto;background:transparent;margin-bottom:0;border:none;border-bottom:var(--portal-border);border-radius:0}.data-table tbody tr:last-child{margin-bottom:0;border-bottom:none}.data-table td,.data-table td.status-col,.data-table td.amount-col,.data-table td.col-actions,.data-table td.priority-cell,.data-table td.priority-col,.data-table td.date-col,.data-table td.created-col{display:flex;justify-content:flex-start;align-items:baseline;gap:var(--space-2);min-height:auto;height:auto;border:none;word-break:normal;max-width:100%;white-space:nowrap;overflow:visible;text-overflow:clip;text-align:left}.data-table td:not(.primary-cell) .cell-content,.data-table td:not(.primary-cell) .cell-content .cell-title,.data-table td:not(.primary-cell) .cell-content .cell-subtitle{display:inline;white-space:nowrap}.data-table td:not(.primary-cell) .cell-content .cell-title+.cell-subtitle:before{content:" · "}.data-table .primary-cell .cell-content{display:flex;flex-direction:column;align-items:flex-start}.data-table .primary-cell,.data-table .primary-cell .cell-title,.data-table .primary-cell .cell-subtitle{overflow:visible;text-overflow:clip;white-space:normal;-webkit-line-clamp:unset;text-align:left}.data-table :is(th,td):first-child,.data-table .col-checkbox+:is(th,td),.data-table :is(th,td):last-child{padding-left:0;padding-right:0}.data-table td[colspan]{padding:0}.data-table td+td{border-top:none}.data-table td:before{content:attr(data-label);flex-shrink:0;min-width:5rem;color:var(--table-header-color);font-size:var(--table-header-font-size);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--table-header-letter-spacing);white-space:nowrap}.data-table .cell-content .source-stacked,.data-table .cell-content .company-stacked,.data-table .cell-content .type-stacked,.data-table .cell-content .date-stacked,.data-table .cell-content .assigned-stacked,.data-table .cell-content .count-stacked,.data-table .cell-content .target-stacked,.data-table .cell-content .project-stacked,.data-table .cell-content .trigger-stacked,.data-table .cell-content .category-stacked,.data-table .cell-content .budget-stacked,.data-table .cell-content .invoice-stacked,.data-table .cell-content .amount-stacked,.data-table .cell-content .priority-stacked,.data-table .cell-content .status-stacked,.data-table .cell-content .timeline-stacked,.data-table .cell-content .last-active-stacked,.data-table .cell-content .type-budget-stacked,.data-table .identity-cell .identity-company,.data-table .timeline-stacked,.data-table .last-active-stacked,.data-table .type-budget-stacked{display:none}.data-table td.status-col{align-items:center}.data-table td.col-actions{justify-content:flex-end;align-items:center}.data-table td.col-actions:before{display:none}.data-table .col-actions .action-group{gap:var(--space-0-5)}.data-table td.name-cell:not([data-label]):before,.data-table td.name-col:not([data-label]):before{content:"Name"}.data-table td.primary-cell:not([data-label]):before{content:"Name"}.data-table td.invoice-cell:not([data-label]):before,.data-table td.invoice-col:not([data-label]):before{content:"Invoice"}.data-table td.project-cell:not([data-label]):before,.data-table td.project-col:not([data-label]):before{content:"Project"}.data-table td.client-cell:not([data-label]):before,.data-table td.client-col:not([data-label]):before{content:"Client"}.data-table td.date-col:not([data-label]):before{content:"Date"}.data-table td.amount-col:not([data-label]):before{content:"Amount"}.data-table td.status-col:not([data-label]):before{content:"Status"}.data-table td.email-cell:not([data-label]):before,.data-table td.email-col:not([data-label]):before{content:"Email"}.data-table td.phone-cell:not([data-label]):before,.data-table td.phone-col:not([data-label]):before{content:"Phone"}.data-table td.type-cell:not([data-label]):before,.data-table td.type-col:not([data-label]):before{content:"Type"}.data-table td.size-cell:not([data-label]):before,.data-table td.size-col:not([data-label]):before{content:"Size"}.data-table td.priority-cell:not([data-label]):before,.data-table td.priority-col:not([data-label]):before{content:"Priority"}.data-table td.count-cell:not([data-label]):before,.data-table td.count-col:not([data-label]):before{content:"Count"}.data-table td.source-cell:not([data-label]):before,.data-table td.source-col:not([data-label]):before{content:"Source"}.data-table td.assigned-cell:not([data-label]):before,.data-table td.assigned-col:not([data-label]):before{content:"Assigned"}.data-table td.company-cell:not([data-label]):before,.data-table td.company-col:not([data-label]):before{content:"Company"}.data-table td.budget-cell:not([data-label]):before,.data-table td.budget-col:not([data-label]):before{content:"Budget"}.data-table td.timeline-cell:not([data-label]):before,.data-table td.timeline-col:not([data-label]):before{content:"Timeline"}.data-table td.description-cell:not([data-label]):before,.data-table td.description-col:not([data-label]):before{content:"Description"}.data-table td.category-cell:not([data-label]):before,.data-table td.category-col:not([data-label]):before{content:"Category"}.data-table td.title-cell:not([data-label]):before,.data-table td.title-col:not([data-label]):before{content:"Title"}.data-table td.col-checkbox,.data-table th.col-checkbox{display:none}.data-table-header{flex-wrap:wrap}.data-table-header h3{flex:0 0 auto;order:0}.data-table-actions{flex:0 0 auto;order:1;margin-left:auto}.data-table-header .table-stats{flex:0 0 100%;order:2}}@media(max-width:479px){.data-table td{font-size:var(--font-size-xs)}.data-table td:before{font-size:calc(var(--font-size-xs) - 1px)}}.cell-secondary{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-px)}.cell-name{font-weight:var(--font-weight-medium)}.cell-link{color:var(--app-color-primary);text-decoration:none}.cell-link:hover{text-decoration:underline}@media(max-width:479px){.data-table .col-checkbox,.data-table th.col-checkbox{display:none}.data-table tbody td.identity-cell{order:-2;margin-bottom:var(--space-1)}.data-table tbody td.col-actions{order:10;display:flex;justify-content:flex-end;border-top:var(--portal-border);margin-top:var(--space-2)}}.table-stat{font-size:var(--font-size-sm);color:var(--color-text-tertiary);white-space:nowrap}.bulk-selected-count{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.empty-message{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary, inherit);margin:0}.sort-indicator{font-size:var(--table-sort-indicator-size);color:var(--color-accent)}.row-checkbox{cursor:pointer}.table-cell-content{display:inline-flex;align-items:center;gap:var(--icon-gap);min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-cell{display:inline-flex;align-items:center;gap:var(--space-1)}.copy-cell-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.copy-cell-button{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--space-3);height:var(--space-3);padding:0;background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.data-table tbody tr:hover .copy-cell-button,.copy-cell:hover .copy-cell-button{opacity:1}.copy-cell-button:hover{color:var(--color-accent)}.copy-cell-icon{width:var(--table-icon-size);height:var(--table-icon-size)}.copy-cell-icon--success{color:var(--status-completed)}.count-label{color:var(--color-text-tertiary);font-size:inherit}.data-table-stats{display:flex;align-items:center;gap:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.data-table-stat-item{display:flex;align-items:center;gap:var(--space-0-5)}.data-table-stat-value{font-weight:var(--font-weight-semibold);color:var(--color-accent)}.data-table-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.data-table-search-wrapper{position:relative;flex:1;min-width:200px;max-width:var(--search-input-max-width)}.data-table-search-icon{position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary)}.data-table-row-selected{background-color:var(--portal-alpha-primary-10)}.data-table-pagination{margin-top:var(--space-3);border:var(--portal-border)}.data-table-pagination-layout{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3)}.data-table-pagination-info{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.data-table-pagination-controls{display:flex;align-items:center;gap:var(--space-3)}.data-table-page-size{display:flex;align-items:center;gap:var(--space-1)}.data-table-page-nav,.data-table-page-indicator{display:flex;align-items:center;gap:var(--space-0-5)}.data-table-row-actions{display:flex;align-items:center;gap:var(--table-actions-gap);--portal-btn-icon-size: var(--icon-size-sm)}.action-group .icon-btn,.data-table-row-actions .icon-btn{width:var(--icon-size-sm);height:var(--icon-size-sm);min-width:var(--icon-size-sm);min-height:var(--icon-size-sm);max-width:var(--icon-size-sm);max-height:var(--icon-size-sm)}.data-table-actions .icon-btn{width:var(--icon-size-lg);height:var(--icon-size-lg);min-width:var(--icon-size-lg);min-height:var(--icon-size-lg);max-width:var(--icon-size-lg);max-height:var(--icon-size-lg)}}@layer pages{.portal :is(.form-input,.form-textarea,.form-select,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=url],input[type=date],textarea,select:not(.status-select)),.portal-modal :is(.form-input,.form-textarea,.form-select,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=url],input[type=date],textarea,select:not(.status-select)),.modal-overlay :is(.form-input,.form-textarea,.form-select,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=url],input[type=date],textarea,select:not(.status-select)),.auth-gate :is(.form-input,.form-textarea,.form-select,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=url],input[type=date],textarea,select:not(.status-select)){width:100%;height:var(--space-7);padding:var(--content-gutter);border:var(--portal-input-border);font-size:inherit;font-family:inherit;font-weight:var(--font-weight-medium);line-height:var(--space-7);background-color:var(--color-bg-primary);color:var(--color-text-primary);box-sizing:border-box;transition:border-color var(--transition-fast);caret-color:var(--color-text-primary)}.portal :is(textarea,.form-textarea,textarea.form-input),.portal-modal :is(textarea,.form-textarea,textarea.form-input),.modal-overlay :is(textarea,.form-textarea,textarea.form-input){height:auto;min-height:calc(var(--space-6) * 2);line-height:var(--line-height-snug);resize:vertical}.modal-body .form-field{margin-bottom:var(--space-4)}.modal-body .form-field:last-child{margin-bottom:0}.portal :is(.form-input,.form-textarea,input,textarea)::-moz-placeholder,.portal-modal :is(.form-input,.form-textarea,input,textarea)::-moz-placeholder,.modal-overlay :is(.form-input,.form-textarea,input,textarea)::-moz-placeholder{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--portal-placeholder-color);font-family:var(--font-family-mono);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.portal :is(.form-input,.form-textarea,input,textarea)::placeholder,.portal-modal :is(.form-input,.form-textarea,input,textarea)::placeholder,.modal-overlay :is(.form-input,.form-textarea,input,textarea)::placeholder{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--portal-placeholder-color);font-family:var(--font-family-mono);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.portal :is(.form-input,.form-textarea,.form-select,input,textarea,select):hover,.portal-modal :is(.form-input,.form-textarea,.form-select,input,textarea,select):hover,.modal-overlay :is(.form-input,.form-textarea,.form-select,input,textarea,select):hover{border-color:var(--color-border-primary)}.portal :is(.form-input,.form-textarea,.form-select,input,textarea,select):is(:focus,:focus-visible),.portal-modal :is(.form-input,.form-textarea,.form-select,input,textarea,select):is(:focus,:focus-visible),.modal-overlay :is(.form-input,.form-textarea,.form-select,input,textarea,select):is(:focus,:focus-visible),.auth-gate :is(.form-input,.form-textarea,.form-select,input,textarea,select):is(:focus,:focus-visible){outline:none;outline-offset:0;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.form-field{position:relative;display:flex;flex-direction:column;margin-bottom:var(--space-2)}.form-field:last-child{margin-bottom:0}.form-value-readonly{margin-top:var(--space-1-5);font-weight:var(--font-weight-semibold)}:is(label.field-label,.field-label){position:static;pointer-events:auto}.form-field.label-inside{position:relative}.form-field.label-inside label{position:absolute;top:var(--space-1);left:var(--space-2);z-index:var(--z-index-content);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);pointer-events:none;margin:0}.form-field.label-inside :is(input,select,textarea){height:calc(var(--space-6) + var(--space-1-5));line-height:normal}.form-field.label-inside textarea{height:auto;min-height:var(--space-12)}.portal :is(select:not(.status-select),.form-select),.portal-modal :is(select:not(.status-select),.form-select),.modal-overlay :is(select:not(.status-select),.form-select){appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:var(--select-caret);background-repeat:no-repeat;background-position:right var(--space-1-5) center;background-size:var(--icon-size-xs);cursor:pointer}html[data-theme=light] .portal :is(select:not(.status-select),.form-select),html[data-theme=light] .portal-modal :is(select:not(.status-select),.form-select),html[data-theme=light] .modal-overlay :is(select:not(.status-select),.form-select){background-image:var(--select-caret-light)}:is(input,textarea,select,.form-input,.form-textarea,.form-select):disabled{opacity:var(--opacity-disabled);cursor:not-allowed;background-color:var(--color-bg-readonly)}:is(input,textarea,.form-input,.form-textarea):-moz-read-only{background-color:var(--color-bg-readonly);cursor:default}:is(input,textarea,.form-input,.form-textarea):read-only{background-color:var(--color-bg-readonly);cursor:default}:is(.form-input,.form-textarea,input,textarea,select):is(.error,.form-field-input--error,.form-input-error){border-color:var(--color-danger)}.form-error-message{color:var(--color-danger);font-size:var(--font-size-sm);margin-top:var(--space-0-5)}:is(.form-required-indicator,.form-required){color:var(--color-danger);margin-left:var(--space-0-5)}.form-helper-text{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin-top:var(--space-0-5)}@media(max-width:479px){.portal :is(.form-input,.form-textarea,.form-select,input,textarea,select),.modal-overlay :is(.form-input,.form-textarea,.form-select,input,textarea,select){height:calc(var(--space-5) + var(--space-0-5));font-size:var(--font-size-sm);line-height:calc(var(--space-5) + var(--space-0-5))}.portal :is(textarea,.form-textarea),.modal-overlay :is(textarea,.form-textarea){height:auto;min-height:var(--space-10);line-height:var(--line-height-normal)}}.password-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.password-toggle,.portal-password-toggle{position:absolute;right:var(--space-1-5);top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.password-toggle:hover,.portal-password-toggle:hover{color:var(--color-accent)}.password-toggle svg{width:1em;height:1em}.password-toggle .password-icon-hide,.password-toggle.showing .password-icon-show{display:none}.password-toggle.showing .password-icon-hide{display:block}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.form-row .form-field{margin-bottom:0}@media(max-width:576px){.form-row{grid-template-columns:1fr}}.search-bar{position:relative;display:flex;align-items:center;width:100%}.search-bar .search-bar-icon{position:absolute;left:var(--space-1);top:50%;transform:translateY(-50%);width:var(--icon-size-md);height:var(--icon-size-md);color:var(--color-text-tertiary);pointer-events:none;flex-shrink:0}.search-bar input.search-bar-input,.filter-search-dropdown input.search-bar-input,input.search-bar-input{width:100%;height:var(--portal-btn-icon-size);min-height:var(--portal-btn-icon-size);background-color:var(--color-bg-primary);border:var(--portal-border);color:var(--color-text-primary);font-size:var(--font-size-sm);box-sizing:border-box;padding:0 calc(var(--icon-size-xl) + var(--space-1)) 0 calc(var(--space-1) + var(--icon-size-md) + var(--space-1-5));text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.search-bar .search-bar-input::-moz-placeholder,.search-bar-input::-moz-placeholder{color:var(--color-text-tertiary);text-overflow:ellipsis;overflow:hidden}.search-bar .search-bar-input::placeholder,.search-bar-input::placeholder{color:var(--color-text-tertiary);text-overflow:ellipsis;overflow:hidden}.search-bar .search-bar-input:focus,.search-bar-input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.search-bar-clear{position:absolute;right:var(--space-0-5);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:var(--icon-size-xl);height:var(--icon-size-xl);padding:0;background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast)}.search-bar-clear:hover{color:var(--color-text-primary)}.search-bar-clear:focus{outline:none}.search-bar-clear:focus-visible{outline:var(--focus-ring-width-thick) solid var(--color-accent);outline-offset:var(--focus-ring-offset-sm)}.search-bar-clear svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.input{width:100%;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-family:var(--font-family-mono);background:var(--color-bg-primary);border:var(--portal-input-border);border-radius:0;color:var(--color-text-primary);outline:none}.input::-moz-placeholder{color:var(--color-text-tertiary)}.input::placeholder{color:var(--color-text-tertiary)}.input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.input:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.input-error{border-color:var(--color-error)}.select{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-family:var(--font-family-mono);background-color:var(--color-bg-primary);border:var(--portal-input-border);border-radius:0;color:var(--color-text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;background-image:var(--select-caret);background-repeat:no-repeat;background-position:right var(--space-1-5) center;background-size:var(--icon-size-xs)}.select:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.select:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.dropdown-trigger--form{background:none;border:none;padding:0;margin:0;outline:none;text-decoration:none;box-shadow:none;display:flex;flex-direction:row;align-items:center;position:relative;width:100%;height:var(--space-7);padding:var(--content-gutter);font-size:inherit;font-weight:var(--font-weight-medium);font-family:inherit;line-height:var(--space-7);background-color:var(--color-bg-primary);border:var(--portal-input-border);border-radius:0;color:var(--color-text-primary);cursor:pointer;box-sizing:border-box;text-align:left;text-transform:none;letter-spacing:normal}.dropdown-trigger--form:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.dropdown-trigger--form:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.dropdown-trigger--form[data-state=open]{border-color:var(--color-accent)}.dropdown-value--form{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-caret--form{margin-left:auto;flex-shrink:0;width:var(--dropdown-caret-size);height:var(--dropdown-caret-size);color:var(--color-text-muted);transition:transform var(--transition-fast)}.dropdown-trigger--form[data-state=open]>.dropdown-caret--form{transform:rotate(180deg)}.textarea{width:100%;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-family:var(--font-family-mono);background:var(--color-bg-primary);border:var(--portal-input-border);border-radius:0;color:var(--color-text-primary);outline:none;resize:none;min-height:var(--space-12)}.textarea::-moz-placeholder{color:var(--color-text-tertiary)}.textarea::placeholder{color:var(--color-text-tertiary)}.textarea:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.textarea:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.panel>.textarea,.notes-input-panel>.textarea{border:none}.panel>.textarea:focus,.notes-input-panel>.textarea:focus{box-shadow:none}.form-textarea-resizable{min-height:var(--min-height-textarea-lg);resize:vertical}.qform-header,.qform-actions,.qform-file-selected,.file-upload-item-header{display:flex;align-items:center;justify-content:space-between}.file-upload-item-header{margin-bottom:var(--space-0-5)}.qform-header{gap:var(--space-1-5)}.qform-header-left{display:flex;align-items:center;gap:var(--space-1-5)}.qform-heading{font-size:var(--font-size-sm)}.qform-description{font-size:var(--font-size-2xs)}.qform-status{display:flex;align-items:center;gap:var(--space-1)}.qform-status-item{display:flex;align-items:center;gap:var(--space-0-5);font-size:var(--font-size-2xs)}.qform-unsaved{font-size:var(--font-size-2xs);color:var(--status-pending)}.qform-progress-row{display:flex;align-items:center;gap:var(--space-1-5)}.qform-progress-text{font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums}.qform-question-label-row{display:flex;align-items:flex-start;gap:var(--space-1);margin-bottom:var(--space-1)}.qform-question-number{font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums}.qform-question-label-container{flex:1}.qform-question-help{font-size:var(--font-size-2xs);margin-top:var(--space-px)}.qform-actions{gap:var(--space-1-5)}.qform-btn-with-icon{display:flex;align-items:center;gap:var(--space-0-5)}.qform-readonly-notice{text-align:center;font-size:var(--font-size-2xs)}.qform-multiselect-container{display:flex;flex-wrap:wrap;gap:var(--space-1)}.qform-multiselect-btn{font-size:var(--font-size-2xs)}.qform-file-upload{display:flex;flex-direction:column;gap:var(--space-1)}.qform-file-selected{gap:var(--space-1-5)}.qform-file-info{display:flex;align-items:center;gap:var(--space-1);min-width:0}.qform-file-name{font-size:var(--font-size-xs)}.qform-file-size{font-size:var(--font-size-2xs);flex-shrink:0}.qform-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);border:var(--border-width) dashed var(--color-border-primary);cursor:pointer}.qform-dropzone-disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.qform-dropzone-text{text-align:center}.qform-dropzone-label{font-size:var(--font-size-xs)}.qform-dropzone-hint{font-size:var(--font-size-2xs);margin-top:var(--space-0-5)}.qform-check-success{color:var(--status-completed);flex-shrink:0}.form-field-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.form-field-icon{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);pointer-events:none;z-index:var(--z-index-content)}.form-field-icon svg{width:1em;height:1em}.form-field-icon-left{left:var(--space-1-5)}.form-field-icon-right{right:var(--space-1-5)}.form-field-textarea--no-resize{resize:none}.form-field--checkbox{flex-direction:row;align-items:flex-start;gap:var(--space-1)}.form-field-checkbox-label{display:flex;align-items:center;gap:var(--space-1-5);cursor:pointer}.form-field-checkbox{flex-shrink:0;width:var(--space-2);height:var(--space-2);background:transparent;border:var(--border-width-thin) solid var(--color-border-primary);cursor:pointer;accent-color:var(--color-accent)}.form-field-checkbox-text{font-size:var(--font-size-sm);color:var(--color-text-primary)}.form-field-checkbox-description{display:block;font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:var(--space-0-5)}.form-field-radio-group{display:flex;flex-direction:column;gap:var(--space-1-5)}.form-field-radio-group--horizontal{flex-direction:row;flex-wrap:wrap;gap:var(--space-3)}.form-field-radio-label{display:flex;align-items:flex-start;gap:var(--space-1-5);cursor:pointer}.form-field-radio-label--disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.form-field-radio{flex-shrink:0;width:var(--space-2);height:var(--space-2);margin-top:var(--space-px);accent-color:var(--color-accent);cursor:pointer}.form-field-radio-text{display:flex;flex-direction:column;font-size:var(--font-size-sm);color:var(--color-text-primary)}.form-field-radio-description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:var(--space-0-5)}.form-field-group{border:none;padding:0;margin:0 0 var(--space-3) 0}.form-field-group:last-child{margin-bottom:0}.form-field-group-label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.form-field-group-content{display:flex;flex-direction:column;gap:var(--space-2)}.file-upload-zone{display:flex;flex-direction:column;align-items:center;gap:var(--space-1-5)}.file-upload-hint{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.file-upload-error{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-danger)}.file-upload-error svg{flex-shrink:0}.file-upload-item{display:flex;align-items:center;gap:var(--space-2);border:var(--portal-border)}.file-upload-item.has-error{border-color:var(--color-danger)}.file-upload-item.is-complete{border-color:var(--color-success)}.file-upload-item-icon svg{flex-shrink:0}.file-upload-item-info{flex:1;min-width:0}.file-upload-item-name{font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload-item-progress{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.file-upload-progress-track{height:var(--space-0-5);background:var(--portal-alpha-white-10);overflow:hidden}.file-upload-progress-bar{height:100%;background:var(--color-accent);transition:width var(--transition-normal)}.file-upload-item-error{font-size:var(--font-size-xs);color:var(--color-danger)}.file-upload-remove-btn{background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast)}.file-upload-remove-btn:hover{color:var(--color-accent)}}@layer pages{.auth-gate{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg-secondary);position:fixed;inset:0;z-index:var(--z-index-portal-overlay);transition:background-color var(--transition-fast)}.auth-gate.hidden{display:none}.auth-gate input::-moz-placeholder{text-align:left}.auth-gate input::placeholder{text-align:left}.auth-gate input{text-align:left}.auth-gate-container{background:var(--color-bg-primary);border:var(--portal-border);width:100%;max-width:min(500px,90vw);box-shadow:none}.auth-gate-header{text-align:center;margin-bottom:var(--space-3);display:flex;flex-direction:column;align-items:center}.auth-gate-logo{width:clamp(80px,15vw,120px);height:clamp(80px,15vw,120px);-o-object-fit:contain;object-fit:contain;margin-bottom:var(--space-4)}.auth-gate-header h1{font-family:var(--font-family-mono);font-size:clamp(1.8rem,4vw,2.5rem);text-transform:uppercase;color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.auth-gate-header p{color:var(--color-text-secondary);font-size:clamp(.875rem,2.5vw,1rem);margin:0}.auth-gate-form{display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.5rem)}.auth-gate-form .form-field{position:relative;display:flex;flex-direction:column;gap:clamp(4px,1vw,8px)}.auth-gate-form label{position:static;display:block;margin-bottom:var(--space-1);color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.auth-gate-form .form-input,.auth-gate .form-input{height:auto;line-height:normal;font-size:var(--font-size-base);transition:all var(--transition-fast);min-height:var(--space-6)}.auth-gate-form .form-input::-moz-placeholder,.auth-gate .form-input::-moz-placeholder{color:var(--color-text-tertiary);opacity:var(--opacity-subtle)}.auth-gate-form .form-input::placeholder,.auth-gate .form-input::placeholder{color:var(--color-text-tertiary);opacity:var(--opacity-subtle)}.auth-gate .password-input-wrapper,.auth-gate .portal-password-wrapper{position:relative;display:flex;align-items:center}.auth-gate .password-toggle,.auth-gate .portal-password-toggle{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;transition:color var(--transition-fast);color:var(--color-text-secondary)}.auth-gate .password-toggle:hover,.auth-gate .portal-password-toggle:hover{color:var(--color-accent)}.auth-gate .auth-error{display:none;color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--space-2);background-color:transparent;border:var(--border-width) solid var(--color-danger);font-weight:var(--font-weight-medium);text-align:center}.auth-gate .auth-error:not(:empty){display:block}.auth-gate-form .form-input.error{border-color:var(--color-danger)}.auth-gate-form .error-message{display:none;color:var(--color-danger);font-size:var(--font-size-sm);margin-top:var(--space-0-5);font-weight:var(--font-weight-medium)}.auth-gate-form .error-message:not(:empty){display:block}.auth-gate .auth-submit,.auth-gate-form .auth-submit{width:100%;border:var(--portal-btn-border-width) solid currentColor;border-bottom-width:var(--portal-btn-border-bottom-width);border-radius:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;font-family:var(--font-family-mono);letter-spacing:var(--letter-spacing-wider);transition:all var(--transition-fast);text-transform:uppercase;background-color:inherit;color:inherit;margin-top:var(--space-2)}.auth-gate .auth-submit:hover,.auth-gate .auth-submit.is-active{background-color:var(--color-accent);color:var(--color-bg-tertiary);border-color:var(--color-accent)}.auth-gate .auth-submit:disabled{opacity:var(--opacity-muted);cursor:not-allowed}.auth-gate .auth-submit.loading .btn-text{display:none}.auth-gate .auth-submit.loading .btn-loader{display:inline-block}.auth-gate .auth-submit .btn-loader{display:none}.auth-gate-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-4)}.auth-link{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);transition:color var(--transition-fast)}.auth-link:hover{color:var(--color-accent)}.auth-divider{color:var(--color-text-tertiary)}.auth-gate .form-input:-webkit-autofill,.auth-gate .form-input:-webkit-autofill:hover,.auth-gate .form-input:-webkit-autofill:focus,.auth-gate .form-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--color-bg-primary) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important;background-color:var(--color-bg-primary)!important;caret-color:var(--color-text-primary)!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}@media(max-width:600px){.auth-gate{padding:0;align-items:stretch}.auth-gate-container{max-width:100%;width:100%;min-height:100vh;display:flex;flex-direction:column;justify-content:center;background:transparent;box-shadow:none}.auth-gate-logo{width:60px;height:60px}.auth-gate-header h1{font-size:var(--font-size-xl)}.auth-gate-header p{font-size:var(--font-size-sm)}}@media(max-width:767px){.auth-gate-form{gap:var(--space-2)}}body[data-page=admin] .header,body[data-page=admin] .admin-header,body[data-page=client] .header{z-index:calc(var(--z-index-portal-overlay) + 200)}body[data-page=admin] #admin-dashboard.hidden,body[data-page=client] #client-dashboard.hidden{display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;position:absolute!important;left:-9999px!important}.auth-error{background:rgba(var(--color-error-rgb),.1);border:var(--border-width) solid rgba(var(--color-error-rgb),.3);color:var(--color-danger);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);text-align:center}.auth-error:empty{display:none}body[data-page=client]:not(.portal-logged-in) .nav-logo-row{color:var(--color-nav-text)}body[data-page=client]:not(.portal-logged-in) .theme-button,body[data-page=client]:not(.portal-logged-in) .menu-button{color:var(--color-nav-text)}body[data-page=client]:not(.portal-logged-in) .nav-logo-row:hover,body[data-page=client]:not(.portal-logged-in) .theme-button:hover,body[data-page=client]:not(.portal-logged-in) .menu-button:hover{color:var(--color-accent)}body[data-page=client]:not(.portal-logged-in) .client-footer{display:flex;position:fixed;bottom:0;left:0;right:0;height:var(--footer-height);background:var(--color-neutral-300);font-size:var(--font-size-sm);color:var(--color-nav-text);text-align:center;z-index:var(--z-index-50);align-items:center;justify-content:center}body.portal-logged-in[data-page=client] .client-footer,body.portal-logged-in[data-page=client] .nav-overlay{display:none}.set-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.set-password-container{width:100%;max-width:min(500px,90vw);margin:clamp(1rem,4vw,2rem)}.set-password-card{border:var(--portal-border)}.set-password-logo{display:inline-block;margin-bottom:var(--space-4)}.set-password-logo-img{width:var(--icon-size-3xl);height:var(--icon-size-3xl)}.set-password-header{text-align:center;margin-bottom:var(--space-3)}.set-password-header h1{font-family:var(--font-family-mono);font-size:clamp(1.8rem,4vw,2.5rem);text-transform:uppercase;color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.set-password-subtitle{color:var(--color-text-secondary);font-size:clamp(.875rem,2.5vw,1rem);margin:0}.set-password-form{display:flex;flex-direction:column}.set-password-form .btn-full{width:100%}.set-password-form .form-field{margin-bottom:var(--space-4)}.set-password-loading,.set-password-error,.set-password-success{text-align:center}.set-password-error .error-icon,.set-password-success .success-icon{width:var(--icon-btn-size-xl);height:var(--icon-btn-size-xl);border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0 auto var(--space-4)}.set-password-error .error-icon{background:rgba(var(--color-error-rgb),.1);color:var(--color-danger)}.set-password-success .success-icon{background:rgba(var(--color-success-rgb),.1);color:var(--color-success)}}@layer pages{.portal .files-section-container{background:transparent;border:none;color:var(--color-text-primary);box-shadow:none;display:flex;flex-direction:column}.portal .files-section-container h3{margin:0}.portal .files-section-container .files-browser{box-shadow:none}.portal .files-upload-section{background:transparent;border:none;color:var(--color-text-primary);box-shadow:none}.portal .files-upload-section h3{margin:0}.portal .upload-dropzone{border:var(--border-width) dashed var(--color-text-primary);text-align:center;background:transparent;color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-mouse) ease,background-color var(--transition-mouse) ease}.portal .upload-dropzone:is(:hover,.dragover){border-color:var(--color-accent);background:var(--color-bg-elevated)}.portal .upload-dropzone p{margin:0 0 var(--space-2) 0;color:var(--color-text-primary)}.portal .upload-dropzone .dropzone-desktop{display:block}.portal .upload-dropzone .dropzone-mobile{display:none}@media(max-width:767px){.portal .upload-dropzone .dropzone-desktop{display:none}.portal .upload-dropzone .dropzone-mobile{display:block}}.portal .files-list-section{background:transparent;border:none;color:var(--color-text-primary);display:flex;flex-direction:column;gap:var(--space-1-5);box-shadow:none}.portal .files-list-section h3{margin:0 0 var(--space-2) 0}.portal .files-browser{display:grid;grid-template-columns:var(--files-folder-panel-width) 1fr;gap:var(--space-px);background:var(--portal-border);overflow:hidden;min-height:var(--files-browser-min-height);padding:0}.portal .folder-panel{background:transparent;display:flex;flex-direction:column}.portal .folder-panel-header{display:flex;align-items:center;justify-content:space-between;border-bottom:var(--portal-border)}.portal .folder-panel-header h4{font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);color:var(--color-text-primary);margin:0}.portal .folder-tree{flex:1;overflow-y:auto}.portal .folder-item{display:flex;align-items:center;gap:var(--icon-gap);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast) ease;font-size:var(--font-size-sm);margin-bottom:var(--space-px)}.portal .folder-item:hover{background:transparent;color:var(--color-text-primary)}.portal .folder-item.is-active{background:transparent;color:var(--color-accent);border:var(--portal-input-border)}.portal .folder-item svg{flex-shrink:0;color:inherit}.portal .files-panel{background:transparent;display:flex;flex-direction:column;min-width:0}.portal .files-panel-header{display:flex;align-items:center;justify-content:space-between;border-bottom:var(--portal-border);background:transparent}.portal .files-path{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.portal .files-panel .files-list{flex:1;overflow-y:auto}@media(max-width:767px){.portal .files-browser{grid-template-columns:1fr}.portal .folder-panel{border-bottom:var(--portal-border)}.portal .folder-tree{display:flex;flex-wrap:wrap;gap:var(--space-1)}.portal .folder-item{flex:0 0 auto}}.portal .files-filter-bar{display:flex;flex-direction:column;gap:var(--space-1-5);margin-bottom:var(--space-2);border-bottom:var(--portal-border)}.portal .files-filter-row{display:flex;flex-wrap:wrap;gap:var(--space-1-5);align-items:flex-end}.portal .files-filter-bar .filter-group{display:flex;flex-direction:column;gap:var(--space-0-5);min-width:var(--files-filter-group-min-width)}.portal .files-filter-bar .filter-group.filter-date{min-width:var(--files-filter-date-min-width)}.portal .files-filter-bar :is(.form-select,.form-input){font-size:var(--font-size-sm);background:transparent;border:var(--portal-input-border);color:var(--color-text-primary);height:var(--icon-btn-size-md)}.portal .files-filter-bar :is(.form-select,.form-input):focus{border-color:var(--color-accent);outline:none}.portal .files-filter-bar #files-clear-filters{height:var(--icon-btn-size-md);white-space:nowrap}@media(max-width:767px){.portal .files-filter-bar .filter-group{flex:1 1 calc(50% - var(--space-1-5));min-width:100px}.portal .files-filter-bar #files-clear-filters{width:100%;margin-top:var(--space-1)}}.portal .files-list{display:flex;flex-direction:column;gap:var(--space-1)}.portal .data-table .file-actions{flex-wrap:wrap}@media(max-width:767px){.portal .data-table .file-actions{width:100%;justify-content:flex-end}}.portal .file-item{display:flex;align-items:center;gap:var(--space-1-5);background:transparent;border:var(--border-width-thin) solid transparent;color:var(--color-text-primary);transition:border-color var(--transition-fast) ease}.portal .file-icon{width:var(--portal-btn-icon-size);height:var(--portal-btn-icon-size);background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary)}.portal .file-icon.image{color:var(--status-active)}.portal .file-icon.document{color:var(--color-accent)}.portal .file-icon.archive{color:var(--color-warning-500)}.portal .file-info{display:flex;flex-direction:column;gap:var(--space-0-5);flex:1;min-width:0}.portal .file-name{flex:1;font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal .file-date,.portal .file-meta{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.portal .file-actions{gap:var(--space-1);flex-shrink:0;margin-left:auto}.portal .file-actions :is(.btn-preview,.btn-download):not(.icon-btn){min-width:var(--files-action-btn-min-width);text-align:center;justify-content:center}.portal .file-actions :is(.btn-preview,.btn-download):not(.icon-btn):hover{background:var(--color-accent);color:var(--color-dark)}.portal .file-download{color:var(--color-accent);text-decoration:none;font-weight:var(--font-weight-semibold);border:var(--border-width-thin) solid var(--color-accent);transition:all var(--transition-fast)}.portal .file-download:hover{background:var(--color-accent);color:var(--color-dark)}.portal .no-files{text-align:center;color:var(--color-text-secondary);font-style:italic}.portal :is(.files-upload-section,.files-list-section){box-shadow:none}.portal :is(.files-upload-section,.files-list-section)>div{box-shadow:none}@media(max-width:767px){.portal .file-item{flex-wrap:wrap}.portal .file-actions{width:100%;margin-left:0;margin-top:var(--space-1);justify-content:flex-end}.portal .file-actions :is(.btn-preview,.btn-download):not(.icon-btn){flex:1}}.files-filter{margin-bottom:var(--space-2)}.files-filter .form-select{max-width:var(--files-filter-select-max-width)}.files-header{margin-bottom:var(--space-4);border-bottom:var(--portal-border)}.files-header h1{margin-bottom:var(--space-1)}.portal .files-list-section .file-item{margin-bottom:var(--space-0-5);cursor:default}.portal .files-list-section .file-item:hover{border-color:var(--color-accent);border:var(--border-width-thin) solid var(--color-accent)}.panel.files-dropzone{border-style:dashed;cursor:pointer;align-items:center;justify-content:center;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.dropzone{border-style:dashed;border-width:var(--border-width);border-color:var(--color-border-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;transition:border-color var(--transition-fast)}.dropzone:hover,.dropzone.is-drag-active{border-color:var(--color-text-primary)}.dropzone.is-error{border-color:var(--color-error)}.dropzone.is-success{border-color:var(--color-text-primary)}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.dropzone-text{font-size:var(--font-size-xs)}.dropzone-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.dropzone-actions{display:flex;align-items:center;gap:var(--space-1, .5rem)}.dropzone .progress-bar-sm{width:100%;max-width:16rem}@media(max-width:767px){.dropzone{border:none;padding:0;gap:var(--space-1);pointer-events:none;cursor:default}.dropzone button,.dropzone input{pointer-events:auto}.dropzone>.dropzone-content>.icon-lg,.dropzone .dropzone-text,.files-dropzone-content .files-upload-primary-text{display:none}.panel.files-dropzone{border-style:solid}.portal .upload-dropzone{border:none;padding:0}}.files-browser-layout{display:flex;min-height:var(--files-browser-min-height)}.portal-files-sidebar{width:var(--portal-files-sidebar-width);flex-shrink:0;display:none;border-right:var(--portal-border)}@media(min-width:768px){.portal-files-sidebar{display:block}}.portal-files-sidebar .folder-tree{display:flex;flex-direction:column;gap:var(--space-0-5);border-top:var(--portal-border)}.files-content-area{flex:1;min-width:0;display:flex;flex-direction:column}.files-mobile-select{display:block;margin-bottom:var(--space-3)}@media(min-width:768px){.files-mobile-select{display:none}}.file-cell-name{display:flex;align-items:center;gap:var(--space-2)}.files-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:var(--font-size-sm)}.files-pagination-controls{display:flex;align-items:center;gap:var(--space-1)}.folder-item{border-bottom:none}.file-item.locked{opacity:var(--opacity-subtle)}.files-list.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--files-grid-item-min-width),1fr));gap:var(--space-1)}.files-list.grid-view .file-item{flex-direction:column;text-align:center;margin-bottom:0}.files-list.grid-view .file-icon{width:var(--space-6);height:var(--space-6);margin-bottom:var(--space-1)}.files-list.grid-view .file-info{width:100%}.files-spinner{border-radius:var(--border-radius-full)}@media(max-width:767px){.folder-tree{max-height:var(--files-folder-tree-max-height)}}}@layer pages{.portal-dropdown-content{z-index:var(--z-index-50);min-width:var(--portal-dropdown-min-width);overflow:hidden;border:var(--portal-input-border);background-color:var(--color-bg-primary);padding:0;box-shadow:none;color:var(--color-text-primary);font-size:var(--table-cell-font-size);width:var(--radix-dropdown-menu-trigger-width, var(--portal-dropdown-min-width))}.status-col .portal-dropdown-content,td:has(.dropdown-trigger--status) .portal-dropdown-content,.data-table .portal-dropdown-content:has(.status-indicator),.portal-dropdown-content:has(.status-indicator){padding:0;min-width:var(--status-dropdown-width);width:var(--status-dropdown-width)}.portal-dropdown-content:has(.status-indicator) .portal-dropdown-item{min-width:var(--status-dropdown-width);width:100%;box-sizing:border-box}.dropdown-trigger{position:relative;display:inline-flex;align-items:center;gap:var(--dropdown-caret-gap);min-width:var(--portal-dropdown-min-width)}:is(.portal,.portal-modal) [aria-haspopup=menu]:not(.icon-btn):not(.notification-bell-btn){min-width:var(--portal-dropdown-min-width)}:is(.portal,.portal-modal) [aria-haspopup=menu]:not(.icon-btn):not(.notification-bell-btn) .badge{min-width:100%;box-sizing:border-box}.dropdown-caret,.dropdown-caret--custom{margin-left:auto;flex-shrink:0;width:var(--dropdown-caret-size);height:var(--dropdown-caret-size);color:currentColor;transition:transform var(--transition-fast)}.dropdown-trigger:not(.dropdown-trigger--status):not(.icon-btn){padding-left:var(--dropdown-padding-x);padding-right:var(--dropdown-padding-x)}.dropdown-trigger[data-state=open] .dropdown-caret,.dropdown-trigger[data-state=open]>svg:last-child{transform:rotate(180deg)}.dropdown-trigger,.dropdown-trigger[data-state=open],.dropdown-trigger[data-state=closed]{color:inherit;font-size:inherit;font-weight:inherit;font-family:inherit;letter-spacing:inherit;text-transform:inherit}.dropdown-trigger--custom,.dropdown-trigger--custom.open,[data-modal-dropdown] .dropdown-trigger--custom,.dropdown-trigger--status,.dropdown-trigger--status[data-state=open],.dropdown-trigger--status[data-state=closed]{font-size:inherit;font-weight:inherit;font-family:inherit;letter-spacing:inherit;text-transform:inherit}.dropdown-trigger--form{font-size:inherit;font-weight:inherit;font-family:inherit;letter-spacing:inherit}.dropdown-trigger[data-state=open],:is(.btn,.btn-secondary,.btn-primary,.btn-outline).dropdown-trigger[data-state=open]{border-bottom-color:transparent}body:has(.portal-dropdown-content[data-side=top]) .dropdown-trigger[data-state=open],body:has(.portal-dropdown-content[data-side=top]) :is(.btn,.btn-secondary,.btn-primary,.btn-outline).dropdown-trigger[data-state=open]{border-bottom-color:var(--color-border-primary);border-top-color:transparent}:is(.btn,.btn-secondary,.btn-primary,.btn-outline).dropdown-trigger:hover{background:var(--portal-btn-hover-bg);color:var(--portal-btn-hover-color);border-color:var(--portal-btn-hover-border)}:is(.btn,.btn-secondary,.btn-primary,.btn-outline).dropdown-trigger:hover svg{color:inherit}.portal-dropdown-content[data-side=bottom]{border-top-color:transparent;margin-top:calc(-1 * var(--border-width-thin))}.portal-dropdown-content[data-side=top]{border-bottom-color:transparent;margin-bottom:calc(-1 * var(--border-width-thin))}.portal-dropdown-sub-content{z-index:var(--z-index-50);min-width:8rem;overflow:hidden;border:var(--portal-input-border);background-color:var(--color-bg-primary);padding:0;box-shadow:none}.dropdown-trigger,.dropdown-trigger--custom,.dropdown-trigger--status,.dropdown-trigger--form,.portal-dropdown-item,.portal-dropdown-sub-trigger{text-transform:none}.dropdown-trigger--status{border-color:transparent;transition:border-color var(--transition-fast)}.dropdown-trigger--status:hover,.dropdown-trigger--status[data-state=open]{border-color:var(--color-border-primary)}.dropdown-trigger,.dropdown-trigger--custom,.dropdown-trigger--form{border-color:var(--color-border-primary);transition:border-color var(--transition-fast)}.dropdown-trigger:hover,.dropdown-trigger--custom:hover,.dropdown-trigger--form:hover,.dropdown-trigger[data-state=open],.dropdown-trigger--custom.open,.dropdown-trigger--form[data-state=open]{border-color:var(--color-border-primary)}.portal-dropdown-item{position:relative;display:flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:var(--icon-gap);padding:var(--dropdown-padding-y) var(--dropdown-padding-x);outline:none;transition:background-color var(--transition-faster);color:var(--color-text-primary)}.portal-dropdown-item .status-indicator{font-size:inherit}.portal-dropdown-item .badge{border:none;padding-left:0;padding-right:0;background:transparent}.status-col .portal-dropdown-item:has(.status-indicator),td:has(.dropdown-trigger--status) .portal-dropdown-item:has(.status-indicator),.data-table .portal-dropdown-item:has(.status-indicator){padding:var(--dropdown-padding-y) var(--dropdown-padding-x)}.status-col .portal-dropdown-item .status-indicator,td:has(.dropdown-trigger--status) .portal-dropdown-item .status-indicator,.data-table .portal-dropdown-item .status-indicator{display:inline-flex;align-items:center;gap:var(--icon-gap)}.portal-dropdown-item:focus,.portal-dropdown-item:hover,.portal-dropdown-item[data-highlighted]{background-color:var(--color-bg-hover)}.portal-dropdown-item:focus-visible,.portal-dropdown-checkbox-item:focus-visible,.portal-dropdown-radio-item:focus-visible,.portal-dropdown-sub-trigger:focus-visible{box-shadow:none}.portal-dropdown-item[data-disabled]{pointer-events:none;opacity:var(--opacity-disabled)}.portal-dropdown-item.inset{padding-left:var(--space-8)}.portal-dropdown-item.destructive{color:var(--status-cancelled)}.portal-dropdown-item.destructive:focus,.portal-dropdown-item.destructive:hover{background-color:var(--color-danger);color:var(--color-text-primary)}.portal-dropdown-sub-trigger{display:flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;padding:var(--dropdown-padding-y) var(--dropdown-padding-x);font-size:inherit;color:var(--color-text-primary);outline:none}.portal-dropdown-sub-trigger:focus{background-color:var(--color-bg-hover)}.portal-dropdown-sub-trigger[data-state=open]{background-color:var(--color-bg-hover)}.portal-dropdown-sub-trigger.inset{padding-left:var(--space-8)}.portal-dropdown-sub-trigger .chevron-icon{margin-left:auto;width:1em;height:1em}.portal-dropdown-checkbox-item{position:relative;display:flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;padding:var(--dropdown-padding-y) var(--dropdown-padding-x) var(--dropdown-padding-y) var(--dropdown-indicator-inset, 28px);font-size:inherit;color:var(--color-text-primary);outline:none;transition:background-color var(--transition-faster)}.portal-dropdown-checkbox-item:focus{background-color:var(--color-bg-hover)}.portal-dropdown-checkbox-item[data-disabled]{pointer-events:none;opacity:var(--opacity-disabled)}.portal-dropdown-checkbox-item .indicator-wrapper{position:absolute;left:var(--space-2);display:flex;width:var(--icon-size-xs);height:var(--icon-size-xs);align-items:center;justify-content:center}.portal-dropdown-checkbox-item .check-icon{width:var(--icon-size-sm);height:var(--icon-size-sm)}.portal-dropdown-radio-item{position:relative;display:flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;padding:var(--space-1) var(--space-2) var(--space-1) var(--dropdown-indicator-inset, 28px);font-size:inherit;color:var(--color-text-primary);outline:none;transition:background-color var(--transition-faster)}.portal-dropdown-radio-item:focus{background-color:var(--color-bg-hover)}.portal-dropdown-radio-item[data-disabled]{pointer-events:none;opacity:var(--opacity-disabled)}.portal-dropdown-radio-item .indicator-wrapper{position:absolute;left:var(--space-2);display:flex;width:var(--icon-size-xs);height:var(--icon-size-xs);align-items:center;justify-content:center}.portal-dropdown-radio-item .radio-dot{width:8px;height:8px;border-radius:var(--border-radius-full);background-color:currentColor}.portal-dropdown-label{padding:var(--space-1) var(--space-2);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.portal-dropdown-label.inset{padding-left:var(--space-7)}.portal-dropdown-separator{margin:var(--space-0-5) 0;height:1px;background-color:var(--color-border-primary)}.portal-dropdown-shortcut{margin-left:auto;font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-widest);color:var(--color-text-tertiary)}.custom-dropdown[data-modal-dropdown]{position:relative;width:100%;background:transparent;border:none;--dropdown-bg: var(--color-bg-primary);--dropdown-border-color: var(--color-border-primary);--dropdown-border-width: var(--border-width-thin);--dropdown-radius: 0}.custom-dropdown[data-modal-dropdown] .dropdown-trigger--custom{width:100%;display:flex;align-items:center;justify-content:flex-start;position:relative;padding:var(--space-3) var(--space-4);background-color:var(--dropdown-bg);border:var(--dropdown-border-width) solid var(--dropdown-bg);border-radius:var(--dropdown-radius);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-text-primary);cursor:pointer;text-align:left;box-shadow:none;box-sizing:border-box}.custom-dropdown[data-modal-dropdown] .dropdown-trigger--custom:focus{outline:none}.custom-dropdown[data-modal-dropdown]:focus-within{outline:var(--border-width-thick) solid var(--color-accent);outline-offset:0}.custom-dropdown[data-modal-dropdown] .dropdown-trigger--custom:hover{border-color:var(--color-border-primary)}.custom-dropdown[data-modal-dropdown].open .dropdown-trigger--custom{border-color:var(--dropdown-border-color);border-bottom:none;border-radius:var(--dropdown-radius) var(--dropdown-radius) 0 0;z-index:var(--z-index-portal-dropdown);position:relative;background-color:var(--dropdown-bg)}.custom-dropdown[data-modal-dropdown] .custom-dropdown-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.custom-dropdown[data-modal-dropdown].open .dropdown-caret--custom{transform:rotate(180deg)}.custom-dropdown[data-modal-dropdown] .custom-dropdown-menu{display:none;position:absolute;top:100%;left:0;right:0;width:100%;max-height:200px;overflow-y:auto;background-color:var(--dropdown-bg);border:var(--dropdown-border-width) solid var(--dropdown-border-color);border-top:none;border-radius:0 0 var(--dropdown-radius) var(--dropdown-radius);z-index:var(--z-index-portal-dropdown);list-style:none;margin:0;margin-top:calc(var(--dropdown-border-width) * -1);padding:0;box-shadow:none;box-sizing:border-box}.custom-dropdown[data-modal-dropdown].open .custom-dropdown-menu{display:block}.custom-dropdown[data-modal-dropdown] .custom-dropdown-item{display:flex;justify-content:flex-start;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast) ease;text-align:left}.custom-dropdown[data-modal-dropdown] .custom-dropdown-item:hover{background-color:var(--color-accent)}.custom-dropdown[data-modal-dropdown] .dropdown-item-name{display:block}.custom-dropdown[data-modal-dropdown] .custom-dropdown-menu::-webkit-scrollbar{width:6px}.custom-dropdown[data-modal-dropdown] .custom-dropdown-menu::-webkit-scrollbar-track{background:var(--dropdown-bg);border-radius:var(--border-radius-xs)}.custom-dropdown[data-modal-dropdown] .custom-dropdown-menu::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--border-radius-xs)}.custom-dropdown[data-modal-dropdown] .custom-dropdown-menu::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.custom-dropdown[data-modal-dropdown].flip-above.open .dropdown-trigger--custom{border-radius:0 0 var(--dropdown-radius) var(--dropdown-radius);border-bottom:var(--dropdown-border-width) solid var(--color-accent);border-top:none}.custom-dropdown[data-modal-dropdown].flip-above .custom-dropdown-menu{border-radius:var(--dropdown-radius) var(--dropdown-radius) 0 0;border-bottom:none;border-top:var(--dropdown-border-width) solid var(--color-accent)}:is(.portal,.portal-modal) .table-dropdown{position:relative;width:-moz-fit-content;width:fit-content;min-width:115px}:is(.portal,.portal-modal) .table-dropdown .dropdown-trigger--custom{display:flex;align-items:center;justify-content:flex-start;position:relative;width:100%;min-width:0;padding:var(--dropdown-padding-y) var(--dropdown-padding-x);padding-right:var(--dropdown-padding-x);box-sizing:border-box;text-align:left}:is(.portal,.portal-modal) .table-dropdown:not(.open) .dropdown-trigger--custom:is(:focus,:focus-visible){outline:none;outline-offset:0}:is(.portal,.portal-modal) .table-dropdown .custom-dropdown-text{flex:1;min-width:0;text-align:left}:is(.portal,.portal-modal) .table-dropdown .custom-dropdown-menu{display:none;position:absolute;top:100%;left:0;right:auto;min-width:100%;max-height:300px;overflow-y:auto;background-color:var(--color-bg-primary);border:var(--portal-input-border);z-index:var(--z-index-portal-dropdown);list-style:none;margin:var(--space-1) 0 0 0;padding:var(--space-1) 0;box-shadow:none;text-align:left}:is(.portal,.portal-modal) .table-dropdown.open .custom-dropdown-menu{display:block}:is(.portal,.portal-modal) .table-dropdown .custom-dropdown-menu .custom-dropdown-item{display:flex;align-items:center;gap:var(--icon-gap);padding:var(--dropdown-padding-y) var(--dropdown-padding-x);height:var(--dropdown-item-height);font-size:inherit;font-weight:inherit;font-family:inherit;line-height:inherit;color:inherit;cursor:pointer;transition:background-color var(--transition-fast) ease;text-align:left;justify-content:flex-start;box-sizing:border-box}:is(.portal,.portal-modal) .table-dropdown .custom-dropdown-menu .custom-dropdown-item:hover{background-color:var(--color-state-hover)}:is(.portal,.portal-modal) .table-dropdown .custom-dropdown-menu .custom-dropdown-item svg{width:1em;height:1em;flex-shrink:0}:is(.portal,.portal-modal) :is(.data-table-card,.data-table-scroll-wrapper,.data-table-container,.data-table,.data-table tbody){overflow:visible}:is(.portal,.portal-modal) .table-dropdown{position:relative;display:inline-flex;min-width:auto;max-width:100%;height:var(--dropdown-item-height);vertical-align:middle}:is(.portal,.portal-modal) .table-dropdown .dropdown-trigger--custom{display:flex;align-items:center;justify-content:flex-start;gap:var(--icon-gap);position:relative;padding:var(--dropdown-padding-y) var(--dropdown-padding-x);padding-right:var(--dropdown-padding-x);border:var(--border-width-thin) solid var(--color-bg-primary);background-color:transparent;color:inherit;font-size:inherit;font-weight:inherit;font-family:inherit;line-height:inherit;cursor:pointer;white-space:nowrap;box-shadow:none;box-sizing:border-box;height:var(--dropdown-item-height);margin:0;text-align:left}:is(.portal,.portal-modal) .table-dropdown:not(.open) .dropdown-trigger--custom:is(:focus,:focus-visible){outline:none;outline-offset:0;box-shadow:none}:is(.portal,.portal-modal) .table-dropdown.open .dropdown-trigger--custom,:is(.portal,.portal-modal) .table-dropdown.open .dropdown-trigger--custom:is(:hover,:focus,:focus-visible){outline:none;border:var(--portal-input-border);border-bottom:none;z-index:var(--z-index-loading);position:relative;background-color:transparent;box-shadow:none}.custom-dropdown-text{flex:1;min-width:0;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:left}:is(.portal,.portal-modal) .table-dropdown .custom-dropdown-text{flex:1;min-width:0;font-size:inherit;font-weight:inherit;font-family:inherit;line-height:inherit;text-align:left;align-self:center}:is(.portal,.portal-modal) .table-dropdown.open .dropdown-caret--custom{transform:rotate(180deg)}:is(.portal,.portal-modal) .table-dropdown.custom-dropdown .custom-dropdown-menu{position:absolute;top:100%;left:0;right:auto;width:auto;min-width:120px;margin:0;padding:0;list-style:none;background-color:var(--color-bg-primary);border:var(--portal-input-border);border-top:none;z-index:var(--z-index-portal-dropdown);display:none;box-shadow:none;clip-path:none;max-height:none;box-sizing:border-box;text-align:left;font-family:var(--font-family-mono);font-size:inherit;color:var(--color-text-primary)}:is(.portal,.portal-modal) .details-panel .table-dropdown .dropdown-trigger--custom{background-color:transparent}:is(.portal,.portal-modal) .details-panel .table-dropdown .custom-dropdown-menu{background-color:var(--color-bg-primary);left:0;right:auto;min-width:100%}:is(.portal,.portal-modal) .table-dropdown.custom-dropdown.open .custom-dropdown-menu{display:block;margin-top:-1px}:is(.portal,.portal-modal) .table-dropdown.dropdown-open-up.open .dropdown-trigger--custom,:is(.portal,.portal-modal) .table-dropdown.dropdown-open-up.open .dropdown-trigger--custom:is(:hover,:focus,:focus-visible){outline:none;border:var(--portal-input-border);border-top:none;background-color:transparent;box-shadow:none}:is(.portal,.portal-modal) .table-dropdown.dropdown-open-up.open .custom-dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--space-neg-px);border-top:var(--portal-input-border);border-bottom:none;background-color:var(--color-bg-primary)}:is(.portal,.portal-modal) .table-dropdown .custom-dropdown-item,:is(.portal,.portal-modal) .table-dropdown .custom-dropdown-menu .custom-dropdown-item{display:flex;align-items:center;justify-content:flex-start;gap:var(--icon-gap);margin:0;padding:var(--dropdown-padding-y) var(--dropdown-padding-x);height:var(--dropdown-item-height);font-size:inherit;font-weight:inherit;font-family:inherit;line-height:inherit;background-color:transparent;color:inherit;cursor:pointer;transition:background-color var(--transition-faster);box-sizing:border-box;text-align:left;white-space:nowrap}:is(.portal,.portal-modal) .table-dropdown .custom-dropdown-item:hover{background-color:var(--color-bg-hover)}:is(.portal,.portal-modal) .table-dropdown.filter-dropdown-with-check{min-width:12rem}:is(.portal,.portal-modal) .table-dropdown.filter-dropdown-with-check .filter-dropdown-check{width:1rem;flex-shrink:0;text-align:center;margin-right:calc(var(--space-0-5) / 2)}:is(.portal,.portal-modal) .table-dropdown.filter-dropdown-with-check .custom-dropdown-item{padding-left:calc(var(--space-3) / 2)}:is(.portal,.portal-modal) .table-dropdown.filter-dropdown-with-check .custom-dropdown-item .custom-dropdown-text{flex:1;min-width:-moz-min-content;min-width:min-content;text-align:left;white-space:nowrap;overflow:visible}:is(.portal,.portal-modal) .table-dropdown.filter-dropdown-with-check .dropdown-trigger--custom .custom-dropdown-text{text-align:left}:is(.portal,.portal-modal) .table-dropdown.filter-dropdown-with-check .dropdown-trigger--custom{padding-left:calc(var(--space-3) / 2 + 1rem + var(--space-0-5) / 2);padding-right:var(--dropdown-padding-x)}:is(.portal,.portal-modal) .pagination-page-size-dropdown .table-dropdown.custom-dropdown{height:var(--table-pagination-btn-size);min-width:60px;width:-moz-fit-content;width:fit-content}:is(.portal,.portal-modal) .pagination-page-size-dropdown .table-dropdown.custom-dropdown .dropdown-trigger--custom{height:var(--table-pagination-btn-size);min-height:var(--table-pagination-btn-size);max-height:var(--table-pagination-btn-size);position:relative;padding:0 var(--dropdown-padding-x);padding-right:var(--dropdown-padding-x);border:var(--border-width-thin) solid var(--color-border-primary);background-color:var(--color-bg-primary);color:var(--color-text-secondary);font-size:inherit;font-family:inherit;box-sizing:border-box;width:100%}:is(.portal,.portal-modal) .pagination-page-size-dropdown .table-dropdown.custom-dropdown.open .dropdown-trigger--custom{border:var(--portal-input-border);border-top:none;background-color:var(--color-bg-primary);position:relative;z-index:var(--z-index-content)}:is(.portal,.portal-modal) .pagination-page-size-dropdown .table-dropdown.custom-dropdown .custom-dropdown-menu{position:absolute;inset:auto auto 100% 0;min-width:100%;background-color:var(--color-bg-primary);border:var(--portal-input-border);border-bottom:none;margin:0;margin-bottom:var(--space-neg-px);padding:0;box-shadow:none;z-index:var(--z-index-content)}:is(.portal,.portal-modal) .pagination-page-size-dropdown .table-dropdown.custom-dropdown .custom-dropdown-item{display:flex;align-items:center;justify-content:flex-start;background-color:transparent;color:var(--color-text-secondary);font-size:inherit;font-family:inherit;height:var(--table-pagination-btn-size);padding:0 var(--dropdown-padding-x);cursor:pointer}:is(.portal,.portal-modal) .pagination-page-size-dropdown .table-dropdown.custom-dropdown .custom-dropdown-item:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}:is(.portal,.portal-modal) .table-dropdown[data-status=new] .status-dot{background-color:var(--color-status-new)}:is(.portal,.portal-modal) .table-dropdown[data-status=pending] .status-dot{background-color:var(--color-status-pending)}:is(.portal,.portal-modal) .table-dropdown[data-status=read] .status-dot,:is(.portal,.portal-modal) .table-dropdown[data-status=qualified] .status-dot,:is(.portal,.portal-modal) .table-dropdown[data-status=contacted] .status-dot{background-color:var(--color-status-read)}:is(.portal,.portal-modal) .table-dropdown:is([data-status=responded],[data-status=converted],[data-status=active],[data-status=in_progress],[data-status=in-progress]) .status-dot{background-color:var(--color-status-responded)}:is(.portal,.portal-modal) .table-dropdown[data-status=completed] .status-dot{background-color:var(--color-status-completed)}:is(.portal,.portal-modal) .table-dropdown:is([data-status=on-hold],[data-status=on_hold]) .status-dot{background-color:var(--color-status-pending)}:is(.portal,.portal-modal) .table-dropdown:is([data-status=archived],[data-status=lost],[data-status=cancelled],[data-status=inactive],[data-status=closed],[data-status=draft]) .status-dot{background-color:var(--color-status-archived)}:is(.portal,.portal-modal) .table-dropdown[data-status=overdue] .status-dot{background-color:var(--color-status-overdue)}:is(.portal,.portal-modal) .table-dropdown[data-status=partial] .status-dot{background-color:var(--color-status-pending)}:is(.portal,.portal-modal) .table-dropdown:is([data-status=sent],[data-status=viewed]) .status-dot{background-color:var(--color-status-new)}:is(.portal,.portal-modal) .table-dropdown[data-status=in-review] .status-dot{background-color:var(--color-status-read)}:is(.portal,.portal-modal) .table-dropdown[data-status=paid] .status-dot{background-color:var(--color-status-responded)}:is(.portal,.portal-modal) .custom-dropdown-item[data-status=new] .status-dot{background-color:var(--color-status-new)}:is(.portal,.portal-modal) .custom-dropdown-item[data-status=pending] .status-dot{background-color:var(--color-status-pending)}:is(.portal,.portal-modal) .custom-dropdown-item:is([data-status=read],[data-status=qualified],[data-status=contacted]) .status-dot{background-color:var(--color-status-read)}:is(.portal,.portal-modal) .custom-dropdown-item:is([data-status=responded],[data-status=converted],[data-status=active],[data-status=in_progress],[data-status=in-progress]) .status-dot{background-color:var(--color-status-responded)}:is(.portal,.portal-modal) .custom-dropdown-item[data-status=completed] .status-dot{background-color:var(--color-status-completed)}:is(.portal,.portal-modal) .custom-dropdown-item:is([data-status=on-hold],[data-status=on_hold]) .status-dot{background-color:var(--color-status-pending)}:is(.portal,.portal-modal) .custom-dropdown-item:is([data-status=archived],[data-status=lost],[data-status=cancelled],[data-status=inactive],[data-status=closed],[data-status=draft]) .status-dot{background-color:var(--color-status-archived)}:is(.portal,.portal-modal) .custom-dropdown-item[data-status=overdue] .status-dot{background-color:var(--color-status-overdue)}:is(.portal,.portal-modal) .custom-dropdown-item[data-status=partial] .status-dot{background-color:var(--color-status-pending)}:is(.portal,.portal-modal) .custom-dropdown-item:is([data-status=sent],[data-status=viewed]) .status-dot{background-color:var(--color-status-new)}:is(.portal,.portal-modal) .custom-dropdown-item[data-status=in-review] .status-dot{background-color:var(--color-status-read)}:is(.portal,.portal-modal) .custom-dropdown-item[data-status=paid] .status-dot{background-color:var(--color-status-responded)}.portal .modal-dropdown,.confirm-dialog .modal-dropdown,.portal-modal .modal-dropdown{position:relative;display:block;width:100%;height:var(--modal-input-height)}.portal .modal-dropdown .dropdown-trigger--custom,.confirm-dialog .modal-dropdown .dropdown-trigger--custom,.portal-modal .modal-dropdown .dropdown-trigger--custom{display:flex;align-items:center;justify-content:flex-start;position:relative;width:100%;height:var(--modal-input-height);padding:0 var(--space-4);background-color:var(--color-bg-primary);border:var(--border-width-thin) solid transparent;color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-family-mono);font-weight:var(--font-weight-regular);line-height:1;cursor:pointer;box-sizing:border-box;transition:border-color var(--transition-fast)}.portal .modal-dropdown .custom-dropdown-text.placeholder,.confirm-dialog .modal-dropdown .custom-dropdown-text.placeholder,.portal-modal .modal-dropdown .custom-dropdown-text.placeholder{color:var(--color-text-primary);opacity:var(--opacity-disabled)}.portal .modal-dropdown .dropdown-trigger--custom:hover,.confirm-dialog .modal-dropdown .dropdown-trigger--custom:hover,.portal-modal .modal-dropdown .dropdown-trigger--custom:hover{border-color:var(--color-accent)}.portal .modal-dropdown .dropdown-trigger--custom:is(:focus,:focus-visible),.confirm-dialog .modal-dropdown .dropdown-trigger--custom:is(:focus,:focus-visible),.portal-modal .modal-dropdown .dropdown-trigger--custom:is(:focus,:focus-visible){outline:none;border-color:var(--color-accent);box-shadow:none}.portal .modal-dropdown.open .dropdown-caret--custom,.confirm-dialog .modal-dropdown.open .dropdown-caret--custom,.portal-modal .modal-dropdown.open .dropdown-caret--custom{transform:rotate(180deg)}.portal .modal-dropdown.open .dropdown-trigger--custom,.confirm-dialog .modal-dropdown.open .dropdown-trigger--custom,.portal-modal .modal-dropdown.open .dropdown-trigger--custom{border-color:var(--color-accent);border-bottom-color:transparent;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0}.portal .modal-dropdown .custom-dropdown-menu,.confirm-dialog .modal-dropdown .custom-dropdown-menu,.portal-modal .modal-dropdown .custom-dropdown-menu{display:none;position:absolute;top:100%;left:0;right:0;z-index:var(--z-index-portal-dropdown);margin-top:-1px;padding:0;list-style:none;background-color:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-accent);border-top:none;border-radius:0 0 var(--border-radius-lg) var(--border-radius-lg);max-height:240px;overflow-y:auto;box-sizing:border-box}.portal .modal-dropdown.open .custom-dropdown-menu,.confirm-dialog .modal-dropdown.open .custom-dropdown-menu,.portal-modal .modal-dropdown.open .custom-dropdown-menu{display:block}.portal .modal-dropdown .custom-dropdown-item,.confirm-dialog .modal-dropdown .custom-dropdown-item,.portal-modal .modal-dropdown .custom-dropdown-item{display:flex;align-items:center;padding:0 var(--space-4);height:var(--modal-dropdown-item-height);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-faster);box-sizing:border-box}.portal .modal-dropdown .custom-dropdown-item:hover,.confirm-dialog .modal-dropdown .custom-dropdown-item:hover,.portal-modal .modal-dropdown .custom-dropdown-item:hover{background-color:var(--color-accent)}.portal .modal-dropdown .custom-dropdown-item.selected,.confirm-dialog .modal-dropdown .custom-dropdown-item.selected,.portal-modal .modal-dropdown .custom-dropdown-item.selected{background-color:var(--color-bg-prominent)}.portal .modal-dropdown .custom-dropdown-item.selected:hover,.confirm-dialog .modal-dropdown .custom-dropdown-item.selected:hover,.portal-modal .modal-dropdown .custom-dropdown-item.selected:hover{background-color:var(--color-accent)}.modal-dropdown-container{position:relative;display:inline-block;width:100%}.modal-dropdown-overlay{position:fixed;inset:0;z-index:var(--z-index-modal);display:flex;align-items:center;justify-content:center;background:var(--portal-alpha-black-50)}.modal-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-1-5) var(--space-2);text-align:left;background:transparent;border:var(--border-width-thin) solid var(--color-border-primary);color:inherit;font:inherit;cursor:pointer;transition:border-color var(--transition-fast)}.modal-dropdown-trigger:hover{border-color:var(--color-border-secondary)}.modal-dropdown-trigger:focus{outline:none;border-color:var(--color-accent)}.modal-dropdown-trigger.is-disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.modal-dropdown-trigger.has-error{border-color:var(--color-danger)}.modal-dropdown-chevron{width:1em;height:1em;flex-shrink:0;margin-left:var(--space-1);transition:transform var(--transition-fast)}.modal-dropdown-chevron.is-open{transform:rotate(180deg)}.modal-dropdown-panel{width:100%;max-width:28rem;margin:0 var(--space-3);background:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-primary);max-height:80vh;display:flex;flex-direction:column}.modal-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2);border-bottom:var(--border-width-thin) solid var(--color-border-primary)}.modal-dropdown-search-section{padding:var(--space-2);border-bottom:var(--border-width-thin) solid var(--color-border-primary)}.modal-dropdown-search-wrapper{position:relative}.modal-dropdown-search-icon{position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);width:1em;height:1em;color:var(--color-text-tertiary)}.modal-dropdown-search-input{width:100%;padding-left:var(--space-5)}.modal-dropdown-list{overflow-y:auto;flex:1}.modal-dropdown-empty{padding:var(--space-3);text-align:center;color:var(--color-text-tertiary)}.modal-dropdown-option{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);text-align:left;background:transparent;border:none;color:inherit;font:inherit;cursor:pointer;transition:background-color var(--transition-fast)}.modal-dropdown-option:hover{background:var(--portal-alpha-white-05)}.modal-dropdown-option.is-focused{background:var(--portal-alpha-white-10)}.modal-dropdown-option.is-selected{color:var(--color-accent)}.modal-dropdown-option.is-disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.modal-dropdown-checkbox{width:1.25rem;height:1.25rem;border:var(--border-width-thin) solid var(--color-border-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-dropdown-checkbox.is-checked{background:var(--color-accent);border-color:var(--color-accent)}.modal-dropdown-check-icon{width:.75rem;height:.75rem;color:var(--color-text-inverse)}.modal-dropdown-option-text{flex:1;min-width:0}.modal-dropdown-option-desc{font-size:var(--font-size-sm);color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-dropdown-selected-icon{width:1em;height:1em;color:var(--color-accent);flex-shrink:0}.modal-dropdown-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-2);border-top:var(--border-width-thin) solid var(--color-border-primary)}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer pages{.status-badge{display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);border:none;background:transparent;min-width:-moz-fit-content;min-width:fit-content;width:auto;text-align:center;box-sizing:border-box;white-space:nowrap;transition:opacity var(--transition-mouse) ease}.status-badge:is(.status-active,.status-in_progress,.status-in-progress,.status-contacted){color:var(--status-active)}.status-badge:is(.status-new,.status-upcoming){color:var(--status-new)}.status-badge:is(.status-pending,.status-on_hold,.status-on-hold){color:var(--status-pending)}.status-badge:is(.status-completed,.status-converted,.status-replied){color:var(--status-completed)}.status-badge:is(.status-cancelled,.status-lost,.status-archived){color:var(--status-cancelled)}.status-badge:is(.status-qualified,.status-in-review){color:var(--status-qualified)}.status-badge:is(.status-read,.status-inactive){color:var(--status-inactive)}.status-badge.status-not-invited{color:var(--color-text-tertiary)}.status-badge.status-signed{color:var(--status-completed)}.status-badge.status-not-signed{color:var(--status-inactive)}.status-badge--danger{border-color:var(--color-danger);color:var(--color-danger)}.status-badge--muted{border-color:var(--color-text-tertiary);color:var(--color-text-tertiary)}.status-badge.status-healthy{border-color:var(--color-success);color:var(--color-success)}.status-badge.status-warning{border-color:var(--color-warning);color:var(--color-warning)}.status-badge.status-error{border-color:var(--color-danger);color:var(--color-danger)}.status-badge.status-unknown{border-color:var(--color-text-tertiary);color:var(--color-text-tertiary)}.status-badge.status-draft{border-color:var(--status-inactive);color:var(--status-inactive)}.status-badge:is(.status-sent,.status-viewed){border-color:var(--status-active);color:var(--status-active)}.status-badge.status-partial{border-color:var(--status-pending);color:var(--status-pending)}.status-badge.status-paid{border-color:var(--status-completed);color:var(--status-completed)}.status-badge.status-overdue{border-color:var(--status-cancelled);color:var(--status-cancelled)}.status-indicator{display:inline-flex;align-items:center;gap:var(--icon-gap);font-size:inherit;font-family:inherit;color:inherit;white-space:nowrap}.status-indicator .status-dot{width:var(--status-dot-size);height:var(--status-dot-size);border-radius:var(--border-radius-full);flex-shrink:0;background-color:var(--color-text-tertiary)}.status-indicator .status-text{color:var(--color-text-primary)}.status-indicator:is(.status-new,.status-upcoming) .status-dot{background-color:var(--status-new)}.status-indicator:is(.status-pending,.status-on-hold) .status-dot{background-color:var(--status-pending)}.status-indicator:is(.status-active,.status-in-progress,.status-contacted) .status-dot{background-color:var(--status-active)}.status-indicator:is(.status-completed,.status-converted,.status-replied,.status-paid) .status-dot{background-color:var(--status-completed)}.status-indicator:is(.status-cancelled,.status-lost,.status-archived,.status-overdue) .status-dot{background-color:var(--status-cancelled)}.status-indicator:is(.status-qualified,.status-in-review) .status-dot{background-color:var(--status-qualified)}.status-indicator:is(.status-read,.status-inactive,.status-draft,.status-not-invited) .status-dot{background-color:var(--status-inactive)}.status-indicator:is(.status-sent,.status-viewed) .status-dot{background-color:var(--status-active)}.status-indicator.status-partial .status-dot{background-color:var(--status-pending)}.sidebar-badge{position:absolute;top:var(--space-0-5);right:var(--space-0-5);min-width:var(--icon-size-lg);height:var(--icon-size-lg);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);line-height:var(--icon-size-lg);text-align:center;background:transparent;border:var(--border-width) solid var(--color-accent);color:var(--color-accent);display:none;z-index:var(--z-index-elevated)}.sidebar-badge.has-count{display:block}.sidebar:not(.collapsed) .sidebar-badge{top:50%;right:var(--space-1);transform:translateY(-50%)}.sidebar.collapsed .sidebar-badge:not(.has-count){display:none}.sidebar.collapsed .sidebar-badge.has-count{display:block;top:0;right:0;transform:none}@media(max-width:1300px){.sidebar-badge:not(.has-count){display:none}.sidebar-badge.has-count{display:block;top:0;right:0;transform:none;min-width:var(--icon-size-sm);height:var(--icon-size-sm);font-size:var(--font-size-2xs);line-height:var(--icon-size-sm)}}:is(.tag-badge,.category-badge){display:inline-block;padding:var(--space-0-25) var(--space-0-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:transparent;border:var(--border-width) solid}.dropdown-trigger--status{display:inline-flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--icon-gap);width:var(--status-dropdown-width);min-width:var(--status-dropdown-width);max-width:var(--status-dropdown-width);padding:var(--dropdown-padding-y) var(--dropdown-padding-x);background:transparent;border:var(--border-width-thin) solid var(--color-bg-primary);margin:0;cursor:pointer;font:inherit;color:inherit;text-align:left;box-sizing:border-box}.dropdown-trigger--status:focus{outline:none}.dropdown-trigger--status[data-state=open]{border-bottom:none}.dropdown-trigger--status>.status-indicator{flex:0 0 auto;order:0}.dropdown-trigger--status>.dropdown-caret--status{margin-left:auto;flex-shrink:0;width:var(--dropdown-caret-size);height:var(--dropdown-caret-size);color:currentColor;transition:transform var(--transition-fast)}[data-state=open]>.dropdown-caret--status{transform:rotate(180deg)}.status-dot{display:inline-block;width:var(--status-dot-size);height:var(--status-dot-size);min-width:var(--status-dot-size);min-height:var(--status-dot-size);border-radius:var(--border-radius-full);flex-shrink:0;background-color:var(--color-text-tertiary)}}@layer pages{.kanban-board{display:flex;flex-direction:row;overflow-x:auto;padding:0;min-height:var(--kanban-board-min-height);width:100%}.kanban-column{flex:1 1 0;min-width:var(--kanban-column-min-width);background:transparent;border-left:var(--portal-border);display:flex;flex-direction:column;max-height:calc(100vh - var(--kanban-column-offset));box-shadow:none}.kanban-column:first-child{border-left:none}.kanban-column-header{display:flex;justify-content:space-between;align-items:center;background:transparent;border-bottom:var(--portal-border);border-left:var(--border-width-thick) solid transparent}.kanban-column[data-status=todo] .kanban-column-header,.kanban-column[data-status=pending] .kanban-column-header{border-left-color:var(--color-neutral-500)}.kanban-column[data-status=in_progress] .kanban-column-header,.kanban-column[data-status=in-progress] .kanban-column-header{border-left-color:var(--app-color-primary)}.kanban-column[data-status=blocked] .kanban-column-header{border-left-color:var(--color-warning-500)}.kanban-column[data-status=done] .kanban-column-header,.kanban-column[data-status=completed] .kanban-column-header{border-left-color:var(--status-active)}.kanban-column-title{display:inline-flex;align-items:center;gap:var(--icon-gap-xs);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.kanban-column-count{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.kanban-column-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);min-height:var(--kanban-content-min-height)}.kanban-column-content.is-drag-over{background:var(--portal-alpha-primary-08)}.kanban-card{background:transparent;cursor:grab;transition:border-color var(--transition-fast) ease;border:var(--portal-border);box-shadow:none;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--content-gutter)}.kanban-card:hover{border-color:var(--color-border-primary);transform:translateY(var(--hover-lift-sm))}.kanban-card.is-dragging{opacity:var(--opacity-muted);cursor:grabbing;transform:rotate(2deg)}.kanban-card-type{font-size:var(--label-font-size);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);display:flex;align-items:center;gap:var(--icon-gap)}.kanban-card-type svg{width:1em;height:1em;opacity:var(--opacity-subtle)}.kanban-card-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-text-primary);line-height:var(--line-height-snug)}.kanban-card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media(max-width:767px){.kanban-board{flex-direction:column}.kanban-column{flex:0 0 auto;min-width:100%;max-height:none}}}@layer pages;@layer pages{@keyframes pulse{0%,to{opacity:var(--opacity-inactive)}50%{opacity:1}}@keyframes pulse-skeleton{0%,to{opacity:1}50%{opacity:var(--opacity-disabled)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes typing-bounce{0%,80%,to{transform:scale(.6);opacity:var(--opacity-inactive)}40%{transform:scale(1);opacity:1}}svg.lucide{stroke-width:var(--svg-stroke-width);color:currentColor}.portal .icon-decorative{width:var(--icon-size-2xl);height:var(--icon-size-2xl)}.portal :has(>.status-item){gap:var(--space-2)}.portal :has(>.meta-item){gap:var(--space-2)}.portal :has(>.form-field):not(.form-row){display:flex;flex-direction:column;gap:var(--space-1-5)}.portal :has(>.badge):not([class*=flex]){display:flex;flex-wrap:wrap;gap:var(--space-0-5)}.portal [class$=-list]:not(.activity-list):has(>[class$=-item]){display:flex;flex-direction:column;gap:var(--space-1-5)}.portal :is(.help-accordion,.help-featured-list,.help-results-list,.notes-list,.tasks-list){display:flex;flex-direction:column;gap:var(--space-1)}.portal .activity-list{display:flex;flex-direction:column}.portal :is([class$=-cards],[class$=-grid]):has(>[class$=-card]){display:flex;flex-direction:column;gap:var(--space-2)}.portal :is(.signature-details,.signature-info,.lead-tab-section,.time-entry-form,.contract-tab-content,.checkbox-group){display:flex;flex-direction:column;gap:var(--space-1-5)}.portal :is(.modal-form,.deliverables-modal-content,.deliverables-container){display:flex;flex-direction:column;gap:var(--space-2)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.portal :is([class$=-list],.activity-list,.tasks-list,.notes-list,.files-list,.milestones-list,.messages-list,.upcoming-tasks-list){list-style:none}.portal :is(.activity-list,.notes-list,.files-list,.tasks-list)>li{background:transparent;color:var(--color-text-primary)}.portal :is(.activity-list,.notes-list,.files-list,.tasks-list)>li:is(.clickable,.clickable-activity){cursor:pointer;transition:background-color var(--transition-fast)}.portal :is(.activity-list,.notes-list,.files-list,.tasks-list)>li:is(.clickable,.clickable-activity):hover{background:var(--color-bg-hover)}.portal .list-item{display:flex;align-items:center;gap:var(--space-1-5);background:var(--color-bg-raised);cursor:pointer;transition:background-color var(--transition-fast)}.portal .list-item:hover{background:var(--color-bg-elevated)}.portal .list-item-compact{display:flex;align-items:center;gap:var(--icon-gap);background:var(--color-bg-raised);cursor:pointer;transition:background-color var(--transition-fast)}.portal .list-item-compact:hover{background:var(--color-bg-elevated)}.bg-darker{background:var(--color-bg-secondary)}.bg-dark{background:var(--color-bg-tertiary)}.bg-medium{background:var(--color-bg-raised)}.gap-0{gap:0}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.w-full{width:100%}.w-auto{width:auto}.min-w-0{min-width:0}.text-danger,a.text-danger,a.text-danger:visited{color:var(--color-danger)}a.text-danger:hover{color:var(--color-danger);opacity:var(--opacity-secondary)}.text-secondary{color:var(--color-text-secondary)}.text-primary{color:var(--color-text-primary)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-medium{font-weight:var(--font-weight-medium)}.font-bold{font-weight:var(--font-weight-bold)}.transition-colors{transition:color var(--transition-fast),background-color var(--transition-fast)}.transition-all{transition:all var(--transition-fast)}.border-bottom{border-bottom:var(--portal-border)}.border-top{border-top:var(--portal-border)}.icon-xs{width:.85em;height:.85em}.icon-sm{width:1em;height:1em}.icon-md{width:var(--icon-size-md);height:var(--icon-size-md)}.icon-lg{width:var(--icon-size-lg);height:var(--icon-size-lg)}.icon-xl{width:var(--icon-size-xl);height:var(--icon-size-xl)}.icon-xs,.icon-sm,.icon-md,.icon-lg,.icon-xl{flex-shrink:0;stroke-width:var(--svg-stroke-width);color:currentColor}.interactive{cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.interactive:hover{color:var(--color-accent)}.disabled,[disabled],:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}}@layer pages;@layer pages{.meta-value-with-copy{display:inline-flex;align-items:center;gap:.2em;line-height:1;vertical-align:middle}.portal .copy-email-btn,.meta-value-with-copy .copy-email-btn,.portal .meta-value-with-copy .copy-email-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.15em;height:1.15em;min-width:1.15em;min-height:1.15em;padding:0;box-sizing:border-box;font-size:var(--font-size-sm);line-height:1;vertical-align:middle;color:var(--color-text-tertiary);background:none;border:none;cursor:pointer}.portal .copy-email-btn svg,.meta-value-with-copy .copy-email-btn svg,.portal .meta-value-with-copy .copy-email-btn svg{width:.85em;height:.85em}.portal .copy-email-btn:hover,.meta-value-with-copy .copy-email-btn:hover{color:var(--color-accent)}.client-nav-link{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none;text-align:left}.client-nav-link:hover{color:var(--color-error-500);text-decoration:underline}.accordion-item-wrapper{display:flex;flex-direction:column}.accordion-item-trigger{display:flex;align-items:center;gap:var(--space-1-5);background:transparent;cursor:pointer;color:var(--color-text-primary);transition:background-color var(--transition-fast)}.accordion-item-trigger:hover{background:var(--portal-alpha-white-05)}.accordion-item-caret{color:var(--color-text-primary);flex-shrink:0;margin-left:auto}.accordion-item-content{color:var(--color-text-primary)}.status-panel-refresh-icon{width:1rem;height:1rem}.status-panel-refresh-icon-spin{animation:spin var(--animation-spinner)}.status-service-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-3)}.status-service-icon{width:1.25rem;height:1.25rem}.status-service-name{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.status-service-details{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-xs)}.status-text-capitalize{text-transform:capitalize}.status-metric-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.status-metric-value{margin-bottom:var(--space-2)}.status-metric-threshold{font-size:var(--label-font-size);margin-top:var(--space-1)}.status-incidents-list{display:flex;flex-direction:column;gap:var(--space-3)}.status-incident-severity{text-transform:uppercase}.status-incident-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.status-incident-meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--font-size-xs)}.status-incident-status{display:flex;align-items:center;gap:var(--space-2)}.status-section-title{margin-bottom:var(--space-4)}.perf-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.perf-heading{font-size:var(--font-size-base)}.perf-tab-list{border-bottom:none}.analytics-grid{display:grid;grid-template-columns:1fr 3fr;gap:var(--space-6)}.analytics-main{display:flex;flex-direction:column;gap:var(--space-4)}.analytics-section-title{margin-bottom:var(--space-3)}.analytics-empty-text{font-size:var(--font-size-xs)}.analytics-query-card{margin-bottom:var(--space-2)}.analytics-query-header{display:flex;align-items:flex-start;justify-content:space-between}.analytics-query-content{flex:1}.analytics-query-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.analytics-query-date{display:block;font-size:var(--label-font-size)}.analytics-trash-icon{width:.75rem;height:.75rem}.analytics-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.analytics-editor-title{display:flex;align-items:center;gap:var(--space-2)}.analytics-editor-icon{width:1rem;height:1rem;color:var(--color-text-tertiary)}.analytics-editor-actions{display:flex;align-items:center;gap:var(--space-2)}.analytics-name-input{width:200px;font-size:var(--font-size-xs)}.analytics-editor-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-3)}.analytics-hint{font-size:var(--label-font-size)}.analytics-action-icon{width:1rem;height:1rem}.analytics-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.analytics-results-stats{display:flex;align-items:center;gap:var(--space-4);font-size:var(--font-size-sm)}.analytics-results-actions{display:flex;align-items:center;gap:var(--space-2)}.analytics-table-container{overflow-x:auto}.analytics-pagination{font-size:var(--label-font-size);margin-top:var(--space-2);text-align:center}.analytics-chart-empty{height:16rem}.analytics-chart-icon{width:3rem;height:3rem;opacity:var(--opacity-faint)}.analytics-chart-hint{font-size:var(--label-font-size)}.portal :is(.details-card,.system-details){cursor:pointer}.portal :is(.details-card,.system-details) summary{margin:0}.portal :is(.details-card,.system-details) summary:before{content:"";flex-shrink:0;width:0;height:0;border-left:5px solid var(--color-text-secondary);border-top:var(--border-width-4) solid transparent;border-bottom:var(--border-width-4) solid transparent;transition:transform var(--transition-mouse) ease}.portal :is(.details-card,.system-details)[open] summary:before{transform:rotate(90deg)}.portal :is(.details-card,.system-details) summary h3{margin:0;flex:1}.portal :is(.details-card-grid,.system-info-grid,.details-card .details-card-grid,.system-details .system-info-grid){margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.portal :is(.details-card-row,.system-info-row){display:flex;justify-content:space-between;align-items:center;background:transparent;border:var(--portal-border);font-size:var(--font-size-sm)}.portal :is(.details-card-row,.system-info-row){background:transparent}.portal :is(.details-card-row,.system-info-row) span:first-child{color:var(--color-text-secondary)}.portal :is(.details-card-row,.system-info-row) span:last-child{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.portal :is(.details-card,.system-details):focus-within{outline:var(--focus-ring-width-thick) solid var(--color-accent);outline-offset:var(--focus-ring-offset-inset)}.portal :is(.details-card,.system-details)>summary:focus-visible{outline:none;box-shadow:none}@media(max-width:767px){.portal :is(.details-card,.system-details) summary{gap:var(--space-2)}.portal :is(.details-card-grid,.system-info-grid){gap:var(--space-1)}}.portal .info-icon-wrapper{display:inline-block;position:relative;vertical-align:middle;margin-left:var(--space-0-5);cursor:default}.portal .info-icon{display:inline-block;vertical-align:middle;opacity:var(--opacity-muted);transition:opacity var(--transition-fast)}.portal .info-icon-wrapper:hover .info-icon{opacity:1}.portal .vital-card h4{display:flex;align-items:center;gap:var(--space-0-5)}.portal [data-tooltip]{position:relative}.portal [data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + var(--space-1));left:50%;transform:translate(-50%);background:var(--color-bg-inverse);color:var(--color-text-inverse);font-family:var( --font-family-system, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif );font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-snug);text-transform:none;letter-spacing:normal;white-space:pre-line;width:-moz-max-content;width:max-content;max-width:var(--tooltip-max-width);text-align:left;box-shadow:none;z-index:var(--z-index-portal-dropdown);pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast)}.portal [data-tooltip]:hover:after{opacity:1;visibility:visible}.portal [data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + calc(var(--space-px) * 2));left:50%;transform:translate(-50%);border:var(--tooltip-arrow-size) solid transparent;border-top-color:var(--color-bg-inverse);z-index:var(--z-index-portal-dropdown);pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast)}.portal [data-tooltip]:hover:before{opacity:1;visibility:visible}.portal td[data-tooltip]:after,.portal .table-cell[data-tooltip]:after{left:0;transform:none;white-space:normal;max-width:var(--tooltip-max-width-sm)}.portal td[data-tooltip]:before,.portal .table-cell[data-tooltip]:before{left:var(--space-2-5);transform:none}}@layer pages;@layer pages{.error-boundary-fallback{display:flex;align-items:center;justify-content:center;min-height:200px;background:var(--color-bg-secondary);border:var(--portal-border)}.error-boundary-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;max-width:400px}.error-boundary-icon{width:var(--icon-container-lg);height:var(--icon-container-lg);color:var(--color-warning)}.error-boundary-title{font-family:var(--font-family-sans);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;text-transform:none;letter-spacing:normal}.error-boundary-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.error-boundary-details{width:100%;background:var(--color-bg-primary);border:var(--portal-border);font-family:var(--font-family-mono, monospace);font-size:var(--font-size-xs);color:var(--color-danger);overflow-x:auto;white-space:pre-wrap;word-break:break-word;text-align:left;margin:0}:is(.error-boundary-retry,.mount-error-button){background:transparent;font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.error-boundary-retry{display:inline-flex;align-items:center;gap:var(--icon-gap-sm);border:var(--border-width) solid var(--color-text-primary);color:var(--color-text-primary);font-family:var(--font-family-sans);font-weight:var(--font-weight-medium)}.error-boundary-retry:hover{background:var(--color-text-primary);color:var(--color-bg-primary)}.error-boundary-retry-icon{width:var(--icon-size-md);height:var(--icon-size-md)}.error-boundary-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.mount-error-container{text-align:center;color:var(--color-text-tertiary);font-family:var(--font-family-mono);font-size:var(--font-size-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.mount-error-message{margin-bottom:var(--space-4);color:var(--color-text-tertiary)}.mount-error-button{border:var(--border-width) solid currentColor;color:inherit;font-family:inherit}.mount-error-button:hover{background:var(--color-text-tertiary);color:var(--portal-bg)}.mount-error-button:focus-visible{outline:var(--focus-ring-width-thick) solid var(--color-accent);outline-offset:var(--focus-ring-offset-sm)}.react-portal-mount{min-height:var(--space-12)}}@layer pages;@layer pages{.progress-bar-sm{height:var(--progress-track-height);background:var(--portal-alpha-white-20);overflow:hidden}.progress-bar-sm .progress-fill{height:100%;background:var(--color-text-primary);transition:width var(--transition-normal)}.dropdown{background:var(--color-bg-primary);border:var(--border-width) solid var(--portal-alpha-white-30)}.dropdown-item{font-size:var(--font-size-sm);font-family:var(--font-family-mono, monospace);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.dropdown-item:hover{background:var(--portal-alpha-white-10);color:var(--color-text-primary)}.badge{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-0-25) var(--space-0-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);background:transparent;border:var(--border-width) solid currentColor;border-radius:0}.table-row-selected{background:var(--portal-alpha-white-10)}.text-status-completed{color:var(--status-completed)}.text-status-active{color:var(--status-active)}.text-status-cancelled{color:var(--status-cancelled)}.card-drag-highlight{background:var(--portal-alpha-white-10);border-color:var(--color-text-primary)}}@layer pages;@layer pages{.panel-header-row,.panel-header-row--compact{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.panel-header-row{margin-bottom:var(--space-4)}.panel-header-row--compact{margin-bottom:var(--space-3)}.portal .tab-section>.panel-header-row .heading,.portal .tab-section>.panel-header-row--compact .heading{display:inline-flex;align-items:center;gap:var(--icon-gap);font-size:var(--heading-section-font-size);font-weight:var(--heading-section-font-weight);color:var(--heading-section-color);text-transform:var(--heading-text-transform);letter-spacing:var(--heading-section-letter-spacing);margin:0}.portal .tab-section>:is(.panel-header-row,.panel-header-row--compact) .heading svg{width:1em;height:1em;flex-shrink:0}.portal-card-title-group{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.portal-card-status-group{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.portal-card-description{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.portal-card-progress{margin-bottom:.5rem}}@layer pages{.tag-remove{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:0;opacity:var(--opacity-subtle);transition:opacity var(--transition-fast)}.tag-remove:hover{opacity:1}}@layer pages{.tab-content{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tab-content.is-active,.portal-tab-panel.is-active{display:block;animation:fadeIn var(--duration-medium) var(--easing-decelerated)}.portal-tabs,.portal-subtabs,.tab-list,.view-toggle{display:flex;gap:var(--space-2);margin-bottom:0;overflow:visible;position:relative;padding:0;border-bottom:none}.view-toggle{display:inline-flex}.portal .dashboard-content .portal-subtabs,.section>.portal-tabs,.section>.portal-subtabs,.section>.tab-list{margin-bottom:0}:is(.portal-tabs button,.portal-subtabs button,.portal-tab,.portal-subtab,.tab,.tab-active,.view-toggle button,.view-toggle-option){display:inline-flex;align-items:center;gap:var(--icon-gap);background:transparent;border:none;color:var(--color-text-primary);font-family:var(--portal-subtab-family);font-size:var(--portal-subtab-size);font-weight:var(--portal-subtab-weight);text-transform:var(--portal-subtab-transform);letter-spacing:var(--portal-subtab-spacing);cursor:pointer;transition:color var(--transition-fast);white-space:nowrap;position:relative;margin-bottom:var(--space-neg-px)}:is(.portal-tabs button,.portal-tab){margin-bottom:0}:is(.portal-tabs button,.portal-subtabs button,.portal-tab,.portal-subtab,.tab,.view-toggle button,.view-toggle-option):hover:not(.is-active):not(:disabled){color:var(--color-text-primary)}:is(.portal-tabs button,.portal-subtabs button,.portal-tab,.portal-subtab,.view-toggle button,.view-toggle-option).is-active,.tab-active{color:var(--color-accent);border-bottom:var(--border-width) solid var(--color-accent);background:transparent}:is(.portal-tabs button,.portal-subtabs button,.portal-tab,.portal-subtab,.view-toggle button,.view-toggle-option).is-active:hover,:is(.portal-tabs button,.portal-subtabs button,.portal-tab).is-active:focus,:is(.portal-tabs button,.portal-subtabs button,.portal-tab).is-active:active{color:var(--color-accent);background:transparent;outline:none}.portal-tabs button.is-active:after,.portal-subtabs button.is-active:after{display:none}:is(.portal-tab--disabled,.portal-subtab--disabled,.portal-tab:disabled,.portal-subtab:disabled){cursor:not-allowed}:is(.view-toggle button,.view-toggle-option):focus{outline:none}:is(.view-toggle button,.view-toggle-option):focus-visible{outline:var(--focus-ring-width-thick) solid var(--color-accent);outline-offset:var(--focus-ring-offset-sm)}:is(.portal-tabs button,.portal-subtabs button,.portal-tab,.portal-tab-icon) svg{width:1em;height:1em;flex-shrink:0}:is(.view-toggle button,.view-toggle-option) svg{width:1em;height:1em}.portal-tabs button .tab-icon{display:none}.portal-tab-panel{display:none;background:transparent;padding:0;position:relative;z-index:var(--z-index-content);margin-top:0;box-shadow:none}.portal-tab-panel.is-active,.tab-content-wrapper{display:block}.portal-subtab-content{display:none}.portal-subtab-content.is-active{display:block}.portal-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--inline-pill-height);height:var(--inline-pill-height);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--border-radius-full)}.portal-tab.is-active .portal-tab-badge{color:var(--color-text-primary)}.portal-subtab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--icon-size-md);height:var(--icon-size-md);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);border-radius:var(--border-radius-full)}.portal-subtab.is-active .portal-subtab-badge{color:var(--color-text-primary)}@media(max-width:767px){.portal-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--color-bg-elevated) transparent;overscroll-behavior-x:contain}.portal-tabs::-webkit-scrollbar{height:var(--progress-track-height)}.portal-tabs::-webkit-scrollbar-track{background:transparent;border-radius:var(--border-radius-xs)}.portal-tabs::-webkit-scrollbar-thumb{background:var(--color-bg-elevated);border-radius:var(--border-radius-xs)}.portal-tabs::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}:is(.portal-tabs button,.portal-tab){font-size:var(--font-size-sm)}.portal-tab-panel.is-active,.portal-subtab-content.is-active,.documents-subtab-content.is-active{gap:var(--space-2)}}@media(max-width:600px){:is(.portal-tabs button,.portal-tab){font-size:var(--font-size-sm)}}@media(max-width:479px){:is(.portal-tabs button,.portal-tab,.portal-subtab,.view-toggle button,.view-toggle-option){font-size:var(--font-size-xs)}:is(.view-toggle button,.view-toggle-option) svg{width:1em;height:1em}.portal-tab-panel.is-active{gap:var(--space-2)}}}@layer pages{.confirm-dialog{background:var(--color-bg-secondary);border:var(--border-width-heavy) solid var(--color-border-primary);box-shadow:none;width:100%;max-width:var(--modal-width-sm);text-align:left;font-family:var(--font-family-mono)}.confirm-dialog-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.confirm-dialog-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--color-text-primary)}.confirm-dialog-icon svg{width:1.25em;height:1.25em}.confirm-dialog-title{margin:0;color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.confirm-dialog-message{margin:0 0 var(--space-5);color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.confirm-dialog-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;border:none;cursor:pointer;transition:all var(--transition-fast);box-shadow:none;min-width:100px}.confirm-dialog-cancel{background:transparent;color:var(--color-text-primary)}.confirm-dialog-cancel:hover{background:var(--color-accent);color:var(--color-bg-tertiary);box-shadow:none}.confirm-dialog-confirm{background:transparent;color:var(--color-accent)}.confirm-dialog-confirm:hover{background:var(--color-accent);color:var(--color-bg-tertiary);box-shadow:none}.confirm-dialog-confirm.danger{background:var(--color-danger);color:var(--color-text-primary)}.confirm-dialog-confirm.danger:hover{background:var(--color-danger-hover);box-shadow:none}.confirm-dialog-btn:focus,.confirm-dialog-btn:focus-visible{outline:none;box-shadow:0 0 0 var(--focus-ring-width-thick) var(--color-accent)}.confirm-dialog-confirm.danger:focus,.confirm-dialog-confirm.danger:focus-visible{box-shadow:0 0 0 var(--focus-ring-width-thick) var(--color-danger)}.confirm-dialog-btn.is-active{background:var(--color-accent);color:var(--color-bg-tertiary)}.confirm-dialog-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.confirm-dialog-btn:disabled:hover{background:transparent;color:var(--color-accent)}.confirm-dialog-body{display:flex;align-items:flex-start;gap:var(--space-3)}.confirm-dialog-body .confirm-dialog-icon{flex-shrink:0}.confirm-dialog-body .confirm-dialog-icon svg{width:var(--icon-size-lg);height:var(--icon-size-lg)}.confirm-dialog-content{flex:1;padding:var(--content-gutter)}.confirm-dialog-description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:var(--space-0-5)}.confirm-dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-2)}.prompt-dialog{text-align:left}.prompt-dialog-field{margin-bottom:var(--space-4)}.prompt-dialog-label{display:block;margin-bottom:var(--space-2)}.prompt-dialog-input{width:100%;background:var(--color-bg-tertiary);border:var(--portal-border);color:var(--color-text-primary);font-size:var(--font-size-base);transition:border-color var(--transition-mouse) ease,box-shadow var(--transition-mouse) ease}.prompt-dialog-input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-button-focus)}.prompt-dialog-input::-moz-placeholder{color:var(--color-text-tertiary)}.prompt-dialog-input::placeholder{color:var(--color-text-tertiary)}.multi-prompt-dialog{max-width:480px}.multi-prompt-form{display:flex;flex-direction:column}.multi-prompt-form .confirm-dialog-actions{margin-top:var(--space-2)}.prompt-dialog-input.form-textarea{resize:vertical;min-height:var(--min-height-textarea-lg)}}@layer pages{.portal-global-header .notification-bell-container{position:relative;display:inline-flex}.portal-global-header .notification-bell-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--portal-btn-icon-size);height:var(--portal-btn-icon-size);min-width:var(--portal-btn-icon-size);min-height:var(--portal-btn-icon-size);padding:0;background:transparent;border:none;cursor:pointer;color:var(--color-text-primary);transition:color var(--transition-mouse) ease;font-family:inherit}.portal-global-header .notification-bell-btn:hover{color:var(--color-accent);background:transparent}.portal-global-header .notification-bell-btn:focus{outline:none;box-shadow:none}.portal-global-header .notification-bell-btn:focus-visible{box-shadow:var(--focus-ring)}.portal-global-header .notification-bell-btn svg{width:var(--portal-btn-icon-inner-size);height:var(--portal-btn-icon-inner-size)}.notification-badge{position:absolute;top:var(--notification-badge-offset);right:var(--notification-badge-offset);min-width:var(--notification-badge-size);height:var(--notification-badge-size);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);line-height:var(--notification-badge-size);text-align:center;color:var(--color-text-primary);background:var(--color-danger);pointer-events:none}.notification-dropdown{position:absolute;top:calc(100% + var(--notification-dropdown-gap));right:0;width:var(--notification-dropdown-width);max-height:var(--notification-dropdown-max-height);background:var(--color-bg-secondary);border:var(--portal-border);z-index:var(--z-index-portal-dropdown);overflow:hidden;display:flex;flex-direction:column;font-family:var(--font-family-mono)}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:var(--content-gutter);border-bottom:var(--portal-border)}.notification-dropdown-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin:0}.notification-header .btn-link{font-size:var(--font-size-xs);color:var(--color-text-tertiary);background:none;border:none;cursor:pointer;padding:0;font-family:inherit;text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.notification-header .btn-link:hover{color:var(--color-text-primary)}.notification-list{flex:1;overflow-y:auto;max-height:var(--notification-list-max-height)}.notification-empty{text-align:center;padding:var(--content-gutter);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.notification-item{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--content-gutter);width:100%;border:none;border-bottom:var(--portal-border);background:transparent;cursor:pointer;transition:background-color var(--transition-fast);font-family:inherit;text-align:left;color:inherit}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--color-bg-hover)}.notification-item:focus{outline:none;background:var(--color-bg-hover)}.notification-item.unread{background:var(--portal-alpha-white-05)}.notification-item.unread:hover{background:var(--color-bg-hover)}.notification-item-content{flex:1;min-width:0}.notification-item-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin:0 0 var(--space-1) 0;line-height:var(--line-height-snug)}.notification-item-message{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0 0 var(--space-1) 0;line-height:var(--line-height-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-time{font-size:var(--font-size-2xs);color:var(--color-text-tertiary)}.notification-unread-dot{width:var(--notification-unread-dot-size);height:var(--notification-unread-dot-size);border-radius:var(--border-radius-full);background:var(--color-accent);flex-shrink:0;margin-top:var(--space-1)}@media(max-width:400px){.notification-dropdown{width:100%;right:calc(-1 * var(--notification-dropdown-mobile-bleed));max-width:calc(100vw - calc(var(--notification-dropdown-mobile-bleed) * 2))}}}@layer pages{[data-page=admin] .inline-editable,[data-page=admin] .inline-editable-cell{position:relative;cursor:pointer;transition:background-color var(--transition-fast) ease}[data-page=admin] .inline-editable:hover:not(.is-editing),[data-page=admin] .inline-editable-cell:hover:not(.is-editing){background:var(--color-bg-hover)}[data-page=admin] .inline-editable:hover:not(.is-editing):after,[data-page=admin] .inline-editable-cell:hover:not(.is-editing):after{content:"";position:absolute;right:var(--space-1);top:50%;transform:translateY(-50%);width:var(--icon-size-xs);height:var(--icon-size-xs);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}[data-page=admin] .inline-editable.is-editing,[data-page=admin] .inline-editable-cell.is-editing{padding:0;background:transparent}[data-page=admin] .inline-edit-input{width:100%;border:var(--border-width) solid var(--color-accent);border-radius:var(--border-radius-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:inherit;font-family:inherit;font-weight:inherit;line-height:inherit;outline:none;box-sizing:border-box}[data-page=admin] .inline-edit-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 var(--focus-ring-width-thick) var(--portal-alpha-primary-20)}[data-page=admin] .inline-edit-input::-moz-placeholder{color:var(--color-text-tertiary);opacity:var(--opacity-muted)}[data-page=admin] .inline-edit-input::placeholder{color:var(--color-text-tertiary);opacity:var(--opacity-muted)}[data-page=admin] .inline-editable.placeholder,[data-page=admin] .inline-editable-cell.placeholder{color:var(--color-text-tertiary);font-style:italic}[data-page=admin] .inline-edit-input[type=date]{color-scheme:dark}[data-page=admin] .inline-edit-input[type=number]{-moz-appearance:textfield}[data-page=admin] .inline-edit-input[type=number]::-webkit-outer-spin-button,[data-page=admin] .inline-edit-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.portal .inline-edit-wrapper{display:flex;align-items:center;gap:var(--icon-gap-xs)}.portal .inline-edit-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--border-radius-sm);background:transparent;cursor:pointer;transition:background-color var(--transition-faster) ease}.portal .inline-edit-btn svg{width:1em;height:1em}.portal .inline-edit-btn-save{color:var(--status-completed)}.portal .inline-edit-btn-save:hover{background-color:var(--status-completed-bg)}.portal .inline-edit-btn-cancel{color:var(--status-cancelled)}.portal .inline-edit-btn-cancel:hover{background-color:var(--status-cancelled-bg)}.portal .inline-edit-display{display:flex;align-items:center;gap:var(--icon-gap-xs);cursor:pointer;min-height:var(--space-3);margin:0 calc(-1 * var(--space-0-5));border-radius:var(--border-radius-sm);transition:background-color var(--transition-faster) ease}.data-table .inline-edit-display{margin:0}.portal .inline-edit-display:hover{background-color:var(--color-bg-hover)}.portal .inline-edit-display.is-disabled{cursor:default}.portal .inline-edit-display.is-disabled:hover{background-color:transparent}.portal .inline-edit-value{font-size:var(--font-size-sm)}.portal .inline-edit-value.is-placeholder{color:var(--color-text-tertiary);font-style:italic}.portal .inline-edit-icon{width:var(--inline-edit-icon-size);height:var(--inline-edit-icon-size);color:var(--color-text-tertiary);opacity:0;transition:opacity var(--transition-faster) ease}.portal .inline-edit-display:hover .inline-edit-icon{opacity:1}.portal .inline-edit-input-compact{height:var(--space-3);min-width:80px;width:100%;background:var(--color-bg-primary);color:var(--color-text-primary);border:var(--border-width) solid var(--color-brand-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);outline:none}.portal .inline-edit-date-wrapper{position:relative;display:inline-flex;align-items:center}.portal .inline-edit-date-cal{position:absolute;left:var(--inline-edit-compact-padding-x);top:50%;transform:translateY(-50%);width:var(--inline-edit-date-icon-size);height:var(--inline-edit-date-icon-size);z-index:var(--z-index-1);cursor:pointer;pointer-events:all;color:var(--color-text-secondary)}.portal .inline-edit-input-compact--date{min-width:var(--inline-edit-date-min-width);color-scheme:dark}.portal .inline-edit-input-compact--date::-webkit-calendar-picker-indicator{display:none}.portal .inline-edit-wrapper--textarea{flex-direction:column;align-items:stretch}.portal .inline-edit-display--multiline{align-items:flex-start}.portal .inline-edit-value--multiline{white-space:pre-wrap;word-break:break-word;line-height:var(--line-height-normal)}.portal .inline-edit-textarea{height:auto;min-height:var(--min-height-textarea);resize:vertical;font-family:inherit;line-height:var(--line-height-normal)}.portal .inline-edit-actions{display:flex;align-items:center;gap:var(--action-btn-gap);margin-top:var(--space-0-5)}.portal .inline-link-external{display:inline-flex;align-items:center;margin-left:var(--icon-gap-xs);color:var(--color-text-tertiary);transition:color var(--transition-faster) ease}.portal .inline-link-external:hover{color:var(--color-brand-primary)}.portal .settings-fields{display:flex;flex-direction:column}.portal .inline-edit-row{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:var(--portal-border);gap:var(--space-4)}.portal .inline-edit-label{display:flex;align-items:center;gap:var(--icon-gap-sm);flex-shrink:0;min-width:var(--inline-edit-label-min-width)}.portal .inline-edit-label .inline-edit-icon{width:1em;height:1em;color:var(--color-text-tertiary);opacity:1}.portal .inline-edit-label .inline-edit-icon svg{width:1em;height:1em}.portal .inline-edit-required{color:var(--color-accent);margin-left:var(--inline-edit-required-margin)}.portal .inline-edit-row .inline-edit-value{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:var(--icon-gap-xs);text-align:right;color:var(--color-text-primary);font-size:var(--font-size-base);min-height:var(--icon-size-xl);margin:calc(-1 * var(--space-0-5)) calc(-1 * var(--space-1))}.portal .inline-edit-row .inline-edit-value.editable{cursor:pointer;transition:background-color var(--transition-fast)}.portal .inline-edit-row .inline-edit-value.editable:hover{background:var(--color-bg-hover)}.portal .inline-edit-row .inline-edit-value.editable:focus{outline:var(--focus-ring-width-thick) solid var(--color-accent);outline-offset:var(--focus-ring-offset-sm)}.portal .inline-edit-row .inline-edit-value.placeholder{color:var(--color-text-tertiary);font-style:italic}.portal .inline-edit-row .inline-edit-pencil{width:1em;height:1em;color:var(--color-text-tertiary);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.portal .inline-edit-row .inline-edit-value.editable:hover .inline-edit-pencil,.portal .inline-edit-row .inline-edit-value.editable:focus .inline-edit-pencil{opacity:1}.portal .inline-edit-input-wrapper{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.portal .inline-edit-row .inline-edit-input{width:100%;border:var(--border-width) solid var(--color-accent);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:inherit;text-align:right;outline:none}.portal .inline-edit-row .inline-edit-input:focus{border-color:var(--color-accent)}.portal .inline-edit-row .inline-edit-input::-moz-placeholder{color:var(--color-text-tertiary);opacity:var(--opacity-muted)}.portal .inline-edit-row .inline-edit-input::placeholder{color:var(--color-text-tertiary);opacity:var(--opacity-muted)}.portal .inline-edit-row .inline-edit-input.has-error{border-color:var(--color-error)}.portal .inline-edit-row .inline-edit-input:disabled{opacity:var(--opacity-muted)}.portal .inline-edit-row .inline-edit-select{width:100%;border:var(--border-width) solid var(--color-accent);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:inherit;text-align:right;outline:none;cursor:pointer}.portal .inline-edit-row .inline-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--action-btn-gap);margin-top:var(--space-1)}.portal .inline-edit-row .inline-edit-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;transition:background-color var(--transition-fast)}.portal .inline-edit-row .inline-edit-btn svg{width:1em;height:1em}.portal .inline-edit-row .inline-edit-btn.save{color:var(--status-completed)}.portal .inline-edit-row .inline-edit-btn.save:hover{background:var(--status-completed-bg)}.portal .inline-edit-row .inline-edit-btn.cancel{color:var(--status-cancelled)}.portal .inline-edit-row .inline-edit-btn.cancel:hover{background:var(--status-cancelled-bg)}.portal .inline-edit-row .inline-edit-spinner{width:var(--icon-size-md);height:var(--icon-size-md);color:var(--color-text-tertiary);animation:spin var(--animation-spinner)}.portal .inline-edit-row .inline-edit-error{color:var(--color-error);font-size:var(--font-size-sm);text-align:right}@media(max-width:600px){.portal .inline-edit-row{flex-direction:column;gap:var(--space-1)}.portal .inline-edit-label{min-width:auto}.portal .inline-edit-row .inline-edit-value{justify-content:flex-start;text-align:left;width:100%}.portal .inline-edit-row .inline-edit-input,.portal .inline-edit-row .inline-edit-select{text-align:left}}}@layer pages{[data-page=admin] select[class*=tw-py-],[data-page=admin] .flex select{height:var(--table-pagination-btn-size);min-height:var(--table-pagination-btn-size);max-height:var(--table-pagination-btn-size);padding-top:0;padding-bottom:0;line-height:calc(var(--table-pagination-btn-size) - var(--space-px) * 2);flex-shrink:0;width:auto;min-width:var(--table-col-sm);max-width:var(--table-col-md)}.filter-search-wrapper{display:flex;flex-direction:row-reverse;align-items:center;min-height:var(--portal-btn-icon-size);position:relative}.filter-search-trigger{position:relative;flex-shrink:0}.filter-search-trigger.has-value:after{content:"";position:absolute;top:calc(-1 * var(--space-px) * 2);right:calc(-1 * var(--space-px) * 2);width:var(--space-1);height:var(--space-1);background:var(--color-accent);border-radius:var(--border-radius-full);z-index:var(--z-index-content)}.filter-search-dropdown{display:flex;position:absolute;right:0;top:50%;transform:translateY(-50%);width:var(--table-col-xl);z-index:var(--z-index-content, 1);background-color:var(--color-bg-primary)}.filter-search-dropdown .search-bar-icon{position:absolute;left:var(--space-1);top:50%;transform:translateY(-50%);width:var(--icon-size-md);height:var(--icon-size-md);color:var(--color-text-tertiary);pointer-events:none;flex-shrink:0;z-index:1}.filter-search-dropdown input.search-bar-input{height:var(--portal-btn-icon-size);min-height:var(--portal-btn-icon-size)}.filter-search-dropdown input.search-bar-input:focus{border-width:var(--border-width);outline:none}.filter-dropdown-wrapper{position:relative}.filter-dropdown-trigger{position:relative;cursor:pointer}.icon-btn.filter-dropdown-trigger{min-width:unset;padding-right:0}.filter-dropdown-trigger.has-value,.filter-search-trigger.has-value{color:var(--color-accent)}.filter-count-badge{display:none;position:absolute;top:calc(-1 * var(--space-0-5) - var(--space-px) * 2);right:calc(-1 * var(--space-0-5) - var(--space-px) * 2);min-width:var(--space-2);height:var(--space-2);background:var(--color-accent);color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--space-2);text-align:center;z-index:var(--z-index-content)}.filter-count-badge.visible{display:inline-block}.filter-dropdown-menu{z-index:var(--z-index-portal-dropdown);min-width:var(--table-col-lg);background:var(--color-bg-tertiary);border:var(--portal-border);box-shadow:var(--shadow-dropdown-xl);font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-primary)}.filter-section{margin-bottom:var(--space-1)}.filter-section:last-of-type{margin-bottom:0}.filter-section-label{display:block;margin-bottom:var(--space-1)}.filter-options{display:flex;flex-direction:column}.filter-option{display:block;width:100%;background:transparent;border:none;text-align:left;color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast)}.filter-option:hover{background:var(--color-bg-hover)}.filter-option.is-active{background:var(--color-bg-raised);color:var(--color-text-primary)}@media(max-width:767px){.filter-dropdown-menu{left:0;right:0;min-width:unset}.filter-date-group{flex-direction:column;align-items:stretch}}@media(max-width:479px){.filter-search-wrapper,.filter-dropdown-wrapper{display:flex;align-items:center;height:var(--table-pagination-btn-size);width:auto;margin:0;padding:0}}}@layer pages;@layer pages{.portal .sidebar{width:-moz-fit-content;width:fit-content;max-width:var(--sidebar-width-open);min-width:var(--sidebar-collapsed-width);background:var(--color-bg-primary);border-right:none;display:flex;flex-direction:column;transition:width var(--transition-fast) ease-out;position:relative;height:100%;min-height:100%;z-index:auto;box-shadow:none;flex-shrink:0;overflow:visible;overscroll-behavior:contain}.sidebar.collapsed{width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width);max-width:var(--sidebar-collapsed-width);border-right:none}.sidebar-content{display:flex;flex-direction:column;padding:0;gap:0;flex:1;min-height:0;overflow:visible}.sidebar.collapsed .sidebar-content{align-items:center}.sidebar-footer{display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto;border-top:none;flex-shrink:0}.sidebar-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:0;flex:1}.portal .sidebar-buttons .nav-btn:hover .sidebar-badge,.portal .sidebar-buttons .nav-btn.is-active .sidebar-badge{color:var(--color-bg-tertiary)}.sidebar.collapsed .sidebar-buttons{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:0}.sidebar.collapsed .sidebar-footer{display:flex;justify-content:center}.portal .nav-btn.btn-logout:hover,.portal .nav-btn.btn-logout:hover .nav-icon{color:var(--color-error-500)}.portal .sidebar>.sidebar-toggle-btn{position:absolute;right:0;top:calc(var(--portal-header-top) + calc(var(--space-px) * 6));left:auto;transform:translate(75%);display:flex;align-items:center;justify-content:center;width:var(--sidebar-icon-size);height:var(--sidebar-icon-size);min-height:auto;padding:0;margin:0;background:transparent;border:none;color:var(--color-text-tertiary);opacity:1;cursor:pointer;transition:color var(--transition-fast);z-index:var(--z-index-nav)}.portal .sidebar>.sidebar-toggle-btn:hover{color:var(--color-accent);background:transparent}.portal .sidebar>.sidebar-toggle-btn svg{width:var(--sidebar-icon-size);height:var(--sidebar-icon-size);display:block}.portal .sidebar.collapsed>.sidebar-toggle-btn svg{transform:scaleX(-1)}@media(max-width:600px){.portal .sidebar:not(.collapsed){width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width);max-width:var(--sidebar-collapsed-width);overflow:hidden}.portal .sidebar:not(.collapsed) .sidebar-content{display:flex;gap:var(--space-1);align-items:center;overflow:hidden;height:100%}.portal .sidebar:not(.collapsed) .sidebar-buttons{width:100%;display:flex;flex-direction:column;align-items:center;overflow:hidden}.portal .sidebar:not(.collapsed) .sidebar-footer{display:flex;justify-content:center}}@media(max-width:767px){.portal .sidebar.collapsed{transform:translate(-100%);width:0;min-width:0;max-width:0;overflow:hidden}}.portal .sidebar-buttons .nav-btn{position:relative;overflow:visible}.portal .sidebar-badge{position:absolute;display:none;align-items:center;justify-content:center;min-width:var(--icon-size-xl);height:var(--icon-size-xl);border-radius:var(--border-radius-full);background:var(--color-danger);color:var(--color-text-inverse);font-family:var( --font-family-system, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif );font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:1;white-space:nowrap;pointer-events:none;box-sizing:border-box;overflow:hidden}.portal .sidebar-badge.has-count{display:inline-flex}.portal .sidebar-badge:before,.portal .sidebar-badge:after{display:none;content:none}.portal .sidebar:not(.collapsed) .sidebar-buttons .nav-btn .sidebar-badge{top:50%;right:var(--space-1);margin:0;transform:translateY(-50%)}.portal .sidebar:not(.collapsed) .sidebar-buttons .nav-btn.is-active .sidebar-badge{background:var(--color-danger);color:var(--color-text-inverse)}.portal .sidebar.collapsed .sidebar-buttons .nav-btn .sidebar-badge{top:var(--space-0-5);right:var(--space-0-5);margin:0;min-width:var(--icon-size-md);width:var(--icon-size-md);height:var(--icon-size-md);padding:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:1;transform:none;border-radius:var(--border-radius-full);background:var(--color-danger);color:var(--color-text-primary);box-shadow:0 0 0 var(--border-width) var(--color-bg-tertiary)}.portal .sidebar.collapsed .sidebar-buttons .nav-btn:hover .sidebar-badge{transform:none}@media(max-width:1024px){.portal .sidebar .sidebar-buttons .nav-btn .sidebar-badge{position:absolute;top:var(--space-0-5);right:var(--space-0-5);margin:0;min-width:var(--icon-size-md);width:var(--icon-size-md);height:var(--icon-size-md);padding:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);background:var(--color-danger);color:var(--color-text-primary);box-shadow:0 0 0 var(--border-width) var(--color-bg-tertiary)}}.portal .sidebar-shortcut{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;min-width:var(--icon-size-md);height:var(--icon-size-md);padding:0;background:transparent;border:none;color:var(--color-text-tertiary);font-family:inherit;font-size:var(--font-size-2xs);line-height:1;opacity:0;transition:opacity var(--transition-faster);pointer-events:none;flex-shrink:0}.portal .sidebar:hover .sidebar-shortcut,.portal .sidebar:focus-within .sidebar-shortcut{opacity:var(--opacity-disabled)}.portal .sidebar-buttons .nav-btn:hover .sidebar-shortcut{opacity:var(--opacity-high)}.portal .sidebar-buttons .nav-btn.is-active .sidebar-shortcut{color:var(--color-accent);opacity:var(--opacity-secondary)}.portal .sidebar .nav-btn.is-active .sidebar-shortcut{opacity:var(--opacity-faint)}.portal .sidebar.collapsed .sidebar-shortcut{display:none}@media(max-width:767px){.portal .sidebar-shortcut{display:none}}.sidebar :is(:focus,:focus-visible),.sidebar :is(.nav-btn,.icon-btn,a,button,.sidebar-toggle-btn):is(:focus,:focus-visible){outline:none;box-shadow:none}.portal .sidebar-buttons .nav-btn.is-active{position:relative}.portal .sidebar-buttons .nav-btn.is-active:before{content:"";position:absolute;left:calc(-1 * var(--content-gutter));top:20%;bottom:20%;width:var(--border-width-thick);background:var(--color-accent);border-radius:0 2px 2px 0}.portal .sidebar.collapsed .sidebar-buttons .nav-btn.is-active:before{display:none}.portal .sidebar.collapsed .nav-btn:after{content:attr(aria-label);position:absolute;left:calc(100% + var(--space-1-5));top:50%;transform:translateY(-50%);background:var(--color-bg-inverse);color:var(--color-text-inverse);border-radius:var(--border-radius-sm);font-family:var(--font-family-sans);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-title);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:var(--z-index-portal-dropdown);box-shadow:none;transition:opacity var(--transition-faster),visibility var(--transition-faster)}.portal .sidebar.collapsed .nav-btn:hover:after{opacity:1;visibility:visible}.portal .sidebar.collapsed .sidebar-toggle-btn:after{display:none}}@layer pages;@layer pages{.portal-modal-overlay{position:fixed;inset:0;z-index:var(--z-index-portal-modal);display:flex;align-items:center;justify-content:center;background:var(--color-overlay-light);-webkit-backdrop-filter:blur(var(--blur-modal));backdrop-filter:blur(var(--blur-modal));overscroll-behavior:contain;overflow:hidden}.portal-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:calc(var(--z-index-portal-modal) + 1);background:var(--color-bg-primary);border:var(--border-width-heavy) solid var(--color-border-primary);box-shadow:var(--shadow-modal);width:calc(100% - var(--space-4) * 2);max-width:var(--modal-width-md);max-height:var(--modal-max-height);overflow:hidden;display:flex;flex-direction:column}.portal-modal.portal-modal--sm{max-width:var(--modal-width-sm)}.portal-modal.portal-modal--wide{max-width:var(--modal-width-lg)}.portal-modal.portal-modal--xl{max-width:var(--modal-width-xl)}.portal-modal.portal-modal--full{max-width:calc(100vw - var(--modal-edge-padding));margin:var(--space-4)}.portal-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--content-gutter);flex-shrink:0}.portal-modal-title{display:inline-flex;align-items:center;gap:var(--icon-gap);min-width:0}.portal-modal-description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:var(--space-0-5)}.portal-modal-close{display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:pointer;color:var(--color-text-secondary);transition:color var(--transition-fast);flex-shrink:0;margin-left:auto}.portal-modal-close:hover{color:var(--color-text-primary)}.portal-modal-close:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset)}.portal-modal-body{overflow-y:auto;flex:1;padding:var(--content-gutter);display:flex;flex-direction:column;gap:var(--space-4);overscroll-behavior:contain}.portal-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--content-gutter);margin-top:auto;flex-shrink:0;border-top:var(--portal-border)}@media(max-width:479px){.portal-modal-overlay{padding:0;align-items:flex-start}.portal-modal{max-width:100%;width:100%;max-height:100vh;min-height:100vh;margin:0}.portal-modal-body{min-height:0;flex:1}}}@layer pages;@layer pages{.command-palette-overlay{position:fixed;inset:0;z-index:var(--z-index-portal-modal);display:flex;align-items:center;justify-content:center;background:var(--portal-alpha-black-50);-webkit-backdrop-filter:blur(var(--blur-backdrop));backdrop-filter:blur(var(--blur-backdrop))}.command-palette{position:relative;width:min(var(--cmd-palette-max-width),calc(100vw - var(--space-4)));max-height:70vh;display:flex;flex-direction:column;background:var(--color-bg-primary);border:var(--border-width-heavy) solid var(--color-border-primary);border-radius:var(--border-radius-sm);box-shadow:0 8px 32px #0006;overflow:hidden}.command-palette-close{position:absolute;top:var(--space-2);right:var(--space-2);z-index:2;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center}.command-palette-close:hover{color:var(--color-text-primary)}.command-palette-close svg{width:16px;height:16px}.command-palette-input-wrapper{position:relative;margin:var(--space-3)}.command-palette .command-palette-input-wrapper.filter-search-dropdown{position:relative;top:auto;right:auto;transform:none;width:100%}.command-palette .search-bar-input{width:100%}.command-palette-kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:1;font-size:var(--font-size-xs);font-family:inherit;color:var(--color-text-tertiary);background:transparent;border:var(--border-width-thin) solid var(--color-text-tertiary);border-radius:var(--border-radius-sm);padding:1px 4px;line-height:1.4}.command-palette-divider{height:var(--border-width);background:var(--color-border-primary)}.command-palette-list{list-style:none;margin:0;padding:var(--space-2) 0;overflow-y:auto;max-height:50vh}.command-palette-empty{text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm);padding:var(--space-4)}.command-palette-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:0;cursor:pointer;color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-family-mono, monospace);transition:background-color .1s ease,color .1s ease}.command-palette-item.selected,.command-palette-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.command-palette-item-icon{width:var(--cmd-palette-item-icon-size);height:var(--cmd-palette-item-icon-size);flex-shrink:0;opacity:var(--opacity-muted)}.command-palette-item.selected .command-palette-item-icon,.command-palette-item:hover .command-palette-item-icon{opacity:1}.command-palette-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette-item-group{font-size:var(--font-size-xs);color:var(--color-text-primary);text-transform:capitalize}.command-palette-item-shortcut{flex-shrink:0;font-size:var(--font-size-xs);font-family:inherit;color:var(--color-text-tertiary);background:transparent;border:var(--border-width-thin) solid var(--color-text-tertiary);border-radius:var(--border-radius-sm);padding:1px 4px;min-width:var(--cmd-palette-item-icon-size);text-align:center;line-height:1.4}.command-palette-section-label{list-style:none;padding:var(--space-2) var(--space-4) var(--space-1);font-size:var(--font-size-2xs, .65rem);font-weight:var(--font-weight-bold, 700);text-transform:uppercase;letter-spacing:var(--heading-letter-spacing, .08em);color:var(--color-text-tertiary)}.command-palette-footer{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:var(--border-width-thin) solid var(--color-border-primary);background:var(--color-bg-secondary)}.command-palette-hint{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-primary)}.command-palette-hint kbd{font-family:inherit;font-size:var(--font-size-xs);color:var(--color-text-tertiary);background:transparent;border:var(--border-width-thin) solid var(--color-text-tertiary);border-radius:var(--border-radius-sm);padding:1px 4px;min-width:var(--cmd-palette-item-icon-size);text-align:center;line-height:1.6}@media(max-width:767px){.command-palette{width:calc(100vw - var(--space-2));max-height:80vh}.command-palette-footer{display:none}}}@layer pages;@layer pages{.shortcuts-overlay{position:fixed;inset:0;z-index:var(--z-index-portal-modal);display:flex;align-items:flex-start;justify-content:center;background:var(--portal-alpha-black-50);-webkit-backdrop-filter:blur(var(--blur-backdrop));backdrop-filter:blur(var(--blur-backdrop))}.shortcuts-panel{width:min(var(--cmd-palette-max-width),calc(100vw - var(--space-4)));max-height:70vh;display:flex;flex-direction:column;background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-text-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.shortcuts-header{display:flex;align-items:center;gap:var(--space-2)}.shortcuts-header-icon{width:1em;height:1em;flex-shrink:0;color:var(--color-text-primary)}.shortcuts-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.shortcuts-divider{height:var(--border-width);background:var(--color-text-primary)}.shortcuts-body{overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.shortcuts-group-title{margin:0 0 var(--space-2) 0}.shortcuts-list{display:flex;flex-direction:column;gap:var(--space-1)}.shortcuts-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.shortcuts-description{font-size:var(--font-size-sm);color:var(--color-text-primary)}.shortcuts-keys{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.shortcuts-kbd{font-family:inherit;font-size:var(--font-size-xs);color:var(--color-text-primary);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-text-primary);border-radius:var(--border-radius-sm);min-width:var(--space-3);text-align:center;line-height:1.6}.shortcuts-footer{display:flex;align-items:center;justify-content:center;border-top:var(--border-width) solid var(--color-text-primary);background:var(--color-bg-secondary)}.shortcuts-footer-hint{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary)}@media(max-width:767px){.shortcuts-panel{width:calc(100vw - var(--space-2));max-height:80vh}.shortcuts-footer{display:none}}}@layer pages;@layer pages{.detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2);overflow:visible;position:relative;z-index:var(--z-index-10)}.detail-title-group{display:flex;align-items:center;gap:var(--space-1-5);min-width:0;flex:1}.detail-title{margin:0;padding:2px;font-size:clamp(1.5rem,4vw,2rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-actions{display:flex;align-items:center;gap:var(--table-actions-gap);flex-shrink:0;overflow:visible;position:relative;--portal-btn-icon-size: var(--icon-size-sm)}.detail-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.detail-name-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.detail-name-row h1{min-width:0;flex-shrink:1}.detail-name-row .dropdown-trigger--status{flex-shrink:0;width:auto;min-width:auto;max-width:none}.detail-meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--font-size-sm)}.detail-meta .meta-item{flex-direction:row;align-items:center;gap:var(--space-1)}.detail-meta .field-label{display:inline;margin-bottom:0}@media(max-width:767px){.detail-title-row{align-items:flex-start;gap:var(--space-1-5)}.detail-title-group{min-width:0;flex:1}.detail-title{white-space:normal;word-break:break-word}.detail-name-row{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.detail-actions{flex-shrink:0}}@media(max-width:479px){.detail-actions .btn span{display:none}}}@layer pages;@layer pages{body[data-page=client]{background:var(--color-bg-primary);font-weight:var(--font-weight-base);color:var(--color-text-primary)}.dashboard-content{overflow-x:hidden}@media(max-width:600px){body[data-active-tab=messages] .portal .dashboard-content>:first-child,body.messages-tab-active .portal .dashboard-content>:first-child{padding-top:0}body[data-active-tab=messages] .portal .portal-header-subtabs,body.messages-tab-active .portal .portal-header-subtabs,body[data-active-tab=messages] .portal .tab-content,body.messages-tab-active .portal .tab-content{margin:0}body[data-active-tab=messages] .portal .messages-layout,body.messages-tab-active .portal .messages-layout{gap:0}body[data-active-tab=messages] .portal .messages-container,body.messages-tab-active .portal .messages-container{margin:0}}.portal .dashboard-content .mobile-menu-toggle{display:none;align-items:center;justify-content:center;width:var(--space-5);height:var(--space-5);padding:0;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;flex-shrink:0}.portal .dashboard-content .mobile-menu-toggle:focus-visible{outline:var(--focus-ring-width-thick) solid var(--color-accent);outline-offset:var(--focus-ring-offset-sm)}@media(max-width:600px){.portal .sidebar.collapsed~.dashboard-content .mobile-menu-toggle{display:flex}}.portal h1,.portal h2,.portal h3,.portal h4,.portal h5,.portal h6{font-family:var(--font-family-serif, "Cormorant Garamond", Georgia, serif)}.content-area{max-width:100%}.portal-main-container{width:100%;max-width:1400px;border:var(--portal-border)}.header-toggle-button{display:inline-flex;align-items:center;justify-content:center;width:var(--space-3-5);height:var(--space-3-5);padding:0;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);transition:color var(--transition-fast),background var(--transition-fast);flex-shrink:0}.header-toggle-button:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.header-toggle-button:focus-visible{outline:var(--focus-ring-width-thick) solid var(--color-accent);outline-offset:var(--focus-ring-offset-sm)}.sidebar-toggle-icon{width:var(--space-2);height:var(--space-2);flex-shrink:0}.page-header.primary-header-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}@media(max-width:767px){.portal-header-subtabs{flex-wrap:wrap;gap:var(--space-1)}}.portal .tab-content>.page-title,.portal .tab-content>.page-header>.page-title{display:none}.page-title{margin-bottom:var(--space-3)}.page-title h1,.page-title h2{font-family:var(--font-family-mono);font-size:clamp(1.5rem,4vw,2rem);color:var(--color-text-primary);margin:0;text-transform:uppercase}.page-header:not(.primary-header-row) h1,.page-header:not(.primary-header-row) h2{font-family:var(--font-family-mono);font-size:clamp(1.5rem,4vw,2rem);color:var(--color-text-primary);margin:0;text-transform:uppercase}.portal-header{position:sticky;top:0;z-index:var(--z-index-20);background:transparent;border-bottom:var(--border-width) solid var(--portal-alpha-white-15)}.toggle-icon{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);transition:transform var(--transition-medium)}.login-btn.loading{opacity:var(--opacity-subtle);cursor:not-allowed}@media(min-width:768px){#folder-sidebar{display:block}}@media(max-width:767px){#folder-sidebar{display:none}}body[data-page=client] .msgtab-avatar.is-admin{mask-image:none;-webkit-mask-image:none;background-color:transparent;border:var(--portal-border);display:flex;align-items:center;justify-content:center}body[data-page=client] .msgtab-avatar.is-client{background-color:var(--color-text-primary);mask-image:url(/images/avatar_small_sidebar.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/images/avatar_small_sidebar.svg);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;border:none}}@layer pages;@layer pages{.project-status,.project-progress{margin:0 0 var(--space-1) 0;font-size:var(--font-size-sm)}.section-icon{font-size:var(--font-size-sm);flex-shrink:0}.projects-list{display:flex;flex-direction:column;flex:1;overflow-y:auto}.project-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.project-details{overflow-y:auto}.project-status{border:var(--portal-border);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.preview-container{display:flex;flex-direction:column;height:calc(100vh - 200px);border:var(--portal-border)}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:var(--portal-border)}.preview-url{display:flex;align-items:center;gap:var(--space-1);border:var(--portal-border);font-size:var(--font-size-sm)}.url-icon{display:flex;align-items:center;color:var(--color-text-secondary)}.url-text{font-family:var(--font-mono);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-actions{display:flex;gap:var(--space-1)}.preview-frame-wrapper{flex:1;overflow:hidden}.preview-frame{width:100%;height:100%;border:none}@media(max-width:767px){.overview-grid{grid-template-columns:1fr}.preview-container{height:auto;min-height:300px}.preview-toolbar{flex-direction:column;gap:var(--space-2)}.preview-url{width:100%;font-size:var(--font-size-xs)}.preview-actions{width:100%;justify-content:flex-end}}}@layer pages{.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--portal-section-gap);max-width:1100px}@media(max-width:767px){.settings-grid{grid-template-columns:1fr}}.settings-section{display:flex;flex-direction:column}.settings-section-wide{grid-column:span 2}@media(max-width:767px){.settings-section-wide{grid-column:span 1}}.settings-section h3{margin:0 0 var(--space-3) 0}.settings-section .settings-form{flex:1;display:flex;flex-direction:column}.settings-section .settings-form button[type=submit]{margin-top:auto}.billing-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--portal-section-gap)}.billing-column{display:flex;flex-direction:column;gap:var(--space-2)}.billing-submit{grid-column:span 2;justify-self:start}@media(max-width:767px){.billing-form-grid{grid-template-columns:1fr}.billing-submit{grid-column:span 1}}.settings-form{display:flex;flex-direction:column;gap:var(--space-2)}.form-help{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.portal .settings-form-section{display:flex;flex-direction:column;gap:var(--space-3)}.portal .settings-form-section .section-description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.portal .section-description-group{display:flex;flex-direction:column;gap:var(--space-1)}.portal .notification-options{display:flex;flex-direction:column;gap:var(--space-2)}.portal .notification-option{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);background:transparent;border:var(--portal-border)}.portal .notification-option-content{display:flex;align-items:flex-start;gap:var(--space-3)}.portal .notification-option-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-primary)}.portal .notification-option-text{display:flex;flex-direction:column;gap:var(--space-0-5)}.portal .notification-option-label{font-size:var(--font-size-base)}.portal .notification-option-description{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.portal .notification-note-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.portal .notification-toggle{position:relative;display:inline-flex;height:var(--space-2-5);width:var(--space-4-5);flex-shrink:0;cursor:pointer;border:var(--portal-border);background:transparent;transition:background-color var(--transition-fast)}.portal .notification-toggle:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.portal .notification-toggle.is-checked{background:var(--color-text-primary)}.portal .notification-toggle .toggle-thumb{pointer-events:none;display:inline-block;height:var(--icon-size-sm);width:var(--icon-size-sm);background:var(--color-text-primary);transform:translate(0);transition:transform var(--transition-fast);margin:var(--border-width)}.portal .notification-toggle.is-checked .toggle-thumb{background:var(--color-bg-tertiary);transform:translate(var(--icon-size-sm))}.portal .notification-toggle .toggle-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.portal .notification-toggle .toggle-loading svg{width:var(--icon-size-xs);height:var(--icon-size-xs);color:var(--color-text-primary);animation:spin var(--animation-spinner)}.portal .notification-toggle.is-checked .toggle-loading svg{color:var(--color-bg-tertiary)}@media(max-width:600px){.portal .notification-option{flex-direction:column;gap:var(--space-2)}.portal .notification-option-content{width:100%}}}@layer pages{.help-search-container{position:relative;width:var(--aside-width-medium)}.portal .help-main-grid{display:grid;grid-template-columns:minmax(280px,var(--aside-width-wide)) 1fr;gap:0;align-items:start}.help-left-column{overflow-y:auto}.help-right-column{min-height:var(--help-right-column-min-height)}@media(max-width:767px){.help-main-grid{grid-template-columns:1fr}}.help-category-icon{display:inline-flex;align-items:center;flex-shrink:0;width:1em;height:1em}.help-accordion-articles{display:flex;flex-direction:column;gap:var(--space-0-5)}.help-accordion-article{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-1-5);margin:0;width:100%;color:var(--color-text-primary);background:none;border:none;font-size:var(--font-size-sm);text-align:left;cursor:pointer}.help-accordion-article:hover{background:var(--color-bg-hover)}.help-featured-card{display:flex;align-items:flex-start;gap:var(--space-1-5);border:var(--portal-border);color:var(--color-text-primary);width:100%;cursor:pointer}.help-featured-card:hover{border-color:var(--color-accent)}.help-featured-card-icon{display:flex;align-items:center;justify-content:center;width:var(--icon-size-2xl);height:var(--icon-size-2xl)}.help-featured-card-content{flex:1;min-width:0}.help-featured-card-title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.help-featured-card-summary{margin:var(--space-0-5) 0 0;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.help-contact-section{border-top:var(--portal-border)}.help-contact-section .data-table-header{border-bottom:none}.help-contact-content{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.help-contact-text{flex:1;min-width:var(--help-contact-min-width)}.help-contact-description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.help-contact-actions{display:flex;flex-direction:row;align-items:center;gap:var(--space-1)}.help-result-item{display:flex;align-items:flex-start;gap:var(--space-1-5);width:100%;border:var(--portal-border);color:var(--color-text-primary);cursor:pointer}.help-result-item:hover{border-color:var(--color-accent)}.help-result-icon{flex-shrink:0}.help-result-content{flex:1}.help-result-title{margin:0;font-weight:var(--font-weight-semibold)}.help-result-category{margin:var(--space-0-5) 0 0;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.help-article-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);border-bottom:var(--portal-border)}.help-article-title-row{display:flex;align-items:center;gap:var(--space-1-5);margin-bottom:var(--space-2)}.help-article-title-row h1{margin:0;font-family:var(--font-family-mono);font-size:var(--font-size-xl)}.help-article-body{line-height:1.7}.help-article-body p{margin:0 0 var(--space-1-5)}.help-article-body h2,.help-article-body h3,.help-article-body h4{margin:var(--space-2) 0 var(--space-1)}.help-article-body ul,.help-article-body ol{margin:0 0 var(--space-1-5) var(--space-2);padding:0}.help-article-body li{margin-bottom:var(--space-0-5)}.help-article-body a{color:var(--color-accent)}.help-article-body code{font-family:monospace;font-size:var(--font-size-sm)}.help-article-body pre{margin:0 0 var(--space-1-5);border:var(--portal-border);overflow-x:auto}.help-article-body pre code{padding:0}@media(max-width:600px){.help-contact-content{flex-direction:column;align-items:stretch}.help-contact-actions{align-items:stretch}}}@layer pages{.portal .checklist-card{margin-bottom:var(--space-2)}.portal .content-item-row{padding:var(--space-1) var(--content-gutter);border-bottom:var(--portal-border)}.portal .content-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-1)}.portal .content-item-body{flex:1}.portal .content-item-title{display:flex;align-items:center;gap:var(--space-0-5)}.portal .content-item-required{color:var(--color-danger);font-size:var(--font-size-xs)}.portal .content-item-description{margin:var(--space-0-5) 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.portal .content-item-revision-notes{margin-top:var(--space-0-5);padding:var(--space-0-5) var(--space-1);background:var(--color-bg-prominent);font-size:var(--font-size-sm)}.portal .content-item-submission{margin-top:var(--space-1)}.portal .content-submission-form{display:flex;gap:var(--space-0-5);align-items:flex-start}.portal .content-submission-form .form-input{flex:1}.portal .content-submission-form .btn-primary{white-space:nowrap}.portal .content-item-submitted p{margin:0;font-size:var(--font-size-sm)}.portal .content-item-submitted pre{margin:0;font-size:var(--font-size-xs)}.portal .content-file-hint,.portal .checklist-project-name{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.portal .content-item-submitted span{font-size:var(--font-size-sm)}}@layer pages{.portal .documents-intro{margin:0 0 var(--space-2) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.portal .documents-list{display:flex;flex-direction:column;gap:var(--space-1)}.portal .documents-card{width:100%;cursor:pointer}.portal .documents-card.portal-list-item{flex-direction:column;align-items:flex-start;gap:var(--space-0-5);margin-bottom:0}.portal .documents-card-title{display:block;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-0-5)}.portal .documents-card-status{align-self:flex-start}.portal .documents-card-due{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.portal .documents-empty,.portal .documents-loading,.portal .documents-error{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.portal .documents-error{color:var(--color-error-500)}.portal .documents-detail-back{margin-bottom:var(--space-1-5)}.portal .documents-detail-wrap h3{margin-bottom:var(--space-1)}.portal .documents-detail-description,.portal .documents-detail-meta{margin:0 0 var(--space-1-5) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.portal .documents-detail-upload{margin-top:var(--space-2);border-top:var(--border-width) solid var(--color-border-secondary)}.portal .documents-upload-label{display:block;margin-bottom:var(--space-0-5)}.portal .documents-dropzone{margin-bottom:var(--space-1-5)}.portal .documents-upload-actions{display:flex;justify-content:flex-end}.portal .documents-upload-hint{margin:0;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.portal .documents-upload-error{margin:0 0 var(--space-1) 0;font-size:var(--font-size-xs);color:var(--color-error-500)}.portal .documents-file-input{margin-right:var(--space-1);margin-bottom:var(--space-1)}.portal .documents-upload-btn{display:inline-flex;align-items:center;gap:var(--space-0-5)}@media(max-width:767px){.portal .documents-upload-actions{flex-direction:column;gap:var(--space-2)}.portal .documents-upload-btn{width:100%;justify-content:center}}}@layer pages;body[data-page=admin],body[data-page=client]{font-family:var(--font-family-mono);background-color:var(--color-bg-primary);--color-text-primary: #333333;--color-bg-primary: var(--color-off-white);--color-bg-hover: var(--color-gray-100);--form-btn-shadow: var(--color-text-primary);--color-text-secondary: var(--color-text-primary);--color-text-tertiary: var(--color-text-primary);--color-text-muted: var(--color-text-primary);--color-text-inverse: var(--color-bg-primary);--color-bg-secondary: var(--color-bg-primary);--color-bg-tertiary: var(--color-bg-primary);--color-bg-raised: var(--color-bg-primary);--color-bg-elevated: var(--color-bg-primary);--color-bg-prominent: var(--color-bg-primary);--color-bg-readonly: var(--color-bg-primary);--color-bg-active: color-mix(in srgb, var(--color-bg-primary), var(--color-text-primary) 15%);--color-border-primary: var(--color-text-primary);--color-border-secondary: var(--color-text-primary);--portal-border: var(--border-width) solid var(--color-border-primary);--portal-input-border: var(--border-width-thin) solid var(--color-border-primary);--table-border-color: var(--color-border-primary);--portal-alpha-white-02: color-mix(in srgb, var(--color-text-primary), transparent 98%);--portal-alpha-white-04: color-mix(in srgb, var(--color-text-primary), transparent 96%);--portal-alpha-white-05: color-mix(in srgb, var(--color-text-primary), transparent 95%);--portal-alpha-white-08: color-mix(in srgb, var(--color-text-primary), transparent 92%);--portal-alpha-white-10: color-mix(in srgb, var(--color-text-primary), transparent 90%);--portal-alpha-white-15: color-mix(in srgb, var(--color-text-primary), transparent 85%);--portal-alpha-white-20: color-mix(in srgb, var(--color-text-primary), transparent 80%);--portal-alpha-white-25: color-mix(in srgb, var(--color-text-primary), transparent 75%);--portal-alpha-white-30: color-mix(in srgb, var(--color-text-primary), transparent 70%);--portal-alpha-white-50: color-mix(in srgb, var(--color-text-primary), transparent 50%);--portal-alpha-black-04: color-mix(in srgb, black, transparent 96%);--portal-alpha-black-05: color-mix(in srgb, black, transparent 95%);--portal-alpha-black-10: color-mix(in srgb, black, transparent 90%);--portal-alpha-black-15: color-mix(in srgb, black, transparent 85%);--portal-alpha-black-20: color-mix(in srgb, black, transparent 80%);--portal-alpha-black-30: color-mix(in srgb, black, transparent 70%);--portal-alpha-black-40: color-mix(in srgb, black, transparent 60%);--portal-alpha-black-50: color-mix(in srgb, black, transparent 50%);--portal-alpha-black-60: color-mix(in srgb, black, transparent 40%);--portal-alpha-black-70: color-mix(in srgb, black, transparent 30%);--portal-alpha-black-80: color-mix(in srgb, black, transparent 20%);--portal-alpha-primary-08: rgba(var(--color-accent-rgb), .08);--portal-alpha-primary-10: rgba(var(--color-accent-rgb), .1);--portal-alpha-primary-20: rgba(var(--color-accent-rgb), .2);--portal-alpha-primary-25: rgba(var(--color-accent-rgb), .25);--portal-alpha-success-10: rgba(var(--color-success-rgb), .1);--portal-alpha-success-15: rgba(var(--color-success-rgb), .15);--portal-alpha-success-25: rgba(var(--color-success-rgb), .25);--portal-alpha-warning-10: rgba(var(--color-warning-rgb), .1);--portal-alpha-danger-10: rgba(var(--color-danger-rgb), .1);--portal-radius-pill: 0;--color-hover-bg: var(--color-text-primary);--color-hover-text: var(--color-bg-primary);--color-hover-icon: var(--color-bg-primary);--color-hover-border: var(--color-text-primary);--focus-ring-color: var(--color-accent);--focus-ring-width: 1px;--focus-ring-offset: var(--space-0);--focus-ring: 0 0 0 var(--focus-ring-width) var(--focus-ring-color);--focus-ring-width-thick: 2px;--focus-ring-offset-sm: 2px;--focus-ring-offset-inset: -2px;--portal-card-padding: var(--space-1-5) var(--space-3);--portal-panel-padding-x: var(--space-3);--portal-list-item-padding: var(--space-1) var(--portal-panel-padding-x);--portal-section-gap: var(--space-3);--space-neg-px: -1px;--transform-scale-press: .95;--field-label-value-gap: calc(var(--space-px) * 2);--field-group-gap: var(--space-1-5);--portal-field-group-gap: var(--field-group-gap);--input-icon-offset: calc(var(--icon-size-md) + var(--space-2-5));--heading-page-font-size: var(--font-size-xl);--heading-page-font-weight: var(--font-weight-semibold);--heading-page-color: var(--color-text-primary);--heading-card-font-size: var(--font-size-lg);--heading-card-font-weight: var(--font-weight-regular);--heading-card-color: var(--color-text-primary);--heading-card-letter-spacing: var(--letter-spacing-label);--heading-section-font-size: var(--font-size-base);--heading-section-font-weight: var(--font-weight-medium);--heading-section-color: var(--color-text-primary);--heading-section-letter-spacing: var(--letter-spacing-label);--heading-text-transform: uppercase;--heading-font-family: var(--font-family-sans);--label-font-size: var(--font-size-sm);--label-color: var(--color-text-primary);--label-font-weight: var(--font-weight-medium);--label-text-transform: uppercase;--label-letter-spacing: var(--letter-spacing-label);--portal-subtab-family: var(--font-family-mono);--portal-subtab-size: var(--font-size-base);--portal-subtab-weight: var(--font-weight-medium);--portal-subtab-transform: uppercase;--portal-subtab-spacing: var(--letter-spacing-label);--dashboard-panel-padding: var(--space-4);--dashboard-title-margin: var(--space-3);--portal-header-height: calc(2 * var(--space-5) + var(--space-1) + 2 * var(--space-2));--portal-header-top: var(--space-2-5);--portal-header-height-line: var(--space-4);--portal-nav-gap: var(--space-6);--sidebar-icon-indent: calc(var(--space-base) * 2.25);--portal-page-top: var(--space-3);--portal-page-bottom: var(--space-6);--sidebar-collapsed-width: var(--space-7);--portal-placeholder-color: var(--color-text-tertiary);--portal-field-label-gap: var(--field-label-value-gap);--action-bar-item-height: var(--portal-btn-icon-size);--select-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23404040' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--action-btn-gap: var(--space-1);--table-header-height: var(--space-4);--table-row-height: var(--space-5);--table-cell-padding-x: clamp(var(--space-1), 2vw, var(--space-2));--table-cell-padding-y: clamp(var(--space-0-5), 1vw, var(--space-1-5));--table-outer-padding: var(--portal-panel-padding-x);--table-actions-gap: var(--icon-gap);--table-header-font-size: var(--font-size-sm);--table-cell-font-size: var(--font-size-sm);--table-header-font-weight: var(--font-weight-medium);--table-header-letter-spacing: var(--letter-spacing-label);--table-bg: transparent;--table-header-color: var(--color-text-secondary);--table-cell-color: var(--color-text-primary);--table-identity-max-width: calc(var(--space-base) * 27.5);--table-truncate-max-width: calc(var(--space-base) * 37.5);--table-checkbox-width: var(--space-5);--table-cell-max-width: calc(var(--space-base) * 25);--table-name-max-width: calc(var(--space-base) * 31.25);--table-compact-max-width: calc(var(--space-base) * 15);--table-icon-size: var(--icon-size-md);--table-action-icon-size: var(--table-icon-size);--table-sort-indicator-size: calc(var(--icon-size-xs) - var(--border-width));--table-pagination-btn-size: var(--space-3-5);--table-pagination-btn-size-touch: calc(var(--space-base) * 5.5);--table-mobile-label-width: 48%;--table-mobile-label-padding: var(--space-1-5);--table-mobile-card-gap: var(--space-2);--table-mobile-card-padding: var(--space-2) var(--space-3);--table-col-xs: calc(var(--space-base) * 7.5);--table-col-sm: calc(var(--space-base) * 12.5);--table-col-md: calc(var(--space-base) * 18.75);--table-col-lg: calc(var(--space-base) * 25);--table-col-xl: calc(var(--space-base) * 35);--dropdown-padding-x: var(--space-1-5);--dropdown-padding-y: var(--space-1);--dropdown-item-height: var(--space-4);--status-dropdown-width: var(--space-20);--portal-dropdown-min-width: var(--status-dropdown-width);--shadow-dropdown: none;--shadow-dropdown-xl: none;--opacity-faint: .3;--opacity-inactive: .4;--opacity-disabled: .5;--opacity-muted: .6;--opacity-subtle: .7;--opacity-secondary: .8;--opacity-high: .9;--opacity-completed: .5;--blur-backdrop: 4px;--blur-modal: 8px;--aside-width-narrow: 240px;--aside-width-medium: 280px;--aside-width-wide: 320px;--min-height-textarea: 60px;--min-height-textarea-lg: 80px;--analytics-grid-min-width: 260px;--stat-card-min-height: 120px;--chart-height: 320px;--chart-placeholder-min-height: 200px;--progress-bar-height: 12px;--progress-bar-height-sm: 8px;--progress-bar-height-lg: 16px;--kanban-board-min-height: 500px;--kanban-column-min-width: 200px;--kanban-column-offset: 320px;--kanban-content-min-height: 120px;--hover-lift-sm: -2px;--tasks-kanban-board-offset: 280px;--tasks-kanban-column-offset: 320px;--tasks-kanban-column-min-width: 200px;--kanban-skeleton-height: 256px;--tasks-textarea-min-height: 60px;--tasks-progress-track-max-width: 200px;--config-grid-min-width: 280px;--config-overview-grid-min-width: 180px;--config-textarea-min-height: 72px;--config-field-label-min-width: 64px;--cd-sidebar-width: 300px;--pd-dropdown-max-height: 300px;--pd-truncate-filename-max-width: 300px;--detail-row-label-width: 140px;--detail-message-max-height: 200px;--details-overlay-blur: 8px;--details-panel-width: 500px;--questionnaire-builder-min-height: 100px;--questionnaire-modal-max-width: 700px;--conditional-select-min-width: 150px;--modal-width-xl: 1000px;--modal-max-height: 90vh;--modal-edge-padding: 2rem;--files-folder-panel-width: 220px;--files-browser-min-height: 300px;--files-filter-group-min-width: 140px;--files-filter-date-min-width: 120px;--files-action-btn-min-width: 90px;--files-filter-select-max-width: 300px;--portal-files-sidebar-width: 200px;--files-grid-item-min-width: 150px;--files-folder-tree-max-height: 150px;--inline-edit-date-min-width: 130px;--inline-edit-label-min-width: 140px;--inline-edit-icon-size: 10px;--inline-edit-date-icon-size: 13px;--inline-edit-compact-padding-x: 6px;--inline-edit-required-margin: 2px;--inline-edit-compact-height: 22px;--btn-size-sm: 28px;--icon-container-lg: var(--space-6);--modal-input-height: var(--space-6);--modal-dropdown-item-height: 44px;--inline-pill-height: 18px;--help-right-column-min-height: 400px;--help-contact-min-width: 200px;--toast-min-width: 250px;--toast-max-width: 400px;--progress-track-height: var(--space-0-5);--status-dot-size: 6px;--notification-badge-size: var(--icon-size-md);--notification-badge-offset: 2px;--notification-unread-dot-size: var(--space-1);--notification-dropdown-gap: var(--space-1);--notification-dropdown-width: 320px;--notification-dropdown-max-height: 420px;--notification-list-max-height: 360px;--notification-dropdown-mobile-bleed: 10px;--cmd-palette-max-width: calc(var(--space-base) * 70);--cmd-palette-search-icon-size: var(--icon-size-lg);--cmd-palette-item-icon-size: var(--icon-size-md);--color-neutral-100: color-mix(in srgb, var(--color-bg-primary), var(--color-text-primary) 10%);--color-neutral-200: color-mix(in srgb, var(--color-bg-primary), var(--color-text-primary) 4%);--color-neutral-300: var(--color-bg-primary);--color-neutral-400: color-mix(in srgb, var(--color-bg-primary), var(--color-text-primary) 47%);--color-neutral-500: color-mix(in srgb, var(--color-bg-primary), var(--color-text-primary) 63%);--color-neutral-600: color-mix(in srgb, var(--color-bg-primary), var(--color-text-primary) 75%);--color-neutral-700: color-mix(in srgb, var(--color-bg-primary), var(--color-text-primary) 88%);--color-neutral-800: color-mix(in srgb, var(--color-bg-primary), var(--color-text-primary) 96%);--color-neutral-900: var(--color-text-primary);--color-dark: var(--color-text-primary);--color-light: var(--color-bg-primary);--color-nav-text: var(--color-text-primary);--app-color-primary: var(--color-text-primary);--app-color-primary-hover: var(--color-bg-primary);--form-input-border: var(--color-text-primary);--form-input-placeholder: var(--color-neutral-400);--form-btn-bg: var(--color-text-primary);--form-btn-fg: var(--color-bg-primary);--form-btn-shadow: var(--portal-alpha-black-30);--btn-portal-primary-bg: transparent;--btn-portal-primary-color: var(--color-text-primary);--btn-portal-primary-border: var(--color-text-primary);--btn-portal-primary-hover-bg: var(--color-text-primary);--btn-portal-primary-hover-color: var(--color-bg-primary);--btn-portal-primary-hover-border: var(--color-text-primary);--btn-portal-secondary-bg: transparent;--btn-portal-secondary-color: var(--color-text-primary);--btn-portal-secondary-border: var(--color-text-primary);--btn-portal-secondary-hover-bg: var(--color-text-primary);--btn-portal-secondary-hover-color: var(--color-bg-primary);--btn-portal-secondary-hover-border: var(--color-text-primary);--btn-portal-border-color: var(--color-text-primary);--btn-portal-color: var(--color-text-primary);--btn-portal-hover-bg: var(--color-text-primary);--btn-portal-hover-color: var(--color-bg-primary);--btn-portal-hover-border: var(--color-text-primary);--dropdown-bg: var(--color-bg-secondary);--dropdown-border-color: var(--color-border-primary);--dropdown-border-width: var(--border-width);--dropdown-radius: var(--border-radius-sm);--filter-invert-controls: none;--portal-bg: var(--color-bg-primary);--ring: var(--focus-ring-color);--font-mono: var(--font-family-mono);--card-grid-gap: var(--space-4);--table-mobile-identity-tertiary-size: var(--font-size-2xs)}html[data-theme=dark] body[data-page=admin],html[data-theme=dark] body[data-page=client]{--color-text-primary: #ffffff;--color-bg-primary: #171717;--color-bg-hover: color-mix(in srgb, var(--color-bg-primary), var(--color-text-primary) 6%);--form-btn-shadow: var(--portal-alpha-black-30);--filter-invert-controls: invert(1)}[data-page=admin]{--activity-email-color: var(--app-color-info);--activity-invoice-color: var(--app-color-success);--activity-project-color: var(--color-admin-purple);--activity-file-color: var(--app-color-warning);--activity-message-color: var(--color-cyan);--activity-contact-color: var(--color-pink);--activity-status-color: var(--app-color-warning)}html:has(body[data-page=admin]),html:has(body[data-page=client]){--color-bg-primary: var(--portal-neutral-0);background-color:var(--color-bg-primary);height:100%}html[data-theme=light]:has(body[data-page=admin]),html[data-theme=light]:has(body[data-page=client]){--color-bg-primary: var(--color-off-white);background-color:var(--color-bg-primary)}.portal .nav-btn:is(.is-active,:hover) svg.lucide{color:var(--color-accent)}.portal .portal-tabs button.is-active svg.lucide,.portal .portal-subtab.is-active svg.lucide,.portal .tab-active svg.lucide{color:var(--color-accent)}.portal .icon-btn:hover svg.lucide,.portal .icon-btn:focus-visible svg.lucide{color:var(--color-accent)}.portal .icon-btn.icon-btn-primary svg.lucide,.portal .icon-btn.icon-btn-active svg.lucide{color:var(--color-accent)}.portal .icon-btn.icon-btn-success svg.lucide{color:var(--color-success)}.portal .icon-btn.icon-btn-warning svg.lucide{color:var(--color-warning)}.portal .panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:var(--space-2);white-space:nowrap}.portal .panel-title{display:inline-flex;align-items:center;gap:var(--icon-gap);margin:0;font-size:var(--font-size-xs)}.portal .portal-checkbox{all:unset;display:flex;align-items:center;justify-content:center;width:var(--space-2);height:var(--space-2);min-width:var(--space-2);min-height:var(--space-2);flex-shrink:0;border:var(--border-width-thin) solid var(--color-text-primary);border-radius:0;background:transparent;color:transparent;cursor:pointer;padding:0;box-sizing:border-box}.portal .portal-checkbox:focus-visible{border-color:var(--color-accent)}.portal .portal-checkbox:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.portal .portal-checkbox[data-state=checked],.portal .portal-checkbox.is-completed{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg-primary)}.portal .portal-checkbox svg.lucide{width:100%;height:100%;margin:0;color:inherit;stroke:currentColor;stroke-width:3.5}.portal .text-muted svg.lucide{color:var(--color-text-secondary)}.portal svg.lucide{width:1em;height:1em;flex-shrink:0;color:currentColor}.portal :where(button,a,span,div,label,p,li,h1,h2,h3,h4,td):not(.portal-checkbox):not(.portal-checkbox-indicator):has(>svg.lucide){display:inline-flex;align-items:center;gap:var(--icon-gap)}.portal :where(div,li,p,td):has(>svg.lucide){display:flex}.portal .portal-checkbox-indicator{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:inherit}.portal .portal-dropdown-item .status-dot{width:var(--icon-size-xs);height:var(--icon-size-xs);min-width:var(--icon-size-xs);min-height:var(--icon-size-xs)}.portal .portal-dropdown-item .status-indicator{gap:var(--icon-gap-sm)}.portal [aria-haspopup=menu][data-state=open]:not(.icon-btn):not(.notification-bell-btn){border-color:var(--color-border-primary);border-bottom-color:transparent}.portal [aria-haspopup=menu][data-state=open]:not(.icon-btn):not(.notification-bell-btn) .badge{border-bottom-color:transparent}@media(max-width:600px){body[data-page=admin],body[data-page=client]{--portal-card-padding: var(--space-1) var(--space-2);--portal-panel-padding-x: var(--space-2)}}:root{--content-gutter: var(--space-2);--portal-input-border: var(--portal-border)}.portal .portal-global-header>*{padding-left:var(--content-gutter);padding-right:var(--content-gutter);box-sizing:border-box}.portal .sidebar-content,.portal .dashboard-content>*:not(.tab-content):not(.tab-content-wrapper):not(.portal-tab-panel):not(.portal-subtab-content):not(.subsection):not(.section):not(.data-table-scroll-wrapper):not(.data-table-card):not(.project-overview-grid):not(.overview-grid):not(.client-overview-grid):not(.analytics-card-grid):not(.kpi-cards-row):not(button),.portal .dashboard-content :is(.tab-content,.tab-content-wrapper,.portal-tab-panel,.portal-subtab-content)>*:not(.subsection):not(.section):not(.data-table-scroll-wrapper):not(.data-table-card):not(.project-overview-grid):not(.overview-grid):not(.client-overview-grid):not(.analytics-card-grid):not(.kpi-cards-row):not(button){padding:var(--content-gutter);box-sizing:border-box}.portal .dashboard-content .help-left-column .accordion-item-content,.portal .dashboard-content .milestone-expanded-content{padding:0}.portal .dashboard-content .milestone-expanded-content>*{padding:var(--space-1) var(--content-gutter);box-sizing:border-box}.portal .dashboard-content .milestone-expanded-content>.action-group{display:flex;width:100%}.portal .dashboard-content .help-accordion-article{padding:var(--content-gutter)}.portal .dashboard-content :is(.data-table-header,.section-header,.panel-header-row,.panel-header-row--compact,.portal-card-header,.page-header){padding-left:0;padding-right:0}.portal .dashboard-content :is(.data-table-header,.section-header,.panel-header-row,.panel-header-row--compact,.portal-card-header,.page-header)>*:first-child{padding-left:var(--content-gutter)}.portal .dashboard-content :is(.data-table-header,.section-header,.panel-header-row,.panel-header-row--compact,.portal-card-header,.page-header)>*:last-child{padding-right:var(--content-gutter)}.portal .dashboard-content .kanban-column-header,.portal .dashboard-content .kanban-column-content,.portal .dashboard-content .kanban-column>h4,.portal .dashboard-content .kanban-column>.kanban-items,.portal .dashboard-content .accordion-item-wrapper>*:not(button),.portal .dashboard-content .msgtab-bubble>*:not(button),.portal .dashboard-content .help-featured-card,.portal .dashboard-content .dropzone-content,.portal .dashboard-content #folder-sidebar>*:not(button),.portal .dashboard-content .folder-item,.portal .dashboard-content .settings-fields,.portal .dashboard-content .notification-options,.portal .dashboard-content .notification-options>*{padding:var(--content-gutter);box-sizing:border-box}.portal .dashboard-content .settings-fields>*{padding-top:var(--content-gutter)}.portal .dashboard-content .panel>*:not(.accordion-item-wrapper):not(.data-table-header):not(.section-header):not(.panel-header-row):not(.panel-header-row--compact):not(.portal-card-header):not(.page-header):not(.milestone-list):not(.messaging-top-bar):not(.messaging-columns):not(.panel-body):not(.panel-body--compact):not(button),.portal .dashboard-content .section-content>*:not(button),.portal .dashboard-content .data-table-card>*:not(.data-table-header):not(.section-header):not(.data-table-scroll-wrapper):not(.data-table-container):not(.msgtab-container):not(button),.portal .dashboard-content .config-content>*:not(button),.portal .dashboard-content .milestone-list,.portal .dashboard-content .progress-field,.portal .dashboard-content .portal-card>*:not(.data-table-header):not(.section-header):not(.portal-card-header):not(.panel-header-row):not(.panel-header-row--compact):not(button),.portal .dashboard-content .stat-card,.portal .dashboard-content .activity-list>li,.portal .dashboard-content .activity-feed>li,.portal .dashboard-content .detail-list>li,.portal .dashboard-content .status-empty,.portal .dashboard-content .status-content,.portal .dashboard-content .loading-state,.portal .dashboard-content .empty-state,.portal .dashboard-content .error-state,.portal .dashboard-content .help-contact-text>*:not(.data-table-header),.portal .dashboard-content .help-contact-actions{padding:var(--content-gutter);box-sizing:border-box}.portal .dashboard-content .activity-list>li,.portal .dashboard-content .activity-feed>li,.portal .dashboard-content .detail-list>li{padding:var(--space-1) var(--content-gutter)}.portal .overview-table-section,.portal .overview-table-section .table-layout,.portal .overview-table-section .data-table-card,.portal .project-overview-grid,.portal .overview-grid,.portal .client-overview-grid,.portal .analytics-card-grid,.portal .kpi-cards-row,.portal .panel-body--compact,.portal .activity-panel .panel-body{padding:0}.portal .dashboard-content .panel-body>*,.portal .dashboard-content .panel-body.ovdash-quick-actions{padding:var(--content-gutter);box-sizing:border-box}.portal .analytics-chart-panel,.portal .dashboard-content .data-table-scroll-wrapper.data-table-scroll-wrapper,.portal .dashboard-content .msgtab-container,.portal .dashboard-content .msgtab-thread-area,.portal .dashboard-content .msgtab-compose-area{padding:0}@media(max-width:600px){body:is([data-active-tab=messages],.messages-tab-active) .portal .tab-content{padding:0}}.portal .dashboard-content .data-table-container td,.portal .dashboard-content .data-table-container th,.portal .dashboard-content .contract-panel-no-padding .pd-table-cell,.portal .dashboard-content .pd-clickable-row .pd-table-cell{padding:var(--space-1) var(--content-gutter)}.portal .dashboard-content .msgtab-thread-area>*,.portal .dashboard-content .msgtab-thread-area>div>div>*:not(.msgtab-row),.portal .dashboard-content .msgtab-compose-area>*{padding:var(--content-gutter);box-sizing:border-box}body:has(.portal-dropdown-content[data-side=top]) .dropdown-trigger[data-state=open]{border-bottom-color:var(--color-border-primary)!important;border-top-color:transparent!important}body:has(.portal-dropdown-content[data-side=top]) .files-category-trigger[data-state=open]{border-bottom-color:var(--color-accent)!important;border-top-color:transparent!important}@layer utilities;body[data-page=client]{height:100vh;height:100dvh;overflow:hidden}.portal{display:block;width:100%;max-width:100vw;overflow:hidden}.portal.hidden,.portal.hidden .sidebar,.portal.hidden .dashboard-content{display:none;visibility:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-neutral-200)}::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-500)}
