@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--color-navy: #1E2A3A;--color-blue: #3B7DD8;--color-blue-hover: #2563EB;--color-tan: #A08060;--color-tan-light: #D4B896;--color-bg: #F8F9FA;--color-surface: #FFFFFF;--color-surface-raised: #F0F4F8;--color-text: #1A2233;--color-text-secondary: #4A5568;--color-text-muted: #718096;--color-border: #E2E8F0;--color-border-subtle: #F0F4F8;--color-success: #2F855A;--color-success-bg: #F0FFF4;--color-success-border: #9AE6B4;--color-success-text: #276749;--color-error: #C53030;--color-error-bg: #FFF5F5;--color-error-text: #9B2C2C;--color-error-hover: #9B2C2C;--color-warning: #B7791F;--color-warning-bg: #FFFBEB;--color-warning-text: #975A16;--color-info: #2B6CB0;--color-info-bg: #EBF8FF;--color-phase-1: #718096;--color-phase-2: #3B7DD8;--color-phase-3: #D69E2E;--color-phase-4: #2F855A;--color-phase-5: #553C9A;--phase-gray: var(--color-phase-1);--phase-blue: var(--color-phase-2);--phase-orange: var(--color-phase-3);--phase-green: var(--color-phase-4);--phase-purple: var(--color-phase-5);--phase-red: #D32F2F;--phase-black: #1A2233;--color-panic-hover: #B71C1C;--color-panic-disabled: #E57373;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-navy: 0 4px 20px rgba(30, 42, 58, .2);--shadow-blue: 0 4px 14px rgba(59, 125, 216, .35);--duration-fast: .1s;--duration-base: .2s;--duration-slow: .3s;--ease-default: ease-in-out;--ease-enter: cubic-bezier(0, 0, .2, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--max-content-width: 1200px;--page-padding-mobile: 24px;--page-padding-tablet: 48px;--page-padding-desktop: 80px;--focus-ring: 0 0 0 3px rgba(59, 125, 216, .35);--primary-color: var(--color-blue);--primary-hover-color: var(--color-blue-hover);--background-color: var(--color-bg);--text-color: var(--color-text);--text-color-light: var(--color-text-muted);--container-bg: var(--color-surface);--border-color: var(--color-border);--error-color: var(--color-error);--success-color: var(--color-success);--success-bg-color: var(--color-success-bg);--success-border-color: var(--color-success-border);--secondary-color: var(--color-text-muted);--secondary-hover-color: var(--color-text-muted);--disabled-color: var(--color-text-muted);--disabled-border-color: var(--color-border);--border-radius: var(--radius-md);--shadow: var(--shadow-md)}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-base);line-height:1.6;font-weight:400;color:var(--color-text);background-color:var(--color-bg);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:none;box-shadow:var(--focus-ring)}.input{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);transition:border-color var(--duration-base) var(--ease-default),box-shadow var(--duration-base) var(--ease-default)}.input:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px #3b7dd826;outline:none}.input::placeholder{color:var(--color-text-muted)}.card--dark{background:var(--color-navy);color:#fff;border:none;box-shadow:var(--shadow-navy)}.btn-ghost{width:auto;background:transparent;color:var(--color-text-secondary);padding:12px 16px;font-weight:500;border:none;box-shadow:none;transition:color var(--duration-base) var(--ease-default),background var(--duration-base) var(--ease-default)}.btn-ghost:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-raised);transform:none;box-shadow:none}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em}.badge--blue{background:var(--color-info-bg);color:var(--color-info)}.badge--green{background:var(--color-success-bg);color:var(--color-success)}.badge--red{background:var(--color-error-bg);color:var(--color-error)}.badge--amber{background:var(--color-warning-bg);color:var(--color-warning)}.badge--gray{background:var(--color-surface-raised);color:var(--color-text-secondary)}.alert{display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius-md);border-left:4px solid;font-size:.9375rem}.alert--success{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success-text)}.alert--error{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error-text)}.alert--warning{background:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-warning-text)}.alert--info{background:var(--color-info-bg);border-color:var(--color-info);color:var(--color-info)}.step-indicator{display:flex;align-items:center;gap:8px}.step-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border)}.step-dot--active{background:var(--color-blue);box-shadow:0 0 0 3px #3b7dd833}.step-dot--complete{background:var(--color-success)}.stat-value{font-size:var(--text-4xl);font-weight:800;color:var(--color-text);line-height:1}.stat-label{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:4px}.app-container{display:flex;justify-content:center;align-items:center;min-height:100vh}.login-box{background:var(--container-bg);padding:2.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow);width:100%;max-width:400px;text-align:center}.logo{width:80px;height:80px;border-radius:50%;margin-bottom:1rem}h1{font-family:Inter,system-ui,sans-serif;font-size:var(--text-3xl);font-weight:700;line-height:1.2;margin:0 0 .5rem;color:var(--color-text)}h2{font-size:var(--text-2xl);font-weight:700;line-height:1.3;margin-bottom:2rem;color:var(--color-text)}h3{font-size:var(--text-xl);font-weight:600;line-height:1.4;color:var(--color-text)}h4{font-size:var(--text-lg);font-weight:600;line-height:1.5;color:var(--color-text)}.input-group{text-align:left;margin-bottom:1.5rem}.input-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.input-group input,.input-group select,.input-group textarea{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;font-size:1rem;font-family:inherit;color:var(--color-text);background:var(--color-surface);transition:border-color .2s ease,box-shadow .2s ease}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px #3b7dd826;outline:none}.input-group input::placeholder,.input-group textarea::placeholder{color:var(--color-text-muted)}.journal-input-group textarea{min-height:120px}button{width:100%;padding:12px 24px;border:none;border-radius:var(--radius-md);background-color:var(--color-blue);color:#fff;font-size:.9375rem;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-blue);transition:background-color var(--duration-base) var(--ease-default),transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-base) var(--ease-default)}button:hover:not(:disabled){background-color:var(--color-blue-hover);transform:translateY(-1px);box-shadow:0 6px 16px #3b7dd866}button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-blue)}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.close-button{width:auto;box-shadow:none;color:var(--color-text-muted)}.close-button:hover:not(:disabled){background:none;box-shadow:none;transform:none;color:var(--color-text)}.btn-secondary{background-color:transparent;color:var(--color-blue);border:1.5px solid var(--color-blue);box-shadow:none}.btn-secondary:hover:not(:disabled){background-color:var(--color-info-bg);transform:translateY(-1px);box-shadow:none}.btn-header{width:auto;padding:.5rem 1.5rem;font-size:.875rem}.btn-icon{background:none;border:none;color:var(--secondary-color);cursor:pointer;padding:.25rem;transition:color .2s;width:auto;display:flex;align-items:center;justify-content:center}.btn-icon:hover:not(:disabled){color:var(--primary-color);background-color:transparent}.btn-icon .material-symbols-outlined{font-size:1.25rem}.btn-icon[title*=Delete]:hover:not(:disabled){color:var(--error-color)}.panic-btn{background-color:var(--color-error);color:#fff;border:1px solid var(--color-error);box-shadow:none}.panic-btn:hover:not(:disabled){background-color:var(--color-error-hover);border-color:var(--color-error-hover);transform:translateY(-1px)}.button-group{display:flex;gap:1rem;margin:1rem 0}.button-group button{width:50%}.error-message{color:var(--error-color);margin-bottom:1rem;font-size:.875rem}.success-message{color:var(--success-color);background-color:var(--success-bg-color);border:1px solid var(--success-border-color);padding:1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem;text-align:center}.signup-link{margin-top:1.5rem;font-size:.875rem}.signup-link a{color:var(--primary-color);font-weight:600;text-decoration:none}.signup-link a:hover{text-decoration:underline}.hub-container{width:100%;max-width:var(--max-content-width);margin:0 auto;padding:var(--space-6) var(--page-padding-mobile);box-sizing:border-box}@media (min-width: 768px){.hub-container{padding-left:var(--page-padding-tablet);padding-right:var(--page-padding-tablet)}}@media (min-width: 1024px){.hub-container{padding-left:var(--page-padding-desktop);padding-right:var(--page-padding-desktop)}}.hub-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.hub-header h1{font-family:Inter,sans-serif;font-size:var(--text-4xl);font-weight:700;line-height:1.15;margin:0}.hub-main-content{width:100%}.hub-columns{display:grid;grid-template-columns:2fr 2fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.hub-column{display:flex;flex-direction:column;gap:1.5rem}.hub-full-width{width:100%}.admin-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;grid-template-areas:"main" "sidebar" "secondary" "full-width"}@media (min-width: 768px){.admin-grid{grid-template-columns:2fr 1fr;grid-template-areas:"main sidebar" "secondary secondary" "full-width full-width"}}@media (min-width: 900px){.admin-grid{grid-template-columns:2fr 2fr 1fr;grid-template-areas:"main secondary sidebar" "full-width full-width full-width"}}.admin-main-content{grid-area:main}.admin-secondary-content{grid-area:secondary}.admin-sidebar{grid-area:sidebar}.admin-full-width{grid-area:full-width}.card{background:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.card-title{margin-top:0;margin-bottom:1rem;font-size:1.125rem;font-weight:600}.card-header-toggle{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header-toggle .card-title{margin-bottom:0}.card-header-toggle .btn-icon{margin-left:auto;font-size:1.5rem}.card-header-toggle .btn-icon span.material-symbols-outlined{font-size:1.5rem}.pagination-controls{display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--border-color)}.pagination-controls button{width:auto;padding:.5rem 1rem;font-size:.875rem;background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}.pagination-controls button:hover:not(:disabled){background-color:var(--color-info-bg)}.pagination-controls button:disabled{color:var(--disabled-color);border-color:var(--disabled-border-color);cursor:not-allowed}.pagination-controls span{font-size:.875rem;font-weight:500;color:var(--text-color-light)}.main-nav{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:.5rem .75rem;padding:.65rem 1rem;background-color:var(--container-bg, #fff);border-bottom:1px solid var(--border-color, #e2e8f0);box-shadow:0 1px #0f172a0a}.nav-links{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem;border-radius:12px;background:#0f172a0d;min-width:0;flex:0 1 auto}.main-nav-trailing{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex:0 0 auto;min-width:0}.nav-links a,.nav-links .nav-pill{font-weight:700;font-size:.88rem;color:#1a22339e;text-decoration:none;padding:.45rem .75rem;border-radius:10px;border:1px solid transparent;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.nav-links a:hover,.nav-links .nav-pill:hover{color:var(--text-color, #1e293b);background:#ffffffa6}.nav-links a.active,.nav-links .nav-pill.active{color:#1a56db;background:#fff;border-color:#1a56db2e;box-shadow:0 2px 8px #1a56db1f}.nav-user span{font-size:.875rem;color:var(--text-color-light)}.nav-logout{width:auto;padding:.4rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:700;line-height:1;box-shadow:var(--shadow-sm);cursor:pointer}.nav-logout:hover:not(:disabled){background-color:var(--color-surface-raised);color:var(--color-text);transform:none;box-shadow:var(--shadow-sm)}.inspirational-quote{font-style:italic;color:var(--text-color-light);margin-top:1rem;border-left:3px solid var(--primary-color);padding-left:1rem}.inspirational-quote p{margin:0 0 .5rem}.inspirational-quote cite{display:block;text-align:right;font-weight:600}.glance-value{font-size:var(--text-4xl);font-weight:800;color:var(--color-blue);margin:0;line-height:1}.activity-list{list-style:none;padding:0;margin:0}.activity-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.activity-item:last-child{border-bottom:none}.activity-message{font-weight:500}.activity-time{font-size:.8rem;color:var(--text-color-light);white-space:nowrap;padding-left:1rem}.quick-actions{display:flex;flex-direction:column;gap:.5rem}.quick-actions a{color:var(--primary-color);text-decoration:none;font-weight:500}.quick-actions a:hover{text-decoration:underline}.activity-item.cancelled{opacity:.6;text-decoration:line-through;color:var(--color-text-muted);background-color:var(--color-error-bg);border-left:5px solid var(--color-error)}.activity-item.cancelled .material-symbols-outlined{color:var(--error-color)}.archived-notification-item{justify-content:flex-start;gap:1rem}.archived-notification-item .activity-message{flex-grow:1}.archived-notification-item .activity-time{flex-shrink:0}.log-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.log-entry{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem}.log-entry-compact{display:grid;grid-template-columns:.75fr 1.5fr 1.5fr 1fr 1fr 1fr 1fr;gap:1rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.log-entry-compact.header{background-color:var(--color-surface-raised)}.log-entry-compact:nth-child(2n){background-color:var(--color-bg)}.log-entry-compact:nth-child(odd){background-color:var(--color-surface)}.log-user{font-weight:700;font-size:1.1rem}.log-status{font-size:.8rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm);background-color:var(--color-error-bg);color:var(--color-error)}.log-status.signed-in{background-color:var(--success-bg-color);color:var(--success-color)}.log-item strong{display:block;font-size:.8rem;color:var(--text-color-light);margin-bottom:.25rem}.resident-list{display:flex;flex-direction:column;gap:.75rem}.resident-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--container-bg);text-decoration:none;color:var(--text-color);transition:background-color .2s,border-color .2s}.resident-item:hover{background-color:var(--color-surface-raised);border-color:var(--color-blue)}.resident-info{display:flex;flex-direction:column;text-align:left}.resident-name{font-weight:600;font-size:1.1rem;margin-bottom:.25rem}.resident-email{font-size:.875rem;color:var(--text-color-light)}.resident-role{font-size:.75rem;color:var(--text-color-light);margin-left:.5rem;font-weight:500}.icon-arrow{font-size:1.25rem;color:var(--color-text-muted)}.back-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--primary-color);text-decoration:none;margin-bottom:1rem;font-weight:500}.back-link:hover{text-decoration:underline}.goals-list{margin-top:1.5rem}.goal-item{display:flex;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid var(--border-color);position:relative;padding-right:70px;gap:.75rem}.goal-item:last-child{border-bottom:none}.goal-item .checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;width:100%;margin-bottom:0}.goal-main{flex:1;min-width:0}.goal-title-line{font-size:1rem;font-weight:600;color:var(--text-color)}.goal-item.completed .goal-title-line{text-decoration:line-through;color:var(--text-color-light)}.goal-target-meta{font-size:.8rem;color:var(--text-color-light);margin-top:.25rem}.goal-notes-display{font-size:.9rem;color:var(--text-color-light);margin-top:.4rem;white-space:pre-wrap;line-height:1.45}.goal-item.completed .goal-notes-display{text-decoration:line-through;opacity:.85}.goal-add-fields{display:flex;flex-direction:column;gap:.75rem}.goal-add-fields textarea{min-height:5rem;resize:vertical;font-family:inherit}.goal-edit-fields{display:flex;flex-direction:column;gap:.5rem;width:100%}.goal-edit-fields textarea{min-height:4.5rem;resize:vertical;font-family:inherit}.goal-item input[type=checkbox]{width:1.25rem;height:1.25rem;flex-shrink:0}.goal-text{font-size:1rem;color:var(--text-color);flex-grow:1}.goal-item.completed .goal-text{text-decoration:line-through;color:var(--text-color-light)}.goal-actions{display:flex;gap:.25rem;position:absolute;right:0;top:.65rem}.goal-edit-input{flex-grow:1;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;font-size:1rem;width:100%}.progress-bar-container{width:100%;background-color:var(--border-color);border-radius:4px;height:8px;margin-top:.5rem;overflow:hidden}.progress-bar{height:100%;background-color:var(--primary-color);transition:width .3s ease-in-out;border-radius:4px}.progress-text{font-size:.875rem;color:var(--text-color-light);text-align:right;margin-top:.25rem}.file-name{font-size:.875rem;color:var(--text-color);margin-top:.5rem}.achievement-list{list-style:none;padding:0;margin:0}.achievement-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.achievement-item:last-child{border-bottom:none}.achievement-info{display:flex;flex-direction:column;flex-grow:1}.achievement-source-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;align-self:flex-start;background:color-mix(in srgb,var(--color-blue) 18%,transparent);color:var(--color-blue);padding:.2rem .5rem;border-radius:4px;margin-bottom:.25rem}.achievement-title{font-weight:600;font-size:1rem;color:var(--text-color)}.achievement-date,.uploaded-by{font-size:.8rem;color:var(--text-color-light)}.achievement-actions{display:flex;gap:.25rem;flex-shrink:0}.journaling-grid{display:grid;gap:1.5rem;grid-template-columns:1.5fr 1fr;grid-template-areas:"main sidebar"}@media (max-width: 768px){.journaling-grid{grid-template-columns:1fr;grid-template-areas:"main" "sidebar"}}.journal-entry-item{padding:1rem 0;border-bottom:1px solid var(--border-color)}.journal-entry-item:last-child{border-bottom:none}.journal-title{font-weight:600;font-size:1.1rem;color:var(--text-color);margin-bottom:.5rem}.journal-date{font-size:.8rem;color:var(--text-color-light);margin-bottom:.75rem}.journal-content{font-size:.95rem;line-height:1.5;color:var(--text-color);white-space:pre-wrap;margin-bottom:.75rem}.journal-actions{display:flex;gap:.5rem}.journal-entry-link{background:none;border:none;padding:0;margin:0;text-align:left;cursor:pointer;color:var(--primary-color);font-weight:600;text-decoration:underline;display:block}.journal-entry-link:hover{color:var(--text-color);text-decoration:none}.savings-balance{font-size:2.25rem;font-weight:700;color:var(--primary-color);text-align:center;margin-bottom:1rem}.program-fees-owed{font-size:1.25rem;font-weight:600;color:var(--error-color);text-align:center;margin-bottom:1rem}.transaction-list{list-style:none;padding:0;margin:0}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.transaction-item:last-child{border-bottom:none}.transaction-info{display:flex;flex-direction:column;flex-grow:1}.transaction-amount{font-weight:600}.transaction-positive{color:var(--success-color)}.transaction-negative{color:var(--error-color)}.transaction-description{font-size:.875rem;color:var(--text-color)}.transaction-date{font-size:.75rem;color:var(--text-color-light);white-space:nowrap;text-align:right;flex-shrink:0;margin-left:.5rem}.radio-fieldset{border:none;padding:0;margin:0;display:contents}.radio-legend{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.radio-group{display:flex;gap:1rem}.radio-group label{margin-bottom:0;display:inline-flex;align-items:center;gap:.5rem}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{background-color:var(--container-bg);border-radius:var(--border-radius);padding:2rem;box-shadow:0 5px 15px #0000004d;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;position:relative;z-index:1001;animation:fadeInScale .3s ease-out;display:flex;flex-direction:column}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.journal-modal-date{font-size:.875rem;color:var(--text-color-light);margin-bottom:1rem;text-align:center}.journal-modal-content{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;min-height:100px;max-height:400px;overflow-y:auto;white-space:pre-wrap;margin-bottom:1rem}.messages-card .card-title{position:relative}.messages-card .unread-indicator{margin-left:.5rem}.messages-card .unread-indicator:empty{display:none}.messages-card .unread-indicator.has-unread{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em;height:1.5em;border-radius:50%;background-color:var(--error-color);color:#fff;font-size:.75rem;font-weight:700;padding:0 .25em;position:absolute;top:-.5em;right:-.5em;transform:translate(50%,-50%)}.message-card-content{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;height:500px;background-color:var(--color-surface)}.message-threads-list{flex-basis:30%;border-right:1px solid var(--border-color);padding:1rem;overflow-y:auto;background-color:var(--container-bg);flex-shrink:0}.message-threads-list .no-messages-yet{text-align:center;color:var(--text-color-light);margin-top:2rem}.message-thread-item{list-style:none;display:flex;align-items:center;justify-content:space-between;width:100%;background-color:var(--container-bg);border-bottom:1px solid var(--border-color);position:relative;transition:background-color .2s;overflow:hidden;min-height:60px;padding:0}.message-threads-list ul .message-thread-item:last-child{border-bottom:none}.message-thread-item:hover{background-color:var(--color-surface-raised)}.message-thread-item.selected{background-color:var(--primary-color);color:#fff}.message-thread-item.selected .thread-info strong,.message-thread-item.selected .thread-info .last-message-preview,.message-thread-item.selected .thread-info .message-timestamp{color:#fff}.message-thread-item .thread-clickable-area{flex-grow:1;flex-shrink:1;padding:.75rem 1rem;cursor:pointer;outline:none;text-align:left;background:none;border:none;color:inherit;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}.message-thread-item.selected .thread-clickable-area{background-color:var(--primary-color);color:#fff}.message-thread-item.selected .thread-info strong,.message-thread-item.selected .thread-clickable-area strong,.message-thread-item.selected .thread-clickable-area .last-message-preview,.message-thread-item.selected .thread-clickable-area .message-timestamp{color:#fff}.message-thread-item .thread-clickable-area:hover{background-color:var(--color-surface-raised)}.message-thread-item .unread-indicator{position:absolute;top:.5rem;right:.5rem;background-color:var(--error-color);color:#fff;border-radius:50%;min-width:1.25em;height:1.25em;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}.message-thread-item .thread-info{margin-right:.5rem;overflow:hidden}.message-thread-item .thread-info strong{display:block;font-size:1.1em;margin-bottom:.25rem;color:var(--text-color)}.message-thread-item .last-message-preview{font-size:.85em;color:var(--text-color-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.message-thread-item .message-timestamp{font-size:.75em;color:var(--text-color-light);text-align:right;display:block}.message-conversation{flex-basis:70%;display:flex;flex-direction:column;background-color:var(--color-bg)}.conversation-header{padding:1rem;border-bottom:1px solid var(--border-color);background-color:var(--container-bg)}.conversation-header h4{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-color)}.message-list{flex-grow:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.select-chat-message{text-align:center;color:var(--text-color-light);margin:auto}.message-item{display:flex}.message-item.message-sent{justify-content:flex-end}.message-item.message-received{justify-content:flex-start}.message-bubble{max-width:75%;padding:.75rem 1rem;border-radius:1rem;font-size:.95rem;line-height:1.4;position:relative}.message-item.message-sent .message-bubble{background-color:var(--primary-color);color:#fff;border-bottom-right-radius:.25rem}.message-item.message-received .message-bubble{background-color:var(--border-color);color:var(--text-color);border-bottom-left-radius:.25rem}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:.25rem;color:#fffc;display:block}.message-item.message-received .message-sender{color:var(--text-color-light)}.message-text{margin:0;word-wrap:break-word}.message-time{font-size:.65rem;color:#fff9;text-align:right;margin-top:.5rem;display:block}.message-item.message-received .message-time{color:var(--text-color-light)}.message-input{display:flex;padding:1rem;border-top:1px solid var(--border-color);background-color:var(--container-bg);gap:.5rem}.message-input textarea{flex-grow:1;min-height:40px;max-height:120px;resize:vertical;border-radius:20px;padding:.75rem 1rem}.message-input button{width:auto;padding:.75rem 1.5rem;border-radius:20px;flex-shrink:0}.message-bubble .delete-message-btn{position:absolute;top:-5px;right:-5px;background-color:#ff0000b3;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0;font-size:.8em;opacity:0;transition:opacity .2s}.message-item:hover .delete-message-btn,.message-item:focus-within .delete-message-btn{opacity:1}.unread-message-modal{max-width:400px;text-align:center}.unread-message-modal .modal-actions{justify-content:center}.message-thread-item .delete-thread-permanently-btn{flex-shrink:0;background:none;border:none;color:var(--error-color);cursor:pointer;padding:.25rem;margin-left:.5rem;opacity:1!important;transition:opacity .2s,color .2s;font-size:1.2em;line-height:1}.message-thread-item .delete-thread-permanently-btn:hover{color:var(--color-error-hover)}.message-thread-item .archive-thread-btn{flex-shrink:0;background:none;border:none;color:var(--text-color-light);cursor:pointer;padding:.25rem;transition:color .2s,opacity .2s;font-size:1.1em;line-height:1;margin-left:.5rem;opacity:0}.message-thread-item:hover .archive-thread-btn,.message-thread-item:focus-within .archive-thread-btn{opacity:1}.message-thread-item .archive-thread-btn:hover{color:var(--error-color)}.widget-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}.widget-card{position:relative;background-color:var(--container-bg);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border-color);text-decoration:none;color:var(--text-color);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;opacity:80%;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (hover: hover) and (pointer: fine){.widget-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001f}}.widget-card .material-symbols-outlined{font-size:2.5rem;color:var(--primary-color);margin-bottom:.5rem}.widget-card h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:800;color:var(--text-color);text-transform:uppercase;letter-spacing:.5px}.widget-card-title-strong{font-weight:800!important}.widget-card .widget-summary{font-size:1rem;margin:0;font-weight:500;flex-grow:1}.widget-card .widget-summary.large-text{font-size:2rem;font-weight:700}.widget-card .widget-detail{font-size:.875rem;color:var(--text-color-light);margin:.5rem 0 0}.widget-card .widget-detail.error{color:var(--error-color);font-weight:500}.widget-card .unread-indicator{position:absolute;top:.5rem;right:.5rem;background-color:var(--error-color);color:#fff;border-radius:999px;min-width:1.5em;height:1.5em;padding:0 .35em;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;line-height:1}.widget-card--true-north-pulse{border-color:#2563eb73;box-shadow:0 0 0 1px #3b82f633,0 4px 20px #2563eb2e}.true-north-resume-icon-wrap{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.5rem;flex-shrink:0;max-width:100%}.true-north-resume-icon-core{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;flex-shrink:0}.true-north-resume-icon-core:before{content:"";position:absolute;inset:0;border-radius:999px;background:#3b82f647;animation:true-north-resume-glow 1.6s ease-in-out infinite}.true-north-resume-icon{position:relative;z-index:1;font-size:2.5rem;color:#1d4ed8;animation:true-north-resume-icon-pulse 1.6s ease-in-out infinite}.true-north-resume-ai-badge{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.12rem;min-height:1.35rem;padding:.14rem .42rem .14rem .32rem;border-radius:999px;border:2px solid #fff;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;box-shadow:0 4px 12px #2563eb73,0 0 0 1px #2563eb59;animation:true-north-ai-badge-pulse 1.6s ease-in-out infinite;flex-shrink:0}.true-north-resume-ai-badge__icon{font-size:.95rem;line-height:1}.true-north-resume-ai-badge__text{font-size:.62rem;font-weight:900;letter-spacing:.06em;line-height:1}@keyframes true-north-ai-badge-pulse{0%,to{transform:scale(1);box-shadow:0 4px 12px #2563eb73,0 0 0 1px #2563eb59}50%{transform:scale(1.08);box-shadow:0 6px 16px #7c3aed8c,0 0 14px #3b82f6a6}}@keyframes true-north-resume-glow{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:.95;transform:scale(1.12)}}@keyframes true-north-resume-icon-pulse{0%,to{color:#1e40af;filter:drop-shadow(0 0 2px rgba(37,99,235,.35));transform:scale(1)}50%{color:#60a5fa;filter:drop-shadow(0 0 14px rgba(59,130,246,.95));transform:scale(1.1)}}@media (prefers-reduced-motion: reduce){.true-north-resume-icon-core:before{animation:none;opacity:.55}.true-north-resume-icon{animation:none;color:#2563eb}.true-north-resume-ai-badge{animation:none}}@media (min-width: 600px){.widget-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.widget-grid{grid-template-columns:repeat(3,1fr)}}.sign-out-modal-content{background-color:var(--color-surface);padding:2rem;text-align:left}.sign-out-modal-content.actions-sign-out-modal{padding:0;text-align:left}.sign-out-modal-content .card-title{font-weight:600;font-size:1.25rem;color:var(--text-color)}.sign-out-modal-content p{color:var(--text-color-light);margin-bottom:1.5rem}.sign-out-modal-content .input-group{margin-bottom:1rem;text-align:left}.sign-out-modal-content .modal-actions{margin-top:1.5rem;display:flex;gap:1rem;justify-content:center}.sign-out-modal-content .modal-actions button{width:150px;padding:.75rem;border:none;border-radius:6px;font-weight:600;transition:all .2s ease-in-out}.sign-out-modal-content .btn-secondary{background-color:var(--color-surface-raised);color:var(--color-text-secondary);border:1.5px solid var(--color-border)}.sign-out-modal-content .btn-secondary:hover{background-color:var(--color-border);color:var(--color-text)}.sign-out-modal-content .btn-primary{background-color:var(--primary-color);color:#fff}.sign-out-modal-content .btn-primary:hover{background-color:var(--primary-hover-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.reminder-box{background-color:var(--color-error-bg);border:1px solid color-mix(in srgb,var(--color-error) 28%,var(--color-surface));border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.reminder-item{display:flex;align-items:center;gap:1rem;color:var(--color-error)}.reminder-item p{margin:0;flex-grow:1;font-weight:500}.reminder-item .btn-icon{color:color-mix(in srgb,var(--color-error) 45%,var(--color-surface))}.reminder-item .btn-icon:hover{color:var(--error-color)}@media (max-width: 768px){.hub-container{padding:var(--space-4) var(--page-padding-mobile)}.widget-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem .2rem;padding:.5rem .35rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.widget-card{background-color:transparent;box-shadow:none;border:1px solid transparent;padding:.55rem .1rem .45rem;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;min-height:4.75rem;overflow:hidden;text-align:center}@media (hover: hover) and (pointer: fine){.widget-card:hover{transform:none;background-color:#0000000d;border-color:#0000000d}}.widget-card:active{background-color:#00000014}.widget-card .material-symbols-outlined{font-size:1.65rem;margin:0 0 .2rem;flex-shrink:0}.widget-card--true-north-pulse .true-north-resume-icon-wrap{gap:.28rem;margin:0 0 .2rem}.widget-card--true-north-pulse .true-north-resume-icon-core{width:2.15rem;height:2.15rem}.widget-card--true-north-pulse .true-north-resume-icon{font-size:1.65rem}.widget-card--true-north-pulse .true-north-resume-ai-badge{min-height:1.1rem;padding:.08rem .3rem .08rem .22rem}.widget-card--true-north-pulse .true-north-resume-ai-badge__icon{font-size:.78rem}.widget-card--true-north-pulse .true-north-resume-ai-badge__text{font-size:.52rem}.widget-card h3,.widget-card .widget-card-title-strong{display:block;width:100%;max-width:100%;margin:0;padding:0 .05rem;font-size:.625rem;font-weight:800;line-height:1.15;letter-spacing:.02em;text-transform:uppercase;color:var(--text-color);overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;text-wrap:balance}.widget-card .widget-summary,.widget-card .widget-detail{display:none}.widget-card .unread-indicator{top:.2rem;right:.05rem;min-width:1.15rem;height:1.15rem;font-size:.62rem}}@media (max-width: 768px) and (min-width: 420px){.widget-grid{gap:.4rem .3rem}.widget-card h3,.widget-card .widget-card-title-strong{font-size:.65rem}}@media (max-width: 768px){.message-card-content{flex-direction:column;height:70vh;min-height:500px}.message-threads-list{flex-basis:150px;flex-shrink:0;border-right:none;border-bottom:1px solid var(--border-color);overflow-y:auto}.message-conversation{flex-basis:auto}}.journal-grid{display:grid;gap:1.5rem;grid-template-columns:1.5fr 1fr;grid-template-areas:"main sidebar"}@media (max-width: 768px){.journal-grid{grid-template-columns:1fr;grid-template-areas:"main" "sidebar"}.main-nav{display:flex;align-items:center;justify-content:flex-start;padding:.45rem .6rem;gap:.4rem .5rem}.nav-links{flex:0 1 auto;flex-wrap:nowrap;gap:.25rem;min-width:0;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.main-nav-trailing{margin-left:auto;flex:0 0 auto}.nav-links a,.nav-links .nav-pill{padding:.4rem .55rem;font-size:.8rem}.nav-user{flex:0 0 auto;display:flex;justify-content:flex-end;align-items:center;gap:.4rem;min-width:0}}@media (max-width: 420px){.nav-user span{display:none}}.btn-panic{background-color:var(--phase-red);color:#fff;display:flex;align-items:center;gap:8px;font-weight:700;padding:8px 16px;border:none;border-radius:var(--radius-md);cursor:pointer;box-shadow:none;transition:background-color .2s ease,transform .1s ease}.btn-panic:hover{background-color:var(--color-panic-hover);transform:translateY(-1px)}.btn-panic:disabled{background-color:var(--color-panic-disabled);cursor:not-allowed;transform:none}.financial-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.financial-tabs button{background-color:var(--color-surface);border:1.5px solid var(--color-border);padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-weight:600;color:var(--color-text-secondary);box-shadow:none;transition:background-color .2s ease,color .2s ease}.financial-tabs button:hover:not(.active){background-color:var(--color-surface-raised);transform:none;box-shadow:none}.financial-tabs button.active{background-color:var(--color-blue);color:#fff;border-color:var(--color-blue);box-shadow:var(--shadow-blue)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.install-prompt.svelte-n9z539{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(to top,#000000f2,#000000d9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem;z-index:9999;animation:svelte-n9z539-slideUp .3s ease-out;box-shadow:0 -4px 20px #0000004d}@keyframes svelte-n9z539-slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-content.svelte-n9z539{max-width:500px;margin:0 auto;text-align:center;position:relative;color:#fff}.close-btn.svelte-n9z539{position:absolute;top:-.5rem;right:0;background:none;border:none;color:#ffffffb3;font-size:2rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;line-height:1}.close-btn.svelte-n9z539:hover{color:#fff;background:none}.install-icon.svelte-n9z539{margin-bottom:1rem}.install-icon.svelte-n9z539 .material-symbols-outlined:where(.svelte-n9z539){font-size:3rem;color:var(--primary-color)}h3.svelte-n9z539{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:#fff}p.svelte-n9z539{margin:0 0 1.5rem;color:#fffc;font-size:.95rem;line-height:1.4}.install-btn.svelte-n9z539{background:var(--primary-color);color:#fff;border:none;padding:.875rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;width:100%;justify-content:center;transition:background-color .2s,transform .1s;box-shadow:0 4px 12px #4299e166}.install-btn.svelte-n9z539:hover{background:var(--primary-hover-color);transform:translateY(-2px);box-shadow:0 6px 16px #4299e180}.install-btn.svelte-n9z539:active{transform:translateY(0)}.install-btn.svelte-n9z539 .material-symbols-outlined:where(.svelte-n9z539){font-size:1.25rem}@media (min-width: 768px){.install-prompt.svelte-n9z539{display:none}}.toast-host.svelte-vx86vf{position:fixed;right:16px;top:16px;z-index:9999;display:flex;flex-direction:column;gap:10px;width:min(420px,calc(100vw - 32px));pointer-events:none}.toast-item.svelte-vx86vf{pointer-events:auto;display:grid;grid-template-columns:28px 1fr 28px;align-items:start;gap:10px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#121212eb;color:#fff;box-shadow:0 12px 28px #00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast-icon.svelte-vx86vf{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#ffffff14}.toast-message.svelte-vx86vf{font-size:.95rem;line-height:1.25rem;word-break:break-word}.toast-close.svelte-vx86vf{border:none;background:transparent;color:inherit;padding:2px;cursor:pointer;opacity:.8}.toast-close.svelte-vx86vf:hover{opacity:1}.toast-success.svelte-vx86vf{border-color:#2ecc7159}.toast-error.svelte-vx86vf{border-color:#e74c3c73}.toast-info.svelte-vx86vf{border-color:#3498db59}.confirm-dialog.svelte-qy9ho9{border:none;padding:0;margin:auto;background:transparent;max-width:min(400px,calc(100vw - 1.5rem));width:calc(100% - 1.5rem);overflow:visible}.confirm-dialog.svelte-qy9ho9::backdrop{background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-modal.svelte-qy9ho9{width:100%;padding:1.15rem 1.15rem 1rem;border-radius:16px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;box-shadow:0 20px 40px #0f172a33;box-sizing:border-box}.confirm-header.svelte-qy9ho9{display:flex;align-items:flex-start;gap:.75rem}.confirm-icon.svelte-qy9ho9{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:12px;background:#eff6ff;color:#2563eb}.confirm-icon--danger.svelte-qy9ho9{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.confirm-icon.svelte-qy9ho9 .material-symbols-outlined:where(.svelte-qy9ho9){font-size:1.35rem}.confirm-text.svelte-qy9ho9{flex:1;min-width:0;padding-top:.1rem}.confirm-title.svelte-qy9ho9{margin:0;font-size:1.0625rem;font-weight:700;line-height:1.3;letter-spacing:-.02em;color:#0f172a}.confirm-message.svelte-qy9ho9{margin:.4rem 0 0;font-size:.875rem;line-height:1.45;color:#64748b}.confirm-actions.svelte-qy9ho9{display:flex;flex-direction:column-reverse;gap:.5rem;margin-top:1.15rem}@media (min-width: 420px){.confirm-actions.svelte-qy9ho9{flex-direction:row;align-items:stretch}}.confirm-btn.svelte-qy9ho9{flex:1;min-height:2.75rem;margin:0;padding:.6rem 1rem;border-radius:12px;font-size:.9375rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.confirm-btn--cancel.svelte-qy9ho9{border:1.5px solid #cbd5e1;background:#fff;color:#334155}.confirm-btn--cancel.svelte-qy9ho9:hover{background:#f8fafc;border-color:#94a3b8}.confirm-btn--danger.svelte-qy9ho9{border:none;background:#dc2626;color:#fff;box-shadow:0 2px 8px #dc262659}.confirm-btn--danger.svelte-qy9ho9:hover{background:#b91c1c}.confirm-btn--primary.svelte-qy9ho9{border:none;background:#2563eb;color:#fff}.confirm-btn--primary.svelte-qy9ho9:hover{background:#1d4ed8}dialog.confirm-dialog{overflow:visible}
