.dashboard-root{--cream:#f5f2ea;--cream-card:#fdfcf8;--navy:#1e3a5f;--navy-deep:#162a45;--green:#3d6b4f;--green-dark:#2f5540;--teal:#2e7d74;--teal-soft:#e4efed;--gold:#c9a227;--gold-soft:#f4ebd2;--ink:#22303f;--ink-soft:#4a5a6a;--line:#e3ded0;--white:#fff;--radius:14px;--radius-lg:20px;--tap:48px;--shadow:0 2px 10px #1e3a5f12;--shadow-lift:0 6px 22px #1e3a5f1f;--font-display:"Nunito", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;font-family:var(--font-body);background:var(--cream);color:var(--ink);min-height:100vh;font-size:18px;line-height:1.6}.dashboard-root *,.dashboard-root :before,.dashboard-root :after{box-sizing:border-box}.dashboard-root h1,.dashboard-root h2,.dashboard-root h3{font-family:var(--font-display);color:var(--navy);margin:0;line-height:1.2}.dashboard-root h1{font-size:2rem;font-weight:800}.dashboard-root h2{font-size:1.45rem;font-weight:800}.dashboard-root h3{font-size:1.15rem;font-weight:700}.dashboard-root p{margin:0}.dashboard-root a{color:var(--teal)}.dashboard-root button{font-family:var(--font-body)}.dashboard-root a:focus-visible,.dashboard-root button:focus-visible,.dashboard-root [tabindex]:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:6px}@media (prefers-reduced-motion:reduce){.dashboard-root *,.dashboard-root :before,.dashboard-root :after{transition:none!important;animation:none!important}}.dashboard-root .shell{min-height:100vh;display:flex}.dashboard-root .sidebar{background:var(--white);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:280px;height:100vh;padding:1.25rem 1rem;display:flex;position:sticky;top:0}.dashboard-root .brand{align-items:center;gap:.6rem;padding:.4rem .5rem 1.1rem;display:flex}.dashboard-root .brand-mark{background:var(--green);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.dashboard-root .brand-mark svg{width:24px;height:24px}.dashboard-root .brand-name{font-family:var(--font-display);color:var(--navy);font-size:1.02rem;font-weight:800;line-height:1.15}.dashboard-root .brand-sub{color:var(--ink-soft);font-size:.78rem;font-weight:500}.dashboard-root .nav{flex-direction:column;gap:.35rem;margin-top:.4rem;display:flex}.dashboard-root .nav-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);padding:.6rem .75rem .25rem;font-size:.72rem;font-weight:600}.dashboard-root .nav-item{min-height:var(--tap);color:var(--navy);text-align:left;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:12px;align-items:center;gap:.75rem;width:100%;padding:.55rem .8rem;font-size:1rem;font-weight:600;text-decoration:none;display:flex}.dashboard-root .nav-item svg{width:22px;height:22px;stroke:var(--green);flex-shrink:0}.dashboard-root .nav-item:hover{background:var(--teal-soft)}.dashboard-root .nav-item[aria-current=page]{background:var(--navy);color:var(--white)}.dashboard-root .nav-item[aria-current=page] svg{stroke:var(--white)}.dashboard-root .nav-item.external{color:var(--green-dark)}.dashboard-root .nav-item .ext-tag{color:var(--ink-soft);background:var(--cream);border:1px solid var(--line);border-radius:99px;margin-left:auto;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.dashboard-root .sidebar-foot{background:var(--teal-soft);border-radius:var(--radius);color:var(--ink);margin-top:auto;padding:.9rem .8rem;font-size:.88rem}.dashboard-root .sidebar-foot strong{color:var(--navy)}.dashboard-root .main{flex-direction:column;flex:1;min-width:0;display:flex}.dashboard-root .topbar{background:var(--cream);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1rem 2.2rem;display:flex}.dashboard-root .crumb{color:var(--ink-soft);font-size:.92rem;font-weight:500}.dashboard-root .crumb strong{color:var(--navy)}.dashboard-root .account{align-items:center;gap:.9rem;display:flex}.dashboard-root .account .avatar{background:var(--gold-soft);border:2px solid var(--gold);width:44px;height:44px;color:var(--navy);border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex}.dashboard-root .logout{min-height:var(--tap);border:2px solid var(--line);background:var(--white);color:var(--navy);cursor:pointer;border-radius:10px;padding:.4rem 1rem;font-size:.92rem;font-weight:600}.dashboard-root .logout:hover{border-color:var(--teal)}.dashboard-root .content{width:100%;max-width:960px;margin:0 auto;padding:2rem 2.2rem 4rem}.dashboard-root .welcome{margin-bottom:1.6rem}.dashboard-root .welcome .pill{background:var(--white);border:1px solid var(--line);letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;border-radius:99px;align-items:center;gap:.5rem;margin-bottom:.9rem;padding:.35rem .95rem;font-size:.8rem;font-weight:600;display:inline-flex}.dashboard-root .welcome .pill .dot{background:var(--green);border-radius:50%;width:9px;height:9px}.dashboard-root .welcome h1 span{color:var(--green)}.dashboard-root .welcome p{color:var(--ink-soft);max-width:56ch;margin-top:.55rem;font-size:1.05rem}.dashboard-root .next-step{background:var(--white);border:3px solid var(--gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);flex-wrap:wrap;align-items:center;gap:1.6rem;margin-bottom:2rem;padding:1.7rem 1.9rem;display:flex}.dashboard-root .next-step .thumb{aspect-ratio:16/9;background:linear-gradient(135deg, var(--navy) 0%, var(--green) 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:200px;display:flex;position:relative}.dashboard-root .next-step .thumb .play{background:var(--white);width:58px;height:58px;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;display:flex}.dashboard-root .next-step .thumb .play svg{width:22px;height:22px;fill:var(--green);margin-left:3px}.dashboard-root .next-step .body{flex:1;min-width:240px}.dashboard-root .next-step .eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--green);margin-bottom:.3rem;font-size:.8rem;font-weight:700}.dashboard-root .next-step h2{margin-bottom:.35rem}.dashboard-root .next-step p{color:var(--ink-soft);margin-bottom:1rem;font-size:.98rem}.dashboard-root .btn{min-height:var(--tap);cursor:pointer;border:2px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.55rem;padding:.7rem 1.5rem;font-size:1.02rem;font-weight:700;text-decoration:none;display:inline-flex}.dashboard-root .btn-primary{background:var(--green);color:var(--white)}.dashboard-root .btn-primary:hover{background:var(--green-dark)}.dashboard-root .btn-secondary{background:var(--white);color:var(--navy);border-color:var(--navy)}.dashboard-root .btn-secondary:hover{background:var(--teal-soft)}.dashboard-root .btn-quiet{color:var(--teal);min-height:var(--tap);background:0 0;border:none;padding:.5rem .6rem;font-weight:600}.dashboard-root .panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:2rem;padding:1.5rem 1.7rem}.dashboard-root .panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.dashboard-root .progress-note{color:var(--green-dark);font-size:.92rem;font-weight:600}.dashboard-root .progress-track{background:var(--cream);border:1px solid var(--line);border-radius:99px;height:12px;margin-bottom:1.2rem;overflow:hidden}.dashboard-root .progress-fill{background:var(--green);border-radius:99px;height:100%}.dashboard-root .check-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.dashboard-root .check-item{min-height:var(--tap);border-radius:10px;align-items:center;gap:.9rem;padding:.55rem .6rem;font-size:1rem;display:flex}.dashboard-root .check-item:hover{background:var(--cream)}.dashboard-root .check-box{border:2px solid var(--ink-soft);background:var(--white);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.dashboard-root .check-item.done .check-box{background:var(--green);border-color:var(--green)}.dashboard-root .check-item.done .check-box svg{stroke:var(--white);width:16px;height:16px}.dashboard-root .check-item.done .check-text{color:var(--ink-soft);text-decoration:line-through;text-decoration-thickness:1.5px}.dashboard-root .check-text strong{color:var(--navy)}.dashboard-root .check-go{color:var(--teal);white-space:nowrap;min-height:var(--tap);align-items:center;margin-left:auto;padding:0 .5rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.dashboard-root .event{background:var(--navy);border-radius:var(--radius-lg);color:var(--white);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:1.4rem;margin-bottom:2rem;padding:1.5rem 1.8rem;display:flex}.dashboard-root .event .date-chip{background:var(--white);text-align:center;border-bottom:4px solid var(--gold);border-radius:12px;flex-shrink:0;padding:.7rem 1rem}.dashboard-root .event .date-chip .mon{letter-spacing:.08em;color:var(--green-dark);text-transform:uppercase;font-size:.78rem;font-weight:700}.dashboard-root .event .date-chip .day{font-family:var(--font-display);color:var(--navy);font-size:1.7rem;font-weight:800;line-height:1.05}.dashboard-root .event .body{flex:1;min-width:230px}.dashboard-root .event h2{color:var(--white);margin-bottom:.25rem}.dashboard-root .event p{color:#c9d6e4;margin-bottom:0;font-size:.95rem}.dashboard-root .event .actions{flex-wrap:wrap;gap:.7rem;display:flex}.dashboard-root .btn-gold-line{background:var(--white);color:var(--navy);border-color:var(--gold)}.dashboard-root .btn-gold-line:hover{background:var(--gold-soft)}.dashboard-root .btn-ghost{color:var(--white);background:0 0;border-color:#5b7290}.dashboard-root .btn-ghost:hover{border-color:var(--white)}.dashboard-root .grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem;margin-bottom:2rem;display:grid}.dashboard-root .card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:var(--ink);cursor:pointer;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.dashboard-root .card:hover{box-shadow:var(--shadow-lift);border-color:var(--teal)}.dashboard-root .card .card-top{aspect-ratio:16/8;justify-content:center;align-items:center;display:flex}.dashboard-root .card .card-top svg{width:44px;height:44px;stroke:var(--white)}.dashboard-root .ct-green{background:linear-gradient(135deg, var(--green), var(--teal))}.dashboard-root .ct-navy{background:linear-gradient(135deg, var(--navy), #31517b)}.dashboard-root .ct-teal{background:linear-gradient(135deg, var(--teal), #4a9c92)}.dashboard-root .card .card-body{padding:1.1rem 1.2rem 1.3rem}.dashboard-root .card h3{margin-bottom:.3rem}.dashboard-root .card p{color:var(--ink-soft);font-size:.92rem}.dashboard-root .card .count{color:var(--green-dark);background:var(--teal-soft);border-radius:99px;margin-top:.7rem;padding:.2rem .7rem;font-size:.8rem;font-weight:700;display:inline-block}.dashboard-root .trust{background:var(--gold-soft);border:1px solid var(--gold);border-radius:var(--radius-lg);color:var(--ink);align-items:center;gap:1rem;padding:1.2rem 1.5rem;font-size:.98rem;display:flex}.dashboard-root .trust svg{width:30px;height:30px;stroke:var(--green-dark);flex-shrink:0}.dashboard-root .trust strong{color:var(--navy)}.dashboard-root .trust a{font-weight:600}.dashboard-root .replay-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.2rem;display:grid}.dashboard-root .replay .card-top{background:linear-gradient(135deg, var(--navy), var(--green));position:relative}.dashboard-root .replay .card-top .play{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.dashboard-root .replay .card-top .play svg{width:20px;height:20px;fill:var(--green);margin-left:2px}.dashboard-root .replay .dur{color:var(--white);background:#162a45d9;border-radius:6px;padding:.15rem .5rem;font-size:.78rem;font-weight:600;position:absolute;bottom:.6rem;right:.7rem}.dashboard-root .status{border-radius:99px;align-items:center;gap:.4rem;margin-top:.7rem;padding:.2rem .7rem;font-size:.8rem;font-weight:700;display:inline-flex}.dashboard-root .st-done{background:var(--teal-soft);color:var(--green-dark)}.dashboard-root .st-progress{background:var(--gold-soft);color:var(--navy)}.dashboard-root .st-new{background:var(--cream);color:var(--ink-soft);border:1px solid var(--line)}.dashboard-root .dl-list{flex-direction:column;gap:.8rem;display:flex}.dashboard-root .dl-row{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:1.1rem;padding:1rem 1.2rem;display:flex}.dashboard-root .dl-ico{background:var(--teal-soft);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.dashboard-root .dl-ico svg{width:26px;height:26px;stroke:var(--green-dark)}.dashboard-root .dl-body{flex:1;min-width:220px}.dashboard-root .dl-body h3{font-size:1.02rem}.dashboard-root .dl-body p{color:var(--ink-soft);font-size:.88rem}.dashboard-root .dl-meta{color:var(--ink-soft);font-size:.78rem;font-weight:600}.dashboard-root .dl-actions{flex-wrap:wrap;gap:.6rem;display:flex}.dashboard-root .btn-sm{min-height:var(--tap);padding:.45rem 1.05rem;font-size:.92rem}.dashboard-root .page-intro{margin-bottom:1.6rem}.dashboard-root .page-intro p{color:var(--ink-soft);max-width:60ch;margin-top:.4rem}.dashboard-root .empty{background:var(--white);border:2px dashed var(--line);border-radius:var(--radius-lg);text-align:center;color:var(--ink-soft);padding:2rem;font-size:.98rem}.dashboard-root .empty strong{color:var(--navy)}.dashboard-root .menu-btn,.dashboard-root .scrim{display:none}@media (width<=900px){.dashboard-root .sidebar{z-index:40;box-shadow:var(--shadow-lift);transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.dashboard-root .sidebar.open{transform:translate(0)}.dashboard-root .scrim.open{z-index:30;background:#162a4559;display:block;position:fixed;inset:0}.dashboard-root .menu-btn{min-height:var(--tap);background:var(--white);border:2px solid var(--line);color:var(--navy);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.4rem 1rem;font-size:.95rem;font-weight:700;display:inline-flex}.dashboard-root .content{padding:1.4rem 1.1rem 3rem}.dashboard-root .topbar{padding:.8rem 1.1rem}.dashboard-root .next-step{padding:1.3rem}.dashboard-root .next-step .thumb{width:100%}}
