@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800;900&display=swap");:root{--obsidian:#1a1a1a;--obsidian-mid:#2e2e2e;--obsidian-light:#4a4a4a;--gold:#c8a24b;--gold-dark:#9a7a30;--gold-light:#f5edd5;--cream:#f5f2ec;--off-white:#faf8f4;--slate:#8a8a8a;--slate-light:#d6d3cc;--alert-red:#e84040;--success-green:#2d7a4f;--warning-orange:#c87a1a;--warning-light:#f9e8cc;--mass:#8b3a2a;--mass-light:#f2ddd9;--money:#1a5c3a;--money-light:#d9ede3;--mind:#1a1a1a;--mind-light:#e8e8e8;--mob:#6b2737;--mob-light:#edd9dd;--me:#1a3a5c;--me-light:#d9e4ed;--font-headline:"Georgia","Times New Roman",serif;--font-body:"Arial","Helvetica Neue","Helvetica",sans-serif;--nav-height:64px;--sidebar-width:240px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{background-color:var(--cream);font-family:var(--font-body);font-size:11pt;line-height:1.5;-webkit-font-smoothing:antialiased}body,h1,h2,h3,h4{color:var(--obsidian)}h1,h2,h3,h4{font-family:var(--font-headline);font-weight:700;line-height:1.1}h1{font-size:28pt}h2{font-size:18pt}h3{font-size:13pt}h4,p{font-size:11pt}p{font-family:var(--font-body);line-height:1.5;color:var(--obsidian-light)}.eyebrow{font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.caption,.eyebrow{font-family:var(--font-body);font-size:9pt}.caption{font-style:italic;color:var(--slate)}.btn-primary{background:var(--obsidian);color:#fff;font-family:var(--font-body);font-size:11pt;font-weight:700;padding:12px 24px;border:none;border-radius:4px;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s;text-decoration:none}.btn-primary:hover{background:var(--obsidian-mid)}.btn-gold{background:var(--gold);color:var(--obsidian);font-family:var(--font-body);font-size:11pt;font-weight:700;padding:12px 24px;border:none;border-radius:4px;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s;text-decoration:none}.btn-gold:hover{background:var(--gold-dark)}.btn-secondary{background:transparent;color:var(--obsidian);font-family:var(--font-body);font-size:11pt;font-weight:700;padding:11px 23px;border:1.5px solid var(--obsidian);border-radius:4px;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;text-decoration:none}.btn-secondary:hover{background:var(--obsidian);color:#fff}.btn-destructive{background:transparent;color:var(--alert-red);font-family:var(--font-body);font-size:11pt;font-weight:700;padding:11px 23px;border:1.5px solid var(--alert-red);border-radius:4px;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s}.btn-destructive:hover{background:var(--alert-red);color:#fff}.btn-disabled{background:var(--slate-light);color:var(--slate);font-family:var(--font-body);font-size:11pt;padding:12px 24px;border:none;border-radius:4px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:not-allowed}.card{background:var(--off-white);border:1px solid var(--slate-light);border-radius:6px;padding:16px}.stage-banner{background:var(--obsidian);color:var(--gold);font-family:var(--font-headline);font-weight:700;width:100%;padding:16px 24px;font-size:18pt}.metric-card{background:var(--cream);border-radius:6px;padding:16px;border-top:3px solid var(--gold)}.warning-card{background:var(--warning-light);border-left:4px solid var(--warning-orange)}.error-card,.warning-card{border-radius:4px;padding:16px}.error-card{background:#fee2e2;border-left:4px solid var(--alert-red)}.success-card{background:#d9ede3;border-left:4px solid var(--success-green);border-radius:4px;padding:16px}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-label{font-weight:700}.form-input,.form-label{font-family:var(--font-body);font-size:11pt;color:var(--obsidian)}.form-input{padding:12px 16px;border:1.5px solid var(--slate-light);border-radius:4px;background:#fff;outline:none;transition:border-color .2s;min-height:44px}.form-input:focus{border-color:var(--gold)}.form-textarea{font-family:var(--font-body);font-size:11pt;padding:12px 16px;border:1.5px solid var(--slate-light);border-radius:4px;background:#fff;color:var(--obsidian);outline:none;transition:border-color .2s;resize:vertical;min-height:120px;line-height:1.6}.form-textarea:focus{border-color:var(--gold)}.form-select{font-family:var(--font-body);font-size:11pt;padding:12px 16px;border:1.5px solid var(--slate-light);border-radius:4px;background:#fff;color:var(--obsidian);outline:none;transition:border-color .2s;min-height:44px;cursor:pointer}.form-select:focus{border-color:var(--gold)}.rating-scale{display:flex;gap:8px;flex-wrap:wrap}.rating-btn{width:44px;height:44px;border:1.5px solid var(--slate-light);border-radius:4px;background:#fff;font-family:var(--font-body);font-size:11pt;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--obsidian)}.rating-btn:hover{border-color:var(--gold);background:var(--gold-light)}.rating-btn.selected{background:var(--obsidian);border-color:var(--obsidian);color:var(--gold)}.coach-text{background:var(--obsidian);color:var(--cream);font-family:var(--font-headline);font-size:13pt;line-height:1.6;padding:20px 24px;border-radius:6px;border-left:4px solid var(--gold);margin-bottom:24px}.progress-bar{height:8px;background:var(--slate-light);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--gold);border-radius:4px;transition:width .3s ease}.score-ring-container{position:relative;display:inline-flex;align-items:center;justify-content:center}.score-ring-label{position:absolute;text-align:center;font-family:var(--font-headline);font-weight:700}.page-container{max-width:900px;margin:0 auto;padding:24px 16px}.page-header{margin-bottom:32px}.section{margin-bottom:40px}.grid-2{grid-template-columns:1fr 1fr;grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:1fr 1fr 1fr;grid-gap:16px}.flex-between,.flex-row{display:flex;align-items:center;gap:16px}.flex-between{justify-content:space-between}.divider{height:1px;background:var(--slate-light);margin:24px 0}.divider-gold{height:2px;background:var(--gold);margin:24px 0}.life-area-card{border-radius:6px;padding:16px;border-left:4px solid}.life-area-card.MASS{background:var(--mass-light);border-color:var(--mass)}.life-area-card.MONEY{background:var(--money-light);border-color:var(--money)}.life-area-card.MIND{background:var(--mind-light);border-color:var(--mind)}.life-area-card.MOB{background:var(--mob-light);border-color:var(--mob)}.life-area-card.ME{background:var(--me-light);border-color:var(--me)}.task-card{background:var(--off-white);border:1px solid var(--slate-light);border-radius:6px;padding:16px;display:flex;gap:12px;align-items:flex-start}.task-card.overdue{border-left:4px solid var(--alert-red);background:#fef2f2}.task-card.completed{opacity:.6;border-left:4px solid var(--success-green)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:2px;font-family:var(--font-body);font-size:9pt;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.badge-gold{background:var(--gold);color:var(--obsidian)}.badge-obsidian{background:var(--obsidian);color:var(--gold)}.badge-red{background:var(--alert-red);color:#fff}.badge-green{background:var(--success-green);color:#fff}.badge-slate{background:var(--slate-light);color:var(--slate)}.main-sidebar{position:fixed;inset:0 auto 0 0;z-index:110;width:var(--sidebar-width);height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--obsidian);border-right:1px solid var(--obsidian-light)}.sidebar-logo{height:76px;display:flex;align-items:center;gap:12px;flex-shrink:0;padding:0 20px;color:var(--gold);font-family:var(--font-headline);font-size:12pt;font-weight:700;line-height:1.1;text-decoration:none;border-bottom:1px solid hsla(0,0%,54%,.2)}.sidebar-logo img{width:38px;height:38px;object-fit:contain;flex-shrink:0}.sidebar-nav{flex:1 1;min-height:0;overflow-y:auto;padding:12px 10px}.sidebar-nav-link{display:flex;align-items:center;gap:12px;min-height:40px;margin-bottom:2px;padding:8px 12px;border-radius:5px;color:var(--slate-light);font-family:var(--font-body);font-size:9pt;font-weight:700;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;transition:background .15s,color .15s}.sidebar-nav-link:hover{color:var(--cream);background:hsla(0,0%,100%,.06)}.sidebar-nav-link.active{color:var(--gold);background:rgba(200,162,75,.12)}.sidebar-nav-icon{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar-account{flex-shrink:0;padding:12px 14px 16px;border-top:1px solid hsla(0,0%,54%,.25)}.sidebar-user{display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:10px}.sidebar-user-avatar{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--gold);border-radius:50%;background:rgba(200,162,75,.12);color:var(--gold);font-size:9pt;font-weight:700}.sidebar-user-name{min-width:0;overflow:hidden;color:var(--cream);font-size:9pt;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.sidebar-sign-out{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--obsidian-light);border-radius:4px;background:transparent;color:var(--slate);cursor:pointer;font-family:var(--font-body);font-size:9pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sidebar-sign-out:hover{border-color:var(--gold);color:var(--cream)}.sidebar-sign-out svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-nav-bar,.sidebar-backdrop{display:none}.page-content{min-height:100vh;margin-left:var(--sidebar-width)}.step-indicator{display:flex;gap:8px;margin-bottom:32px}.step-dot{width:10px;height:10px;border-radius:50%;background:var(--slate-light)}.step-dot.active{background:var(--gold)}.step-dot.complete{background:var(--success-green)}.checkbox-group{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1.5px solid var(--slate-light);border-radius:4px;cursor:pointer;transition:border-color .2s}.checkbox-group:hover{border-color:var(--gold)}.checkbox-group input[type=checkbox]{width:20px;height:20px;accent-color:var(--obsidian);margin-top:2px;flex-shrink:0;cursor:pointer}@media (max-width:767px){h1{font-size:22pt}h2{font-size:15pt}.grid-2,.grid-3{grid-template-columns:1fr}.page-container{padding:16px 12px}.mobile-nav-bar{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-height);gap:12px;padding:0 14px;background:var(--obsidian);border-bottom:2px solid var(--gold)}.mobile-nav-bar,.mobile-nav-logo{display:flex;align-items:center}.mobile-nav-logo img{width:36px;height:36px;object-fit:contain}.sidebar-menu-button{width:40px;height:38px;padding:7px;border:1px solid var(--gold);border-radius:4px;background:rgba(200,162,75,.1);color:var(--gold);cursor:pointer}.sidebar-menu-button span{display:block;height:2px;margin:4px 0;background:currentColor}.main-sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:10px 0 30px rgba(0,0,0,.35)}.main-sidebar.open{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;z-index:105;display:block;border:0;background:rgba(0,0,0,.55);cursor:pointer}.page-content{min-height:calc(100vh - var(--nav-height));margin-top:var(--nav-height);margin-left:0}.auth-page{flex-direction:column}.auth-brand-panel{min-width:0!important;padding:32px 24px!important}.auth-form-panel{flex:1 1 auto!important;padding:32px 24px!important}}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:48px}.spinner{width:32px;height:32px;border:3px solid var(--slate-light);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.fade-in{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}