:root{--canvas:#FAF5EE;--surface:#FFFFFF;--raised:#FFFFFF;--hair:#E8DFD4;--hair2:#E0D5C6;--t1:#3A2E26;--t2:#7A6A5C;--t3:#A89684;--terra:#B4532A;--terra-tint:rgba(180,83,42,.06);--terra-tint2:rgba(180,83,42,.10);--sage:#5C6B57;--sage-tint:rgba(92,107,87,.10);--ok:#5C6B57;--warn:#B8860B;--bad:#A03B2A;--hover:#F5EDE3}body.dark{--canvas:#1E1712;--surface:#2A211A;--raised:#352A21;--hair:#3E3228;--hair2:#4A3C2F;--t1:#F0E7DB;--t2:#B3A392;--t3:#7D6F60;--terra:#E07B4F;--terra-tint:rgba(224,123,79,.09);--terra-tint2:rgba(224,123,79,.14);--sage:#93A88C;--sage-tint:rgba(147,168,140,.12);--ok:#93A88C;--warn:#D9A441;--bad:#E0684F;--hover:#2E241C}*{margin:0;padding:0;box-sizing:border-box}body,html{background:var(--canvas)}body{font-family:Figtree,sans-serif;color:var(--t1);font-size:14px;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}svg{flex-shrink:0}.app{min-height:100vh}.app,.side{display:flex}.side{width:216px;border-right:1px solid var(--hair);padding:20px 12px;flex-shrink:0;flex-direction:column;background:var(--canvas);position:-webkit-sticky;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:10px;padding:2px 10px 18px}.logo span{font-family:"Source Serif 4",serif;font-weight:600;font-size:18px;letter-spacing:-.01em}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;color:var(--t2);cursor:pointer;border-radius:6px}.nav-item:hover{background:var(--hover);color:var(--t1)}.nav-item.on{background:var(--terra-tint2);color:var(--terra);font-weight:600}.nav-item .soon{margin-left:auto;font-size:10px;font-weight:600;letter-spacing:.05em;color:var(--t3);border:1px solid var(--hair);padding:1px 6px;border-radius:4px}.side .foot{margin-top:auto;padding:14px 10px 2px;border-top:1px solid var(--hair);font-size:12px;color:var(--t3);line-height:1.6}.side .foot b{color:var(--t2);font-weight:600}.mode{display:flex;align-items:center;gap:8px;margin-top:10px;padding:7px 10px;border:1px solid var(--hair);border-radius:6px;font-size:12.5px;font-weight:500;color:var(--t2);cursor:pointer;background:transparent;width:100%;font-family:inherit}.mode:hover{background:var(--hover)}.main{flex:1 1;padding:28px 40px 48px;max-width:1040px}.crumb{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t3);margin-bottom:4px}h1.title{font-family:"Source Serif 4",serif;font-size:26px;letter-spacing:-.01em;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--hair)}.sec,h1.title{font-weight:600}.sec{font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--t2);margin:0 0 12px}.rule{border:none;border-top:1px solid var(--hair);margin:32px 0}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:32px}.kpi{background:var(--surface);border:1px solid var(--hair);border-radius:8px;padding:14px 16px}.kpi .lbl{font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--t2);margin-bottom:6px}.kpi .num{font-family:"Source Serif 4",serif;font-size:30px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.kpi .num em{font-style:normal;color:var(--terra)}.kpi .num .dim{font-size:16px;color:var(--t3)}.kpi .sub{font-size:12px;color:var(--t2);margin-top:6px}.meter{height:8px;background:var(--terra-tint2);overflow:hidden;margin:10px 0 8px}.meter,.meter i{border-radius:99px}.meter i{display:block;height:100%;background:var(--terra)}.cap{font-size:12.5px;color:var(--t2)}.cap b{color:var(--t1);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cols{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:40px;gap:40px}.list{list-style:none}.list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--hair);font-size:13.5px}.list li:last-child{border:none}.dot{width:8px;height:8px;border-radius:99px;flex-shrink:0}.dot.g{background:var(--ok)}.dot.y{background:var(--warn)}.dot.r{background:var(--bad)}.dot.n0{background:var(--hair2)}.miles{display:flex;flex-direction:column}.mile{gap:12px;padding:7px 0;font-size:13.5px;color:var(--t2)}.mile,.mile .c{display:flex;align-items:center}.mile .c{width:22px;height:22px;border-radius:99px;border:1.5px solid var(--hair2);justify-content:center;font-size:11px;font-weight:600;background:var(--surface);color:var(--t3);flex-shrink:0}.mile.done .c{background:var(--terra);border-color:var(--terra);color:#FFF8F2}.mile.done,.mile.next{color:var(--t1)}.mile.next{font-weight:600}.mile.next .c{border-color:var(--terra);color:var(--terra)}.views{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.chip{font-size:12.5px;font-weight:500;padding:6px 12px;border-radius:6px;border:1px solid var(--hair);color:var(--t2);cursor:pointer;background:transparent;display:inline-block}.chip:hover{background:var(--hover)}.chip.on{background:var(--terra-tint2);border-color:transparent;color:var(--terra);font-weight:600}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t2);padding:0 12px;height:36px;border-bottom:1px solid var(--hair2)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td{padding:0 12px;height:40px;border-bottom:1px solid var(--hair);color:var(--t2)}td.anchor{color:var(--t1);font-weight:500}tr.row:hover{background:var(--hover)}tr.group td{height:34px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--t2);border-bottom:1px solid var(--hair2)}tr.group td span{font-weight:500;text-transform:none;letter-spacing:0;color:var(--t3)}.badge{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:2px 8px;border-radius:5px}.tA{background:var(--terra-tint2);color:var(--terra);font-weight:600}.tB{background:rgba(184,134,11,.12);color:var(--warn)}.tC{background:var(--sage-tint);color:var(--sage)}.tD{background:var(--hover);color:var(--t3)}.st{background:var(--sage-tint);color:var(--sage)}.tbl-note{font-size:12.5px;color:var(--t3);margin-top:12px}.search{display:flex;gap:8px;margin-bottom:16px}.input,.selectbox,.textarea{font-family:inherit;font-size:13.5px;color:var(--t1);background:var(--surface);border:1px solid var(--hair2);border-radius:6px;padding:8px 12px;width:100%}.input:focus,.selectbox:focus,.textarea:focus{outline:2px solid var(--terra);outline-offset:-1px;border-color:transparent}.textarea{line-height:1.6;resize:vertical;min-height:88px}.field{margin-bottom:14px}.field label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--t2);margin-bottom:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 20px;gap:0 20px}.form-grid .span2{grid-column:span 2}.check{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--t1);padding:8px 0}.check input{accent-color:var(--terra);width:15px;height:15px}.rec-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:6px}.rec-head h1{font-size:26px;letter-spacing:-.01em}.grade,.rec-head h1{font-family:"Source Serif 4",serif;font-weight:600}.grade{font-size:20px;color:var(--terra);background:var(--terra-tint2);width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.btn{background:var(--terra);color:#FFF8F2;font-weight:600;border-radius:6px;border:none}.btn,.btn2{font-size:13.5px;padding:9px 16px;cursor:pointer;font-family:inherit}.btn2{background:transparent;border:1px solid var(--hair2);color:var(--t1);font-weight:500;border-radius:6px}.btn2:hover,.btn:hover{opacity:.9}.sub-line{margin-bottom:24px}.score-list .row2,.sub-line{font-size:13px;color:var(--t2)}.score-list .row2{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--hair)}.score-list .row2:last-child{border:none}.score-list .row2 b{color:var(--terra);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fld{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--hair);font-size:13px}.fld:last-child{border:none}.fld .k{color:var(--t2);flex-shrink:0}.fld .v{text-align:right;color:var(--t1);font-weight:500;overflow-wrap:anywhere}.src{display:block;font-size:11px;color:var(--t3);font-weight:400;margin-top:1px}.tl-item{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--hair);font-size:13px;color:var(--t2)}.tl-item:last-child{border:none}.tl-when{color:var(--t3);font-size:12px;white-space:nowrap;width:56px;flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tl-item b{color:var(--t1);font-weight:600}.playcard{border:1px solid var(--hair);border-left:3px solid var(--terra);border-radius:8px;background:var(--surface);padding:20px 24px;margin-bottom:28px}.ring-row{display:flex;gap:24px;align-items:center;margin-bottom:8px}.ring{width:84px;height:84px;flex-shrink:0}.ring,.ring i{border-radius:99px;display:flex;align-items:center;justify-content:center}.ring i{width:64px;height:64px;background:var(--canvas);flex-direction:column;font-style:normal}.ring b{font-family:"Source Serif 4",serif;font-size:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ring span{font-size:10px;color:var(--t2);font-weight:600;letter-spacing:.05em}.hgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.hcell{border:1px solid var(--hair);border-radius:8px;padding:11px 14px;font-size:12.5px;color:var(--t2);background:var(--surface)}.hcell b{gap:7px;font-size:13px;color:var(--t1);font-weight:600;margin-bottom:2px}.hcell b,.login-wrap{display:flex;align-items:center}.login-wrap{min-height:100vh;justify-content:center;padding:20px}.login-card{width:100%;max-width:360px}.login-card .logo{justify-content:center;padding-bottom:26px}.login-card .logo span{font-size:22px}.err{color:var(--bad);font-size:12.5px;margin-top:10px;text-align:center}@media (max-width:900px){.cols,.form-grid,.hgrid,.kpis{grid-template-columns:1fr}.form-grid .span2{grid-column:span 1}.side{width:60px}.logo span,.mode em,.nav-item .soon,.nav-item em,.side .foot{display:none}.main{padding:20px}}