:root{--bg: #0f172a;--surface: #1e293b;--surface-alt: #273549;--text: #e2e8f0;--text-muted: #94a3b8;--accent: #38bdf8;--border: #334155;--btn-text: #0f172a;--accent-subtle: rgba(56, 189, 248, .12);--radius: 12px;color-scheme:dark}[data-theme=light]{--bg: #eaeff4;--surface: #ffffff;--surface-alt: #f1f5f9;--text: #0f172a;--text-muted: #64748b;--accent: #0284c7;--border: #e2e8f0;--btn-text: #ffffff;--accent-subtle: rgba(2, 132, 199, .12);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}button,input,select{font-family:inherit;font-size:1rem}button{background:var(--accent);color:var(--btn-text);border:none;border-radius:var(--radius);padding:.65rem 1rem;font-weight:600;cursor:pointer}input,select{background:var(--surface-alt);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem}a{color:var(--accent)}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:.5rem;background:var(--surface);padding:2rem 1.5rem;border-radius:var(--radius)}.auth-subtitle{margin:-.5rem 0 1rem;color:var(--text-muted)}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-bottom:1.5rem}.auth-brand__logo{width:140px;height:auto;color:var(--text)}.auth-brand__tagline{font-size:.85rem;color:var(--text-muted);margin:0}.auth-form-title{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:var(--text)}.auth-error{color:#f87171;font-size:.9rem}.auth-footer{margin-top:1rem;text-align:center;color:var(--text-muted)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface);border-bottom:1px solid var(--border);z-index:10}.app-header__logo{height:30px;width:auto;display:block}.app-header__nav{display:flex;gap:1rem}.app-header__nav a{color:var(--text-muted);text-decoration:none;font-size:.9rem}.app-header__nav a:hover{color:var(--text)}.app-header__user{display:flex;align-items:center;gap:.75rem;color:var(--text-muted)}.notification-toggle button{background:var(--surface-alt);color:var(--text);font-size:.8rem;padding:.4rem .7rem}.notification-toggle__error{display:block;color:#f87171;font-size:.7rem;max-width:180px}.notification-toggle__hint{font-size:.75rem;color:var(--text-muted)}.app-main{flex:1;padding:1rem 1rem 2rem;max-width:720px;width:100%;margin:0 auto}.page h1{font-size:1.4rem}.back-link{display:inline-flex;align-items:center;margin-bottom:.5rem;color:var(--text-muted);text-decoration:none;background:none;border:none;cursor:pointer;font-size:.9rem;padding:0}.tablero-picker__title{margin-bottom:1.25rem}.tablero-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.tablero-space-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;background:var(--surface);border:1px solid var(--surface-alt);border-radius:var(--radius);padding:1rem 1rem 1rem 1.25rem;cursor:pointer;text-align:left;transition:box-shadow .15s,border-color .15s;overflow:hidden}.tablero-space-card:hover{box-shadow:0 2px 8px #0000001f;border-color:var(--accent)}.tablero-space-card__bar{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--radius) 0 0 var(--radius)}.tablero-space-card__icon{font-size:1.5rem;line-height:1}.tablero-space-card__name{font-size:1rem;font-weight:600;color:var(--text)}.tablero-space-card__stats{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.tablero-stat{font-size:.8rem;color:var(--text-muted)}.tablero-stat span{font-weight:700}.tablero-stat--todo span{color:var(--text-muted)}.tablero-stat--progress span{color:#f59e0b}.tablero-stat--done span{color:#22c55e}.space-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin:1rem 0}@media(min-width:480px){.space-grid{grid-template-columns:repeat(2,1fr)}}.space-card{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem}.space-card--inactive{opacity:.5}.space-card__main{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);flex:1;min-width:0}.space-card__icon{font-size:1.4rem}.space-card__name{margin:0;font-weight:600}.space-card__view{margin:0;font-size:.8rem;color:var(--text-muted)}.space-card__delete{background:transparent;font-size:.95rem;padding:.4rem .5rem}.space-card__toggle{background:var(--surface-alt);color:var(--text-muted);font-size:.75rem;padding:.4rem .6rem}.create-space-trigger{width:100%;background:var(--surface-alt);color:var(--text)}.create-space-form{display:flex;flex-direction:column;gap:.5rem;background:var(--surface);padding:1rem;border-radius:var(--radius)}.create-space-form__actions{display:flex;gap:.5rem}.create-space-form__actions button[type=button]{background:var(--surface-alt);color:var(--text)}.create-space-form__color-row{display:flex;align-items:center;gap:.6rem}.create-space-form__color-label{font-size:.9rem;color:var(--text-muted)}.space-color-btn{display:block;width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.25);cursor:pointer;position:relative;overflow:hidden;flex-shrink:0}.space-color-input{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);opacity:0;cursor:pointer;padding:0;border:none}.apply-template-menu{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem}.apply-template-menu button{background:var(--surface-alt);color:var(--text)}.view-switch{display:flex;gap:.4rem;margin:.75rem 0;overflow-x:auto}.view-switch__btn{background:var(--surface-alt);color:var(--text-muted);white-space:nowrap}.view-switch__btn--active{background:var(--accent);color:var(--btn-text)}.quick-add-task{display:flex;gap:.5rem;margin-bottom:1rem}.quick-add-task input{flex:1}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.task-list__item{display:flex;align-items:center;gap:.6rem;background:var(--surface);border-radius:var(--radius);padding:.7rem}.task-list__title--done{text-decoration:line-through;color:var(--text-muted)}.task-list__time{color:var(--text-muted);font-size:.8rem}.task-empty{color:var(--text-muted)}.kanban-board{display:flex;gap:.75rem;overflow-x:auto}.kanban-column{flex:0 0 220px;background:var(--surface);border-radius:var(--radius);padding:.75rem;transition:background .15s;min-height:120px}.kanban-column--over{background:var(--accent-subtle);outline:2px dashed var(--accent);outline-offset:-2px}.kanban-column h3{margin-top:0;font-size:.9rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.kanban-column__count{font-size:.75rem;background:var(--surface-alt);border-radius:99px;padding:0 .4rem}.kanban-card{background:var(--surface-alt);border-radius:var(--radius);padding:.6rem;margin-bottom:.5rem;-webkit-user-select:none;user-select:none}.task-list__drag-handle{cursor:grab;color:var(--text-muted);padding:0 .4rem 0 0;font-size:1rem;flex-shrink:0;touch-action:none}.task-list__drag-handle:active{cursor:grabbing}.calendar-view{--fc-border-color: var(--surface-alt);--fc-page-bg-color: var(--surface);--fc-neutral-bg-color: var(--surface-alt);--fc-list-event-hover-bg-color: var(--surface-alt);--fc-today-bg-color: var(--accent-subtle);background:var(--surface);border-radius:var(--radius);padding:.75rem;color:var(--text)}.calendar-view .fc-button{background:var(--surface-alt);border:none;color:var(--text)}.calendar-view .fc-button:hover{background:var(--accent);color:var(--bg)}.calendar-view .fc-toolbar-title{color:var(--text);font-size:1.1rem}.calendar-view .fc-daygrid-day-frame{cursor:pointer}.calendar-day-cell{display:flex;align-items:center;justify-content:space-between;padding:.1rem .3rem}.calendar-day-cell__badge{background:var(--accent);color:var(--bg);font-size:.7rem;font-weight:700;border-radius:999px;padding:.05rem .4rem}.calendar-day-detail,.calendar-day{background:var(--surface-alt);border-radius:var(--radius);padding:.75rem;margin-top:.75rem}.calendar-day-detail h3,.calendar-day h3{margin-top:0;font-size:.9rem;color:var(--accent)}.calendar-day-detail ul,.calendar-day ul{margin:0;padding-left:1.1rem}.calendar-day-detail__hidden-note{margin:.5rem 0 0;font-size:.8rem;color:var(--text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal{background:var(--surface);border-radius:var(--radius);padding:1rem;width:100%;max-width:420px;max-height:85vh;overflow-y:auto}.modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.modal__header h3{margin:0;color:var(--accent)}.modal__close{background:transparent;padding:.2rem .5rem}.modal-task-list{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.modal-task-list__item{display:flex;align-items:center;gap:.5rem;background:var(--surface-alt);border-radius:var(--radius);padding:.5rem .6rem}.modal-task-list__item .task-list__title{flex:1}.modal-task-list__edit{background:transparent;color:var(--text-muted);font-size:.75rem;padding:.2rem .4rem}.modal-task-edit{display:flex;flex-wrap:wrap;gap:.4rem;width:100%}.modal-task-edit input[type=text],.modal-task-edit input:not([type]){flex:1;min-width:100px}.modal-add-task{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.modal-add-task input{flex:1;min-width:120px}.space-filter{display:flex;flex-wrap:wrap;gap:.75rem;background:var(--surface);border-radius:var(--radius);padding:.75rem;margin-bottom:1rem}.space-filter__item{display:flex;align-items:center;gap:.4rem;cursor:pointer}.all-tasks-board{display:flex;flex-direction:column;gap:.75rem}.all-tasks-group{background:var(--surface);border-radius:var(--radius);border-left:4px solid var(--surface-alt);padding:.75rem}.all-tasks-group h3{margin-top:0}.priority-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;flex-shrink:0;vertical-align:middle}.priority-dot--high{background:#f87171}.priority-dot--medium{background:#fbbf24}.priority-dot--low{background:#94a3b8}.priority-filter{display:flex;gap:.4rem;margin-bottom:.75rem;flex-wrap:wrap}.priority-filter__btn{background:var(--surface-alt);color:var(--text-muted);font-size:.8rem;padding:.3rem .7rem}.priority-filter__btn--active{background:var(--accent);color:var(--btn-text)}.task-list__subtask-count{color:var(--text-muted);font-size:.8rem}.task-detail-modal{background:var(--surface);border-radius:var(--radius);padding:1.25rem;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.task-detail-modal__title-input{flex:1;background:transparent;border:none;border-bottom:1px solid transparent;border-radius:0;padding:.1rem 0;font-size:1rem;font-weight:600;color:var(--accent)}.task-detail-modal__title-input:hover,.task-detail-modal__title-input:focus{border-bottom-color:var(--border);outline:none}.task-detail-modal__delete{background:transparent;border:none;cursor:pointer;font-size:1rem;padding:.2rem .4rem;border-radius:4px;opacity:.5;transition:opacity .15s,background .15s}.task-detail-modal__delete:hover{opacity:1;background:#ef444426}.task-detail-modal__field{display:flex;flex-direction:column;gap:.4rem}.task-detail-modal__label{font-size:.8rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.task-detail-modal__textarea{background:var(--surface-alt);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem;font-family:inherit;font-size:.95rem;resize:vertical;width:100%}.task-detail-modal__priority-row{display:flex;gap:.4rem}.task-detail-modal__save{align-self:flex-start;font-size:.85rem;padding:.45rem .9rem}.priority-badge{font-size:.8rem;padding:.3rem .75rem;border-radius:999px;background:var(--surface-alt);color:var(--text-muted);border:2px solid transparent}.priority-badge--high.priority-badge--active{background:#f87171;color:#fff;border-color:#f87171}.priority-badge--medium.priority-badge--active{background:#fbbf24;color:#0f172a;border-color:#fbbf24}.priority-badge--low.priority-badge--active{background:#94a3b8;color:#0f172a;border-color:#94a3b8}.subtask-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.subtask-list__item{display:flex;align-items:center;gap:.5rem;background:var(--surface-alt);border-radius:calc(var(--radius) / 2);padding:.45rem .6rem}.subtask-list__title{flex:1;font-size:.9rem}.subtask-list__title--done{text-decoration:line-through;color:var(--text-muted)}.subtask-list__delete{background:transparent;color:var(--text-muted);font-size:.75rem;padding:.15rem .35rem}.subtask-add{display:flex;gap:.4rem;margin-top:.3rem}.subtask-add input{flex:1;font-size:.9rem}.subtask-add button{font-size:.85rem;padding:.45rem .8rem}.theme-toggle{background:var(--surface-alt);color:var(--text);font-size:1rem;padding:.35rem .6rem;line-height:1;border:1px solid var(--border)}
