:root{--teal:#9ed4cf;--teal-light:#d6efec;--teal-dark:#2f5a54;--mint-dark:#6cbf9a;--canvas:#f4f6f5;--ink:#243530;--ink-soft:#7c8a86;--line:#e3e8e6;--danger:#d9534f;--accent:#e8743b;--header-h:56px;--tabbar-h:60px}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}a{color:inherit}.app{max-width:760px;margin:0 auto;min-height:100vh;background:var(--canvas);position:relative}.app:has(.lp-root){max-width:100%;margin:0;background:#fff}.app-header{background:var(--teal);color:var(--teal-dark);height:var(--header-h);padding:0 14px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;font-weight:700;position:-webkit-sticky;position:sticky;top:0;z-index:60;flex-shrink:0}.has-tabbar .app-header{grid-template-columns:46px 1fr auto}.app-header-left{display:flex;align-items:center}.app-header-title{font-size:17px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.has-tabbar .app-header-title{text-align:left}.app-header-right{display:flex;align-items:center;justify-content:flex-end}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--teal-dark);text-decoration:none;position:relative;transition:background .15s;flex-shrink:0}.icon-btn:active{background:rgba(0,0,0,.08)}.notif-badge{position:absolute;top:6px;right:6px;min-width:16px;height:16px;border-radius:8px;background:#e53935;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;padding:0 3px;pointer-events:none}.app-back-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--teal-dark);text-decoration:none;transition:background .15s;margin-left:-4px}.app-back-btn:active{background:rgba(0,0,0,.08)}.screen-pad{padding:16px;display:flex;flex-direction:column;gap:14px}.card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:box-shadow .18s,transform .1s}@media (hover:hover){.card:hover{box-shadow:0 6px 20px rgba(0,0,0,.1)}}a>.card:active,button>.card:active{transform:scale(.985);box-shadow:0 1px 4px rgba(0,0,0,.05)}.hero-card{background:var(--teal-light)}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.muted{color:var(--ink-soft)}.section-title{font-size:15px;font-weight:700;display:block;margin-bottom:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--mint-dark);color:#fff;border:none;border-radius:12px;padding:13px 18px;font:inherit;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s}.btn:active{opacity:.85;transform:scale(.98)}.btn.secondary{background:var(--teal-light);color:var(--teal-dark)}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:default}.cta{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;background:var(--mint-dark);color:#fff;border:none;border-radius:12px;padding:14px 18px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s;margin-top:4px}.cta:active{opacity:.85;transform:scale(.98)}.cta:disabled{opacity:.5;cursor:default}.input,input[type=date],input[type=email],input[type=month],input[type=number],input[type=text],input[type=time],select,textarea{width:100%;padding:12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink);color-scheme:light;transition:border-color .15s}.input:focus,input[type=email]:focus,input[type=number]:focus,input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal-dark)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:var(--ink-soft);font-weight:500}.progress{height:8px;background:var(--line);border-radius:4px;overflow:hidden}.progress>i{display:block;height:100%;background:var(--mint-dark);border-radius:4px;transition:width .4s ease}.pill{background:var(--canvas);color:var(--ink-soft);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.pill.mint{background:var(--teal-light);color:var(--teal-dark)}.discount-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.discount-row:last-child{border-bottom:none}.has-tabbar{position:relative;display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.student-scroll{flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}@media (min-width:768px){body:has(.has-tabbar){background:var(--canvas)}.app:has(.has-tabbar){max-width:100%;margin:0;height:100vh;border-radius:0;overflow:hidden;box-shadow:none;border:none}body:has(.has-tabbar) .has-tabbar{flex-direction:row;height:100vh}.drawer-panel{position:static;transform:none!important;width:240px;flex-shrink:0;height:100%;border-right:1px solid var(--line);box-shadow:none;overflow:hidden;transition:width .25s ease}.drawer-panel:not(.open){width:0;border-right:none}.drawer-overlay{display:none}.drawer-close,.student-hamburger{display:flex}.tabbar{display:none!important}.has-tabbar .app-header{grid-template-columns:44px 1fr 44px}}.student-hamburger{position:absolute;top:10px;left:10px;z-index:110;background:none;border:none;cursor:pointer;color:var(--teal-dark);padding:6px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .15s}.student-hamburger:active{background:rgba(0,0,0,.08)}.drawer-overlay{position:absolute;inset:0;z-index:200;background:rgba(0,0,0,.45);animation:overlay-fade-in .2s ease}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.drawer-panel{position:absolute;top:0;left:0;bottom:0;width:84%;max-width:300px;z-index:201;background:#fff;transform:translateX(-100%);transition:transform .22s cubic-bezier(.55,0,1,.45);overflow-y:auto;box-shadow:6px 0 32px rgba(0,0,0,.12);display:flex;flex-direction:column}.drawer-panel.open{transform:translateX(0);transition:transform .38s cubic-bezier(.16,1,.3,1)}.drawer-head{background:var(--teal);justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:1;flex-shrink:0;padding:max(16px,env(safe-area-inset-top,16px)) 14px 16px}.drawer-brand,.drawer-head{display:flex;align-items:center}.drawer-brand{gap:8px}.drawer-brand-icon{width:32px;height:32px;background:var(--teal-dark);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.drawer-title{font-weight:800;color:var(--teal-dark);font-size:18px;letter-spacing:-.3px}.drawer-close{background:rgba(0,0,0,.06);border:none;cursor:pointer;color:var(--teal-dark);padding:6px;border-radius:50%;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s}.drawer-close:active{background:rgba(0,0,0,.12)}.drawer-body{flex:1 1;padding:8px 0 24px;overflow-y:auto;display:flex;flex-direction:column}.drawer-group{margin-bottom:4px}.drawer-group-label{font-size:10px;font-weight:700;color:var(--ink-soft);letter-spacing:.8px;text-transform:uppercase;padding:12px 16px 4px}.drawer-item{display:flex;align-items:center;gap:12px;padding:13px 16px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:500;position:relative;transition:background .12s}.drawer-item.active,.drawer-item:active{background:var(--teal-light)}.drawer-item.active{color:var(--teal-dark);font-weight:700}.drawer-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.7}.drawer-item.active .drawer-icon{opacity:1}.drawer-item-label{flex:1 1}.drawer-active-dot{width:6px;height:6px;background:var(--teal-dark);border-radius:50%;flex-shrink:0}.drawer-group--footer{margin-top:auto;padding-top:4px;border-top:1px solid var(--border)}.drawer-item--logout{width:100%;background:none;border:none;cursor:pointer;color:var(--ink-soft);font-family:inherit}.drawer-item--logout:active{background:rgba(229,57,53,.08);color:#c62828}.tabbar{flex-shrink:0;display:flex;background:hsla(180,8%,97%,.96);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0);z-index:80;height:var(--tabbar-h)}.tabbar a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;color:var(--ink-soft);text-decoration:none;font-size:10px;font-weight:500;position:relative;transition:color .15s,transform .1s}.tabbar a:active{transform:scale(.86)}.tabbar a.active{color:var(--teal-dark);font-weight:700}@keyframes tab-pop{0%{transform:scale(.88)}60%{transform:scale(1.12)}to{transform:scale(1)}}.tabbar a.active .tabbar-icon-wrap{animation:tab-pop .28s cubic-bezier(.34,1.56,.64,1)}.tabbar a.active:before{content:"";position:absolute;top:2px;width:20px;height:3px;background:var(--teal-dark);border-radius:0 0 3px 3px}.tabbar svg{width:24px;height:24px;fill:currentColor;display:block}.empty{text-align:center;color:var(--ink-soft);padding:30px}.note{background:var(--teal-light);border-radius:10px;padding:12px;font-size:13px}.stat-strip{display:flex;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06)}.stat-strip>div{flex:1 1;text-align:center;padding:14px 6px;border-right:1px solid var(--line)}.stat-strip>div:last-child{border-right:none}.stat-strip .lbl{font-size:11px;color:var(--ink-soft)}.stat-strip .val{font-size:22px;font-weight:800;color:var(--teal-dark);margin-top:2px}.chart{display:flex;align-items:flex-end;gap:8px;height:130px;padding:8px 4px 0}.chart .bar{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:5px;height:100%;justify-content:flex-end}.chart .bar>i{width:60%;border-radius:5px 5px 0 0;background:var(--teal);display:block;min-height:2px}.chart .bar.today>i{background:var(--accent)}.chart .bar .d{font-size:10px;color:var(--ink-soft)}.chart.spark{height:64px;gap:6px}.chart.spark .bar>i{width:70%}.up{color:var(--accent);font-weight:700}.heatmap{display:flex;gap:3px;overflow-x:auto;padding-bottom:2px}.heatmap-col{display:flex;flex-direction:column;gap:3px;flex-shrink:0}.heatmap-cell{width:12px;height:12px;border-radius:2px;flex-shrink:0}.heatmap-cell.today{outline:2px solid var(--teal-dark);outline-offset:1px}.heatmap-legend{display:flex;align-items:center;gap:4px;margin-top:8px;justify-content:flex-end}.kanban{display:flex;gap:12px;overflow-x:auto;align-items:flex-start;padding-bottom:6px}.kan-col{min-width:200px;flex:0 0 auto;background:#fff;border-radius:14px;padding:12px;box-shadow:0 2px 8px rgba(0,0,0,.07)}.kan-col.over{outline:2px dashed var(--teal);outline-offset:-2px;background:var(--teal-light)}.kan-col-header{display:flex;align-items:center;gap:6px;margin-bottom:10px}.kan-col-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kan-col-title{font-size:12px;font-weight:700;flex:1 1}.kan-empty{font-size:11px;color:var(--ink-soft);text-align:center;padding:16px 0}.kan-card{background:var(--canvas);border-radius:10px;padding:10px;margin-bottom:8px;cursor:-webkit-grab;cursor:grab;border:1px solid rgba(0,0,0,.04);position:relative;overflow:hidden;transition:box-shadow .15s}.kan-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}.kan-card:active{cursor:-webkit-grabbing;cursor:grabbing}.kan-card-accent{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px}.kan-card-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kan-card select{font-size:11px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;width:100%}@media (prefers-color-scheme:dark){.kan-col{background:#1a2e2b}.kan-card{background:#243530}}.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.menu-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 4px 12px;background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);text-decoration:none;color:var(--ink);transition:transform .1s,box-shadow .1s}.menu-tile:active{transform:scale(.95);box-shadow:0 1px 4px rgba(0,0,0,.06)}.menu-tile-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--teal-light);border-radius:12px;color:var(--teal-dark)}.menu-tile-label{font-size:10px;color:var(--ink-soft);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-weight:500}.notif-bell{position:relative;display:inline-flex;color:var(--teal-dark);text-decoration:none;padding:4px}.notif-bell,.notif-bell-badge{align-items:center;justify-content:center}.notif-bell-badge{position:absolute;top:-1px;right:-1px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:1;min-width:16px;height:16px;border-radius:8px;display:flex;padding:0 3px}.tabbar-icon-wrap{position:relative;display:inline-flex}.tabbar-badge{position:absolute;top:-4px;right:-6px;background:var(--danger);color:#fff;font-size:9px;font-weight:700;line-height:1;min-width:14px;height:14px;border-radius:7px;padding:0 2px}.post-avatar,.tabbar-badge{display:flex;align-items:center;justify-content:center}.post-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:var(--teal);color:var(--teal-dark);font-size:15px;font-weight:800}.scout-avatar{width:44px;height:44px;border-radius:14px;background:var(--teal-light);color:var(--teal-dark);font-size:18px}.empty-state{flex-direction:column;text-align:center;padding:40px 24px;gap:10px}.empty-state,.empty-state-icon{display:flex;align-items:center}.empty-state-icon{width:64px;height:64px;background:var(--teal-light);border-radius:20px;justify-content:center;color:var(--teal-dark);margin-bottom:4px}.empty-state-title{font-size:17px;font-weight:700;color:var(--ink)}.empty-state-sub{font-size:13px;color:var(--ink-soft);line-height:1.6;max-width:240px}.toast-container{position:fixed;bottom:calc(var(--tabbar-h) + 16px);left:16px;right:16px;z-index:600;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:428px}@media (min-width:768px){.toast-container{bottom:24px;left:50%;transform:translateX(-50%);width:380px;right:auto}}.toast{background:#1c1c1e;color:#fff;border-radius:12px;padding:12px 16px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:10px;pointer-events:auto;box-shadow:0 4px 20px rgba(0,0,0,.3);animation:toast-in .25s cubic-bezier(.4,0,.2,1)}.toast-success{border-left:3px solid var(--mint-dark)}.toast-error{border-left:3px solid var(--danger)}.toast-info{border-left:3px solid var(--teal)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.scout-message-preview{font-size:13px;line-height:1.7;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0 0}.scout-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--teal-light) 25%,#e8f3f1 50%,var(--teal-light) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:8px}.sk-line{height:14px;margin-bottom:10px}.sk-line.short{width:55%}.sk-line.medium{width:75%}.sk-line.full{width:100%}.sk-circle{border-radius:50%}.sk-title{height:18px;width:60%;margin-bottom:12px}.sk-card{background:#fff;border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px rgba(0,0,0,.04)}.score-bar-track{height:6px;margin:2px 0 6px}.score-bar-fill{background:var(--teal-dark);transition:width .3s}.timeline-post{padding:14px 0;border-bottom:1px solid var(--line)}.timeline-post:first-child{padding-top:0}.timeline-post:last-child{border-bottom:none;padding-bottom:0}.study-start-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:56px;font-size:17px;font-weight:800;letter-spacing:.02em;background:linear-gradient(135deg,var(--mint-dark,#6cbf9a) 0,#3aaf7e 100%);color:#fff;text-decoration:none;border-radius:16px;box-shadow:0 4px 14px rgba(107,191,154,.45);margin-bottom:12px;transition:transform .12s,box-shadow .12s}.study-start-btn:active{transform:scale(.975);box-shadow:0 2px 8px rgba(107,191,154,.3)}.celebration-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:900;display:flex;align-items:center;justify-content:center;padding:24px}.celebration-modal{background:#fff;border-radius:24px;padding:32px 24px;max-width:360px;width:100%;text-align:center;animation:celebrate-pop .32s cubic-bezier(.34,1.56,.64,1) forwards;position:relative;overflow:hidden}@keyframes celebrate-pop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.confetti-piece{position:absolute;width:9px;height:9px;border-radius:2px;animation:confetti-fall .9s ease-out forwards}@keyframes confetti-fall{0%{transform:translateY(-15px) rotate(0deg);opacity:1}to{transform:translateY(70px) rotate(420deg);opacity:0}}.scout-expiry-chip{display:inline-flex;align-items:center;gap:4px;background:#fff3e0;color:#e65100;border-radius:8px;padding:3px 8px;font-size:11px;font-weight:700}.scout-expiry-chip--urgent{background:#ffebee;color:var(--danger);animation:scout-pulse 1.5s ease-in-out infinite}@keyframes scout-pulse{0%,to{opacity:1}50%{opacity:.55}}.streak-danger-banner{background:#fff8e1;border-left:3px solid #ff6b35;padding:10px 14px;border-radius:10px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}.streak-flame--at-risk{color:#b0b0b0}.streak-flame--lost{color:var(--danger);filter:drop-shadow(0 0 4px rgba(229,57,53,.4))}.role-badge-company{background:#e3f2fd;color:#1565c0}.role-badge-univ{background:#f3e5f5;color:#6a1b9a}.score-strip{display:flex;flex-direction:column;gap:8px;padding:16px;background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);margin-bottom:12px}.score-bar-row{display:flex;align-items:center;gap:10px;font-size:13px}.score-bar-label{width:80px;color:var(--ink-soft);flex-shrink:0}.score-bar-track{flex:1 1;height:8px;border-radius:4px;background:var(--teal-light);overflow:hidden}.score-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--mint-dark,#6cbf9a),#3aaf7e)}.score-total-row{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--line,#e5eae8);margin-top:4px}.score-total-val{font-size:32px;font-weight:800}.challenge-card{border:2px solid #ffb300;border-radius:16px;padding:14px 16px;background:#fffde7;margin-bottom:12px}.challenge-deadline-chip{background:#ffb300;color:#fff;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:700}.toast-bonus{background:linear-gradient(135deg,#ff6b35,#ffb300);color:#fff;font-weight:700;animation:bonus-pop .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 20px rgba(255,107,53,.4)}@keyframes bonus-pop{0%{transform:scale(.8) translateY(20px);opacity:0}60%{transform:scale(1.05) translateY(-4px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}@media (prefers-color-scheme:dark){:root{--canvas:#0f1c1a;--ink:#e8f0ef;--ink-soft:#9ab5b0;--teal:#2a7a73;--teal-light:#1a3a37;--teal-dark:#7eccc6;--mint-dark:#5aaf87;--line:hsla(0,0%,100%,.1);--accent:#e8743b;--danger:#ef5350}body{background:var(--canvas);color:var(--ink)}.card,.hero-card,.score-strip,.stat-strip{background:#1a2e2b}.challenge-card{background:linear-gradient(135deg,#1a2c00,#2a4600);border-color:#4a7000}.app-header{background:#183530;border-bottom:1px solid hsla(0,0%,100%,.08)}.biz-nav,.bottom-nav{background:#0f1c1a;border-color:hsla(0,0%,100%,.08)}.drawer-panel{background:#131f1d}.drawer-item{color:var(--ink)}.drawer-group-label{color:var(--ink-soft)}.drawer-brand-icon,.drawer-title{color:var(--teal-dark)}.drawer-brand-icon{background:var(--teal)}.drawer-item.active,.drawer-item:hover{background:hsla(0,0%,100%,.06)}.drawer-item--logout{color:var(--ink-soft)}input,select,textarea{background:#1d2e2c;color:var(--ink);border-color:hsla(0,0%,100%,.15);color-scheme:dark}select option{background:#1d2e2c;color:var(--ink)}.note{background:#1a3028;border-color:hsla(0,0%,100%,.1)}.kpi-card,.score-card{background:#1a2e2b}.points-hero{background:linear-gradient(135deg,#1a4a45,#0d2e2a)}.pill,details summary{color:var(--teal-dark)}.pill{background:#1d3330}.pill.mint{background:#0d3a2c;color:#5aef9a}.discount-row{border-color:hsla(0,0%,100%,.06)}}body.dark{--canvas:#0f1c1a;--ink:#e8f0ef;--ink-soft:#9ab5b0;--teal:#2a7a73;--teal-light:#1a3a37;--teal-dark:#7eccc6;--mint-dark:#5aaf87;--line:hsla(0,0%,100%,.1);background:var(--canvas);color:var(--ink)}body.dark .card,body.dark .hero-card,body.dark .score-strip,body.dark .stat-strip{background:#1a2e2b}body.dark .challenge-card{background:linear-gradient(135deg,#1a2c00,#2a4600);border-color:#4a7000}body.dark .app-header{background:#183530}body.dark .note{background:#1a3028}body.dark input,body.dark select,body.dark textarea{background:#1d2e2c;color:var(--ink);border-color:hsla(0,0%,100%,.15);color-scheme:dark}body.dark select option{background:#1d2e2c;color:var(--ink)}body.dark .drawer-panel{background:#131f1d}body.dark .drawer-item{color:var(--ink)}body.dark .drawer-group-label{color:var(--ink-soft)}body.dark .drawer-title{color:var(--teal-dark)}body.dark .drawer-brand-icon{background:var(--teal);color:var(--teal-dark)}body.dark .drawer-item--logout{color:var(--ink-soft)}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:16px}.kpi-card{background:#fff;border-radius:16px;padding:14px 10px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.06)}.kpi-value{font-size:26px;font-weight:800;color:var(--teal-dark);display:block;line-height:1.1}.kpi-label{font-size:11px;color:var(--ink-soft);margin-top:3px;display:block}.kpi-delta-up{color:#00bfa5}.kpi-delta-down,.kpi-delta-up{font-size:11px;font-weight:700}.kpi-delta-down{color:#f44336}body.dark .kpi-card{background:#1a2e2b}.points-hero{background:linear-gradient(135deg,var(--teal-dark) 0,#2f8f85 100%);border-radius:20px;padding:24px 20px;color:#fff;text-align:center;margin-bottom:16px}.points-hero-val{font-size:48px;font-weight:900;display:block;line-height:1}.points-hero-label{font-size:14px;opacity:.8;margin-top:4px;display:block}.exchange-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;margin-bottom:16px}.exchange-item{border:2px solid var(--line);border-radius:16px;padding:16px 10px;text-align:center}.exchange-item-icon{font-size:28px;display:block;margin-bottom:6px}.exchange-item-name{font-size:13px;font-weight:600;display:block}.exchange-item-pts{font-size:12px;color:var(--ink-soft);margin-top:4px;display:block}.redemption-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.redemption-pts{color:#f44336;font-weight:700}@keyframes bell-shake{0%,to{transform:rotate(0deg)}15%{transform:rotate(12deg)}30%{transform:rotate(-10deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}75%{transform:rotate(3deg)}}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.bell-has-notif{animation:bell-shake .6s ease-in-out}.notif-badge-pulse{animation:badge-pulse 1s ease-in-out infinite}.input-error,.input-error:focus{border-color:#ef5350!important;background:#fff8f8}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.skip-nav{position:fixed;top:-100px;left:12px;z-index:9999;background:var(--teal-dark);color:#fff;padding:8px 14px;border-radius:0 0 8px 8px;font-size:13px;font-weight:700;text-decoration:none;transition:top .15s}.skip-nav:focus{top:0}:focus-visible{outline:2px solid var(--teal-dark);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}.btn:focus-visible,.cta:focus-visible,.pill:focus-visible{outline:2px solid var(--teal-dark);outline-offset:3px}.tabbar-btn{min-height:44px;min-width:44px}.company-topbar{position:fixed;top:0;left:0;right:0;z-index:100;height:56px;background:var(--teal-dark);display:flex;align-items:center;box-shadow:0 2px 8px rgba(0,0,0,.18);overflow:hidden}.company-topbar-brand{display:flex;align-items:center;gap:8px;padding:0 16px;flex-shrink:0;border-right:1px solid hsla(0,0%,100%,.12);height:100%}.company-topbar-name{font-size:13px;font-weight:800;color:#fff;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.company-topbar-nav{display:flex;align-items:center;gap:0;overflow-x:auto;flex:1 1;scrollbar-width:none}.company-topbar-nav::-webkit-scrollbar{display:none}.company-topbar-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0 11px;height:56px;min-width:56px;color:hsla(0,0%,100%,.65);text-decoration:none;font-size:10px;font-weight:500;white-space:nowrap;border-bottom:3px solid transparent;transition:color .15s,border-color .15s,background .15s;position:relative}.company-topbar-item:hover{color:#fff;background:hsla(0,0%,100%,.07)}.company-topbar-item.active{color:#fff;font-weight:700;border-bottom-color:#22f4b2;background:hsla(0,0%,100%,.08)}.company-topbar-logout{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:hsla(0,0%,100%,.12);border:none;color:hsla(0,0%,100%,.8);cursor:pointer;transition:background .15s}.company-topbar-logout:hover{background:hsla(0,0%,100%,.22);color:#fff}.score-ring-mini{flex-shrink:0}.goal-hero{background:linear-gradient(135deg,var(--teal-dark) 0,#2f8f85 100%);border-radius:20px;padding:18px 16px;margin-bottom:12px;color:#fff}.goal-hero-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.goal-hero-pct{font-size:36px;font-weight:900;line-height:1}.goal-hero-label{font-size:12px;opacity:.75;margin-top:2px}.goal-hero-bar{height:8px;border-radius:4px;background:hsla(0,0%,100%,.2);overflow:hidden;margin-bottom:8px}.goal-hero-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,hsla(0,0%,100%,.6),#22f4b2);transition:width .6s ease}.goal-hero-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;opacity:.8}.scout-card-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.scout-card-item:last-child{border-bottom:none}.scout-avatar{width:36px;height:36px;border-radius:10px;flex-shrink:0;background:var(--teal-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}.scout-stats-strip{display:flex;gap:0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);margin-bottom:12px}.scout-stat{flex:1 1;text-align:center;padding:12px 6px;border-right:1px solid var(--line)}.scout-stat:last-child{border-right:none}.scout-stat-val{display:block;font-size:22px;font-weight:800;color:var(--teal-dark)}.scout-stat-lbl{display:block;font-size:11px;color:var(--ink-soft);margin-top:1px}.scout-stat--new .scout-stat-val{color:var(--accent)}.scout-new-dot{position:absolute;top:10px;right:12px;width:8px;height:8px;border-radius:50%;background:var(--accent);animation:scout-pulse 1.8s ease-in-out infinite}@media (prefers-color-scheme:dark){.scout-stats-strip{background:#1a2e2b;box-shadow:none}}body.dark .scout-stats-strip{background:#1a2e2b;box-shadow:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}::view-transition-new(root),::view-transition-old(root){animation:none!important}}