:root{--bg:#101211;--panel:#171a18;--line:#292e2a;--muted:#828b84;--text:#eef1ed;--lime:#ccf36a;--orange:#ff9d63;--blue:#8eb8ff;--font:'Manrope',sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:238px;background:#141715;border-right:1px solid #252a26;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:26px 16px 14px;z-index:3}.brand{display:flex;align-items:center;gap:10px;color:#f4f7f2;text-decoration:none;font-size:18px;font-weight:800;letter-spacing:-.8px;padding:0 6px 29px}.brand-mark{width:27px;height:27px;background:var(--lime);color:#141715;border-radius:8px;display:grid;place-items:center;font-size:16px}.brand-dot{color:var(--lime)}.team-switch{display:flex;align-items:center;gap:10px;background:#1c201d;border:1px solid #2a302b;padding:10px;border-radius:10px;margin-bottom:29px}.team-avatar{width:31px;height:31px;border-radius:8px;background:#2e3930;color:var(--lime);display:grid;place-items:center;font:11px var(--mono)}.team-meta{display:grid;gap:2px;flex:1}.team-meta b{font-size:12px}.team-meta small,.profile small{color:var(--muted);font-size:10px}.chevron{color:#8f988f}.side-label,.eyebrow{font:10px var(--mono);letter-spacing:1.2px;color:#747e75;padding:0 9px 10px}.nav-list{display:grid;gap:4px}.nav-item{border:0;background:transparent;text-align:left;color:#929a93;border-radius:8px;padding:11px 10px;display:flex;align-items:center;gap:11px;cursor:pointer;font-size:12px}.nav-item:hover{background:#1c201d;color:#e3e8e2}.nav-item.active{background:#252b25;color:var(--lime)}.nav-icon{width:17px;text-align:center;font-size:16px}.nav-count{margin-left:auto;background:#2b312b;padding:2px 7px;border-radius:20px;font:10px var(--mono);color:#adb6ad}.sidebar-bottom{margin-top:auto}.week-goal{padding:14px 11px;background:#1b201b;border:1px solid #2a3226;border-radius:9px;margin-bottom:14px}.goal-head{display:flex;justify-content:space-between;font:9px var(--mono);color:#a8b19f}.goal-head span:last-child{color:var(--lime)}.progress-track{height:4px;background:#30372e;border-radius:5px;margin:10px 0 7px;overflow:hidden}.progress-fill{height:100%;width:0;background:var(--lime);border-radius:5px;transition:width .3s}.week-goal small{color:#828b80;font-size:10px}.profile{border-top:1px solid #2a2e2a;padding:15px 5px 0;display:flex;gap:9px;align-items:center}.profile-avatar,.mini-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#664a39;color:#ffe0c7;font-size:10px;font-weight:700}.profile>div:nth-child(2){display:grid;gap:2px;flex:1}.profile b{font-size:11px}.profile-menu{color:#778077}.main-area{margin-left:238px;width:calc(100% - 238px);min-height:100vh}.topbar{height:62px;border-bottom:1px solid #252a26;display:flex;align-items:center;justify-content:space-between;padding:0 34px}.breadcrumbs{display:flex;gap:10px;align-items:center;color:#818980;font-size:11px}.breadcrumbs b{color:#e6eae5;font-weight:600}.crumb-slash{color:#424841}.top-actions{display:flex;align-items:center;gap:18px}.live-status{font:10px var(--mono);color:#929a92}.live-status i{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--lime);margin-right:7px;box-shadow:0 0 8px #ccf36a80}.icon-button{width:31px;height:31px;background:#1b1f1c;border:1px solid #303530;border-radius:8px;display:grid;place-items:center;color:#b8c0b8;cursor:pointer;position:relative}.notification-dot{position:absolute;right:6px;top:6px;width:5px;height:5px;background:var(--orange);border-radius:50%}.mini-avatar{width:27px;height:27px}.page-content{max-width:1190px;margin:auto;padding:32px 38px 55px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px}.eyebrow{padding:0 0 7px;color:#9da891}.page-heading h1{font-size:26px;letter-spacing:-1.1px;margin:0;font-weight:700}.page-heading p{margin:7px 0 0;color:#89918a;font-size:12px}.heading-actions{display:flex;gap:8px}.secondary-button,.primary-button{border-radius:7px;padding:10px 13px;font-size:11px;font-weight:700;cursor:pointer;display:inline-flex;gap:9px;align-items:center}.secondary-button{background:#1a1e1b;border:1px solid #343a35;color:#c5ccc5}.primary-button{background:var(--lime);border:1px solid var(--lime);color:#131710}.primary-button:hover{background:#d8fa7e}.secondary-button:hover{border-color:#65705e;color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat-card,.panel,.focus-card{background:var(--panel);border:1px solid #282d29;border-radius:10px}.stat-card{padding:16px 17px;min-height:100px}.stat-top{display:flex;justify-content:space-between;color:#929a92;font-size:10px}.stat-top span:last-child{color:var(--lime);font:10px var(--mono)}.stat-number{font-size:23px;letter-spacing:-1px;font-weight:700;margin:11px 0 2px}.stat-caption{font-size:10px;color:#7e877f}.content-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(265px,.9fr);gap:14px}.panel{padding:17px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.panel-title{font-size:13px;font-weight:700}.panel-subtitle{font-size:10px;color:#7e877f;margin-top:4px}.text-button{border:0;background:transparent;padding:2px;color:var(--lime);font-size:10px;cursor:pointer}.section-label{font:9px var(--mono);letter-spacing:1px;color:#777f78}.schedule-list{display:grid}.schedule-item{display:grid;grid-template-columns:51px 4px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #282d29}.schedule-time{font:10px var(--mono);color:#9ca49c;line-height:1.5}.schedule-time b{display:block;color:#e0e5de;font-weight:500}.event-bar{height:31px;border-radius:3px;background:var(--lime)}.event-bar.scrim{background:var(--orange)}.event-bar.league{background:var(--blue)}.event-bar.review{background:#c795ff}.schedule-info{min-width:0}.schedule-info b{display:block;font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:600}.schedule-info span{display:block;color:#838c84;font-size:10px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag{font:9px var(--mono);padding:4px 6px;border-radius:4px;background:#272d27;color:#c3cec0}.tag.training{color:var(--lime)}.tag.scrim{color:var(--orange)}.tag.league{color:var(--blue)}.tag.tournament{color:#ffb6e0}.tag.review{color:#c795ff}.empty-state{padding:26px;text-align:center;color:#879087;font-size:11px}.focus-card{padding:17px;background:linear-gradient(135deg,#20271e,#181d19);border-color:#313b2a;margin-bottom:13px}.focus-top{display:flex;justify-content:space-between;align-items:center}.focus-icon{font-size:20px}.focus-card h3{font-size:13px;margin:14px 0 4px}.focus-card p{color:#929b91;font-size:10px;line-height:1.6;margin:0}.focus-meta{border-top:1px solid #333a30;margin-top:15px;padding-top:11px;display:flex;justify-content:space-between;color:#9ba498;font-size:10px}.focus-meta b{color:var(--lime);font:10px var(--mono)}.roster-list{display:grid}.roster-row{display:flex;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #282d29}.player-avatar{width:29px;height:29px;border-radius:8px;background:#2b3530;display:grid;place-items:center;color:#c8d3c9;font:9px var(--mono)}.player-avatar.alt1{background:#38332c;color:#e4bd92}.player-avatar.alt2{background:#342f3d;color:#d0b9ee}.player-avatar.alt3{background:#303544;color:#aec5f6}.player-meta{display:grid;gap:3px;flex:1}.player-meta b{font-size:10px}.player-meta small{font-size:9px;color:#7e877f}.presence{font-size:9px;color:#a8b19f}.presence:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#8eda79;margin-right:5px}.presence.away:before{background:#777f76}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:14px 0 15px}.day-cell{background:#1a1e1b;border:1px solid #2b302c;border-radius:7px;text-align:center;padding:9px 4px;color:#939b93;font-size:9px}.day-cell b{display:block;color:#e1e7df;font:12px var(--mono);margin-top:5px}.day-cell.today{border-color:#778953;background:#20271c}.day-cell.today b{color:var(--lime)}.week-nav{display:flex;gap:6px;align-items:center;color:#919a91;font-size:10px}.week-nav button{background:none;border:1px solid #303630;color:#c7cec6;border-radius:5px;width:24px;height:24px;cursor:pointer}.calendar-item{margin-bottom:8px}.calendar-item .schedule-item{border:1px solid #2b302c;border-radius:7px;padding:11px;background:#191d1a;grid-template-columns:48px 4px minmax(0,1fr) auto}.view-tabs{display:flex;gap:4px}.view-tab{border:1px solid #303630;background:#191d1a;color:#929b92;border-radius:5px;padding:6px 9px;font-size:9px;cursor:pointer}.view-tab.active{color:var(--lime);border-color:#4a583c}.competition-card{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid #282d29}.comp-date{background:#242a23;border-radius:6px;text-align:center;padding:7px 4px;color:var(--lime);font:10px var(--mono)}.comp-date b{display:block;font-size:15px;margin-top:3px}.competition-card h3{font-size:11px;margin:0 0 5px}.competition-card p{font-size:9px;color:#848d85;margin:0}.comp-action{border:1px solid #3a4238;background:#20251f;color:#c3cec0;border-radius:5px;padding:6px 8px;font-size:9px;cursor:pointer}.competition-banner{padding:16px 17px;background:linear-gradient(100deg,#252c22,#1a201c);border:1px solid #323a2e;border-radius:9px;display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.competition-banner b{display:block;font-size:12px}.competition-banner span{display:block;color:#8d988b;font-size:10px;margin-top:4px}.competition-banner strong{color:var(--lime);font:11px var(--mono)}.roster-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.roster-card{background:#1a1e1b;border:1px solid #2b302c;padding:14px;border-radius:8px;display:flex;gap:10px;align-items:center}.roster-card .player-avatar{width:37px;height:37px;font-size:11px}.roster-card .player-meta b{font-size:11px}.role-pill{font:8px var(--mono);color:#b5c1ad;background:#2a3028;padding:4px 6px;border-radius:4px;margin-top:5px;display:inline-block}.availability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.availability-card{border:1px solid #2c322d;background:#1b201c;border-radius:7px;padding:12px}.availability-card b{display:block;font-size:10px}.availability-card span{display:block;color:#859087;font-size:9px;margin-top:5px}.availability-card strong{display:block;color:var(--lime);font:11px var(--mono);margin-top:10px}dialog{background:#191d1a;border:1px solid #363d37;color:var(--text);border-radius:12px;width:min(470px,calc(100% - 28px));padding:0;box-shadow:0 25px 90px #000a}dialog::backdrop{background:#070908c9;backdrop-filter:blur(3px)}#item-form{padding:22px;display:grid;gap:14px}.modal-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.modal-top h2{font-size:19px;margin:0;letter-spacing:-.5px}.close-modal{font-size:20px}.modal-top .eyebrow{padding-bottom:6px}#item-form label{display:grid;gap:6px;color:#aeb7ad;font-size:10px;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}#item-form input,#item-form select,#item-form textarea{width:100%;color:#e8eee6;background:#111412;border:1px solid #303731;border-radius:6px;padding:10px;font-size:11px;outline:none}#item-form input:focus,#item-form select:focus,#item-form textarea:focus{border-color:#829958}#item-form textarea{resize:vertical}.modal-submit{justify-content:space-between;margin-top:3px}.modal-submit span{font-size:15px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#e0f4bd;color:#192014;padding:10px 15px;border-radius:7px;font-size:11px;font-weight:700;z-index:10;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.sidebar{width:205px}.main-area{margin-left:205px;width:calc(100% - 205px)}.page-content{padding:27px 22px}.stats-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}}@media(max-width:620px){.sidebar{width:58px;padding:18px 7px}.brand{padding:0 8px 25px}.brand>span:last-child,.team-meta,.team-switch .chevron,.side-label{display:none}.team-switch{padding:7px 6px;justify-content:center}.nav-item{width:42px;height:42px;padding:0;justify-content:center;font-size:0}.nav-item .nav-icon{font-size:16px}.nav-count,.sidebar-bottom .week-goal,.profile>div:nth-child(2),.profile-menu{display:none}.profile{justify-content:center;padding:12px 0 0}.main-area{margin-left:58px;width:calc(100% - 58px)}.topbar{padding:0 15px}.live-status{display:none}.page-content{padding:23px 14px}.page-heading{align-items:flex-start;gap:12px;flex-direction:column}.page-heading h1{font-size:22px}.stats-grid{gap:8px}.stat-card{padding:12px;min-height:88px}.stat-number{font-size:20px}.panel{padding:13px}.schedule-item{grid-template-columns:43px 4px minmax(0,1fr);gap:8px}.schedule-item>.tag{display:none}.roster-grid,.availability-grid{grid-template-columns:1fr}.competition-banner{gap:10px}.heading-actions{width:100%}.heading-actions button{flex:1;justify-content:center}}

.auth-screen,.setup-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 10%,#1d271c 0,#101211 58%)}
.auth-card{width:min(100%,410px);padding:30px;background:#171a18;border:1px solid #2b322d;border-radius:14px;box-shadow:0 22px 80px #0008;display:grid;gap:14px}
.auth-brand{padding:0 0 8px;font-size:22px}
.auth-card .eyebrow{padding:0;color:var(--lime)}
.auth-card h1{font-size:25px;letter-spacing:-.8px;margin:0}
.auth-card p{color:var(--muted);line-height:1.6;margin:0 0 3px}
.auth-card form{display:grid;gap:12px}
.auth-card label{display:grid;gap:6px;color:#b8c0b8;font-size:11px;font-weight:600}
.auth-card input{width:100%;color:var(--text);background:#101311;border:1px solid #303731;border-radius:7px;padding:11px 12px;outline:none}
.auth-card input:focus{border-color:#9bb954}
.auth-card button{justify-content:center}
.auth-message{min-height:18px;color:#cfe898;font-size:11px;line-height:1.5}
.auth-message.error{color:#ff9d8c}
.setup-card{width:min(100%,470px);max-height:calc(100vh - 32px);overflow:auto}
.setup-divider{padding-top:7px;border-top:1px solid #303731;color:#8b958d;font:10px var(--mono);letter-spacing:1px}
.signout-link{justify-self:center}
.roster-tools{display:flex;align-items:center;gap:8px}
.invite-code{margin:12px 0;padding:12px;border:1px solid #3b4931;background:#20281c;border-radius:8px;color:var(--lime);font:16px var(--mono);letter-spacing:2px;display:flex;justify-content:space-between;align-items:center;gap:12px;word-break:break-all}
.invite-code button{font:11px var(--font);letter-spacing:0}
[hidden]{display:none!important}
.event-actions{display:flex;justify-content:flex-end;gap:12px;padding:0 0 9px 63px}.text-button.danger{color:#ff9d8c}.rsvp-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0 0 10px 63px}.rsvp-label{font:9px var(--mono);letter-spacing:.8px;color:#7e877f;margin-right:3px}.rsvp-choice{background:#1b201c;border:1px solid #303731;color:#b8c0b8;border-radius:6px;padding:5px 8px;font-size:10px;cursor:pointer}.rsvp-choice:hover{border-color:#65705e;color:#fff}.rsvp-choice.active{border-color:#8ea954;background:#26301f;color:var(--lime)}.rsvp-choice small{font:9px var(--mono);color:#8b958d;margin-left:3px}.week-nav{display:flex;align-items:center;gap:10px;color:#a5aea5;font:10px var(--mono)}.week-nav button{width:25px;height:25px;border:1px solid #343a35;background:#1a1e1b;border-radius:6px;cursor:pointer}.week-nav button:hover{border-color:#8ea954;color:var(--lime)}.training-event{border-top:1px solid #282d29}.training-event .schedule-item{border-top:0}.training-event .comp-action{margin:0 0 10px 63px}.empty-state{padding:22px 10px;text-align:center;color:#828b84;font-size:11px}
@media(max-width:620px){.rsvp-controls,.event-actions{padding-left:0}.training-event .comp-action{margin-left:0}.week-nav{gap:5px}.week-nav span{font-size:9px}}
.goal-setting{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.goal-setting label{font-size:10px;color:#adb6ad}.goal-setting select{background:#111512;color:#e8eee6;border:1px solid #353d35;border-radius:6px;padding:7px;font-size:10px}.history-panel{margin-top:15px}.history-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border-top:1px solid #282d29}.history-entry .schedule-list{min-width:0}.history-summary{display:flex;gap:12px;flex-wrap:wrap;padding:0 0 10px 63px;color:#879187;font-size:9px}.history-summary span:first-child{color:#c8d8b4}.history-entry .comp-action{margin-right:2px}.repeat-weeks{margin-top:10px}
@media(max-width:620px){.goal-setting{width:100%;align-items:stretch}.goal-setting label{width:100%}.goal-setting select,.goal-setting button{flex:1;justify-content:center}.history-entry{grid-template-columns:1fr;gap:0}.history-entry .comp-action{justify-self:start;margin:0 0 12px 0}.history-summary{padding-left:0}}
.training-banner{align-items:flex-start}.training-banner .goal-setting{justify-content:flex-end}.training-banner .goal-setting label{white-space:nowrap}
@media(max-width:620px){.training-banner{flex-direction:column;align-items:stretch}.training-banner .goal-setting{justify-content:stretch}}
.log-stats{grid-template-columns:repeat(3,1fr);margin-top:2px}.log-layout{align-items:start}.training-log-list{display:grid}.training-log-entry{padding:14px 0;border-top:1px solid #292e2a}.log-entry-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.training-log-entry h3{font-size:12px;margin:5px 0 0}.log-focus{display:inline-block;border:1px solid #374130;background:#22291f;color:var(--lime);padding:4px 7px;border-radius:5px;font:9px var(--mono)}.log-entry-date{display:grid;justify-items:end;gap:4px;color:#879187;font:10px var(--mono)}.log-entry-date b{color:#c4ccc4;font-weight:500}.training-log-entry>p{color:#c4ccc4;line-height:1.65;font-size:11px;margin:11px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.log-takeaway{display:grid;gap:4px;margin-top:10px;padding:9px 11px;background:#1d231c;border-left:2px solid #829958;border-radius:0 5px 5px 0}.log-takeaway b{font:9px var(--mono);text-transform:uppercase;letter-spacing:.7px;color:#9cab86}.log-takeaway span{color:#aeb8ac;font-size:10px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.log-entry-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.log-filter-label,#training-log-form label{display:grid;gap:6px;color:#aeb7ad;font-size:10px;font-weight:600}.log-filter-label select,#training-log-form input,#training-log-form select,#training-log-form textarea{color:#e8eee6;background:#111412;border:1px solid #303731;border-radius:6px;padding:9px;font-size:10px;outline:none}.log-filter-label select:focus,#training-log-form input:focus,#training-log-form select:focus,#training-log-form textarea:focus{border-color:#829958}#training-log-form{display:grid;gap:12px}#training-log-form textarea{width:100%;resize:vertical;line-height:1.5}.log-form-actions{display:flex;gap:8px}.log-form-actions button{justify-content:center;flex:1}.log-privacy-note{font-size:9px;color:#7e877f;line-height:1.5;margin:12px 0 0}.log-filter-label{min-width:135px}.log-filter-label select{min-width:125px}
@media(max-width:620px){.log-stats{grid-template-columns:1fr 1fr}.log-layout{grid-template-columns:1fr}.log-compose{grid-row:1}.log-filter-label{min-width:100px}.log-filter-label select{min-width:100px}}
# Personal practice logs shared with the team.
.log-stats{grid-template-columns:repeat(3,1fr);margin-top:2px}.log-layout{align-items:start}.training-log-list{display:grid}.training-log-entry{padding:14px 0;border-top:1px solid #292e2a}.log-entry-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.training-log-entry h3{font-size:12px;margin:5px 0 0}.log-focus{display:inline-block;border:1px solid #374130;background:#22291f;color:var(--lime);padding:4px 7px;border-radius:5px;font:9px var(--mono)}.log-entry-date{display:grid;justify-items:end;gap:4px;color:#879187;font:10px var(--mono)}.log-entry-date b{color:#c4ccc4;font-weight:500}.training-log-entry>p{color:#c4ccc4;line-height:1.65;font-size:11px;margin:11px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.log-takeaway{display:grid;gap:4px;margin-top:10px;padding:9px 11px;background:#1d231c;border-left:2px solid #829958;border-radius:0 5px 5px 0}.log-takeaway b{font:9px var(--mono);text-transform:uppercase;letter-spacing:.7px;color:#9cab86}.log-takeaway span{color:#aeb8ac;font-size:10px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.log-entry-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.log-filter-label,#training-log-form label{display:grid;gap:6px;color:#aeb7ad;font-size:10px;font-weight:600}.log-filter-label select,#training-log-form input,#training-log-form select,#training-log-form textarea{color:#e8eee6;background:#111412;border:1px solid #303731;border-radius:6px;padding:9px;font-size:10px;outline:none}.log-filter-label select:focus,#training-log-form input:focus,#training-log-form select:focus,#training-log-form textarea:focus{border-color:#829958}#training-log-form{display:grid;gap:12px}#training-log-form textarea{width:100%;resize:vertical;line-height:1.5}.log-form-actions{display:flex;gap:8px}.log-form-actions button{justify-content:center;flex:1}.log-privacy-note{font-size:9px;color:#7e877f;line-height:1.5;margin:12px 0 0}.log-filter-label{min-width:135px}.log-filter-label select{min-width:125px}
@media(max-width:620px){.log-stats{grid-template-columns:1fr 1fr}.log-layout{grid-template-columns:1fr}.log-compose{grid-row:1}.log-filter-label{min-width:100px}.log-filter-label select{min-width:100px}}
/* Coaching workflow, attendance, templates, and progress trends. */
.trend-panel{margin:16px 0}.trend-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.trend-subtitle{font:9px var(--mono);letter-spacing:.8px;color:#879187;margin:0 0 10px}.trend-row{display:grid;grid-template-columns:95px minmax(40px,1fr) 40px;gap:9px;align-items:center;margin:9px 0;color:#9ba59b;font-size:9px}.trend-row>b{font:9px var(--mono);text-align:right;color:#c4ccc4}.trend-track{height:7px;background:#252b26;border-radius:8px;overflow:hidden}.trend-track i{display:block;height:100%;background:var(--lime);border-radius:8px;min-width:0}.focus-track i{background:#91b9ff}.feedback-block{margin-top:14px;padding:11px;background:#131614;border:1px solid #292e2a;border-radius:8px}.feedback-heading{font:9px var(--mono);letter-spacing:.7px;text-transform:uppercase;color:#b1c394;margin-bottom:7px}.empty-feedback{color:#778177;font-size:10px}.feedback-note{padding:8px 0;border-top:1px solid #292e2a}.feedback-note>div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.feedback-note b{font-size:10px}.feedback-note small{color:#7e887e;font-size:9px}.feedback-note p{color:#c5cec4;font-size:10px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0}.feedback-form{display:grid;justify-items:end;gap:7px;margin-top:9px}.feedback-form textarea{width:100%;resize:vertical;min-height:50px;background:#101311;border:1px solid #343b35;border-radius:6px;padding:8px;color:#e8eee6;font:10px var(--font);outline:none}.feedback-form textarea:focus{border-color:#829958}.feedback-form button{justify-content:center}.member-role-label{display:grid;gap:5px;color:#7e887e;font-size:9px}.member-role-label select{max-width:115px;background:#111512;color:#dfe5de;border:1px solid #333a34;border-radius:5px;padding:6px;font-size:9px}.attendance-edit{margin:2px 0 10px 63px}.attendance-intro{margin:0;color:#879187;font-size:10px}.attendance-player-list{display:grid;gap:7px;max-height:360px;overflow:auto}.attendance-player{display:grid;grid-template-columns:minmax(0,1fr) 135px;gap:10px;align-items:center;padding:8px 9px;background:#1b201c;border:1px solid #2b302c;border-radius:6px}.attendance-player span{display:grid;gap:3px;font-size:10px}.attendance-player small{color:#7e887e;font-size:9px}.attendance-player select{background:#111512;color:#e8eee6;border:1px solid #343b35;border-radius:5px;padding:7px;font-size:9px}#attendance-dialog{width:min(620px,calc(100% - 28px))}#attendance-form{padding:22px;display:grid;gap:12px}
@media(max-width:700px){.trend-grid{grid-template-columns:1fr;gap:18px}.trend-row{grid-template-columns:82px minmax(40px,1fr) 36px}.attendance-edit{margin-left:0}}
/* Personal event reminders */
.reminder-panel{margin:-4px 0 14px}.reminder-panel .panel-header{align-items:center;margin-bottom:8px}.reminder-setting{display:flex;align-items:center;gap:8px;color:#929a92;font-size:10px}.reminder-setting select{background:#1a1e1b;border:1px solid #343a35;border-radius:6px;padding:7px 9px;color:#e5eae3;font-size:10px}.reminder-status{font-size:9px;color:#7e877f}
/* Roadmap team tools */
.tool-form{display:grid;gap:11px;margin-top:14px}.tool-form label{display:grid;gap:6px;color:#aeb7ad;font-size:10px;font-weight:600}.tool-form input,.tool-form select,.tool-form textarea{width:100%;color:#e8eee6;background:#111412;border:1px solid #303731;border-radius:6px;padding:9px;font:10px var(--font)}.tool-form textarea{resize:vertical}.tool-note{margin-top:10px;color:#7e877f;font-size:9px;line-height:1.5}.tool-resource-list{display:grid}.tool-resource{padding:14px 0;border-top:1px solid #292e2a}.tool-resource.is-done{opacity:.65}.tool-resource-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.tool-resource h3{margin:7px 0;font-size:12px}.tool-resource p{margin:8px 0;color:#c4ccc4;font-size:10px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.tool-resource-meta{color:#818a81;font-size:9px;line-height:1.5}.tool-resource>a{display:inline-block;margin-top:8px;color:var(--lime);font-size:10px}.tool-resource .secondary-button{margin-top:9px}.admin-member{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #292e2a}.admin-member>span{display:grid;gap:4px}.admin-member b{font-size:10px}.admin-member small{color:#7e877f;font-size:9px}.admin-member>div{display:flex;gap:10px;align-items:center}.tool-subhead{margin:18px 0 7px;color:#aab4a9;font-size:10px}.tool-toggle{display:flex;align-items:center;gap:8px;margin:10px 0;color:#b7c0b7;font-size:10px}.tool-toggle input{accent-color:#b9e879}.tool-email-controls .reminder-setting{display:flex;gap:8px;align-items:center;margin:12px 0;color:#aeb7ad;font-size:10px}.tool-email-controls select{background:#111412;color:#e8eee6;border:1px solid #303731;border-radius:6px;padding:7px}

/* Dedicated team map playbook */
.playbook-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;margin-bottom:14px;border:1px solid #34402c;border-radius:10px;background:linear-gradient(120deg,#20281d,#171b18)}.playbook-intro h2{margin:7px 0 5px;font-size:17px;letter-spacing:-.4px}.playbook-intro p{max-width:680px;margin:0;color:#a1aaa0;font-size:11px;line-height:1.65}.playbook-mark{display:grid;place-items:center;width:45px;height:45px;border:1px solid #47513c;border-radius:12px;color:var(--lime);font-size:24px}.playbook-editor{margin-bottom:14px}.playbook-editor .tool-form{margin-top:0}.playbook-editor .tool-form textarea{min-height:82px;line-height:1.5}.playbook-library .panel-header{align-items:center}.playbook-entry{padding:16px 0;border-top:1px solid #292e2a}.playbook-entry-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.playbook-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.playbook-side{color:#98a197;font:9px var(--mono)}.playbook-entry h3{margin:8px 0 13px;font-size:13px}.playbook-actions{display:flex;gap:10px}.playbook-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.playbook-detail{padding:11px;background:#131614;border:1px solid #292e2a;border-radius:7px}.playbook-detail>b{color:#b3c792;font:9px var(--mono);letter-spacing:.5px;text-transform:uppercase}.playbook-detail p{margin:7px 0 0;color:#c4ccc4;font-size:10px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.playbook-entry>a{display:inline-block;margin-top:9px;color:var(--lime);font-size:10px}.playbook-player-note{padding:0 0 12px}.playbook-library .log-filter-label{display:flex;align-items:center;gap:8px}.playbook-library .log-filter-label select{background:#111512;color:#e8eee6;border:1px solid #353d35;border-radius:6px;padding:7px 9px;font-size:10px}
@media(max-width:700px){.playbook-intro{padding:17px}.playbook-detail-grid{grid-template-columns:1fr}.playbook-editor .form-row{grid-template-columns:1fr}.playbook-library .panel-header{align-items:flex-start;flex-direction:column}}


/* Team profile editing */
.avatar-accent-lime{background:#ccf36a!important;color:#141710!important}.avatar-accent-orange{background:#ff9d63!important;color:#28170c!important}.avatar-accent-blue{background:#8eb8ff!important;color:#10203a!important}.avatar-accent-violet{background:#c795ff!important;color:#271435!important}.avatar-accent-teal{background:#71dcc4!important;color:#10251f!important}
.profile-layout{align-items:start}.profile-layout .tool-form{margin-top:0}.profile-layout .tool-form label{display:grid;gap:6px;color:#aeb7ad;font-size:10px;font-weight:600}.profile-layout .tool-form input,.profile-layout .tool-form select,.profile-layout .tool-form textarea{width:100%;color:#e8eee6;background:#111412;border:1px solid #303731;border-radius:6px;padding:10px;font-size:11px;outline:none}.profile-layout .tool-form input:focus,.profile-layout .tool-form select:focus,.profile-layout .tool-form textarea:focus{border-color:#829958}.profile-layout .tool-form textarea{resize:vertical;line-height:1.55}.profile-note{margin:12px 0 0;color:#7e877f;font-size:9px;line-height:1.5}.profile-preview-panel{min-height:220px}.profile-preview{display:flex;align-items:flex-start;gap:15px;margin-top:20px;padding:17px;background:#131614;border:1px solid #292e2a;border-radius:9px}.profile-preview-avatar{flex:0 0 52px;width:52px;height:52px;border-radius:14px;background:#ccf36a;color:#141710;display:grid;place-items:center;font-size:15px;font-weight:800}.profile-preview-copy{min-width:0}.profile-preview-copy h2{margin:1px 0 4px;font-size:17px}.profile-preview-handle{color:#a8b59a;font:10px var(--mono)}.profile-preview-copy p{margin:11px 0;color:#bdc6bc;font-size:10px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.profile-preview-copy>a,.roster-steam{color:var(--lime);font-size:9px}.profile-visibility{display:flex;align-items:center;gap:8px;margin-top:13px;color:#818a81;font-size:9px}.roster-bio{margin:3px 0!important;color:#aab4aa!important;font-size:9px!important;line-height:1.45!important}.roster-steam{display:inline-block;margin:2px 0 4px}.roster-card .player-meta{min-width:0}.roster-card .player-meta>*{overflow-wrap:anywhere}
@media(max-width:700px){.profile-layout{grid-template-columns:1fr}.profile-layout .form-row{grid-template-columns:1fr}.roster-card{align-items:flex-start;flex-wrap:wrap}}

