:root{color:#1f2933;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f3ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(#0080570e,#0000 300px),#f5f3ee;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-frame{width:min(1600px,100vw - 24px);margin:0 auto;padding:12px;display:grid}.sidebar{display:none}.app-shell{width:100%}.app-shell .sidebar-nav,.mobile-tabs{display:none}.game-day-banner{color:#006f4c;background:linear-gradient(90deg,#00805714,#ffffffeb);border:1px solid #00805738;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;display:flex}.game-day-banner strong{font-size:.95rem}.game-day-banner span{color:#3f5f52;font-size:.82rem;font-weight:700}.app-header{border-bottom:1px solid #dcd6cb;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:6px 2px 14px;display:flex}.app-header h1{color:#172018;letter-spacing:0;margin:0;font-size:clamp(1.35rem,5vw,1.85rem)}.app-header p{color:#6b7280;margin:4px 0 0;font-size:.9rem}.content-grid{gap:16px;display:grid}.mobile-tabs{gap:8px;margin-bottom:16px;padding-bottom:2px;overflow-x:auto}.mobile-tabs a{color:#4b5563;background:#fffefa;border:1px solid #d8d1c5;border-radius:999px;flex:none;min-height:36px;padding:8px 14px;font-size:.88rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.mobile-tabs a:hover,.mobile-tabs a.active{color:#006f4c;background:#00805714;border-color:#0080573d}.body-grid{gap:16px;display:grid}.primary-column,.side-column{align-content:start;gap:16px;display:grid}.planner-section{background:#ffffffe6;border:1px solid #e2ddd3;border-radius:10px;padding:16px;box-shadow:0 10px 24px #1f29330e}.side-column .planner-section{box-shadow:none;background:#fbfaf7}.game-day-mode .app-header{border-bottom-color:#00805738}.game-day-mode .missions-section{border-color:#0080572e}.missions-section{background:#fff;border-color:#cfc8bb;box-shadow:0 16px 34px #1f293317}.section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-title h2{color:#1f2933;margin:0;font-size:1rem;font-weight:800}.section-title h3{color:#1f2933;margin:0;font-size:.92rem;font-weight:800}.missions-section .section-title{border-bottom:1px solid #ebe6dd;margin-bottom:16px;padding-bottom:12px}.missions-section .section-title h2{font-size:1.18rem}.section-title span{color:#667085;font-size:.82rem}.today-grid{gap:8px;display:grid}.today-cell,.sporting-card{background:#fffefa;border:1px solid #e7e1d7;border-radius:8px}.today-cell{gap:6px;min-height:72px;padding:12px;display:grid}.today-cell span,.sporting-card span{color:#667085;text-transform:uppercase;font-size:.78rem;font-weight:800}.today-cell strong{color:#1f2933;font-size:1.55rem;line-height:1}.today-cell.is-alert{background:#fff7f5;border-color:#efb4a8}.today-cell.is-alert strong{color:#b42318}.match-cell{border-left:3px solid #008057}.match-cell.is-matchday{background:#00805714;border-color:#008057}.match-cell strong{gap:5px;font-size:.92rem;line-height:1.25;display:grid}.match-cell small{color:#008057;font-size:.8rem}.today-list{gap:8px;margin-top:12px;display:grid}.today-task-row{background:#fffefa;border:1px solid #e7e1d7;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.today-task-row:hover{background:#fbfaf7;border-color:#00805740}.today-task-row.is-alert{background:#fff7f5;border-color:#efb4a8}.today-task-row strong{color:#1f2933;font-size:.9rem;font-weight:700}.today-task-row span{color:#667085;white-space:nowrap;font-size:.8rem}.task-form{background:#fbfaf7;border:1px solid #e8e2d7;border-radius:8px;gap:8px;margin-bottom:16px;padding:12px;display:grid}.quick-add-panel{grid-template-columns:1fr;gap:10px}.quick-add-head{gap:10px;display:grid}.quick-add-head strong{color:#1f2933;font-size:.98rem;display:block}.quick-add-head small{color:#667085;font-size:.8rem}.quick-add-tabs{background:#f4f1ea;border:1px solid #d8d1c5;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.task-form .quick-add-tabs button{color:#4b5563;min-height:34px;box-shadow:none;background:0 0;border:0;border-radius:6px;padding:0 8px;font-size:.84rem}.task-form .quick-add-tabs button:hover,.task-form .quick-add-tabs button.active{color:#006f4c;background:#fff;transform:none;box-shadow:0 3px 10px #1f293314}.task-form-hint{color:#667085;grid-column:1/-1;margin:-2px 0 0;font-size:.78rem}input,select,textarea{color:#1f2933;background:#fff;border:1px solid #d7d0c5;border-radius:6px;outline:none;width:100%;min-width:0;max-width:100%;padding:0 10px}input,select{min-height:38px}input[type=date]{appearance:none}textarea{resize:vertical;min-height:76px;padding:10px}input:focus,select:focus,textarea:focus{border-color:#008057;box-shadow:0 0 0 3px #0080571a}.task-form button{color:#fff;background:#008057;border:1px solid #00754f;border-radius:6px;min-height:38px;font-weight:800;transition:background .15s,box-shadow .15s,transform .15s;box-shadow:0 8px 18px #00805729}.task-form button:hover{background:#006f4c;transform:translateY(-1px);box-shadow:0 10px 22px #00805738}.task-table{background:#fff;border:1px solid #d8d1c5;border-radius:10px;overflow-x:auto;box-shadow:inset 0 1px #fffc}.task-table-head,.task-row{grid-template-columns:38px minmax(220px,1fr) 126px 116px 96px;align-items:center;min-width:720px;display:grid}.task-table-head{color:#667085;text-transform:uppercase;background:#efebe3;border-bottom:1px solid #e8e2d7;min-height:40px;font-size:.76rem;font-weight:800}.task-table-head span,.task-row>*{padding:0 12px}.task-list{margin:0;padding:0;list-style:none}.task-row{color:#272727;border-bottom:1px solid #eee9df;min-height:50px;font-size:.9rem}.task-row.priority-critical{box-shadow:inset 3px 0 #d92d20}.task-row.priority-high{box-shadow:inset 3px 0 #f79009}.task-row:last-child{border-bottom:0}.task-row:hover{background:#f8f6f1}.task-row:hover .task-title{color:#006f4c}.task-row.done .task-title{color:#9b9489;text-decoration:line-through}.task-row.done{animation:.32s task-complete-flash}.task-row.overdue{background:#fff7f5}.check-button{color:#008057;background:#fff;border:1px solid #a9a298;border-radius:4px;place-items:center;width:20px;height:20px;margin-left:12px;padding:0;font-size:.8rem;font-weight:900;display:grid}.check-button:hover{background:#00805714;border-color:#008057}.task-row.done .check-button{animation:.26s check-pop}.task-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.task-title-cell{align-items:center;gap:10px;min-width:0;display:flex}.task-title-cell>span:last-child{min-width:0}.task-description{color:#667085;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;line-height:1.25;display:block;overflow:hidden}.task-priority{background:#c8c1b6;border-radius:999px;flex:none;width:9px;height:9px}.task-priority.critical{background:#d92d20}.task-priority.high{background:#f79009}.task-priority.normal,.task-priority.low,.task-priority.done{background:#c8c1b6}.category-badge{color:#5f594f;background:#f7f5ef;border:1px solid #ded8cc;border-radius:999px;justify-self:start;padding:3px 9px;font-size:.76rem;font-weight:800}.category-badge.sporting{color:#006f4c;background:#00805714;border-color:#0080573d}.category-badge.estagio{background:#f6f0df}.task-date{color:#667085;font-size:.82rem}.task-row.overdue .task-date{color:#b42318;font-weight:800}.delete-button{color:#667085;background:0 0;border:1px solid #0000;border-radius:6px;justify-self:start;min-height:30px;padding:0 9px;font-size:.8rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.delete-button:hover{color:#b42318;background:#fff1ee;border-color:#f3d1ca}.filters-section{padding:12px 16px}.task-filters{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.task-filters button{color:#4b5563;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;min-height:34px;padding:0 11px;font-size:.88rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.task-filters button:hover{background:#f4f1ea}.task-filters button.active{color:#006f4c;background:#00805714;border-color:#0080573d}.habit-list{background:#fff;border:1px solid #e2ddd3;border-radius:8px;display:grid;overflow:hidden}.habit-progress{background:#ece6dc;border-radius:999px;height:6px;margin-bottom:12px;overflow:hidden}.habit-progress span{border-radius:inherit;background:#008057;height:100%;transition:width .2s;display:block}.habit-row{color:#1f2933;cursor:pointer;border-bottom:1px solid #eee9df;align-items:center;gap:12px;min-height:48px;padding:0 14px;transition:background .15s;display:flex}.habit-row:hover{background:#f8f6f1}.habit-row:last-child{border-bottom:0}.habit-row input{accent-color:#008057;width:20px;min-height:20px}.history-section{max-width:860px}.history-list{gap:12px;display:grid}.history-calendar{background:#fff;border:1px solid #e7e1d7;border-radius:8px;gap:10px;margin-bottom:14px;padding:12px;display:grid}.history-calendar-head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.history-calendar-head strong{color:#1f2933;text-align:center;text-transform:capitalize;font-size:1rem}.history-calendar-head button{color:#394452;cursor:pointer;min-height:32px;font:inherit;background:#fffefa;border:1px solid #d8d1c5;border-radius:8px;padding:0 10px;font-size:.82rem;font-weight:800;transition:background .15s,border-color .15s,color .15s}.history-calendar-head button:hover{color:#006f4c;background:#f9fcfa;border-color:#00805740}.history-weekdays,.history-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.history-weekdays span{color:#667085;text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:800}.history-calendar-blank,.history-calendar-day{border-radius:8px;min-height:58px}.history-calendar-blank{background:0 0}.history-calendar-day{color:#394452;cursor:pointer;font:inherit;text-align:left;background:#fffefa;border:1px solid #ece6dc;align-content:space-between;gap:8px;padding:8px;transition:background .15s,border-color .15s,box-shadow .15s;display:grid}.history-calendar-day:hover{background:#f9fcfa;border-color:#0080573d}.history-calendar-day>span{font-size:.86rem;font-weight:800}.history-calendar-day.has-activity{border-color:#00805740}.history-calendar-day.is-today{box-shadow:inset 0 0 0 2px #0080572e}.history-calendar-day.is-selected{background:#00805714;border-color:#008057}.history-indicators{flex-wrap:wrap;gap:4px;display:flex}.history-indicators i{border-radius:999px;width:7px;height:7px}.history-indicators .task-dot{background:#394452}.history-indicators .going-dot{background:#008057}.history-indicators .not-going-dot{background:#c25b3c}.history-add-panel{gap:12px;margin-bottom:14px;display:grid}.history-add-card{background:#fff;border:1px solid #e7e1d7;border-radius:8px;gap:10px;padding:14px;display:grid}.history-add-card strong{color:#1f2933;font-size:.96rem;display:block}.history-add-card small{color:#667085;font-size:.8rem}.history-add-card input,.history-add-card select,.history-add-card textarea{color:#1f2933;width:100%;font:inherit;background:#fffefa;border:1px solid #d8d1c5;border-radius:8px;padding:10px 11px;font-size:.9rem}.history-add-card textarea{resize:vertical}.history-add-card input:focus,.history-add-card select:focus,.history-add-card textarea:focus{border-color:#008057;outline:2px solid #0080571f}.history-add-card button{color:#fff;cursor:pointer;min-height:38px;font:inherit;background:#008057;border:0;border-radius:8px;padding:0 14px;font-weight:800}.history-add-card button:hover{background:#006f4c}.history-add-inline{gap:8px;display:grid}.history-selected-day{background:linear-gradient(#fff,#f9fcfa);margin-bottom:14px}.history-empty-day{color:#667085;margin:0;font-size:.9rem}.history-day{background:#fff;border:1px solid #e7e1d7;border-radius:8px;gap:10px;padding:14px;display:grid}.history-day-title{border-bottom:1px solid #ece6dc;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.history-day-title h3{color:#1f2933;margin:0;font-size:.98rem}.history-day-title span{color:#667085;font-size:.78rem;font-weight:700}.history-day ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.history-day li{color:#1f2933;grid-template-columns:24px 1fr;align-items:start;gap:8px;display:grid}.history-day li>span{color:#008057;background:#0080571a;border-radius:999px;place-items:center;width:22px;height:22px;font-size:.78rem;font-weight:900;display:grid}.history-day p{gap:2px;margin:0;font-size:.92rem;font-weight:700;display:grid}.history-day small{color:#667085;font-size:.78rem;font-weight:600}.sporting-card{background:#fff;border-left:4px solid #008057;gap:7px;padding:14px;transition:border-color .15s,box-shadow .15s;display:grid}.game-day-panel{background:#f9fcfa;border-color:#00805738}.game-day-panel .sporting-card{box-shadow:inset 0 0 0 1px #0080570a}.sporting-card:hover{border-color:#008057;box-shadow:0 8px 18px #00805714}.sporting-card strong{color:#1f2933;font-size:1rem}.sporting-card p{color:#1f2933;margin:0;font-size:.92rem;font-weight:700}.sporting-card small{color:#667085}.attendance-toggle{background:#f8f6f1;border:1px solid #d8d1c5;border-radius:999px;gap:3px;width:fit-content;margin-top:3px;padding:3px;display:inline-flex}.attendance-toggle button{color:#667085;cursor:pointer;min-height:28px;font:inherit;background:0 0;border:0;border-radius:999px;padding:0 10px;font-size:.78rem;font-weight:800;transition:background .15s,color .15s,box-shadow .15s}.attendance-toggle button:hover{color:#006f4c;background:#00805714}.attendance-toggle button.is-selected{color:#fff;background:#008057;box-shadow:0 4px 10px #00805729}.sporting-featured-card{background:linear-gradient(#fff,#f9fcfa);margin-bottom:12px}.sporting-scope{color:#667085;margin:0 0 12px;font-size:.84rem;line-height:1.45}.sporting-confirmed,.sporting-pending{gap:10px;display:grid}.sporting-pending{border-top:1px solid #ece6dc;margin-top:12px;padding-top:12px}.sporting-subtitle{margin-bottom:0}.sporting-sports-list{gap:10px;display:grid}.sport-card{border-left-width:3px}.sport-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sport-card-head strong{color:#006f4c;font-size:.82rem}.sporting-unavailable{color:#667085;font-style:italic}.sporting-links{gap:8px;display:grid}.sporting-link{color:#1f2933;background:#fffefa;border:1px solid #e7e1d7;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 14px;text-decoration:none;transition:border-color .15s,background .15s,transform .15s;display:flex}.sporting-link strong{font-size:.9rem}.sporting-link span{color:#006f4c;font-size:.8rem;font-weight:700}.sporting-link:hover{background:#f9fcfa;border-color:#0080573d;transform:translateY(-1px)}.empty-state{color:#667085;text-align:center;background:linear-gradient(#ffffffe0,#f8f6f1eb);border:1px dashed #d8d1c5;border-radius:8px;gap:4px;padding:16px;font-size:.9rem;display:grid}.empty-state strong{color:#1f2933}@keyframes check-pop{0%{transform:scale(.9)}60%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes task-complete-flash{0%{background:#0080571a}to{background:0 0}}@media (width>=720px){.app-frame{width:min(1600px,100vw - 32px);padding:16px}.today-grid{grid-template-columns:.75fr .75fr 1.35fr}.task-form{grid-template-columns:minmax(260px,1fr) 150px 160px 112px;align-items:center}.quick-add-panel{grid-template-columns:minmax(260px,1fr) 150px 160px 140px}.quick-add-head,.quick-add-panel textarea,.quick-add-panel .task-form-hint{grid-column:1/-1}.quick-add-head{grid-template-columns:minmax(0,1fr) 320px;align-items:center}.sporting-sports-list,.sporting-links,.history-add-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.history-add-inline{grid-template-columns:minmax(0,1fr) 120px}}@media (width>=980px){.app-frame{grid-template-columns:244px minmax(0,1fr);gap:20px}.sidebar{background:#eeeae1;border:1px solid #e2ddd3;border-radius:12px;flex-direction:column;height:calc(100vh - 44px);padding:18px;display:flex;position:sticky;top:22px;box-shadow:0 12px 28px #1f293311}.sidebar-brand{border-bottom:1px solid #ebe6dd;align-items:center;gap:10px;padding-bottom:16px;display:flex}.sidebar-brand span{color:#fff;background:#008057;border-radius:8px;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.sidebar-brand strong{color:#172018;font-size:.98rem;display:block}.sidebar-brand small{color:#667085;font-size:.78rem}.sidebar-nav{gap:4px;margin-top:18px;display:grid}.sidebar-nav a{color:#4b5563;border-radius:8px;padding:10px 12px;font-size:.92rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s,transform .15s}.sidebar-nav a:hover,.sidebar-nav a.active{color:#006f4c;background:#00805714}.sidebar-nav a:hover{transform:translate(2px)}.sidebar p{color:#667085;margin:auto 0 0;font-size:.78rem}.content-grid{gap:20px}.body-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px}.side-column{align-self:start}.sidebar .mobile-tabs,.app-shell .mobile-tabs{display:none}}@media (width<=520px){.app-frame{width:100%;padding:10px}.app-header,.planner-section{border-radius:8px}.game-day-banner{display:grid}.content-grid,.body-grid,.primary-column,.side-column{gap:12px}.today-grid{grid-template-columns:1fr}.today-task-row{display:grid}.today-task-row span{white-space:normal}.task-form{padding:10px}.quick-add-panel>input,.quick-add-panel>select,.quick-add-panel>textarea,.quick-add-panel>button{min-width:0;max-width:100%}.task-table{box-shadow:none;background:0 0;border:0;overflow:visible}.task-table-head{display:none}.task-list{gap:10px;display:grid}.task-row{background:#fff;border:1px solid #e2ddd3;border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"check title delete""check category category""check date date";min-width:0;padding:10px;display:grid}.task-row>*{padding:0}.check-button{grid-area:check;margin:2px 0 0}.task-title-cell{grid-area:title;align-items:start}.delete-button{grid-area:delete;justify-self:end}.category-badge{grid-area:category;margin-top:8px}.task-date{grid-area:date;margin-top:8px}.task-title,.task-description{white-space:normal;text-overflow:unset;overflow:visible}.task-filters{flex-wrap:wrap;overflow:visible}.task-filters button{min-height:38px;padding:0 12px}.sporting-sports-list,.sporting-links{grid-template-columns:1fr}}@media (width<=719px){.app-frame{width:100%}.content-grid,.body-grid{gap:14px}.today-grid{grid-template-columns:1fr}.side-column{order:2}.filters-section{padding:12px}}@media (width<=979px){.app-shell .mobile-tabs{display:flex}}
