:root{--color-burgundy: #6B1F2E;--color-gold: #B08D57;--color-cream: #FAF6EE;--color-primary: var(--color-burgundy);--color-primary-hover: #591825;--color-accent: var(--color-gold);--color-accent-hover: #9C7A4A;--color-surface-dark: #1A1416;--color-surface-light: var(--color-cream);--color-border-subtle: rgba(176, 141, 87, .18);--color-success: #2E7D32;--color-warning: #B8860B;--color-critical: #B3261E;--burgundy: var(--color-burgundy);--gold: var(--color-gold);--cream: var(--color-cream);--white: #FFFFFF;--border: rgba(176, 141, 87, .22);--ink: #3A2A20;--muted-ink: #5F5343;--success: var(--color-success);--attention: var(--color-warning);--critical: var(--color-critical);--sky-blue: #B08D57;--font-heading: Georgia, "Times New Roman", serif;--font-body: Calibri, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif: var(--font-heading);--font-sans: var(--font-body);--font-mono: "Consolas", "Courier New", monospace;--radius-card: 8px;--border-hairline: 1px solid rgba(176, 141, 87, .18)}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--cream);color:var(--ink);font-family:var(--font-sans);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.app-layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--cream)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--burgundy);font-weight:700}.app-header{background-color:var(--burgundy);color:var(--cream);padding:.85rem 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--gold);box-shadow:0 2px 10px #0000001f;position:sticky;top:0;z-index:100}.header-brand{display:flex;align-items:center;gap:1rem}.header-right{display:flex;align-items:center;gap:1.5rem}.section-nav-label{font-family:var(--font-serif);color:#faf6eee6;font-size:.95rem;font-style:italic}.tab-nav{display:flex;align-items:center;gap:.5rem}.tab-btn{background:transparent;border:none;color:#faf6eecc;font-family:var(--font-sans);font-size:.95rem;font-weight:600;padding:.4rem .85rem;border-radius:4px;cursor:pointer;transition:all .2s ease}.tab-btn:hover{color:var(--cream);background:#ffffff1a}.tab-btn.active{color:var(--burgundy);background:var(--cream);font-weight:700}.user-avatar-badge{width:36px;height:36px;border-radius:50%;background:var(--gold);color:var(--burgundy);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.9rem;border:1.5px solid var(--cream);cursor:pointer}.role-switcher-bar{display:flex;align-items:center;gap:.5rem;background:#00000026;padding:.25rem .5rem;border-radius:6px}.role-switcher-label{font-size:.75rem;color:#faf6eebf}.role-chip{background:transparent;border:1px solid rgba(250,246,238,.3);color:var(--cream);font-size:.75rem;padding:.15rem .5rem;border-radius:4px;cursor:pointer}.role-chip.active{background:var(--gold);color:var(--burgundy);border-color:var(--gold);font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-size:.95rem;font-weight:600;padding:.65rem 1.25rem;border-radius:6px;cursor:pointer;transition:all .2s ease;border:none;text-decoration:none}.btn-primary{background-color:var(--burgundy);color:var(--cream);border:1px solid var(--burgundy)}.btn-primary:hover{background-color:#551824}.btn-secondary{background-color:var(--cream);color:var(--burgundy);border:1px solid var(--border)}.btn-secondary:hover{background-color:#f3ebdd}.btn-gold{background-color:var(--gold);color:var(--burgundy);border:1px solid var(--gold);font-weight:700}.btn-gold:hover{background-color:#9e7d49}.btn-outline-burgundy{background:transparent;color:var(--burgundy);border:1px solid var(--burgundy)}.btn-outline-burgundy:hover{background:#6b1f2e0d}.btn:disabled{opacity:.6;cursor:not-allowed}.main-content{flex:1;padding:2rem;max-width:1140px;margin:0 auto;width:100%}.card{background-color:var(--white);border:var(--border-hairline);border-radius:var(--radius-card);padding:1.5rem;box-shadow:0 1px 3px #00000008}.kicker{font-family:var(--font-sans);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin-bottom:.5rem;display:block}.badge-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;padding:.25rem .65rem;border-radius:12px}.badge-encrypted{background-color:#3b6d111f;color:var(--success);border:1px solid rgba(59,109,17,.25)}.badge-attention{background-color:#ba75171f;color:var(--attention);border:1px solid rgba(186,117,23,.25)}.auth-page-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--cream);padding:2rem 1rem}.auth-card-wrapper{width:100%;max-width:480px}.auth-card{background-color:var(--white);border:var(--border-hairline);border-radius:var(--radius-card);padding:2.5rem 2rem;box-shadow:0 4px 20px #6b1f2e0f;text-align:center}.step-indicator-bar{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1.25rem 0 1.75rem}.step-circle{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.step-circle.completed{background-color:var(--burgundy);color:var(--cream)}.step-circle.active{background-color:var(--gold);color:var(--burgundy)}.step-line{height:2px;width:32px;background-color:var(--gold)}.auth-heading{font-family:var(--font-serif);color:var(--burgundy);font-size:1.45rem;margin-bottom:.4rem}.auth-subtext{font-size:.88rem;color:var(--muted-ink);margin-bottom:1.75rem}.totp-input-grid{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.25rem}.totp-digit-box{width:48px;height:56px;border:1px solid var(--border);border-radius:6px;background-color:var(--cream);font-size:1.4rem;font-weight:700;text-align:center;color:var(--ink);transition:all .15s ease}.totp-digit-box:focus{outline:none;border:2px solid var(--gold);background-color:var(--white)}.totp-digit-box.filled{border:1.5px solid var(--burgundy);background-color:var(--white)}.timer-countdown{font-size:.82rem;color:var(--muted-ink);margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;gap:.4rem}.no-skip-notice{font-size:.8rem;color:var(--muted-ink);margin-top:1.25rem;line-height:1.4;border-top:1px dashed var(--border);padding-top:1rem}.bcrypt-trust-notice{font-size:.78rem;color:var(--muted-ink);margin-top:.75rem;font-style:italic}.persona-selector-box{background-color:var(--cream);border:var(--border-hairline);border-radius:6px;padding:.75rem;margin-bottom:1.5rem;text-align:left}.persona-title{font-size:.75rem;font-weight:700;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:.5rem}.persona-chips-wrap{display:flex;flex-wrap:wrap;gap:.4rem}.persona-chip{background:var(--white);border:1px solid var(--border);border-radius:4px;padding:.35rem .65rem;font-size:.78rem;color:var(--ink);cursor:pointer;transition:all .15s ease}.persona-chip.active{border-color:var(--burgundy);background-color:var(--burgundy);color:var(--cream);font-weight:600}.greeting-bar{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.greeting-title{font-family:var(--font-serif);font-size:1.8rem;color:var(--burgundy)}.greeting-trust-signal{font-size:.85rem;color:var(--muted-ink)}.action-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-bottom:2rem}.action-card{background-color:var(--white);border:var(--border-hairline);border-radius:var(--radius-card);padding:1.5rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.action-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6b1f2e14;border-color:var(--gold)}.action-icon-wrapper{width:44px;height:44px;border-radius:50%;background-color:#b08d5726;color:var(--burgundy);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.action-card-title{font-family:var(--font-serif);font-size:1.15rem;color:var(--burgundy);margin-bottom:.25rem}.action-card-sub{font-size:.85rem;color:var(--muted-ink)}.glance-section{display:grid;grid-template-columns:2fr 1fr;gap:1.25rem;margin-bottom:2rem}.stats-card-main{background:var(--white);border:var(--border-hairline);border-radius:var(--radius-card);padding:1.5rem}.stats-grid-inline{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0 1.25rem}.stat-item{text-align:left}.stat-number{font-family:var(--font-serif);font-size:2.2rem;font-weight:700;color:var(--burgundy);line-height:1.1}.stat-label{font-size:.8rem;color:var(--muted-ink)}.completeness-bar-wrapper{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.4rem}.completeness-text{font-size:.85rem;color:var(--ink)}.progress-track{height:8px;background-color:var(--border);border-radius:4px;overflow:hidden}.progress-fill-gold{height:100%;background-color:var(--gold);border-radius:4px;transition:width .3s ease}.next-action-card{background-color:var(--white);border:var(--border-hairline);border-radius:var(--radius-card);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between}.next-action-body{font-size:.9rem;color:var(--ink);margin:.5rem 0 1.25rem}.recent-activity-card{background-color:var(--white);border:var(--border-hairline);border-radius:var(--radius-card);padding:1.5rem}.activity-strip-list{display:flex;flex-direction:column;gap:.85rem;margin-top:1rem}.activity-strip-item{display:flex;align-items:center;justify-content:space-between;font-size:.88rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.activity-strip-item:last-child{border-bottom:none;padding-bottom:0}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.6rem}.status-dot.green{background-color:var(--success)}.status-dot.blue{background-color:var(--sky-blue)}.status-dot.amber{background-color:var(--attention)}.status-dot.dark{background-color:var(--ink)}.activity-time{color:var(--muted-ink);font-size:.82rem;width:140px}.activity-text{flex:1;color:var(--ink)}.view-full-log-link{font-size:.85rem;color:var(--burgundy);font-weight:600;text-decoration:none;float:right;margin-top:1rem}.view-full-log-link:hover{text-decoration:underline}.vault-dragzone{border:1.5px dashed var(--gold);border-radius:var(--radius-card);background-color:var(--white);padding:2.5rem 1.5rem;text-align:center;margin-bottom:2rem;cursor:pointer;transition:background-color .15s ease}.vault-dragzone:hover{background-color:#faf6ee80}.dragzone-heading{font-family:var(--font-serif);font-size:1.15rem;color:var(--burgundy);margin-bottom:.4rem}.dragzone-subtext{font-size:.82rem;color:var(--muted-ink);line-height:1.5}.uploads-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.upload-item-row{background-color:var(--white);border:var(--border-hairline);border-radius:var(--radius-card);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between}.file-info-col{display:flex;align-items:center;gap:.85rem}.file-icon-box{width:36px;height:36px;border-radius:6px;background-color:#6b1f2e14;display:flex;align-items:center;justify-content:center;color:var(--burgundy)}.filename-title{font-weight:600;font-size:.92rem;color:var(--ink)}.file-meta-sub{font-size:.78rem;color:var(--muted-ink)}.access-panel{background-color:var(--white);border:var(--border-hairline);border-radius:var(--radius-card);padding:1.5rem;margin-top:2rem}.access-list{display:flex;flex-direction:column;gap:.85rem;margin-top:1rem}.access-item-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.access-item-row:last-child{border-bottom:none;padding-bottom:0}.user-identity{display:flex;align-items:center;gap:.75rem}.user-avatar-initials{width:32px;height:32px;border-radius:50%;background-color:var(--burgundy);color:var(--cream);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center}.user-name-role{font-size:.88rem;color:var(--ink)}.user-tier-label{font-size:.82rem;color:var(--muted-ink)}.audit-table-card{background-color:var(--white);border:var(--border-hairline);border-radius:var(--radius-card);padding:1.5rem}.table-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.audit-table{width:100%;border-collapse:collapse;font-size:.88rem}.audit-table th{text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gold);border-bottom:1.5px solid var(--border);background-color:var(--cream)}.audit-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border);color:var(--ink)}.audit-table tr:nth-child(2n){background-color:#faf6ee66}.immutability-footer-notice{font-size:.8rem;color:var(--muted-ink);margin-top:1.25rem;font-style:italic}.form-group{margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.4rem;text-align:left}.form-group label{font-size:.85rem;font-weight:600;color:var(--ink)}.input-field{width:100%;padding:.65rem .85rem;border:1px solid var(--border);border-radius:6px;background-color:var(--cream);font-family:var(--font-sans);font-size:.9rem;color:var(--ink)}.input-field:focus{outline:none;border-color:var(--gold);background-color:var(--white)}.input-field:-webkit-autofill,.input-field:-webkit-autofill:hover,.input-field:-webkit-autofill:focus,.input-field:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px #FAFAF7 inset!important;-webkit-text-fill-color:#3A2A20!important;transition:background-color 5000s ease-in-out 0s}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#3a2a2080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background-color:var(--white);border:var(--border-hairline);border-radius:var(--radius-card);width:100%;max-width:540px;padding:1.75rem;box-shadow:0 10px 30px #00000026}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.btn-close{background:transparent;border:none;font-size:1.2rem;cursor:pointer;color:var(--muted-ink)}.main-footer{background-color:var(--cream);border-top:1px solid var(--border);padding:1.25rem 2rem;font-size:.82rem;color:var(--muted-ink);text-align:center;margin-top:auto}.spin{animation:spin 1.2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.glance-section{grid-template-columns:1fr}.main-content{padding:1rem}.greeting-bar{flex-direction:column;align-items:flex-start;gap:.5rem}}.badge-info,.badge-role,.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;padding:.25rem .65rem;border-radius:4px;background-color:var(--color-cream);color:var(--color-burgundy);border:1px solid var(--color-gold)}.mfa-status-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;padding:.2rem .55rem;border-radius:4px;background-color:#2e7d321a;color:var(--color-success);border:1px solid rgba(46,125,50,.3)}.splash-screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--color-surface-dark);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .6s ease}.splash-screen-overlay.fade-out{opacity:0;pointer-events:none}.splash-card{background-color:var(--color-cream);border:1.5px solid var(--color-gold);border-radius:var(--radius-card);padding:2.5rem;text-align:center;max-width:440px;width:90%;box-shadow:0 15px 35px #0006}.splash-title{font-family:var(--font-heading);color:var(--color-burgundy);font-size:1.8rem;margin-bottom:.25rem}.splash-subtitle{font-family:var(--font-body);color:var(--muted-ink);font-size:.78rem;letter-spacing:.08em;margin-bottom:1.25rem}.splash-brands-row{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.brand-badge.estate{background:var(--color-burgundy);color:var(--color-cream);font-size:.75rem;font-weight:700;padding:.25rem .65rem;border-radius:4px;border:1px solid var(--color-gold)}.splash-loader-bar{height:4px;background:#b08d5733;border-radius:2px;overflow:hidden}.splash-loader-progress{height:100%;width:100%;background:var(--color-gold);animation:splashProgress 2.2s linear forwards}@keyframes splashProgress{0%{transform:translate(-100%)}to{transform:translate(0)}}
