:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f5f6f8;background:#0c0e12;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#111318 0,#0c0e12 35%);padding-bottom:92px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:max(22px,env(safe-area-inset-top)) 20px 14px;position:sticky;top:0;background:rgba(17,19,24,.92);backdrop-filter:blur(18px);z-index:5;border-bottom:1px solid #222630}.eyebrow{margin:0 0 3px;color:#858d9d;font-size:10px;font-weight:800;letter-spacing:.2em}.topbar h1{margin:0;font-size:28px;letter-spacing:-.04em}.add{width:44px;height:44px;border:0;border-radius:15px;background:#f4f5f7;color:#101217;font-size:30px;line-height:1;cursor:pointer}main{max-width:780px;margin:auto;padding:18px 16px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.summary-card{border:1px solid #252a35;background:#15181f;color:#aeb5c2;border-radius:16px;padding:13px 6px;cursor:pointer}.summary-card strong{display:block;font-size:23px;color:#fff}.summary-card span{font-size:11px}.summary-card.active{background:#252a35;border-color:#414958}.section-head{display:flex;align-items:center;justify-content:space-between;margin:27px 4px 10px}.topbar-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.topbar-actions .add{margin-left:10px;flex:0 0 auto}.topbar-actions .text-btn{font-size:12px;padding:8px 4px}.section-head h2{font-size:19px;margin:0}.text-btn,.icon-btn{border:0;background:transparent;color:#9ca5b5;cursor:pointer}.task-list{display:grid;gap:9px}.task{display:grid;grid-template-columns:32px 1fr auto;align-items:start;gap:10px;background:#15181f;border:1px solid #222732;border-radius:17px;padding:14px}.check{width:24px;height:24px;border-radius:50%;border:2px solid #596273;background:transparent;cursor:pointer;margin-top:2px}.task.done{opacity:.5}.task.done .task-title{text-decoration:line-through}.task-title{font-weight:700;font-size:15px;margin-bottom:5px}.meta{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:#929baa}.pill{padding:3px 7px;border:1px solid #303643;border-radius:99px}.priority-high{border-color:#795252;color:#e0aaaa}.due-overdue{color:#ffb0b0}.edit{border:0;background:transparent;color:#7f8898;font-size:20px;cursor:pointer;padding:0 3px}.empty{text-align:center;color:#737c8c;padding:50px 10px}.hidden{display:none!important}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px max(8px,env(safe-area-inset-bottom));background:rgba(15,17,22,.95);backdrop-filter:blur(18px);border-top:1px solid #242833;z-index:6}.nav-btn{border:0;background:transparent;color:#737d8e;padding:10px 3px;font-size:11px;font-weight:700}.nav-btn.active{color:#fff}dialog{width:min(92vw,520px);border:1px solid #343a46;border-radius:22px;background:#15181f;color:#fff;padding:0;box-shadow:0 25px 80px #0009}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}form{padding:20px}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-head h2{margin:0}.icon-btn{font-size:27px}label{display:grid;gap:7px;color:#9da6b5;font-size:12px;font-weight:700;margin:12px 0}input,select,textarea{width:100%;border:1px solid #303642;border-radius:12px;background:#0f1116;color:#fff;padding:12px;font:inherit;outline:none}textarea{resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.primary,.danger{border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.primary{background:#f5f6f8;color:#111318;margin-left:auto}.danger{background:#3b2024;color:#ffb9c0}@media(max-width:420px){.topbar h1{font-size:26px}.topbar-actions .add{margin-left:16px}.topbar{padding-left:14px;padding-right:14px}.topbar-actions{gap:2px}.topbar-actions .add{margin-left:10px}.topbar-actions .text-btn{font-size:11px;padding:7px 3px}.add{width:40px;height:40px}.summary-card span{font-size:10px}.summary{gap:6px}.summary-card{padding:12px 3px}.two-col{grid-template-columns:1fr}}
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f5f6f8;background:#0c0e12;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#111318 0,#0c0e12 35%);padding-bottom:92px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:max(22px,env(safe-area-inset-top)) 20px 14px;position:sticky;top:0;background:rgba(17,19,24,.92);backdrop-filter:blur(18px);z-index:5;border-bottom:1px solid #222630}.eyebrow{margin:0 0 3px;color:#858d9d;font-size:10px;font-weight:800;letter-spacing:.2em}.topbar h1{margin:0;font-size:28px;letter-spacing:-.04em}.add{width:44px;height:44px;border:0;border-radius:15px;background:#f4f5f7;color:#101217;font-size:30px;line-height:1;cursor:pointer}main{max-width:780px;margin:auto;padding:18px 16px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.summary-card{border:1px solid #252a35;background:#15181f;color:#aeb5c2;border-radius:16px;padding:13px 6px;cursor:pointer}.summary-card strong{display:block;font-size:23px;color:#fff}.summary-card span{font-size:11px}.summary-card.active{background:#252a35;border-color:#414958}.section-head{display:flex;align-items:center;justify-content:space-between;margin:27px 4px 10px}.topbar-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.topbar-actions .add{margin-left:10px;flex:0 0 auto}.topbar-actions .text-btn{font-size:12px;padding:8px 4px}.section-head h2{font-size:19px;margin:0}.text-btn,.icon-btn{border:0;background:transparent;color:#9ca5b5;cursor:pointer}.task-list{display:grid;gap:9px}.task{display:grid;grid-template-columns:32px 1fr auto;align-items:start;gap:10px;background:#15181f;border:1px solid #222732;border-radius:17px;padding:14px}.check{width:24px;height:24px;border-radius:50%;border:2px solid #596273;background:transparent;cursor:pointer;margin-top:2px}.task.done{opacity:.5}.task.done .task-title{text-decoration:line-through}.task-title{font-weight:700;font-size:15px;margin-bottom:5px}.meta{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:#929baa}.pill{padding:3px 7px;border:1px solid #303643;border-radius:99px}.priority-high{border-color:#795252;color:#e0aaaa}.due-overdue{color:#ffb0b0}.edit{border:0;background:transparent;color:#7f8898;font-size:20px;cursor:pointer;padding:0 3px}.empty{text-align:center;color:#737c8c;padding:50px 10px}.hidden{display:none!important}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px max(8px,env(safe-area-inset-bottom));background:rgba(15,17,22,.95);backdrop-filter:blur(18px);border-top:1px solid #242833;z-index:6}.nav-btn{border:0;background:transparent;color:#737d8e;padding:10px 3px;font-size:11px;font-weight:700}.nav-btn.active{color:#fff}dialog{width:min(92vw,520px);border:1px solid #343a46;border-radius:22px;background:#15181f;color:#fff;padding:0;box-shadow:0 25px 80px #0009}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}form{padding:20px}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-head h2{margin:0}.icon-btn{font-size:27px}label{display:grid;gap:7px;color:#9da6b5;font-size:12px;font-weight:700;margin:12px 0}input,select,textarea{width:100%;border:1px solid #303642;border-radius:12px;background:#0f1116;color:#fff;padding:12px;font:inherit;outline:none}textarea{resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.primary,.danger{border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.primary{background:#f5f6f8;color:#111318;margin-left:auto}.danger{background:#3b2024;color:#ffb9c0}@media(max-width:420px){.topbar h1{font-size:26px}.topbar-actions .add{margin-left:16px}.topbar{padding-left:14px;padding-right:14px}.topbar-actions{gap:2px}.topbar-actions .add{margin-left:10px}.topbar-actions .text-btn{font-size:11px;padding:7px 3px}.add{width:40px;height:40px}.summary-card span{font-size:10px}.summary{gap:6px}.summary-card{padding:12px 3px}.two-col{grid-template-columns:1fr}}
.voice-btn{
  width:52px;
  height:52px;
  border:0;
  border-radius:50%;
  background:#f4f5f7;
  color:#101217;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex:0 0 auto;
}

.voice-btn svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.voice-btn:active{
  transform:scale(.94);
}

.voice-btn:disabled{
  opacity:.35;
  cursor:default;
}

[hidden] { display: none !important; }
.auth-panel { max-width: 28rem; margin: 3rem auto; padding: 1.5rem; }
.auth-panel form { display: grid; gap: 1rem; }
.auth-panel label { display: grid; gap: .4rem; }
.auth-panel input, .auth-panel select { width: 100%; box-sizing: border-box; padding: .7rem; }
.session-controls { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; padding: .5rem 1rem; flex-wrap: wrap; }

.voice-recovery{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.voice-recovery button{border:1px solid #414958;background:#252a35;color:#f5f6f8;border-radius:10px;padding:10px;cursor:pointer}.voice-recovery button:disabled{opacity:.5;cursor:default}
.inbox-shortcut{display:block;margin:0 4px 12px;padding:8px 0;font:inherit;font-size:14px}.inbox-shortcut.active{color:#fff;font-weight:700}.inbox-hint{margin:0 4px 12px;color:#9da6b5;font-size:13px}


/* Keep task controls inside the dialog and avoid iPhone focus zoom. */
#taskForm label { min-width: 0; }
#taskForm input, #taskForm select, #taskForm textarea {
  min-width: 0;
  max-width: 100%;
  font-size: 16px;
}


/* Dashboard: phone-first single-column cards. Existing views are not rearranged. */
body.dashboard-active .summary,
body.dashboard-active .section-head,
body.dashboard-active #voicePanel,
body.dashboard-active #unassignedBtn,
body.dashboard-active #unassignedHint,
body.dashboard-active #taskList,
body.dashboard-active #emptyState {display:none!important}
.dashboard{min-width:0;max-width:100%;overflow-wrap:anywhere}
.dashboard-intro h2{font-size:20px;margin:5px 0 4px}
.dashboard-intro p,.dashboard-source{font-size:13px;color:#aab2bf;line-height:1.5}
.dashboard-source{margin:12px 0}
.dashboard-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.dashboard-stat{min-width:0;background:#15181f;border:1px solid #303643;border-radius:14px;padding:12px}
.dashboard-stat strong{display:block;font-size:17px;overflow-wrap:anywhere}
.dashboard-stat span{display:block;font-size:12px;color:#b8c0cc;margin-top:5px}
.dashboard-projects{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.dashboard-project{min-width:0;max-width:100%;border:1px solid #303643;background:#15181f;border-radius:16px;overflow:hidden}
.dashboard-project summary{cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:15px;min-height:80px;list-style:none}
.dashboard-project summary::-webkit-details-marker{display:none}
.dashboard-project summary strong{font-size:16px}
.dashboard-project summary span,.dashboard-project summary small{font-size:12px;color:#b8c0cc;overflow-wrap:anywhere}
.dashboard-details{padding:0 14px 14px}
.dashboard-details p{font-size:12px;color:#aab2bf}
.dashboard-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #303643;padding:11px 0;min-width:0}
.dashboard-item>div{min-width:0;overflow-wrap:anywhere}
.dashboard-item strong{font-size:13px;display:block}
.dashboard-item small{font-size:11px;display:block;color:#aab2bf;margin-top:5px}
.dashboard-item a{font-size:12px;flex:0 0 auto;color:#b8d2ff}
.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.bottom-nav.dashboard-allowed{grid-template-columns:repeat(6,minmax(0,1fr))}
.bottom-nav .nav-btn{min-width:0;font-size:10px;overflow-wrap:anywhere;padding:10px 1px}
@media(min-width:720px){.dashboard-projects{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}


.dashboard-item a,.dashboard-details p a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;color:#b8d2ff}
#dashboardRefresh{min-height:44px}
.bottom-nav .nav-btn{min-height:44px}
