@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap";.loading-spinner-container{display:flex;align-items:center;justify-content:center;min-height:200px;width:100%}.loading-spinner{width:36px;height:36px;border:3px solid var(--color-border);border-top-color:var(--color-brand-500);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes spin{to{transform:rotate(360deg)}}.notification-toast-container{position:fixed;bottom:var(--space-4, 16px);right:var(--space-4, 16px);z-index:9999;display:flex;flex-direction:column-reverse;gap:var(--space-2, 8px);max-width:400px;pointer-events:none}.notification-toast{display:flex;align-items:flex-start;gap:var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff);border-left:4px solid var(--color-brand-500, #3b82f6);box-shadow:0 4px 12px #00000026;cursor:pointer;pointer-events:auto;animation:toast-slide-in .3s ease-out forwards}.notification-toast--exiting{animation:toast-slide-out .3s ease-in forwards}.notification-toast--info{border-left-color:var(--color-brand-500, #3b82f6)}.notification-toast--warning{border-left-color:var(--color-warning-500, #f59e0b)}.notification-toast--critical{border-left-color:var(--color-danger-500, #ef4444);background:var(--color-danger-50, #fef2f2)}.notification-toast__icon{flex-shrink:0;font-size:1.25rem;line-height:1;margin-top:2px}.notification-toast__content{flex:1;min-width:0}.notification-toast__title{font-size:var(--type-body-size, 14px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text, #111827);line-height:1.4}.notification-toast__body{font-size:var(--type-small-size, 13px);color:var(--color-muted, #6b7280);margin-top:2px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-toast__dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--color-muted, #6b7280);font-size:1.25rem;line-height:1;padding:0;margin-top:-2px;opacity:.6;transition:opacity .15s ease}.notification-toast__dismiss:hover{opacity:1}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.notification-dropdown-wrapper{position:relative}.notification-dropdown-trigger{position:relative;background:none;border:none;cursor:pointer;padding:var(--space-1, 4px);font-size:1.25rem;line-height:1;color:var(--color-muted, #6b7280);transition:color .15s ease}.notification-dropdown-trigger:hover{color:var(--color-text, #111827)}.notification-bell{display:block}.notification-badge{position:absolute;top:-2px;right:-4px;background:var(--color-danger-500, #ef4444);color:#fff;font-size:10px;font-weight:var(--font-weight-bold, 700);line-height:1;padding:2px 5px;border-radius:999px;min-width:16px;text-align:center;pointer-events:none}.notification-dropdown-panel{position:absolute;top:calc(100% + var(--space-2, 8px));right:0;width:360px;max-height:480px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 8px);box-shadow:0 8px 24px #0000001f;display:flex;flex-direction:column;z-index:1000;animation:dropdown-fade-in .15s ease-out}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3, 12px) var(--space-4, 16px);border-bottom:1px solid var(--color-border, #e5e7eb)}.notification-dropdown-title{font-size:var(--type-body-size, 14px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text, #111827)}.notification-mark-all{background:none;border:none;cursor:pointer;font-size:var(--type-small-size, 13px);color:var(--color-brand-600, #2563eb);padding:0}.notification-mark-all:hover{text-decoration:underline}.notification-mark-all:disabled{opacity:.5;cursor:default}.notification-dropdown-list{flex:1;overflow-y:auto}.notification-item{display:flex;align-items:flex-start;gap:var(--space-3, 12px);width:100%;padding:var(--space-3, 12px) var(--space-4, 16px);background:none;border:none;border-bottom:1px solid var(--color-border, #e5e7eb);cursor:pointer;text-align:left;transition:background .1s ease}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--color-surface-strong, #f9fafb)}.notification-item--unread{background:var(--color-brand-50, #eff6ff)}.notification-item--unread:hover{background:var(--color-brand-100, #dbeafe)}.notification-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--color-brand-500, #3b82f6)}.notification-dot--info{background:var(--color-brand-500, #3b82f6)}.notification-dot--warning{background:var(--color-warning-500, #f59e0b)}.notification-dot--critical{background:var(--color-danger-500, #ef4444)}.notification-item__content{flex:1;min-width:0}.notification-item__title{font-size:var(--type-body-size, 14px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text, #111827);line-height:1.4}.notification-item__body{font-size:var(--type-small-size, 13px);color:var(--color-muted, #6b7280);margin-top:2px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.notification-item__time{font-size:11px;color:var(--color-muted, #9ca3af);margin-top:4px}.notification-empty{padding:var(--space-6, 24px);text-align:center;color:var(--color-muted, #6b7280);font-size:var(--type-body-size, 14px)}.notification-dropdown-footer{border-top:1px solid var(--color-border, #e5e7eb);padding:var(--space-2, 8px) var(--space-4, 16px);text-align:center}.notification-view-all{font-size:var(--type-small-size, 13px);color:var(--color-brand-600, #2563eb);text-decoration:none}.notification-view-all:hover{text-decoration:underline}.app-shell{display:flex;height:100vh;overflow:hidden;background:var(--color-bg);color:var(--color-text);font-family:var(--font-family-base)}.app-sidebar{width:240px;min-width:240px;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;transition:width var(--motion-duration-medium) var(--motion-ease-standard),min-width var(--motion-duration-medium) var(--motion-ease-standard);overflow:hidden}.app-sidebar.collapsed{width:56px;min-width:56px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);min-height:56px}.sidebar-brand{font-size:var(--type-h3-size);font-weight:var(--font-weight-bold);color:var(--color-brand-600);white-space:nowrap}.sidebar-toggle{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-muted);font-size:var(--font-size-lg);width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color var(--motion-duration-fast) var(--motion-ease-standard),background var(--motion-duration-fast) var(--motion-ease-standard)}.sidebar-toggle:hover{background:var(--color-surface-strong);color:var(--color-text)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);overflow-y:auto;flex:1}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);text-decoration:none;color:var(--color-muted);font-size:var(--type-body-size);font-weight:var(--font-weight-regular);white-space:nowrap;transition:background var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.nav-item:hover{background:var(--color-surface-strong);color:var(--color-text)}.nav-item--active{background:var(--color-brand-50);color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.nav-icon{font-size:1.15em;width:20px;text-align:center;flex-shrink:0}.nav-label{overflow:hidden;text-overflow:ellipsis}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.app-topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-surface);min-height:56px}.topbar-title{font-size:var(--type-h4-size);font-weight:var(--font-weight-semibold)}.topbar-actions{display:flex;align-items:center;gap:var(--space-4);color:var(--color-muted);font-size:var(--type-body-size)}.app-content{flex:1;overflow-y:auto;padding:var(--space-6)}.topbar-signout{margin-left:8px;padding:4px 10px;font-size:13px;border:1px solid var(--ds-color-border, #d5d9de);border-radius:6px;background:transparent;color:var(--ds-color-text-muted, #5b636c);cursor:pointer}.topbar-signout:hover{background:var(--ds-color-surface-muted, #f1f3f5);color:var(--ds-color-text, #1a1d21)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ds-color-surface-muted, #f5f6f8);padding:24px}.login-card{width:100%;max-width:360px;background:var(--ds-color-surface, #fff);border:1px solid var(--ds-color-border, #e3e6ea);border-radius:12px;padding:40px 32px;box-shadow:0 8px 30px #0000000f;text-align:center}.login-brand{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--ds-color-text, #1a1d21)}.login-sub{margin:8px 0 28px;color:var(--ds-color-text-muted, #5b636c);font-size:14px}.login-google{display:flex;justify-content:center}.login-dev{display:flex;flex-direction:column;gap:10px;text-align:left}.login-dev-note{font-size:12px;color:var(--ds-color-text-muted, #8a929b);margin:0 0 4px}.login-dev input,.login-dev select{padding:10px 12px;border:1px solid var(--ds-color-border, #d5d9de);border-radius:8px;font-size:14px}.login-error{margin-top:16px;color:var(--ds-color-danger, #c0392b);font-size:13px}.login-unavailable{color:var(--ds-color-text-muted, #5b636c);font-size:14px;line-height:1.5;margin:8px 0 0}:root{--font-family-base: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-weight-regular: 400;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--line-height-tight: 1.3;--line-height-comfortable: 1.45;--line-height-base: 1.6;--type-display-size: 3rem;--type-display-line: 1.1;--type-display-weight: var(--font-weight-bold);--type-h1-size: 2.4rem;--type-h1-line: 1.2;--type-h1-weight: var(--font-weight-bold);--type-h2-size: 2rem;--type-h2-line: 1.25;--type-h2-weight: var(--font-weight-bold);--type-h3-size: 1.5rem;--type-h3-line: var(--line-height-tight);--type-h3-weight: var(--font-weight-semibold);--type-h4-size: var(--font-size-xl);--type-h4-line: 1.35;--type-h4-weight: var(--font-weight-semibold);--type-h5-size: var(--font-size-lg);--type-h5-line: 1.4;--type-h5-weight: var(--font-weight-semibold);--type-body-size: var(--font-size-md);--type-body-line: var(--line-height-base);--type-body-weight: var(--font-weight-regular);--type-label-size: var(--font-size-sm);--type-label-line: var(--line-height-comfortable);--type-label-weight: var(--font-weight-semibold);--color-brand-50: #eff6ff;--color-brand-100: #dbeafe;--color-brand-300: #93c5fd;--color-brand-500: #2563eb;--color-brand-600: #1d4ed8;--color-brand-700: #1e40af;--color-neutral-50: #f8fafc;--color-neutral-100: #f1f5f9;--color-neutral-200: #e2e8f0;--color-neutral-300: #cbd5e1;--color-neutral-500: #64748b;--color-neutral-700: #334155;--color-neutral-800: #0f172a;--color-success-50: #e3fcec;--color-success-500: #0f9f6e;--color-warning-50: #fff7ed;--color-warning-500: #f59e0b;--color-danger-50: #fef2f2;--color-danger-500: #dc2626;--color-bg: var(--color-neutral-50);--color-surface: #ffffff;--color-surface-strong: var(--color-neutral-100);--color-border: var(--color-neutral-200);--color-border-strong: var(--color-neutral-300);--color-text: var(--color-neutral-800);--color-muted: var(--color-neutral-700);--color-eyebrow: var(--color-neutral-500);--color-primary: var(--color-brand-500);--color-primary-strong: var(--color-brand-600);--color-primary-soft: var(--color-brand-100);--color-link: var(--color-primary-strong);--color-link-hover: var(--color-primary);--color-on-primary: #ffffff;--color-success: var(--color-success-500);--color-warning: var(--color-warning-500);--color-danger: var(--color-danger-500);--color-surface-disabled: var(--color-border-strong);--color-text-disabled: #94a3b8;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 2.5rem;--space-6: 3rem;--space-7: 3.5rem;--space-8: 4rem;--space-9: 4.5rem;--space-10: 5rem;--space-2xs: var(--space-1);--space-xs: var(--space-2);--space-sm: var(--space-3);--space-md: var(--space-4);--space-lg: var(--space-6);--space-xl: var(--space-8);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-focus: 0 0 0 3px rgba(37, 99, 235, .18);--elevation-1: 0 10px 30px rgba(15, 23, 42, .06);--elevation-2: 0 18px 48px rgba(15, 23, 42, .08);--elevation-3: 0 26px 64px rgba(15, 23, 42, .12);--shadow-card: var(--elevation-2);--motion-duration-fast: .12s;--motion-duration-medium: .18s;--motion-duration-slow: .24s;--motion-ease-standard: cubic-bezier(.4, 0, .2, 1);--motion-ease-emphasized: cubic-bezier(.2, 0, 0, 1);--motion-ease-exit: cubic-bezier(.33, 1, .68, 1);--icon-stroke-width: 1.75px;--icon-stroke-color: currentColor}.ds-shell{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family-base);max-width:1200px;margin:0 auto;width:min(1200px,100% - calc(var(--space-5) * 2));padding:var(--space-8) var(--space-5) var(--space-9);display:flex;flex-direction:column;gap:var(--space-5)}.ds-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--elevation-2)}.ds-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.ds-section-copy{margin:0;color:var(--color-muted);font-weight:var(--font-weight-semibold);line-height:var(--type-body-line)}.ds-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.ds-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--space-4);row-gap:var(--space-5)}.ds-grid.columns-2{grid-auto-flow:row dense}.ds-grid.columns-2>*{grid-column:span 6}.ds-stack{display:flex;flex-direction:column;gap:var(--space-3)}.ds-badge,.badge{background:var(--color-primary);color:var(--color-on-primary);padding:.35rem .75rem;border-radius:999px;font-weight:var(--font-weight-bold);display:inline-flex;align-items:center;gap:var(--space-2xs)}.badge-neutral{background:var(--color-surface-strong);color:var(--color-text)}.ds-pill,.pill{background:var(--color-neutral-200);color:var(--color-text);padding:.35rem .6rem;border-radius:999px;font-size:.85rem;font-weight:var(--font-weight-bold);display:inline-flex;align-items:center;gap:var(--space-2xs)}.pill-success,.pill.success{background:#0f9f6e1f;color:var(--color-success)}.pill-warning,.pill.warning{background:#f59e0b29;color:var(--color-warning)}.pill-danger,.pill.danger{background:#dc262624;color:var(--color-danger)}svg,.icon{stroke:var(--icon-stroke-color);stroke-width:var(--icon-stroke-width);stroke-linecap:round;stroke-linejoin:round;fill:none}.ds-button,button{border:1px solid transparent;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);padding:.75rem 1rem;cursor:pointer;font-weight:var(--font-weight-semibold);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;line-height:1.1;transition:background var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-medium) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-emphasized)}.ds-button:hover,button:hover{background:var(--color-surface-strong)}.ds-button:focus-visible,button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-soft),var(--shadow-focus)}.ds-button:active,button:active{transform:translateY(1px)}.ds-button-primary,button.primary,.ds-button.primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.ds-button-primary:hover,button.primary:hover,.ds-button.primary:hover{background:var(--color-primary-strong);box-shadow:0 12px 30px #2563eb47}.ds-button-secondary,.ds-button.secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.ds-button-secondary:hover,.ds-button.secondary:hover{background:var(--color-surface-strong);border-color:var(--color-border)}.ds-button-tertiary,.ds-button.tertiary{background:transparent;color:var(--color-link);border-color:transparent;padding-inline:.5rem}.ds-button-tertiary:hover,.ds-button.tertiary:hover{background:var(--color-primary-soft);color:var(--color-link-hover)}.ds-button-danger,.ds-button.danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-on-primary)}.ds-button-danger:hover,.ds-button.danger:hover{background:#b91c1c;box-shadow:0 12px 30px #dc262647}.ds-button:disabled,button:disabled{background:var(--color-surface-disabled);color:var(--color-text-disabled);cursor:not-allowed;border-color:var(--color-border-strong);box-shadow:none;transform:none}.ds-field-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}.ds-field-group.mobile-single{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ds-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:.35rem .5rem;border-radius:var(--radius-sm);background:var(--color-surface-strong);color:var(--color-text);border:1px solid var(--color-border);font-weight:600}.ds-rail{display:flex;gap:var(--space-2);flex-wrap:wrap}.type-display,.u-type-display{font-size:var(--type-display-size);line-height:var(--type-display-line);font-weight:var(--type-display-weight);letter-spacing:-.01em}h1,.type-h1,.u-type-h1{font-size:var(--type-h1-size);line-height:var(--type-h1-line);font-weight:var(--type-h1-weight)}h2,.type-h2,.u-type-h2{font-size:var(--type-h2-size);line-height:var(--type-h2-line);font-weight:var(--type-h2-weight)}h3,.type-h3,.u-type-h3{font-size:var(--type-h3-size);line-height:var(--type-h3-line);font-weight:var(--type-h3-weight)}h4,.type-h4,.u-type-h4{font-size:var(--type-h4-size);line-height:var(--type-h4-line);font-weight:var(--type-h4-weight)}h5,.type-h5,.u-type-h5{font-size:var(--type-h5-size);line-height:var(--type-h5-line);font-weight:var(--type-h5-weight)}p,.type-body,.u-type-body{font-size:var(--type-body-size);line-height:var(--type-body-line);font-weight:var(--type-body-weight)}.type-label,.u-type-label{font-size:var(--type-label-size);line-height:var(--type-label-line);font-weight:var(--type-label-weight);letter-spacing:.08em;text-transform:uppercase}.u-gap-1{gap:var(--space-1)}.u-gap-2{gap:var(--space-2)}.u-gap-3{gap:var(--space-3)}.u-gap-4{gap:var(--space-4)}.u-gap-5{gap:var(--space-5)}.u-gap-6{gap:var(--space-6)}.u-gap-7{gap:var(--space-7)}.u-gap-8{gap:var(--space-8)}.u-gap-9{gap:var(--space-9)}.u-gap-10{gap:var(--space-10)}.u-padding-1{padding:var(--space-1)}.u-padding-2{padding:var(--space-2)}.u-padding-3{padding:var(--space-3)}.u-padding-4{padding:var(--space-4)}.u-padding-5{padding:var(--space-5)}.u-padding-6{padding:var(--space-6)}.u-padding-7{padding:var(--space-7)}.u-padding-8{padding:var(--space-8)}.u-padding-9{padding:var(--space-9)}.u-padding-10{padding:var(--space-10)}.u-margin-bottom-1{margin-bottom:var(--space-1)}.u-margin-bottom-2{margin-bottom:var(--space-2)}.u-margin-bottom-3{margin-bottom:var(--space-3)}.u-margin-bottom-4{margin-bottom:var(--space-4)}.u-margin-bottom-5{margin-bottom:var(--space-5)}.u-margin-bottom-6{margin-bottom:var(--space-6)}.u-margin-bottom-7{margin-bottom:var(--space-7)}.u-margin-bottom-8{margin-bottom:var(--space-8)}.u-margin-bottom-9{margin-bottom:var(--space-9)}.u-margin-bottom-10{margin-bottom:var(--space-10)}@media (max-width: 1080px){.ds-grid.columns-2>*{grid-column:span 12}}@media (max-width: 780px){.ds-section-header{flex-direction:column}.ds-grid.columns-2,.ds-field-group,.ds-field-group.mobile-single{grid-template-columns:1fr}.ds-grid.columns-2>*{grid-column:span 12}.ds-button[data-mobile-fullwidth=true]{width:100%;text-align:center}}:root{font-family:var(--font-family-base);font-weight:var(--font-weight-regular);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-bg);line-height:var(--line-height-base)}body{margin:0;min-height:100vh;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-family-base)}*{box-sizing:border-box}a{color:var(--color-link);font-weight:var(--font-weight-semibold);text-decoration:none}a:hover{color:var(--color-link-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:var(--shadow-focus);border-radius:var(--radius-sm)}
