:root{font-family:Google Sans,Roboto,system-ui,sans-serif;color-scheme:light;--color-primary: #1a73e8;--color-accent: #1e8e3e;--color-bg: #f1f3f4;--color-surface: #ffffff;--color-border: #dadce0;--color-text: #202124;--color-text-muted: #5f6368}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text)}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.25rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10;flex-shrink:0}.topbar-brand{display:flex;align-items:center;gap:.6rem;font-size:1.25rem;font-weight:500;color:var(--color-text)}.topbar-brand-icon{width:32px;height:32px;border-radius:8px;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.user-trigger{display:flex;align-items:center;border:none;background:none;padding:0;cursor:pointer;border-radius:50%}.avatar{width:32px;height:32px;border-radius:50%}.avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;font-weight:600;font-size:.9rem}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000026;z-index:20}.drawer{position:fixed;top:60px;right:1.25rem;width:260px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 4px 24px #0000002e;z-index:21;overflow:hidden}.drawer-user{display:flex;align-items:center;gap:.6rem;padding:1rem 1.1rem;border-bottom:1px solid var(--color-border)}.drawer-user-name{font-weight:500;font-size:.92rem}.drawer-user-email{font-size:.78rem;color:var(--color-text-muted)}.drawer-nav{display:flex;flex-direction:column;padding:.4rem 0}.drawer-nav-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.1rem;border:none;background:none;cursor:pointer;font-size:.92rem;color:var(--color-text);text-align:left;width:100%}.drawer-nav-item:hover{background:#3c40430f}.drawer-nav-item.active{background:#e8f0fe;color:var(--color-primary);font-weight:500}.drawer-nav-icon{font-size:1.1rem;width:1.4rem;text-align:center}.drawer-footer{border-top:1px solid var(--color-border);padding:.5rem}.drawer-logout{width:100%;text-align:left;padding:.6rem;border:none;background:none;cursor:pointer;color:#c5221f;font-size:.92rem;border-radius:8px}.drawer-logout:hover{background:#c5221f14}.content{flex:1;padding:1.5rem;width:100%;min-width:0;min-height:0;overflow-y:auto}.content--full{padding:0;overflow:hidden}.action-items-list,.action-items-detail-body{overscroll-behavior:contain}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:1.25rem}.card h2{margin-top:0}.card h3{margin-top:1.5rem}.muted{color:var(--color-text-muted);font-size:.9rem}.field{margin-bottom:.85rem}.field label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--color-text-muted)}.field input,.field select,.field textarea{font-size:.95rem;padding:.5rem .6rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);font-family:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.action-items-page input:not([type=checkbox]),.action-items-page select,.action-items-page textarea{font-size:.95rem;padding:.5rem .6rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);font-family:inherit}.action-items-page input:not([type=checkbox]):focus,.action-items-page select:focus,.action-items-page textarea:focus{outline:2px solid var(--color-primary);outline-offset:-1px}button{font-family:inherit;font-size:.9rem;font-weight:500;padding:.5rem 1.1rem;border-radius:4px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary);cursor:pointer}button:hover:not(:disabled){background:#f1f3f4}button:disabled{cursor:not-allowed;opacity:.6}button.primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}button.primary:hover:not(:disabled){background:#1765cc}.item-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.item-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border:1px solid var(--color-border);border-radius:6px}.item-row.done{opacity:.6}.badge{display:inline-block;padding:.1rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;background:#e8f0fe;color:var(--color-primary);margin-right:.4rem}.badge.vertical{background:#e6f4ea;color:var(--color-accent)}.vertical-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.vertical-stack{display:flex;flex-direction:column;gap:1rem}.vertical-card{border:1px solid var(--color-border);border-radius:8px;padding:1rem}.vertical-card h3{margin:0 0 .5rem}.vertical-card.empty{border-style:dashed;color:var(--color-text-muted)}.sync-status{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border)}.status-dot.ok{background:var(--color-accent)}.status-dot.warn{background:#d93025}pre{white-space:pre-wrap;word-break:break-word;background:#f8f9fa;border:1px solid var(--color-border);border-radius:4px;padding:.5rem;font-size:.8rem;max-height:240px;overflow:auto}.google-login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh}.google-login-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:6px;border:1px solid #ccc;background:#fff;color:#1f1f1f;text-decoration:none;font-weight:500}.google-login-btn:hover{background:#f5f5f5}.item-row-text{flex:1;min-width:0}.new-action-item-form{display:flex;flex-direction:column;flex-shrink:1;gap:.65rem;min-height:0;max-height:min(560px,55dvh);overflow-y:auto;overscroll-behavior:contain;padding:.7rem;margin-bottom:.75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface)}.new-action-item-fields{display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,1fr) minmax(120px,.8fr) minmax(230px,1.2fr) auto;gap:.5rem;align-items:end}.new-action-item-submit{white-space:nowrap}.delegated-mail-fields{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr);gap:.5rem}.action-items-toolbar,.action-items-filters{display:flex;gap:.5rem;align-items:center;margin-bottom:.65rem;flex-wrap:wrap}.action-items-search{flex:1 1 140px;min-width:0}.action-items-filter-toggle{display:none;width:38px;min-width:38px;padding:.5rem 0;text-align:center}.action-items-filter-toggle.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.action-items-filter-toggle.active:hover:not(:disabled){background:#1765cc}.deadline-timeline{flex-shrink:0;margin:0 0 .75rem;padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface)}.deadline-timeline.collapsed{padding:.45rem .65rem}.deadline-timeline-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--color-text-muted);font-size:.78rem;font-weight:700}.deadline-timeline-header button{padding:.18rem .45rem;font-size:.72rem}.deadline-timeline-scale{position:relative;display:flex;justify-content:space-between;min-height:18px;margin-top:.35rem;color:var(--color-text-muted);font-size:.72rem}.deadline-timeline-today{position:absolute;top:0;transform:translate(-50%);color:#c5221f;font-weight:700}.deadline-timeline-today.edge-left{transform:translate(0)}.deadline-timeline-today.edge-right{transform:translate(-100%)}.deadline-timeline-track{position:relative;height:96px;margin:.2rem 0 .35rem}.deadline-timeline-line{position:absolute;left:0;right:0;top:31px;height:3px;border-radius:999px;background:#e5e7eb}.deadline-timeline-today-line{position:absolute;top:0;bottom:0;width:2px;transform:translate(-50%);background:#c5221f;opacity:.65;z-index:1}.deadline-timeline-event{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;transform:translate(-50%);z-index:2;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.deadline-timeline-event:hover .deadline-timeline-pin,.deadline-timeline-event:focus-visible .deadline-timeline-pin,.deadline-timeline-event.selected .deadline-timeline-pin{outline:2px solid var(--color-primary);outline-offset:2px}.deadline-timeline-event:focus-visible{outline:none}.deadline-timeline-event.lane-0{top:22px}.deadline-timeline-event.lane-1{top:0}.deadline-timeline-event.lane-2{top:44px}.deadline-timeline-event.edge-left{align-items:flex-start;transform:translate(0)}.deadline-timeline-event.edge-right{align-items:flex-end;transform:translate(-100%)}.deadline-timeline-event:after{content:"";position:absolute;left:50%;top:21px;width:2px;height:14px;transform:translate(-50%);background:var(--color-border);z-index:-1}.deadline-timeline-pin{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:18px;padding:0 5px;border-radius:4px;color:#fff;font-size:.62rem;font-weight:800;white-space:nowrap;box-shadow:0 1px 2px #00000029}.deadline-timeline-count{position:absolute;top:-7px;right:-8px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:var(--color-text);color:#fff;font-size:.58rem;font-weight:800;line-height:15px;text-align:center}.deadline-timeline-event-date,.deadline-timeline-relative{color:var(--color-text-muted);font-size:.62rem;font-weight:700;line-height:1;white-space:nowrap;background:var(--color-surface);padding:1px 2px;max-width:76px;overflow:hidden;text-overflow:ellipsis}.deadline-timeline-date-stack{display:inline-flex;flex-direction:column;align-items:center;gap:1px;max-width:76px}.deadline-timeline-date-stack .deadline-timeline-event-date,.deadline-timeline-date-stack .deadline-timeline-relative{max-width:100%}.deadline-timeline-relative{color:var(--color-primary)}.deadline-timeline-relative.expired{color:#c5221f}.deadline-timeline-summary{color:var(--color-text-muted);font-size:.72rem;text-align:right}.timeline-deadline-editor{flex-shrink:0;margin:-.3rem 0 .75rem;padding:.7rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);box-shadow:0 6px 18px #3c40431f}.timeline-deadline-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.timeline-deadline-editor-header>div{display:flex;flex-direction:column;gap:.12rem;min-width:0}.timeline-deadline-editor-header strong{font-size:.9rem;line-height:1.25}.timeline-deadline-editor-header span{color:var(--color-text-muted);font-size:.75rem}.timeline-deadline-editor-header button{padding:.12rem .4rem}.timeline-deadline-editor-bulk{display:grid;grid-template-columns:minmax(170px,1fr) max-content;gap:.55rem;align-items:end;margin-bottom:.65rem}.timeline-deadline-editor-bulk label{display:flex;flex-direction:column;gap:.2rem;margin:0;color:var(--color-text-muted);font-size:.75rem;font-weight:700}.timeline-deadline-editor-bulk input,.timeline-deadline-editor-item input{min-width:0}.timeline-deadline-editor-list{display:flex;flex-direction:column;gap:.35rem;max-height:220px;overflow-y:auto}.timeline-deadline-editor-item{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:.5rem;align-items:center}.timeline-deadline-editor-item>button{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0;padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:5px;background:var(--color-bg);color:var(--color-text);text-align:left}.timeline-deadline-editor-item>button span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600}.timeline-deadline-editor-item>button small{color:var(--color-text-muted);font-size:.7rem}@media (max-width: 720px){.drawer{top:56px;right:.75rem;left:.75rem;width:auto}.content{max-width:none}}@media (max-width: 900px){.action-items-toolbar{flex-wrap:nowrap;align-items:stretch}.action-items-filter-toggle{display:inline-flex;align-items:center;justify-content:center}.action-items-filters{display:none;align-items:stretch}.action-items-filters.open{display:flex;flex-direction:column}.action-items-filters>*,.action-items-filters select,.action-items-filters button{width:100%}.action-items-filters label{justify-content:space-between}.new-action-item-fields{grid-template-columns:1fr;align-items:stretch}.new-action-item-form{max-height:min(620px,62dvh)}.delegated-mail-fields{grid-template-columns:1fr}.delegated-mail-fields label,.delegated-mail-fields input,.new-action-item-fields label,.new-action-item-fields input,.new-action-item-fields select{min-width:0;width:100%}.new-action-item-submit{width:100%}.deadline-timeline{padding:.55rem .6rem}.deadline-timeline-scale{padding-left:0}.deadline-timeline-track{height:102px;overflow-x:clip}.deadline-timeline-pin{min-width:26px;height:17px;font-size:.58rem}.timeline-deadline-editor-bulk,.timeline-deadline-editor-item{grid-template-columns:1fr}.timeline-deadline-editor-bulk button,.timeline-deadline-editor-item input{width:100%}.item-row-main{flex-wrap:wrap}.item-row-badge{order:1}.item-row-controls{order:2;margin-left:auto}.item-row-text{order:3;flex-basis:100%;width:100%}.item-row-meta{padding-left:0!important}}
