@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,600;1,600&family=Inter:wght@400;500;600;700&display=swap";.page-container{flex:1;justify-content:center;min-height:0;display:flex;overflow-y:auto}:root{--bg:#121110;--card:#1b1a18;--line:#ffffff12;--ink:#f1efea;--ink-soft:#9c978e;--ink-faint:#625e57;--gold:#e8b23d;--urgent:#e85d4a;--important:#e8b23d;--faible:#6fa890}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);height:100%}body{color:var(--ink);font-family:Inter,sans-serif}#root{flex-direction:column;display:flex}nav{border-top:1px solid var(--line);background:var(--bg);flex-shrink:0}.nav-inner{padding:13px 6px max(13px, env(safe-area-inset-bottom));justify-content:space-around;display:flex}.nav-item{color:var(--ink-faint);flex-direction:column;align-items:center;gap:5px;text-decoration:none;display:flex}.nav-item span{font-size:9.5px;font-weight:500}.nav-item.active{color:var(--gold)}.detail-card{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:14px;margin-bottom:12px;padding:18px 18px 16px}.detail-card.p-urgent{border-left-color:var(--urgent)}.detail-card.p-important{border-left-color:var(--important)}.detail-card.p-faible{border-left-color:var(--faible)}.detail-card.done{opacity:.55}.detail-card.done .detail-title,.detail-card.done .detail-description{text-decoration:line-through}.detail-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex;position:relative}.detail-header-text{flex-direction:column;gap:4px;display:flex}.detail-header-text .tag{color:var(--ink-soft);align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex}.detail-header-text .tag .dot{border-radius:50%;width:6px;height:6px}.detail-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-family:Fraunces,serif;font-size:18px;font-weight:600;overflow:hidden}.detail-menu-wrapper{flex-shrink:0;position:relative}.detail-menu-trigger{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.detail-menu-trigger:hover{color:var(--ink)}.detail-menu{background-color:var(--card);border:1px solid var(--line);z-index:10;border-radius:8px;min-width:160px;position:absolute;top:24px;right:0;overflow:hidden}.detail-menu-item{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 12px;font-family:Inter,sans-serif;font-size:13px;transition:background-color .15s;display:flex}.detail-menu-item:hover{background-color:var(--bg)}.detail-menu-item.danger{color:var(--urgent)}.detail-description{color:var(--ink-soft);margin-bottom:14px;font-size:13.5px;line-height:1.5}.detail-row{color:var(--ink-soft);align-items:center;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.detail-row svg{color:var(--ink-faint);flex-shrink:0}.detail-attachments{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.attachment-chip{color:var(--ink-soft);border:1px solid var(--line);background:#ffffff08;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.detail-info{align-items:center;gap:8px;display:flex}.created-by{color:var(--ink-faint);font-size:11.5px}.task-detail-modal{background-color:var(--bg);z-index:100;border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:85vh;padding:20px;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.card{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:12px;align-items:center;gap:13px;margin-bottom:8px;padding:14px 15px;display:flex}.card.p-urgent{border-left-color:var(--urgent)}.card.p-important{border-left-color:var(--important)}.card.p-faible{border-left-color:var(--faible)}.card .body{flex:1;min-width:0}.card .title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin-bottom:10px;font-size:14.5px;font-weight:600;overflow:hidden}.card .meta{align-items:center;gap:8px;margin-top:5px;display:flex}.card .meta svg{color:var(--ink-faint);flex-shrink:0}.card .tag{color:var(--ink-soft);align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex}.card .tag .dot{border-radius:50%;width:6px;height:6px}.card .time-tag{color:var(--ink-faint);font-size:11.5px;font-weight:500}.card .check{border:1.5px solid var(--line);cursor:pointer;background:#00000040;border-radius:50%;flex-shrink:0;width:25px;height:25px}.card .overdue-tag{color:var(--urgent);font-size:11px;font-weight:600}.card{position:relative}.card.done .title{opacity:.6;text-decoration:line-through}.card-menu-wrapper{flex-shrink:0;position:relative}.card-menu-trigger{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.card-menu-trigger:hover{color:var(--ink)}.card-menu{background-color:var(--card);border:1px solid var(--line);z-index:10;border-radius:8px;min-width:160px;position:absolute;top:24px;right:0;overflow:hidden}.card-menu-item{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 12px;font-family:Inter,sans-serif;font-size:13px;transition:background-color .15s;display:flex}.card-menu-item:hover{background-color:var(--bg)}.card-menu-item.danger{color:var(--urgent)}.card .meta .recurrence-tag{color:var(--ink-faint);align-items:center;gap:4px;font-size:11.5px;font-weight:500;display:flex}.card .created-by{color:var(--ink-faint);margin-top:4px;font-size:11px}.summary-pill{text-align:center;flex:1;padding:14px 4px;position:relative}.summary-pill .count{font-family:Fraunces,serif;font-size:24px;font-weight:600;line-height:1}.summary-pill .count.late{color:var(--urgent)}.summary-pill .count.today{color:var(--gold)}.summary-pill .count.week{color:var(--faible)}.summary-pill .label{color:var(--ink-soft);letter-spacing:.02em;margin-top:6px;font-size:10.5px}.summary-pill+.summary-pill:before{content:"";background:var(--line);width:1px;position:absolute;top:14px;bottom:14px;left:0}.fab{background:var(--gold);width:52px;height:52px;color:var(--bg);cursor:pointer;z-index:5;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:90px;right:20px;box-shadow:0 6px 18px #e8b23d4d}.create-sheet{background:var(--card);border-top:1px solid var(--line);padding:12px 12px max(20px, env(safe-area-inset-bottom));z-index:11;border-radius:20px 20px 0 0;position:fixed;bottom:0;left:0;right:0}.create-option{border:none;border-bottom:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:12px;padding:16px 8px;font-size:15px;font-weight:500;display:flex}.create-option:last-child{border-bottom:none}.empty-card{background:var(--card);border:1px dashed var(--line);text-align:center;border-radius:12px;padding:20px}.empty-card p{color:var(--ink-soft);font-size:13.5px}.toast{background:var(--card);border:1px solid var(--line);color:var(--ink);z-index:20;text-align:center;border-radius:12px;width:80%;padding:13px 20px;font-size:13.5px;font-weight:500;animation:.25s ease-out toast-in;position:fixed;bottom:90px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.toast-success{border-left:3px solid var(--faible)}.toast-error{border-left:3px solid var(--urgent)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.confirm-dialog{background:var(--card);border:1px solid var(--line);z-index:21;border-radius:16px;width:calc(100% - 48px);max-width:340px;padding:22px 20px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.confirm-message{color:var(--ink);text-align:center;margin-bottom:20px;font-size:14.5px}.confirm-actions{gap:10px;display:flex}.confirm-cancel,.confirm-delete{cursor:pointer;border:none;border-radius:10px;flex:1;padding:12px;font-size:13.5px;font-weight:600}.confirm-cancel{border:1px solid var(--line);color:var(--ink-soft);background:0 0}.confirm-delete{background:var(--urgent);color:#fff}.content-scroll{flex:1;min-height:0;padding:28px 16px 64px;overflow-y:auto}.phone{width:100%;max-width:400px;margin:0 auto}.group{margin-top:30px}.group:first-child{margin-top:0}.group-title{color:var(--ink);align-items:center;gap:10px;padding:0 2px 12px;font-family:Fraunces,serif;font-size:17px;font-style:italic;font-weight:600;display:flex}.divider{background:var(--line);flex:1;height:1px}header{padding:2px 2px 24px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-size:11px;font-weight:600}.greeting{color:var(--ink);margin-top:6px;font-family:Fraunces,serif;font-size:30px;font-style:italic;font-weight:600}.date-line{color:var(--ink-soft);text-transform:capitalize;margin-top:6px;font-size:13.5px}.summary-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px;display:flex}.month-header{justify-content:space-between;align-items:center;padding:2px 2px 20px;display:flex}.month-nav{background:var(--card);border:1px solid var(--line);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:flex}.month-title{text-transform:capitalize;color:var(--ink);padding:2px 2px 20px;font-family:Fraunces,serif;font-size:22px;font-style:italic;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar-day{aspect-ratio:1;background:var(--card);border:1px solid var(--line);color:var(--ink);cursor:pointer;font-family:Inter,sans-serif;font:inherit;border-radius:10px;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.calendar-day.outside{opacity:.3}.calendar-day.today{border-color:var(--gold)}.calendar-day .day-number{font-size:13px;font-weight:500}.calendar-day .day-dot,.day-dot{background:var(--gold);border-radius:50%;width:5px;height:5px}.day-dot.done{background-color:var(--faible)}.calendar-legend{border-top:1px solid var(--line);flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:12px;display:flex}.legend-item{color:var(--ink-soft);align-items:center;gap:6px;font-size:12px;display:flex}.legend-today-marker{border:1px solid var(--gold);border-radius:20%;width:10px;height:10px}.back-button{background:var(--card);border:1px solid var(--line);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;margin-bottom:18px;display:flex}.day-title{text-transform:capitalize;color:var(--ink);margin-bottom:22px;font-family:Fraunces,serif;font-size:24px;font-style:italic;font-weight:600}.sheet-backdrop{z-index:10;background:#0000008c;position:fixed;inset:0}.filter-sheet{background:var(--card);border-top:1px solid var(--line);padding:20px 18px max(20px, env(safe-area-inset-bottom));z-index:11;border-radius:20px 20px 0 0;max-height:75vh;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.sheet-header h2{color:var(--ink);font-family:Fraunces,serif;font-size:18px;font-style:italic;font-weight:600}.sheet-close{border:1px solid var(--line);width:30px;height:30px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;display:flex}.filter-group{margin-bottom:18px}.filter-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px;font-size:11px;font-weight:600}.filter-chips{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:6px;padding:7px 13px;font-size:12.5px;font-weight:500;display:flex}.filter-chip.active{color:var(--gold);border-color:var(--gold);background:#e8b23d14}.chip-dot{border-radius:50%;width:6px;height:6px}.tasks-header{justify-content:space-between;align-items:center;padding:2px 2px 20px;display:flex}.tasks-title{color:var(--ink);font-family:Fraunces,serif;font-size:26px;font-style:italic;font-weight:600}.filter-button{background:var(--card);border:1px solid var(--line);width:38px;height:38px;color:var(--ink-soft);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative}.filter-badge{background:var(--gold);min-width:16px;height:16px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;padding:0 3px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-5px;right:-5px}.empty-state{color:var(--ink-soft);text-align:center;padding:40px 0;font-size:14px}.lists-title{color:var(--ink);margin-bottom:20px;font-family:Fraunces,serif;font-size:26px;font-style:italic;font-weight:600}.list-card{background:var(--card);border:1px solid var(--line);color:inherit;border-radius:12px;align-items:center;margin-bottom:8px;padding:16px;text-decoration:none;display:flex}.list-card-body{flex:1}.list-card-title{color:var(--ink);justify-content:space-between;margin-bottom:10px;font-size:15.5px;font-weight:600;display:flex}.list-card-meta{justify-content:space-between;align-items:center;display:flex}.list-card-meta .tag{color:var(--ink-soft);align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex}.list-card-meta .tag .dot{border-radius:50%;width:6px;height:6px}.list-progress{color:var(--ink-faint);font-size:12px;font-weight:600}.create-list-title{color:var(--ink);margin-bottom:20px;font-family:Fraunces,serif;font-size:24px;font-style:italic;font-weight:600}.category-picker{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.submit-button{background:var(--gold);width:100%;color:var(--bg);cursor:pointer;border:none;border-radius:12px;margin-top:24px;padding:14px;font-size:14.5px;font-weight:600}.list-detail-title{color:var(--ink);margin-bottom:20px;font-family:Fraunces,serif;font-size:24px;font-style:italic;font-weight:600}.list-items{flex-direction:column;gap:8px;display:flex}.list-item{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:13px 14px;display:flex}.item-check{border:1.5px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;width:22px;height:22px;position:relative}.item-check.checked{background:var(--gold);border-color:var(--gold)}.item-check.checked:after{content:"";border-right:2px solid var(--bg);border-bottom:2px solid var(--bg);width:5px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)rotate(45deg)}.item-label{color:var(--ink);flex:1;font-size:14.5px;font-weight:500}.item-label.checked{color:var(--ink-faint);text-decoration:line-through}.item-delete{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.add-item-form{margin-top:16px}.add-item-input{background:var(--card);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:12px;padding:13px 15px;font-family:inherit;font-size:14px}.add-item-input::placeholder{color:var(--ink-faint)}.add-item-input:focus{border-color:var(--gold);outline:none}.create-task-title{color:var(--ink);text-transform:capitalize;margin-bottom:20px;font-family:Fraunces,serif;font-size:24px;font-style:italic;font-weight:600}.create-task-form{flex-direction:column;gap:12px;display:flex}textarea.add-item-input{resize:vertical;font-family:inherit}.field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px;font-size:11px;font-weight:600}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.checkboxDiv{margin:10px 0 0}.checkbox-field{color:var(--ink-soft);cursor:pointer;align-items:center;gap:10px;margin-bottom:8px;font-family:Inter,sans-serif;font-size:14px;display:flex}.checkbox-field input[type=checkbox]{appearance:none;border:2px solid var(--line);background-color:var(--card);cursor:pointer;border-radius:6px;flex-shrink:0;width:20px;height:20px;transition:border-color .15s,background-color .15s}.checkbox-field input[type=checkbox]:checked{background-color:var(--important);border-color:var(--important)}.checkbox-field input[type=checkbox]:checked:after{content:"";border:solid var(--bg);border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.recurrence-fields{flex-direction:column;gap:10px;margin-top:4px;display:flex}.settings-title{color:var(--ink);margin-bottom:24px;font-family:Fraunces,serif;font-size:26px;font-style:italic;font-weight:600}.settings-section{margin-bottom:30px}.settings-section-title{color:var(--ink);margin-bottom:12px;font-family:Fraunces,serif;font-size:16px;font-style:italic;font-weight:600}.settings-list{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.settings-row{background:var(--card);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.settings-row .tag{color:var(--ink);align-items:center;gap:7px;font-size:13px;font-weight:500;display:flex}.settings-row .tag .dot{border-radius:50%;width:7px;height:7px}.settings-profile-name{color:var(--ink);font-size:13.5px;font-weight:600}.settings-delete{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.settings-add-form{gap:8px;display:flex}.settings-add-form .add-item-input{flex:1}.settings-add-button{background:var(--gold);width:48px;height:48px;color:var(--bg);cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-logout{color:#d96c6c;cursor:pointer;background-color:#0000;border:1px solid #d96c6c;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:opacity .15s;display:flex}.settings-logout:hover{opacity:.8}.settings-notifications{width:100%;color:var(--important);border:1px solid var(--important);cursor:pointer;background-color:#0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:opacity .15s;display:flex}.settings-notifications:hover{opacity:.8}.login-page{background-color:#121110;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-logo{width:56px;height:56px;margin-bottom:16px}.login-logo svg{width:100%;height:100%}.login-title{color:#f5f0e8;margin:0 0 32px;font-family:Fraunces,serif;font-size:32px;font-style:italic}.login-card{background-color:#1b1a18;border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:360px;padding:32px 24px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:#8a8580;font-family:Inter,sans-serif;font-size:13px}.login-field input{color:#f5f0e8;background-color:#121110;border:1px solid #2a2825;border-radius:8px;outline:none;padding:12px 14px;font-family:Inter,sans-serif;font-size:15px;transition:border-color .15s}.login-field input:focus{border-color:#e8b23d}.login-submit{color:#121110;cursor:pointer;background-color:#e8b23d;border:none;border-radius:8px;margin-top:8px;padding:13px;font-family:Inter,sans-serif;font-size:15px;font-weight:600;transition:opacity .15s}.login-submit:hover{opacity:.9}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-error{color:#e85d4a;text-align:center;margin:0;font-family:Inter,sans-serif;font-size:13px}.login-switch{color:#8a8580;margin-top:20px;font-family:Inter,sans-serif;font-size:14px}.login-switch a{color:#e8b23d;font-weight:600;text-decoration:none}.login-switch a:hover{text-decoration:underline}.select-profile-page{background-color:#121110;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.select-profile-title{color:#f5f0e8;text-align:center;margin:0 0 32px;font-family:Fraunces,serif;font-size:28px;font-style:italic}.select-profile-empty{color:#8a8580;text-align:center;margin-bottom:24px;font-family:Inter,sans-serif;font-size:14px}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:16px;width:100%;max-width:360px;margin-bottom:32px;display:grid}.profile-card{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;padding:8px;transition:transform .15s;display:flex}.profile-card:hover{transform:translateY(-2px)}.profile-avatar{color:#e8b23d;background-color:#1b1a18;border:2px solid #e8b23d;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-family:Fraunces,serif;font-size:24px;font-style:italic;display:flex}.profile-name{color:#f5f0e8;font-family:Inter,sans-serif;font-size:13px}.select-profile-form{background-color:#1b1a18;border-radius:16px;flex-direction:column;gap:12px;width:100%;max-width:360px;padding:24px;display:flex}.select-profile-form input{color:#f5f0e8;background-color:#121110;border:1px solid #2a2825;border-radius:8px;outline:none;padding:12px 14px;font-family:Inter,sans-serif;font-size:15px;transition:border-color .15s}.select-profile-form input:focus{border-color:#e8b23d}.select-profile-form button{color:#121110;cursor:pointer;background-color:#e8b23d;border:none;border-radius:8px;padding:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:opacity .15s}.select-profile-form button:hover{opacity:.9}
