.page{padding:1.25rem 1rem 5rem;max-width:680px;margin:0 auto}.page-header{margin-bottom:1.25rem}.page-title{font-size:1.3rem;font-weight:800;color:var(--navy);letter-spacing:-.02em}.week-label{font-size:.82rem;color:var(--text-muted);margin-top:.2rem;font-weight:500}.section{margin-bottom:1.75rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 .3rem;border-radius:9px;font-size:.65rem;font-weight:700}.badge-blue{background:#dbeafe;color:#2563eb}.badge-amber{background:#fef3c7;color:#d97706}.badge-green{background:#d1fae5;color:#059669}.badge-gray{background:var(--surface-2);color:var(--text-muted)}.badge-red{background:#fee2e2;color:#dc2626}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1.75rem}.summary-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:.75rem .5rem;text-align:center}.summary-num{font-size:1.5rem;font-weight:800;color:var(--navy);line-height:1}.summary-label{font-size:.6rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.2rem}.summary-sub{font-size:.62rem;color:var(--text-muted);margin-top:.15rem}.prompt-card{background:linear-gradient(135deg,#0f2744,#1e3a5f);border-radius:14px;padding:1rem 1rem 1rem 1.125rem;margin-bottom:.5rem;color:#fff;border-left:4px solid #3b82f6}.prompt-text{font-size:.85rem;font-weight:600;line-height:1.4}.prompt-link{font-size:.72rem;color:#93c5fd;margin-top:.35rem;text-decoration:none;display:inline-block;font-weight:500}.contact-card{background:var(--card);border:1.5px solid var(--border);border-radius:12px;padding:.75rem .875rem;margin-bottom:.375rem;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:.75rem}.contact-card.selected{border-color:var(--navy);background:#eff6ff}.contact-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;background:var(--card)}.contact-card.selected .contact-check{background:var(--navy);border-color:var(--navy);color:#fff}.contact-info{flex:1;min-width:0}.contact-name{font-size:.875rem;font-weight:700;color:var(--navy)}.contact-sub{font-size:.72rem;color:var(--text-muted)}.focus-badge{font-size:.65rem;font-weight:700;padding:.2rem .5rem;border-radius:6px;flex-shrink:0}.badge-core{background:#d1fae5;color:#059669}.badge-developing{background:#dbeafe;color:#2563eb}.badge-keep-warm{background:#fef3c7;color:#d97706}.badge-unreviewed{background:var(--surface-2);color:var(--text-muted)}.planned-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:.875rem;margin-bottom:.5rem}.planned-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.planned-name{font-size:.875rem;font-weight:700;color:var(--navy)}.planned-action{font-size:.82rem;color:var(--text);margin-bottom:.25rem}.planned-date{font-size:.72rem;color:var(--text-muted)}.planned-remove{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;padding:0;line-height:1;flex-shrink:0}.add-action-btn{width:100%;padding:.75rem;border-radius:12px;border:1.5px dashed var(--border);background:transparent;font-size:.82rem;font-weight:600;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .15s;margin-bottom:1rem}.add-action-btn:active{background:var(--surface-2)}.cal-connect-card{background:var(--card);border:1.5px dashed var(--border);border-radius:12px;padding:1.5rem 1rem;text-align:center}.cal-connect-icon{font-size:2rem;margin-bottom:.5rem}.cal-connect-text{font-size:.85rem;color:var(--text-muted);margin-bottom:1rem;line-height:1.4}.cal-connect-btn{background:#4285f4;color:#fff;border:none;border-radius:8px;padding:.6rem 1.25rem;font-size:.85rem;font-weight:700;cursor:pointer}.cal-day-header{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:1rem 0 .4rem;padding-bottom:.3rem;border-bottom:1px solid var(--border)}.cal-event-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:.7rem .9rem;margin-bottom:.5rem;display:flex;align-items:flex-start;gap:.75rem}.cal-event-card.tagged{border-left:3px solid #0ea5e9}.cal-event-time{font-size:.72rem;font-weight:700;color:var(--text-muted);min-width:48px;padding-top:.1rem}.cal-event-body{flex:1;min-width:0}.cal-event-title{font-size:.9rem;font-weight:700;color:var(--text-primary)}.cal-event-sub{font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.cal-event-tag-row{margin-top:.5rem;display:flex;gap:.4rem;flex-wrap:wrap}.cal-tag-btn{font-size:.7rem;font-weight:600;padding:.25rem .6rem;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer}.cal-tag-btn:hover,.cal-tag-btn.active{background:#0ea5e9;color:#fff;border-color:#0ea5e9}.cal-tag-expand-btn{font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;border:1px dashed var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-family:inherit}.cal-tag-expand-btn:hover{border-color:#0ea5e9;color:#0ea5e9}.cal-empty,.cal-loading{font-size:.82rem;color:var(--text-muted);padding:.75rem 0;text-align:center}.save-btn{width:100%;padding:.875rem;border-radius:14px;border:none;background:var(--navy);color:#fff;font-size:.9rem;font-weight:700;font-family:inherit;cursor:pointer;margin-bottom:1rem}.save-btn:active{opacity:.85}.save-btn:disabled{opacity:.5}.plan-summary{background:var(--surface-2);border-radius:12px;padding:1rem;margin-bottom:1.5rem}.plan-summary-title{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.625rem}.plan-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.plan-row-label{font-size:.82rem;color:var(--text)}.plan-row-val{font-size:.82rem;font-weight:700;color:var(--navy)}.bottom-sheet-overlay{display:none;position:fixed;inset:0;background:#00000073;z-index:200;align-items:flex-end}.bottom-sheet-overlay.open{display:flex}.bottom-sheet{background:var(--card);border-radius:20px 20px 0 0;padding:1.25rem 1rem 2rem;width:100%;max-height:90vh;overflow-y:auto}.sheet-title{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:1rem}.sheet-field{margin-bottom:.875rem}.sheet-label{font-size:.72rem;font-weight:600;color:var(--text-muted);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.05em}.sheet-input{width:100%;padding:.625rem .75rem;border-radius:10px;border:1.5px solid var(--border);font-size:.9rem;font-family:inherit;background:var(--surface-2);color:var(--text);box-sizing:border-box}.sheet-select{width:100%;padding:.625rem .75rem;border-radius:10px;border:1.5px solid var(--border);font-size:.9rem;font-family:inherit;background:var(--surface-2);color:var(--text);box-sizing:border-box;appearance:auto}.sheet-input:focus,.sheet-select:focus{outline:none;border-color:var(--navy)}.sheet-row{display:flex;gap:.5rem}.sheet-row .sheet-field{flex:1}.sheet-actions{display:flex;gap:.5rem;margin-top:1rem}.sheet-btn{flex:1;padding:.75rem;border-radius:12px;font-size:.875rem;font-weight:600;border:none;cursor:pointer;font-family:inherit}.sheet-btn.primary{background:var(--navy);color:#fff}.sheet-btn.secondary{background:var(--surface-2);color:var(--navy)}.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:.375rem;margin-bottom:.25rem}.type-pill{padding:.5rem;border-radius:8px;border:1.5px solid var(--border);background:var(--card);font-size:.78rem;font-weight:600;color:var(--text);cursor:pointer;text-align:center;transition:all .15s}.type-pill.selected{background:var(--navy);color:#fff;border-color:var(--navy)}.loading{text-align:center;padding:2rem;color:var(--text-muted);font-size:.85rem}.empty-state{text-align:center;padding:1.5rem;color:var(--text-muted);font-size:.82rem;background:var(--surface-2);border-radius:12px;border:1px dashed var(--border)}
