*{box-sizing:border-box;margin:0}:root{--bg:#111827;--panel:#1f2937;--line:#374151;--text:#f9fafb;--dim:#9ca3af;--accent:#fbbf24;--danger:#f87171}body{background:var(--bg);color:var(--text);font:16px/1.5 system-ui,sans-serif}.center{text-align:center;color:var(--dim);padding:3rem 1rem}.error{color:var(--danger)}button{font:inherit;cursor:pointer}.login-wrap{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{background:var(--panel);border-radius:12px;gap:1rem;width:min(360px,100%);padding:2rem;display:grid}.login-card h1{color:var(--accent);font-size:1.5rem}.login-card label{color:var(--dim);gap:.25rem;font-size:.875rem;display:grid}.login-card input{border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;border-radius:8px;padding:.6rem}.login-card button{background:var(--accent);color:#111;border:0;border-radius:8px;padding:.6rem;font-weight:600}.shell header{background:var(--panel);z-index:40;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.brand{color:var(--accent);font-weight:700}.shell nav{flex:1;gap:.5rem;display:flex}.shell nav button{color:var(--dim);background:0 0;border:0;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .8rem;display:flex}.shell nav button svg{display:none}.shell nav button.active{background:var(--bg);color:var(--text)}.who{color:var(--dim);font-size:.875rem}.bell{border:1px solid var(--line);color:var(--dim);background:0 0;border-radius:8px;place-items:center;padding:.4rem;display:grid}.bell:hover{color:var(--text);border-color:var(--accent)}.bell.on{color:var(--accent);border-color:var(--accent)}.bell.error{color:var(--danger);border-color:var(--danger)}.signout{border:1px solid var(--line);color:var(--dim);background:0 0;border-radius:8px;padding:.4rem .8rem}.signout:hover{color:var(--danger);border-color:var(--danger)}main{max-width:900px;margin:0 auto;padding:1rem}@media (width<=640px){.shell{flex-direction:column;min-height:100dvh;display:flex}.shell header{flex:none;gap:.5rem;padding:.5rem .75rem}.who{display:none}.bell{width:44px;height:44px}.signout{min-height:44px;padding:.5rem .85rem}.shell main{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.shell,.shell :not(button):not(input[type=checkbox]){min-width:0}main{padding:.75rem .75rem calc(4.5rem + env(safe-area-inset-bottom))}.shell button{min-width:44px;min-height:44px}input[type=checkbox]{appearance:none;vertical-align:middle;background:0 0;border:0;flex-shrink:0;width:44px;height:44px;margin:0;padding:0;position:relative}input[type=checkbox]:before{content:"";border:1px solid var(--line);background:var(--bg);border-radius:5px;width:20px;height:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}input[type=checkbox]:checked:before{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";border:2px solid #111;border-width:0 2px 2px 0;width:5px;height:10px;margin-top:-6px;margin-left:-3px;position:absolute;top:50%;left:50%;transform:rotate(45deg)}.shell nav{z-index:30;background:var(--panel);border-top:1px solid var(--line);padding:.25rem env(safe-area-inset-right) calc(.25rem + env(safe-area-inset-bottom)) env(safe-area-inset-left);flex:none;gap:0;position:fixed;bottom:0;left:0;right:0}.shell nav button{border-radius:10px;flex-direction:column;flex:1;justify-content:center;gap:2px;min-height:52px;padding:.35rem .25rem;font-size:.7rem}.shell nav button svg{display:block}.shell nav button.active{color:var(--accent)}}.tasks-page{grid-template-columns:160px 1fr;gap:1rem;display:grid}@media (width<=640px){.tasks-page{grid-template-columns:1fr}}.tasks-page aside{flex-direction:column;gap:.25rem;display:flex}.tasks-page aside button{text-align:left;color:var(--dim);background:0 0;border:0;border-radius:8px;padding:.5rem .75rem}.tasks-page aside button.active{background:var(--panel);color:var(--text)}.list-row{align-items:center;gap:.15rem;display:flex}.list-row button:first-child{flex:1;min-width:0}.list-row-archived{flex-wrap:wrap;row-gap:.2rem}.list-row-archived button:first-child{flex-basis:100%}.list-rename,.list-archive{border:1px solid var(--line);color:var(--dim);white-space:nowrap;background:0 0;border-radius:6px;padding:.2rem .4rem;font-size:.65rem}.list-rename:hover,.list-archive:hover{color:var(--text);border-color:var(--accent)}.show-archived-toggle{color:var(--dim);align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.new-task{gap:.5rem;margin-bottom:1rem;display:flex}.new-task input{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--text);font:inherit;border-radius:8px;flex:1;padding:.6rem}.new-task button{background:var(--accent);color:#111;white-space:nowrap;border:0;border-radius:8px;padding:.6rem 1rem;font-weight:600}.task-list,.subtasks{gap:.25rem;padding:0;list-style:none;display:grid}.subtasks{margin-left:2rem}.task{background:var(--panel);border-left:3px solid #0000;border-radius:8px;align-items:center;gap:.6rem;padding:.6rem .75rem;display:flex;position:relative}.task.p-low{border-left-color:#60a5fa}.task.p-med{border-left-color:var(--accent)}.task.p-high{border-left-color:var(--danger)}.task.done .title{color:var(--dim);text-decoration:line-through}.task .title{overflow-wrap:break-word;flex:1;min-width:0}.task .due{color:var(--dim);white-space:nowrap;font-size:.75rem}.task .repeat{color:var(--dim);font-size:.85rem}.task .reminder{color:var(--dim);background:0 0;border:0;padding:0 .15rem;font-size:.85rem;line-height:1}.task .reminder:hover{color:var(--text)}.task .reminder.on{color:var(--accent)}.task.done{opacity:.6}.task-row{align-items:center;gap:.4rem;display:flex}.task-row .task{flex:1}.tasks-header{justify-content:flex-end;margin-bottom:.75rem;display:flex}.plan-week{border:1px dashed var(--accent);color:var(--accent);background:0 0;border-radius:8px;padding:.4rem .8rem;font-weight:600}.check-wrap{flex-shrink:0;place-items:center;display:grid}.task-menu{flex-shrink:0;position:relative}.task-menu-toggle{color:var(--dim);background:0 0;border:0;border-radius:8px;place-items:center;padding:.3rem;display:grid}.task-menu-toggle:hover,.task-menu-toggle[aria-expanded=true]{color:var(--text);background:var(--bg)}.task-menu-backdrop{display:none}.task-menu-panel{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;min-width:160px;padding:.3rem;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000059}.task-menu-panel button{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:6px;align-items:center;padding:.55rem .65rem;font-size:.875rem;display:flex}.task-menu-panel button:hover{background:var(--bg)}.task-menu-panel .del{color:var(--danger)}.task-controls{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.search-input{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--text);font:inherit;border-radius:8px;flex:1;padding:.6rem}.show-done-toggle{color:var(--dim);white-space:nowrap;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.search-row .list-chip{margin-left:.4rem}.list-chip{background:var(--bg);border:1px solid var(--line);color:var(--dim);white-space:nowrap;border-radius:999px;padding:.1rem .6rem;font-size:.7rem}@media (width<=640px){.task{flex-wrap:wrap;row-gap:.3rem;padding:.4rem .5rem}.check-wrap{width:44px;height:44px}.task .title{flex-basis:55%;font-size:.95rem}.task .reminder{width:44px;height:44px}.task-menu-toggle{width:44px;height:44px;margin-left:auto}.subtasks{margin-left:1rem}.task-menu-backdrop{z-index:45;background:#0000008c;display:block;position:fixed;inset:0}.task-menu-panel{z-index:46;width:100%;min-width:0;max-height:70vh;padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -8px 24px #00000059}.task-menu-panel button{padding:.85rem 1rem;font-size:1rem}}.quick-add{margin-bottom:1rem}.quick-add form{gap:.5rem;display:flex}.quick-add input{border:1px dashed var(--accent);background:var(--panel);color:var(--text);font:inherit;border-radius:8px;flex:1;padding:.6rem}.quick-add form button{background:var(--panel);color:var(--accent);border:0;border-radius:8px;padding:.6rem 1rem;font-weight:600}.proposal{background:var(--panel);border:1px solid var(--accent);border-radius:8px;gap:.4rem;margin-top:.5rem;padding:.75rem;display:grid}.proposal-head{align-items:center;gap:.5rem;display:flex}.proposal .badge{text-transform:uppercase;letter-spacing:.05em;color:#111;background:var(--accent);border-radius:4px;padding:.1rem .4rem;font-size:.65rem}.proposal .meta{color:var(--dim);font-size:.85rem}.proposal .repeat,.proposal .reminder-note{color:var(--dim);font-size:.8rem}.proposal-actions{gap:.5rem;display:flex}.proposal-actions button{background:var(--accent);color:#111;border:0;border-radius:8px;padding:.4rem .9rem;font-weight:600}.proposal-actions .ghost{color:var(--dim);border:1px solid var(--line);background:0 0}.cal-nav{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.75rem;display:flex}.cal-nav button{background:var(--panel);color:var(--text);border:0;border-radius:8px;padding:.4rem .8rem}.cal-nav .today{color:var(--accent)}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dow{text-align:center;color:var(--dim);padding:.25rem 0;font-size:.75rem}.cell{aspect-ratio:1;background:var(--panel);color:var(--text);border:0;border-radius:6px;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;padding:4px 2px;display:flex;position:relative;overflow:hidden}.cell.out{opacity:.35}.cell.today-cell .daynum{color:var(--accent);font-weight:700}.cell.selected{outline:2px solid var(--accent)}.cell .count{background:var(--accent);color:#111;border-radius:999px;padding:0 5px;font-size:.65rem;position:absolute;bottom:4px;right:6px}.day-detail{background:var(--panel);border-radius:8px;margin-top:1rem;padding:1rem}.day-detail ul{gap:.4rem;margin-top:.5rem;padding:0;list-style:none;display:grid}.ev-chip{color:#111;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;width:100%;padding:0 3px;font-size:.6rem;overflow:hidden}.ev-more{color:var(--dim);font-size:.6rem}.event-list{gap:.4rem;margin-top:.5rem;padding:0;list-style:none;display:grid}.event-item{background:var(--bg);border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.event-item .dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.event-item .ev-title{overflow-wrap:break-word;flex:1;min-width:0}.event-item .ev-time{color:var(--dim);white-space:nowrap;font-size:.75rem}.event-item .edit-ev{border:1px solid var(--line);color:var(--dim);background:0 0;border-radius:8px;flex-shrink:0;padding:.2rem .6rem;font-size:.75rem}.event-item .edit-ev:hover{color:var(--text)}.add-event{border:1px dashed var(--accent);color:var(--accent);background:0 0;border-radius:8px;margin-top:.75rem;padding:.4rem .8rem}.add-event-fab{background:var(--accent);color:#111;white-space:nowrap;border:0;border-radius:999px;margin-left:auto;padding:.4rem 1rem;font-weight:600}@media (width<=640px){.cal-nav button{min-height:44px}.cal-nav strong{flex:auto;min-width:0;font-size:.95rem}.cal-grid{gap:1px;margin:0 -.75rem}.cal-grid .cell{aspect-ratio:auto;border-radius:4px;min-height:60px}.ev-chip{padding:1px 3px;font-size:.62rem}.event-item .edit-ev{min-height:44px;padding:.2rem .9rem}.add-event,.add-event-fab{min-height:44px}}.modal-backdrop{z-index:50;background:#0009;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border-radius:12px;width:min(420px,100%);max-height:90vh;padding:1.25rem;overflow-y:auto}.modal h3{margin-bottom:.75rem}.modal-form{gap:.6rem;display:grid}.modal-form label{color:var(--dim);gap:.25rem;font-size:.875rem;display:grid}.modal-form label.checkbox-row{flex-direction:row;align-items:center;gap:.5rem;display:flex}.modal-form input,.modal-form select,.modal-form textarea{border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;border-radius:8px;padding:.5rem}.modal-form textarea{resize:vertical;min-height:4rem}.time-row{gap:.6rem;display:flex}.time-row label{flex:1;min-width:0}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.modal-actions button{background:var(--accent);color:#111;border:0;border-radius:8px;padding:.5rem 1rem;font-weight:600}.modal-actions .ghost{color:var(--dim);border:1px solid var(--line);background:0 0}.modal-actions .danger{color:var(--danger);border:1px solid var(--danger);background:0 0;margin-right:auto}.dim{color:var(--dim)}@media (width<=640px){.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-height:92dvh;padding:1rem 1rem calc(.75rem + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;flex-direction:column;gap:.5rem;display:flex}.modal h3{flex:none;margin-bottom:.25rem}.modal-form{flex:auto;gap:.75rem;min-height:0;padding-bottom:.25rem;overflow-y:auto}.modal-actions{border-top:1px solid var(--line);flex:none;margin-top:.5rem;padding-top:.5rem}.modal-actions button{min-height:44px;padding:.6rem 1.1rem}.modal-form input:not([type=checkbox]),.modal-form select,.modal-form textarea{min-height:44px;padding:.65rem}.modal-form textarea{min-height:5rem}}.proposal-list{gap:.4rem;max-height:50vh;margin-top:.5rem;padding:0;list-style:none;display:grid;overflow-y:auto}.proposal-row{background:var(--bg);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.proposal-row.plan-row .plan-title{flex:1;min-width:0}.proposal-row.plan-row .plan-due,.proposal-row.plan-row .plan-assignee{color:var(--dim);white-space:nowrap;font-size:.8rem}.chat-page{flex-direction:column;gap:.75rem;height:calc(100vh - 140px);display:flex}.chat-log{flex-direction:column;flex:1;gap:.6rem;padding-right:.25rem;display:flex;overflow-y:auto}.chat-hint{color:var(--dim);background:var(--panel);border-radius:8px;padding:.75rem 1rem}.chat-hint ul{gap:.3rem;margin-top:.4rem;padding:0;list-style:none;display:grid}.chat-hint li{color:var(--text);font-size:.9rem}.msg{background:var(--panel);border-radius:8px;max-width:80%;padding:.6rem .9rem}.msg.user{background:var(--accent);color:#111;align-self:flex-end}.msg.assistant{align-self:flex-start}.msg .who{color:var(--dim);margin-bottom:.2rem;font-size:.7rem;display:block}.msg.user .who{color:#1119}.chat-error{background:var(--panel);border:1px solid var(--danger);border-radius:8px;padding:.6rem .9rem}.action-chips{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.action-chip{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:999px;align-items:center;gap:.5rem;padding:.25rem .5rem .25rem .75rem;font-size:.8rem;display:flex}.action-chip button{border:1px solid var(--line);color:var(--accent);background:0 0;border-radius:999px;padding:.15rem .6rem;font-size:.75rem}.action-chip button:disabled{color:var(--dim);border-color:var(--line);cursor:default}.chat-input-row{gap:.5rem;display:flex}.chat-input-row input{border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;border-radius:8px;flex:1;padding:.6rem}.chat-input-row button{background:var(--accent);color:#111;border:0;border-radius:8px;padding:.6rem 1.2rem;font-weight:600}.chat-input-row button:disabled{opacity:.6;cursor:default}.briefing-banner{background:var(--panel);border-left:3px solid var(--accent);border-radius:8px;margin-bottom:1rem;padding:.75rem}.briefing-header{justify-content:space-between;align-items:center;display:flex}.briefing-header h3{margin:0;font-size:1rem}.briefing-toggle{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:24px;padding:0;font-size:1.2rem;font-weight:700;display:grid}.briefing-toggle:hover{color:var(--accent)}.briefing-body{color:var(--text);margin-top:.5rem;line-height:1.6}.google-reauth-banner{background:var(--panel);border-left:3px solid var(--danger);color:var(--text);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.75rem;display:flex}.google-reauth-banner span{flex:1;min-width:200px}.google-reauth-banner a{background:var(--danger);color:#111;white-space:nowrap;border-radius:8px;padding:.4rem .9rem;font-weight:600;text-decoration:none}.google-reauth-banner a:hover{opacity:.9}@media (width<=640px){.google-reauth-banner a{align-items:center;min-height:44px;display:flex}}.owner-chip{background:var(--bg);border:1px solid var(--accent);color:var(--accent);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.1rem .5rem;font-size:.7rem;font-weight:600}.owner-filter{border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;border-radius:8px;padding:.5rem}@media (width<=640px){.owner-filter{min-height:44px}.chat-page{flex:auto;height:auto;min-height:0}.chat-input-row input{min-height:44px;padding:.7rem}.chat-input-row button{min-height:44px;padding:.7rem 1.2rem}.msg{max-width:88%}.quick-add input{min-width:0;min-height:44px;padding:.7rem}.quick-add form button{white-space:nowrap;min-height:44px}.proposal-actions button,.new-task button{min-height:44px}.briefing-toggle{width:44px;height:44px}.list-rename,.list-archive{min-height:44px;padding:.3rem .6rem}.plan-week{min-height:44px}.tasks-page aside button{align-items:center;min-height:44px;display:flex}}
