  * { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color: transparent; }
  html, body {
    height: 100%;
    margin: 0; padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
    color: #3D1B5E;
    overflow: hidden; /* App layout, no full-page scroll */
  }

  /* Base background for main content */
  .app-layout {
    display: flex;
    height: 100dvh;
    background: linear-gradient(135deg, #FAF0F4 0%, #EFE9F8 30%, #E7EEF7 60%, #F7ECF2 100%);
    position: relative;
    z-index: 1;
  }

  body::before {
    content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0;
    background: linear-gradient(115deg,
      rgba(255,255,255,0) 20%, rgba(255,255,255,0.35) 38%,
      rgba(232,201,222,0.25) 50%, rgba(255,255,255,0.35) 62%,
      rgba(255,255,255,0) 80%);
    background-size: 300% 300%;
    animation: opalShimmer 14s ease-in-out infinite;
  }
  @keyframes opalShimmer {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
  }

  /* floating sparkle particles */
  .sparkle-bg {
    position: fixed; inset:0; pointer-events:none; z-index:2; overflow:hidden;
  }
  .sparkle-bg span {
    position:absolute; font-size: 14px; opacity:0.5;
    animation: floatUp linear infinite;
  }
  @keyframes floatUp {
    0% { transform: translateY(110vh) rotate(0deg); opacity:0; }
    10% { opacity:0.6; }
    90% { opacity:0.6; }
    100% { transform: translateY(-10vh) rotate(360deg); opacity:0; }
  }

  /* Sidebar */
  .sidebar {
    width: 260px;
    background: #391942;
    color: #EBD8FF;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    border-right: 1px solid rgba(0,0,0,0.1);
    z-index: 30;
  }
  .sidebar-header {
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .brand-title {
    font-size: 18px;
    font-weight: 800;
    color: #FFF;
    text-shadow: 0 2px 4px rgba(0,0,0,0.2);
  }
  .notif-btn {
    background: transparent; color: #FFF; font-family:'Inter',sans-serif;
    border: none; cursor: pointer; padding: 6px; font-size: 16px; border-radius: 8px;
    opacity: 0.7; transition: opacity 0.15s, background 0.15s;
  }
  .notif-btn:hover { opacity: 1; background: rgba(255,255,255,0.1); }

  .sidebar-scroll {
    flex: 1;
    overflow-y: auto;
    padding: 16px 8px;
  }
  .sidebar-group {
    font-size: 11.5px;
    font-weight: 700;
    color: #9B7DB8;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin: 16px 12px 8px;
  }
  .sidebar-group.mt-4 { margin-top: 24px; }

  .nav-item {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    color: #D1B3F2;
    font-family: 'Inter', sans-serif;
    font-size: 14.5px;
    font-weight: 500;
    padding: 7px 12px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 2px;
    transition: background 0.15s, color 0.15s;
  }
  .nav-item:hover { background: rgba(255,255,255,0.06); color: #EBD8FF; }
  .nav-item.active { background: #7B5CFA; color: #FFF; font-weight: 600; box-shadow: 0 2px 8px rgba(0,0,0,0.15); }
  .nav-icon { opacity: 0.7; font-size: 15px; }
  .nav-item:hover .nav-icon { opacity: 0.9; }
  .nav-item.active .nav-icon { opacity: 1; }

  /* Main Area */
  .main-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    position: relative;
    background: transparent;
  }
  .main-header {
    height: 60px;
    background: rgba(255,255,255,0.65);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(123,92,250,0.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    flex-shrink: 0;
    z-index: 10;
  }
  .header-left { display: flex; align-items: center; gap: 12px; }
  .current-section { font-size: 18px; font-weight: 700; margin: 0; color: #3D2B56; display: flex; align-items: center; gap: 8px; }

  .stats-bar {
    display:flex; align-items: center; background: rgba(123,92,250,0.08);
    border-radius:999px; padding: 6px 14px; font-size:12.5px; font-weight:600; color:#7B5CFA;
  }
  .stats-bar b { color:#D98BA8; }
  .stats-bar.pulse { animation: statPulse 0.5s ease; }
  @keyframes statPulse {
    0% { transform: scale(1); }
    40% { transform: scale(1.12); box-shadow: 0 0 0 8px rgba(234,209,153,0.35); }
    100% { transform: scale(1); }
  }

  .scrollable-views {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    position: relative;
    padding-bottom: 24px; /* Space above input */
  }
  .views-container {
    max-width: 900px;
    margin: 0 auto;
  }

  /* Capture Dock */
  .capture-dock {
    flex-shrink: 0;
    padding: 0 20px 20px;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 15;
  }
  .capture-inner {
    width: 100%;
    max-width: 900px;
    position: relative;
  }
  .chat-composer-controls {
    margin-bottom: 8px;
    display: flex;
    justify-content: flex-start;
  }
  .emoji-checkin-row {
    display: flex;
    gap: 6px;
    background: rgba(255,255,255,0.7);
    padding: 6px;
    border-radius: 12px;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
  .emoji-checkin-btn {
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 13px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    color: #7B5CFA;
    padding: 6px 10px;
    border-radius: 8px;
    transition: background 0.15s, transform 0.1s;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .emoji-checkin-btn:hover {
    background: rgba(255,255,255,0.9);
  }
  .emoji-checkin-btn.selected {
    background: linear-gradient(135deg, #7B5CFA, #E8A7C4);
    color: white;
    box-shadow: 0 2px 8px rgba(123,92,250,0.25);
  }
  .emoji-checkin-btn:active {
    transform: scale(0.95);
  }

  .capture {
    display: flex;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 16px;
    border: 1px solid rgba(123,92,250,0.25);
    padding: 8px 8px 8px 12px;
    box-shadow: 0 6px 24px rgba(123,92,250,0.12);
    align-items: center;
    gap: 8px;
    transition: box-shadow 0.2s, border-color 0.2s;
  }
  .capture:focus-within {
    border-color: #7B5CFA;
    box-shadow: 0 0 0 4px rgba(123,92,250,0.15), 0 6px 24px rgba(123,92,250,0.12);
  }
  .capture input {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    font-family: 'Inter', sans-serif;
    font-size: 15.5px;
    font-weight: 500;
    color: #3D1B5E;
    padding: 4px 0;
  }
  .capture input::placeholder { color:#B49FE0; }
  .capture button#captureBtn {
    background: linear-gradient(135deg,#7B5CFA,#E8A7C4);
    color: white;
    border: none;
    border-radius: 12px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.15s, filter 0.15s;
    box-shadow: 0 2px 8px rgba(123,92,250,0.3);
  }
  .capture button#captureBtn:active { transform: scale(0.92); filter: brightness(0.9); }

  .bulk-import-btn {
    background: rgba(255,255,255,0.6);
    border: 1px dashed rgba(123,92,250,0.3);
    color: #7B5CFA;
    font-size: 12.5px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
    margin-bottom: 12px;
    align-self: flex-start;
    display: block;
    transition: background 0.15s;
  }
  .bulk-import-btn:hover { background: rgba(255,255,255,0.9); }
  .fab-hint {
    font-size: 12px;
    color: #9C87C9;
    font-weight: 600;
    text-align: center;
    margin-top: 10px;
  }

  /* Mobile Sidebar */
  .mobile-menu-btn { display: none; background: transparent; border: none; cursor: pointer; color: #3D2B56; padding: 4px; }
  .mobile-overlay {
    display: none; position: fixed; inset: 0; border: 0; padding: 0; cursor: pointer;
    background: rgba(30,12,38,0.5); backdrop-filter: blur(2px); z-index: 25;
  }
  @media (max-width: 768px) {
    .sidebar {
      position: fixed; top: 0; bottom: 0; left: -280px; width: 280px;
      transition: left 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    body.sidebar-open .sidebar { left: 0; }
    body.sidebar-open .mobile-overlay { display: block; }
    .mobile-menu-btn { display: block; }
    .main-header { padding: 0 16px; }
    .capture-dock { padding: 0 12px 12px; }
  }

  /* Board view */
  .board { display:flex; gap:14px; overflow-x:auto; padding-bottom: 10px; scroll-snap-type: x proximity; }
  .col {
    flex: 0 0 260px; scroll-snap-align: start;
    background: rgba(255,255,255,0.45); border-radius: 20px; padding: 12px;
    min-height: 200px; border: 2px solid rgba(255,255,255,0.6);
  }
  .col-head {
    font-family:'Inter', sans-serif; font-weight:600; font-size:15px;
    display:flex; align-items:center; justify-content:space-between;
    padding: 6px 8px 12px;
  }
  .col-count {
    background: rgba(255,255,255,0.7); border-radius: 999px; font-size:12px;
    padding: 2px 9px; font-weight:700;
  }
  .card {
    background: rgba(255,255,255,0.92); border-radius: 16px; padding: 12px 12px 10px;
    margin-bottom: 10px; box-shadow: 0 3px 10px rgba(123,92,250,0.12);
    border-left: 5px solid var(--accent, #ECC4D6);
    animation: pop 0.25s ease; position:relative;
  }
  .stale-badge {
    position:absolute; top:-8px; right:8px; background: linear-gradient(135deg,#E5B586,#E8A7C4);
    color:white; font-size:10px; font-weight:700; padding:3px 9px; border-radius:999px;
    box-shadow: 0 2px 6px rgba(232,167,196,0.4);
    animation: staleFloat 2.2s ease-in-out infinite;
  }
  .sorting-badge {
    position:absolute; top:-8px; right:8px; background: linear-gradient(135deg,#7B5CFA,#ECC4D6);
    color:white; font-size:10px; font-weight:700; padding:3px 9px; border-radius:999px;
    box-shadow: 0 2px 6px rgba(123,92,250,0.4);
    animation: sortingPulse 1.1s ease-in-out infinite;
  }
  @keyframes sortingPulse { 0%,100% { opacity:0.7; } 50% { opacity:1; } }
  .today-badge {
    position:absolute; top:-8px; right:8px; background: linear-gradient(135deg,#EAD199,#D98BA8);
    color:white; font-size:10px; font-weight:700; padding:3px 9px; border-radius:999px;
    box-shadow: 0 2px 8px rgba(217,139,168,0.5);
    animation: todayGlow 1.4s ease-in-out infinite;
  }
  @keyframes todayGlow { 0%,100% { transform: scale(1); } 50% { transform: scale(1.08); } }
  .tomorrow-badge {
    position:absolute; top:-8px; right:8px; background: linear-gradient(135deg,#7B5CFA,#E5B586);
    color:white; font-size:10px; font-weight:700; padding:3px 9px; border-radius:999px;
    box-shadow: 0 2px 6px rgba(123,92,250,0.4);
  }
  .card.recur-today { box-shadow: 0 0 0 2.5px #EAD199, 0 4px 16px rgba(217,139,168,0.35); }
  .recur-pill { background: #FFF3D6 !important; color: #B29254 !important; }
  @keyframes staleFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
  .card.stale { box-shadow: 0 0 0 2px rgba(229,181,134,0.5), 0 3px 12px rgba(232,167,196,0.25); }
  .dump-item.stale { box-shadow: 0 0 0 2px rgba(229,181,134,0.5), 0 3px 10px rgba(123,92,250,0.1); position:relative; }
  @keyframes pop { from { transform: scale(0.9); opacity:0; } to { transform: scale(1); opacity:1; } }
  .card-title { font-weight:700; font-size:14.5px; line-height:1.3; margin-bottom:6px; word-break: break-word; }
  .card-notes { font-size:12.5px; color:#7A6A99; margin-bottom:8px; line-height:1.35; }
  .pills { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px; }
  .pill {
    font-size:11px; font-weight:700; padding: 3px 9px; border-radius:999px;
    background: #F1EAFF; color:#7B5CFA;
  }
  .card-actions { display:flex; flex-direction:column; gap:8px; margin-top:6px; }
  .status-row { display:flex; gap:4px; justify-content:space-between; }
  .status-btn {
    flex:1; border:2px solid transparent; background:#F6F2FF; border-radius:10px;
    padding: 5px 0; font-size:15px; cursor:pointer; line-height:1;
    transition: all 0.15s ease;
  }
  .status-btn.active { background: var(--sc); box-shadow: 0 2px 8px rgba(0,0,0,0.15); transform: scale(1.08); }
  .status-btn:active { transform: scale(0.9); }
  .del-btn {
    background:none; border:none; cursor:pointer; font-size:15px; opacity:0.5;
    padding: 2px 6px; border-radius: 8px; align-self:flex-end;
  }
  .del-btn:hover { opacity:1; }
  .empty-col { text-align:center; font-size:12.5px; color:#B49FE0; padding: 24px 6px; font-weight:600; }
  .card-bottom-row { display:flex; justify-content:space-between; align-items:center; margin-top:4px; }

  .side-panel { margin-top:18px; }
  .panel-toggle {
    display:block; width:100%; text-align:left; border:none; cursor:pointer;
    background: rgba(255,255,255,0.55); color:#7B5CFA; font-family:'Inter',sans-serif;
    font-weight:600; font-size:13.5px; padding: 11px 14px; border-radius:14px; margin-bottom:8px;
  }
  .panel-body { background: rgba(255,255,255,0.5); border-radius:14px; padding: 8px 10px; margin-bottom:14px; }
  .mini-row {
    display:flex; justify-content:space-between; align-items:center; gap:8px;
    background:white; border-radius:10px; padding: 8px 10px; margin-bottom:6px; font-size:13px; font-weight:600;
  }
  .mini-row-actions { display:flex; align-items:center; gap:6px; flex-shrink:0; }
  .snooze-date { font-size:11px; color:#9C87C9; font-weight:700; }

  /* Daily Threads */
  .daily-threads-container { display: flex; flex-direction: column; gap: 12px; padding-bottom: 30px; }
  .daily-thread-card {
    background: transparent; border-radius: 0;
    box-shadow: none; border: none;
    margin-bottom: 8px; transition: none;
  }
  .daily-thread-card.is-today {
    /* No special border since we're borderless now, maybe a soft background tint behind it later if desired, but flat is cleaner */
  }
  .daily-thread-head {
    display: flex; justify-content: space-between; align-items: center;
    padding: 16px 0; background: transparent;
    border-bottom: none; cursor: pointer;
    user-select: none; position: relative;
    margin-bottom: 8px;
  }
  .daily-thread-head::before {
    content: ""; position: absolute; left: 0; right: 0; top: 50%;
    height: 1px; background: rgba(123,92,250,0.2); z-index: 1;
  }
  .dt-head-main {
    position: relative; z-index: 2;
    background: rgba(255,255,255,0.95); padding: 4px 16px; border-radius: 999px;
    border: 1px solid rgba(123,92,250,0.15); box-shadow: 0 2px 8px rgba(123,92,250,0.06);
    display: flex; align-items: center; gap: 6px;
  }
  .is-today .daily-thread-head { cursor: default; }
  .dt-date { font-family: 'Inter', sans-serif; font-weight: 700; color: #3D2B56; font-size: 14px; }
  .dt-status {
    font-size: 11.5px; font-weight: 700; padding: 4px 12px; border-radius: 999px;
    position: relative; z-index: 2;
    border: 1px solid rgba(123,92,250,0.15); box-shadow: 0 2px 8px rgba(123,92,250,0.06);
  }
  .dt-status.open { background: #F4EEFF; color: #7B5CFA; }
  .dt-status.wrapped { background: linear-gradient(135deg, #EAD199, #E8A7C4); color: #3D1B5E; box-shadow: 0 2px 8px rgba(234,209,153,0.3); border-color: transparent; }

  .dt-body { padding: 0; animation: pop 0.2s ease; }
  .dt-entries { display: flex; flex-direction: column; gap: 4px; margin-bottom: 16px; }
  .dt-entry {
    display: flex; gap: 14px; align-items: flex-start;
    padding: 6px 12px; border-radius: 8px; transition: background 0.15s;
  }
  .dt-entry:hover { background: rgba(255,255,255,0.5); }
  .dt-time {
    font-size: 12px; font-weight: 600; color: #9C87C9; width: 60px; flex-shrink: 0;
    text-align: right; padding-top: 1px;
  }
  .dt-text {
    background: transparent; border-radius: 0;
    padding: 0; font-size: 14.5px; color: #3D1B5E; flex: 1;
    box-shadow: none; line-height: 1.45;
    white-space: pre-wrap; word-break: break-word;
  }
  .slack-msg {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 8px 12px;
    border-radius: 8px;
    transition: background 0.15s;
    background: transparent;
  }
  .slack-msg:hover {
    background: rgba(255,255,255,0.5);
  }
  .slack-avatar {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, #7B5CFA, #E8A7C4);
    color: white;
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
  }
  .slack-content {
    flex: 1;
    min-width: 0;
  }
  .slack-header {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 2px;
  }
  .slack-name {
    font-weight: 800;
    font-size: 14.5px;
    color: #3D1B5E;
  }
  .slack-time {
    font-size: 12px;
    font-weight: 600;
    color: #9C87C9;
  }
  .slack-text {
    font-size: 14.5px;
    color: #3D1B5E;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
  }
  .slack-emoji-checkin {
    display: inline-block;
    margin-top: 6px;
    background: rgba(255,255,255,0.7);
    border: 1px solid rgba(123,92,250,0.15);
    border-radius: 12px;
    padding: 4px 10px;
    font-size: 14px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
  }
  .dt-wrap-btn {
    display: block; width: 100%; border: none; cursor: pointer;
    background: linear-gradient(135deg, #7B5CFA, #E8A7C4); color: white;
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 15px;
    padding: 14px; border-radius: 14px; box-shadow: 0 4px 16px rgba(123,92,250,0.25);
    margin-top: 10px; transition: transform 0.15s ease, filter 0.15s ease;
  }
  .dt-wrap-btn:active { transform: scale(0.97); filter: brightness(0.95); }
  .dt-wrap-btn:disabled { opacity: 0.6; pointer-events: none; }

  .dt-reopen-btn {
    display: block; width: 100%; border: 2px solid #E4D3FF; cursor: pointer;
    background: transparent; color: #7B5CFA;
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 13.5px;
    padding: 10px; border-radius: 14px; margin-top: 16px;
    transition: transform 0.15s ease, background 0.15s ease;
  }
  .dt-reopen-btn:active { transform: scale(0.97); background: rgba(228,211,255,0.3); }

  /* Wrap Review */
  .wrap-review { background: #FBF7FF; border-radius: 16px; padding: 16px; border: 2px solid #E4D3FF; animation: pop 0.2s ease; }
  .wr-header { font-family: 'Poppins', sans-serif; font-size: 16px; color: #D98BA8; margin-bottom: 16px; }
  .wr-section { margin-bottom: 16px; }
  .wr-section label { display: block; font-size: 12px; font-weight: 700; color: #7B5CFA; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; }
  .wr-textarea {
    width: 100%; border-radius: 12px; border: 2px solid #E4D3FF; padding: 10px;
    font-family: 'Inter', sans-serif; font-weight: 500; font-size: 14px; color: #3D1B5E;
    background: white; resize: vertical; outline: none; transition: border-color 0.15s ease;
  }
  .wr-textarea:focus { border-color: #7B5CFA; }
  .carmel-dominant {
    background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(255,255,255,0.7));
    padding: 16px;
    border-radius: 14px;
    border: 2px solid rgba(123,92,250,0.3);
    margin-bottom: 20px;
    box-shadow: 0 4px 16px rgba(123,92,250,0.1);
  }
  .carmel-dominant label {
    font-size: 14px;
    color: #3D1B5E;
    font-weight: 800;
  }
  .carmel-textarea {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    border-color: rgba(123,92,250,0.3);
    margin-top: 4px;
  }
  .wr-carmel-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
    gap: 12px;
  }
  .carmel-copy-btn {
    background: white;
    border: 1px solid rgba(123,92,250,0.4);
    color: #7B5CFA;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 13px;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
    transition: transform 0.15s, background 0.15s;
    flex-shrink: 0;
  }
  .carmel-copy-btn:hover { background: rgba(123,92,250,0.05); }
  .carmel-copy-btn:active { transform: scale(0.95); }
  .wr-todos { display: flex; flex-direction: column; gap: 8px; }
  .wr-todo-item { display: flex; align-items: center; gap: 10px; background: white; padding: 8px 10px; border-radius: 10px; border: 1px solid #E4D3FF; }
  .wr-todo-item input[type="checkbox"] { width: 18px; height: 18px; accent-color: #7B5CFA; flex-shrink: 0; }
  .wr-todo-input { flex: 1; border: none; outline: none; font-size: 14px; font-family: 'Inter', sans-serif; font-weight: 500; color: #3D1B5E; min-width: 0; }
  .wr-actions { display: flex; gap: 10px; margin-top: 20px; }
  .wr-actions button { flex: 1; padding: 12px; border-radius: 12px; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14.5px; cursor: pointer; border: none; transition: transform 0.15s ease; }
  .wr-actions button:active { transform: scale(0.95); }
  .wr-actions .btn-cancel { background: #F1EAFF; color: #7B5CFA; }
  .wr-actions .btn-save { background: linear-gradient(135deg, #EAD199, #E8A7C4); color: #3D1B5E; box-shadow: 0 4px 12px rgba(232,167,196,0.3); }

  /* Wrapped Summary */
  .wrapped-summary { display: flex; flex-direction: column; gap: 16px; animation: pop 0.2s ease; }
  .ws-summary { font-size: 15px; font-weight: 600; color: #3D2B56; line-height: 1.5; white-space: pre-wrap; }
  .ws-blocks { display: flex; flex-direction: column; gap: 12px; }
  .ws-block { background: #F4EEFF; border-radius: 12px; padding: 12px; }
  .ws-block-title { font-size: 11.5px; font-weight: 700; color: #9C87C9; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
  .ws-block-text { font-size: 14px; color: #3D1B5E; line-height: 1.45; white-space: pre-wrap; }
  .ws-copy-btn {
    display: block; width: 100%; background: linear-gradient(135deg, #7B5CFA, #E8A7C4); color: white; border: none;
    padding: 10px 14px; border-radius: 10px; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 13.5px;
    cursor: pointer; margin-top: 10px; transition: transform 0.15s ease; box-shadow: 0 3px 10px rgba(123,92,250,0.25);
  }
  .ws-copy-btn:active { transform: scale(0.95); }
  .ws-carmel-block {
    background: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(255,255,255,0.85));
    border: 2px solid rgba(123,92,250,0.3);
    box-shadow: 0 4px 16px rgba(123,92,250,0.15);
    padding: 18px;
    border-radius: 16px;
  }
  .ws-carmel-block .ws-block-title {
    font-size: 13px;
    color: #3D1B5E;
    margin-bottom: 8px;
  }
  .ws-carmel-block .ws-block-text {
    font-size: 15px;
    font-weight: 500;
  }
  .ws-footer { font-size: 11px; font-weight: 700; color: #9C87C9; text-align: center; margin-top: 4px; }

  /* Brain dump view */
  .dump-list { display:flex; flex-direction:column; gap:10px; }
  .dump-item {
    background: rgba(255,255,255,0.9); border-radius:16px; padding: 12px 14px;
    display:flex; justify-content:space-between; align-items:center; gap:10px;
    box-shadow: 0 3px 10px rgba(123,92,250,0.1);
    animation: pop 0.25s ease;
  }
  .dump-text { font-weight:600; font-size:14.5px; word-break: break-word; flex:1; }
  .dump-actions { display:flex; gap:6px; flex-shrink:0; }
  .chip-btn {
    border:none; cursor:pointer; font-family:'Inter',sans-serif; font-weight:600;
    font-size:12px; padding: 6px 10px; border-radius: 10px;
    background:#F1EAFF; color:#7B5CFA;
  }
  .chip-btn:active { transform: scale(0.95); }

  .modal-overlay {
    position:fixed; inset:0; background: rgba(61,27,94,0.35); backdrop-filter: blur(2px);
    display:flex; align-items:flex-end; justify-content:center; z-index:50;
  }
  .modal {
    background: linear-gradient(160deg,#FFF7FC,#F4EEFF); border-radius: 24px 24px 0 0;
    padding: 22px 18px 28px; width:100%; max-width: 480px; box-shadow: 0 -8px 30px rgba(123,92,250,0.25);
    animation: slideUp 0.25s ease;
  }
  @keyframes slideUp { from { transform: translateY(30px); opacity:0;} to { transform: translateY(0); opacity:1;} }
  .modal h3 { font-family:'Inter',sans-serif; color:#D98BA8; margin-bottom:14px; font-size:19px; }
  .field-label { font-weight:700; font-size:12.5px; color:#7B5CFA; margin: 12px 0 6px; }
  .modal select, .modal textarea, .modal input[type=date] {
    width:100%; border-radius:12px; border:2px solid #E4D3FF; padding:9px 12px;
    font-family:'Inter',sans-serif; font-weight:600; font-size:14px; color:#3D1B5E; outline:none;
    background:white;
  }
  .modal textarea { resize:none; min-height: 50px; }
  .tag-row { display:flex; flex-wrap:wrap; gap:6px; }
  .tag-choice {
    border:2px solid #E4D3FF; background:white; border-radius:999px; padding: 6px 12px;
    font-size:12.5px; font-weight:700; color:#7B5CFA; cursor:pointer;
  }
  .tag-choice.selected { background: linear-gradient(135deg,#E8A7C4,#D98BA8); color:white; border-color:transparent; }
  .modal-buttons { display:flex; gap:10px; margin-top:18px; }
  .modal-buttons button {
    flex:1; border:none; border-radius:14px; padding: 12px; font-family:'Inter',sans-serif;
    font-weight:600; font-size:15px; cursor:pointer;
  }
  .btn-cancel { background:#F1EAFF; color:#7B5CFA; }
  .btn-save { background: linear-gradient(135deg,#EAD199,#E8A7C4); color:#3D1B5E; box-shadow:0 3px 10px rgba(232,167,196,0.4); }

  .loading { text-align:center; padding: 60px 20px; font-weight:700; color:#7B5CFA; }
  .fab-hint { text-align:center; font-size:12px; color:#9C87C9; margin-top:6px; font-weight:600; }

  /* Paul tab */
  .cat-row { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }
  .cat-chip {
    border:2px solid #E4D3FF; background:rgba(255,255,255,0.7); border-radius:999px;
    padding:7px 13px; font-size:12.5px; font-weight:700; color:#7B5CFA; cursor:pointer;
  }
  .cat-chip.selected { background: linear-gradient(135deg,#EBD3AC,#ECC4D6); color:#3D1B5E; border-color:transparent; }
  .paul-group-title {
    font-family:'Inter', sans-serif; font-weight:600; font-size:14px; color:#A98B5A;
    margin: 16px 0 8px; display:flex; align-items:center; gap:6px;
  }

  /* Wins tab */
  .win-item { border-left: 4px solid #EAD199; }
  .win-date { font-size:10.5px; font-weight:700; color:#B29254; margin-bottom:2px; }

  /* Managing Up tab */
  .mu-today-label {
    font-family:'Inter', sans-serif; font-weight:600; font-size:15px; color:#7B5CFA;
    margin-bottom:12px;
  }
  .mu-history-label {
    font-family:'Inter', sans-serif; font-weight:600; font-size:14px; color:#9C87C9;
    margin: 22px 0 10px;
  }
  .mu-group-title {
    font-family:'Inter', sans-serif; font-weight:700; font-size:11.5px; color:#9C87C9;
    margin: 16px 0 6px 12px; text-transform: uppercase; letter-spacing: 0.5px;
  }
  .copy-btn {
    display:block; width:100%; margin-top:16px; border:none; cursor:pointer;
    background: linear-gradient(135deg,#7B5CFA,#E8A7C4); color:white; font-family:'Inter',sans-serif;
    font-weight:600; font-size:14px; padding: 11px; border-radius:12px;
    box-shadow: 0 3px 12px rgba(123,92,250,0.2);
  }
  .mu-day-card {
    background: transparent; border-radius:0; padding: 8px 0; margin-bottom:12px;
  }
  .mu-day-head {
    display:flex; justify-content:center; align-items:center; font-weight:700; font-size:13.5px; color:#3D2B56;
    cursor:pointer; padding: 12px 0; background: transparent;
    border-radius: 0; margin-bottom: 8px; position: relative;
  }
  .mu-day-head::before {
    content: ""; position: absolute; left: 0; right: 0; top: 50%;
    height: 1px; background: rgba(123,92,250,0.2); z-index: 1;
  }
  .mu-day-head > span:first-child {
    position: relative; z-index: 2; padding: 4px 16px; border-radius: 999px;
    background: rgba(255,255,255,0.95); border: 1px solid rgba(123,92,250,0.15);
    box-shadow: 0 2px 8px rgba(123,92,250,0.06);
    transition: background 0.15s, border-color 0.15s;
  }
  .mu-day-head:hover > span:first-child {
    background: #FFFFFF; border-color: rgba(123,92,250,0.3);
  }
  .mu-day-head > span:last-child {
    display: none; /* Hide the item count string since we have a clean date divider now */
  }
  #managingUpView .dump-item {
    background: transparent; border-radius: 0; padding: 6px 12px; box-shadow: none;
    border-left: 2px solid rgba(123,92,250,0.3); margin-bottom: 0;
  }
  #managingUpView .dump-item:hover {
    background: rgba(255,255,255,0.4);
  }
  #managingUpView .dump-list {
    gap: 4px;
  }

  /* Meeting Prep tab */
  .new-meeting-btn {
    display:block; margin: 20px auto 20px; font-family:'Inter', sans-serif; font-weight:600;
    border:none; cursor:pointer; background: linear-gradient(135deg,#7B5CFA,#E8A7C4); color:white;
    padding: 11px 22px; border-radius:14px; font-size:14.5px; box-shadow: 0 3px 12px rgba(123,92,250,0.35);
  }
  .meeting-card {
    background: rgba(255,255,255,0.9); border-radius:18px; padding: 14px 16px; margin-bottom:12px;
    box-shadow: 0 3px 10px rgba(123,92,250,0.12); border-left:5px solid #7B5CFA;
  }
  .meeting-head { display:flex; justify-content:space-between; align-items:flex-start; cursor:pointer; }
  .meeting-name { font-family:'Inter',sans-serif; font-weight:600; font-size:16px; }
  .meeting-type-pill {
    font-size:10.5px; font-weight:700; background:#F1EAFF; color:#7B5CFA; border-radius:999px;
    padding:3px 9px; margin-top:4px; display:inline-block;
  }
  .meeting-body { margin-top:12px; display:none; }
  .meeting-body.open { display:block; }
  .mini-label { font-weight:700; font-size:12px; color:#7B5CFA; margin: 10px 0 6px; }
  .agenda-item, .log-item {
    display:flex; align-items:flex-start; gap:8px; background:#FBF7FF; border-radius:10px;
    padding:7px 10px; margin-bottom:6px; font-size:13.5px;
  }
  .agenda-item input[type=checkbox] { margin-top:2px; }
  .agenda-item.done span { text-decoration: line-through; opacity:0.5; }
  .log-item { flex-direction:column; align-items:stretch; background:#F4EEFF; }
  .log-date { font-size:11px; font-weight:700; color:#9C87C9; margin-bottom:3px; }
  .mini-add { display:flex; gap:6px; margin-top:4px; }
  .mini-add input {
    flex:1; border:1px solid rgba(123,92,250,0.3); border-radius:8px; padding:6px 10px; font-size:13px;
    font-family:'Inter',sans-serif; outline:none; background: #FFF;
    box-shadow: inset 0 1px 3px rgba(61,27,94,0.02);
  }
  .mini-add input:focus {
    border-color: #7B5CFA;
    box-shadow: 0 0 0 3px rgba(123,92,250,0.15);
  }
  .mini-add button {
    border:none; background:#7B5CFA; color:white; border-radius:8px; padding:6px 12px;
    font-family:'Inter',sans-serif; font-weight:600; font-size:12.5px; cursor:pointer;
  }
  .tiny-del { background:none; border:none; cursor:pointer; opacity:0.4; font-size:13px; margin-left:auto; }
  .tiny-del:hover { opacity:1; }

  /* toast */
  .toast {
    position:fixed; bottom: 18px; left:50%; transform: translateX(-50%);
    background: linear-gradient(135deg,#3D1B5E,#5B3A8E); color:white;
    padding: 12px 16px; border-radius: 16px; box-shadow: 0 6px 24px rgba(0,0,0,0.25);
    display:flex; align-items:center; gap:12px; font-size:13.5px; font-weight:600;
    z-index: 60; animation: toastIn 0.3s ease; max-width: 90vw;
  }
  @keyframes toastIn { from { transform: translateX(-50%) translateY(20px); opacity:0; } to { transform: translateX(-50%) translateY(0); opacity:1; } }
  .toast button {
    background: rgba(255,255,255,0.2); border:none; color:white; font-weight:700;
    padding: 6px 12px; border-radius:10px; font-family:'Inter',sans-serif; font-size:12.5px; cursor:pointer;
    flex-shrink:0;
  }

  /* Triage Review */
  .dt-entry-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 6px;
  }
  .dt-organize-btn {
    align-self: flex-start;
    margin-left: 74px;
    background: rgba(123, 92, 250, 0.08);
    border: 1px solid rgba(123, 92, 250, 0.2);
    color: #7B5CFA;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 13px;
    padding: 6px 14px;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.15s ease;
  }
  .dt-organize-btn:hover {
    background: rgba(123, 92, 250, 0.15);
    transform: translateY(-1px);
  }
  .dt-organize-btn:active {
    transform: translateY(0) scale(0.96);
  }
  .triage-loading {
    margin-left: 74px;
    font-size: 13px;
    color: #9C87C9;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    animation: pop 0.25s ease;
  }
  .triage-loading-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid rgba(123, 92, 250, 0.2);
    border-top-color: #7B5CFA;
    animation: spin 0.8s linear infinite;
  }
  @keyframes spin { to { transform: rotate(360deg); } }
  .triage-review {
    margin-left: 74px;
    background: #FFFFFF;
    border: 2px solid #E4D3FF;
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 8px 24px rgba(123, 92, 250, 0.06);
    animation: pop 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
  }
  .triage-review-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(123, 92, 250, 0.1);
    gap: 12px;
  }
  .triage-eyebrow {
    font-size: 11.5px;
    font-weight: 700;
    color: #9C87C9;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 4px;
  }
  .triage-summary {
    font-size: 15px;
    font-weight: 600;
    color: #3D2B56;
    line-height: 1.4;
  }
  .triage-safe-pill {
    background: #F4EEFF;
    color: #7B5CFA;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    flex-shrink: 0;
    border: 1px solid rgba(123, 92, 250, 0.15);
  }
  .triage-section {
    margin-bottom: 18px;
    background: #FBF7FF;
    border-radius: 12px;
    padding: 14px;
    border: 1px solid rgba(123, 92, 250, 0.1);
  }
  .triage-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
    gap: 12px;
  }
  .triage-section-title {
    font-family: 'Poppins', 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14.5px;
    color: #7B5CFA;
    margin-bottom: 2px;
  }
  .triage-section-sub {
    font-size: 12px;
    color: #9C87C9;
    font-weight: 500;
    line-height: 1.3;
  }
  .triage-count {
    background: white;
    color: #7B5CFA;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid rgba(123, 92, 250, 0.15);
    box-shadow: 0 2px 4px rgba(123, 92, 250, 0.05);
  }
  .triage-edit-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .triage-edit-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: white;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(123, 92, 250, 0.15);
    transition: border-color 0.2s, box-shadow 0.2s;
    cursor: pointer;
  }
  .triage-edit-row:focus-within {
    border-color: #7B5CFA;
    box-shadow: 0 0 0 3px rgba(123, 92, 250, 0.15);
  }
  .triage-edit-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 1px;
    accent-color: #7B5CFA;
    flex-shrink: 0;
    cursor: pointer;
  }
  .triage-line-input {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #3D1B5E;
    min-width: 0;
    line-height: 1.4;
  }
  .triage-empty {
    font-size: 13px;
    color: #B49FE0;
    font-weight: 500;
    font-style: italic;
    padding: 8px 0 4px;
  }
  .triage-switch {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #7B5CFA;
    cursor: pointer;
    background: white;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(123, 92, 250, 0.15);
    transition: all 0.15s ease;
  }
  .triage-switch:has(input:focus-visible) {
    box-shadow: 0 0 0 3px rgba(123, 92, 250, 0.2);
    border-color: #7B5CFA;
  }
  .triage-switch input[type="checkbox"] {
    width: 14px;
    height: 14px;
    accent-color: #7B5CFA;
    cursor: pointer;
  }
  .triage-switch input[type="checkbox"]:disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }
  .triage-switch:has(input:disabled) {
    opacity: 0.6;
    cursor: not-allowed;
  }
  .triage-textarea {
    width: 100%;
    border-radius: 10px;
    border: 1px solid rgba(123, 92, 250, 0.15);
    padding: 10px 12px;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 14px;
    color: #3D1B5E;
    background: white;
    resize: vertical;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    line-height: 1.45;
    margin-bottom: 8px;
  }
  .triage-textarea:focus {
    border-color: #7B5CFA;
    box-shadow: 0 0 0 3px rgba(123, 92, 250, 0.15);
  }
  .triage-destination {
    font-size: 11.5px;
    font-weight: 600;
    color: #9C87C9;
    display: flex;
    align-items: center;
    gap: 6px;
    padding-left: 4px;
  }
  .triage-destination.needs-attention {
    color: #D98BA8;
  }
  .triage-agenda-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .triage-agenda-item {
    background: white;
    border: 1px solid rgba(123, 92, 250, 0.15);
    border-radius: 12px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .triage-person-check {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 13.5px;
    color: #3D2B56;
    cursor: pointer;
  }
  .triage-person-check input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #7B5CFA;
    cursor: pointer;
  }
  .triage-person-check:focus-within {
    outline: 2px solid rgba(123, 92, 250, 0.3);
    outline-offset: 2px;
    border-radius: 2px;
  }
  .triage-agenda-item .triage-textarea {
    margin-bottom: 0;
  }
  .triage-unresolved {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed rgba(123, 92, 250, 0.2);
    font-size: 12px;
    color: #9C87C9;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .triage-unresolved-title {
    font-weight: 700;
    color: #7B5CFA;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 11px;
    margin-bottom: 2px;
  }
  .triage-actions {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(123, 92, 250, 0.1);
  }
  .triage-apply-note {
    font-size: 11.5px;
    color: #9C87C9;
    text-align: center;
    margin-top: 12px;
    font-weight: 500;
    line-height: 1.4;
  }
  .triage-applied {
    margin-left: 74px;
    background: linear-gradient(135deg, rgba(234, 209, 153, 0.15), rgba(232, 167, 196, 0.15));
    border: 1px solid rgba(232, 167, 196, 0.3);
    border-radius: 12px;
    padding: 12px 16px;
    animation: pop 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .triage-applied-main {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: #3D2B56;
  }
  .triage-applied-main strong {
    color: #D98BA8;
    font-weight: 700;
  }
  .triage-applied-main span:first-child {
    background: #D98BA8;
    color: white;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    flex-shrink: 0;
  }
  .triage-applied-note {
    font-size: 12px;
    color: #9C87C9;
    margin-top: 8px;
    margin-left: 26px;
    line-height: 1.4;
  }
  .triage-wrap-note {
    background: #F4EEFF;
    border: 1px dashed rgba(123, 92, 250, 0.3);
    color: #7B5CFA;
    font-size: 13.5px;
    font-weight: 600;
    padding: 12px;
    border-radius: 12px;
    text-align: center;
    margin-top: 10px;
    line-height: 1.4;
  }
  @media (max-width: 768px) {
    .triage-review, .triage-applied, .dt-organize-btn, .triage-loading {
      margin-left: 0;
    }
    .triage-line-input, .triage-textarea {
      font-size: 16px;
    }
  }

  @media (min-width: 720px) {
    .board { overflow-x: visible; }
    .col { flex: 1 1 0; }
  }

  /* ---------- app-y polish ---------- */
  html, body { overscroll-behavior: none; }
  button, .tab, .card, .dump-item, .pill, .chip-btn, .cat-chip, .col-head,
  header, .stats-bar, .nav-sticky { -webkit-user-select: none; user-select: none; }
  input, textarea, select { -webkit-user-select: text; user-select: text; }
  button, .tab, .card, a { touch-action: manipulation; }
  .board, .tabs { -webkit-overflow-scrolling: touch; }

  /* press feedback everywhere */
  .card, .dump-item, .mini-row, .meeting-card { transition: transform 0.12s ease; }
  .card:active, .dump-item:active, .meeting-card:active { transform: scale(0.985); }
  .chip-btn, .tag-choice, .cat-chip, .panel-toggle, .copy-btn, .new-meeting-btn,
  .bulk-import-btn, .notif-btn, .modal-buttons button, .mini-add button {
    transition: transform 0.12s ease, filter 0.12s ease;
  }
  .chip-btn:active, .tag-choice:active, .cat-chip:active, .panel-toggle:active,
  .copy-btn:active, .new-meeting-btn:active, .bulk-import-btn:active,
  .notif-btn:active, .modal-buttons button:active, .mini-add button:active {
    transform: scale(0.95); filter: brightness(0.97);
  }

  /* view switch: native-style slide/fade in (restarts when display toggles) */
  #dumpView, #boardView, #winsView, #managingUpView, #paulView, #meetingsView {
    animation: viewIn 0.22s ease;
  }
  @keyframes viewIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* tab internals: desktop keeps inline icon + full label */
  .tab { display: inline-flex; align-items: center; gap: 6px; }
  .tab .tab-label { display: none; }

  /* safe areas (iPhone notch / home indicator) */
  header { padding-top: calc(18px + env(safe-area-inset-top)); }
  .modal { padding-bottom: calc(28px + env(safe-area-inset-bottom)); }

  /* phone layout: app shell with fixed bottom tab bar */
  @media (max-width: 719px) {
    .wrap { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }

    .tabs {
      position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
      margin: 0; padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
      background: rgba(255,255,255,0.92); backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      box-shadow: 0 -6px 24px rgba(123,92,250,0.18);
      border-top: 1px solid rgba(123,92,250,0.12);
      border-radius: 0; overflow-x: hidden; gap: 2px;
    }
    .tab {
      flex: 1 1 0; display: flex; flex-direction: column; align-items: center;
      gap: 2px; padding: 6px 2px; border-bottom: none; border-radius: 12px;
      min-width: 0;
    }
    .tab .tab-icon { font-size: 21px; line-height: 1.1; transition: transform 0.15s ease; }
    .tab .tab-label {
      display: block; font-size: 9.5px; font-weight: 700; letter-spacing: 0.2px;
      overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%;
    }
    .tab .tab-full-label { display: none; }
    .tab.active { background: rgba(232,167,196,0.14); border-bottom: none; }
    .tab.active .tab-icon { transform: translateY(-1px) scale(1.12); }

    /* top bar becomes a compact app header */
    .nav-sticky {
      padding-top: calc(8px + env(safe-area-inset-top));
      display: flex; align-items: center; justify-content: center; gap: 8px;
      padding-bottom: 8px; border-radius: 0 0 18px 18px;
    }
    .stats-bar { margin: 0; }
    .notif-btn { margin: 0; }
    header { padding-bottom: 4px; }
    .disco { font-size: 30px; }

    /* keep toasts above the tab bar */
    .toast { bottom: calc(78px + env(safe-area-inset-bottom)); }
    .fab-hint { margin-top: 10px; }

    /* prevent iOS auto-zoom on focus: inputs must be >=16px */
    .capture input, .mini-add input, .modal select, .modal textarea,
    .modal input[type=date] { font-size: 16px; }

    /* board columns feel like swipeable pages */
    .board { scroll-snap-type: x mandatory; }
    .col { flex: 0 0 82vw; }
  }

  /* desktop: keep full labels visible */
  @media (min-width: 720px) {
    .tab .tab-full-label { display: inline; }
  }

  /* ================= v2: ethereal grown-up refresh ================= */

  /* pearlescent shimmer background instead of flat saturated gradient */
  body {
    background: linear-gradient(135deg, #FAF0F4 0%, #EFE9F8 30%, #E7EEF7 60%, #F7ECF2 100%);
    background-attachment: fixed;
  }
  body::before {
    content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0;
    background: linear-gradient(115deg,
      rgba(255,255,255,0) 20%, rgba(255,255,255,0.35) 38%,
      rgba(232,201,222,0.25) 50%, rgba(255,255,255,0.35) 62%,
      rgba(255,255,255,0) 80%);
    background-size: 300% 300%;
    animation: opalShimmer 14s ease-in-out infinite;
  }
  @keyframes opalShimmer {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
  }
  h1 { text-shadow: 1px 1px 0 rgba(234,209,153,0.55), -1px -1px 0 rgba(255,255,255,0.6); }

  /* cleaner, more organized chrome outside the board */
  .nav-sticky { box-shadow: 0 4px 14px rgba(123,92,250,0.10); }
  .mini-label { text-transform: uppercase; letter-spacing: 0.6px; font-size: 11px; }
  .mu-group-title, .paul-group-title { letter-spacing: 0.3px; }

  /* text wrapping fixes, everywhere */
  .agenda-item span, .log-item, .agenda-item, .card-title, .card-notes,
  .dump-text, .mini-row, .toast, .chat-bubble, .thread-note, .modal, .suggestion-item label {
    overflow-wrap: anywhere; word-break: break-word; min-width: 0;
  }
  .agenda-item > .agenda-main { flex: 1; min-width: 0; }
  .mini-row span { min-width: 0; overflow-wrap: anywhere; }

  /* ---------- Meeting Prep: Slack-style groups & threads ---------- */
  .meeting-group { margin-bottom: 14px; }
  .meeting-group-head {
    display: flex; align-items: center; gap: 8px; cursor: pointer;
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 13px;
    color: #7B5CFA; text-transform: uppercase; letter-spacing: 0.8px;
    padding: 8px 6px; user-select: none;
  }
  .meeting-group-head .grp-caret { font-size: 10px; transition: transform 0.15s ease; }
  .meeting-group-head.collapsed .grp-caret { transform: rotate(-90deg); }
  .meeting-group-head .grp-count {
    background: rgba(123,92,250,0.10); border-radius: 999px; font-size: 11px;
    padding: 1px 8px; font-weight: 700;
  }
  .agenda-item { flex-direction: column; align-items: stretch; cursor: pointer; }
  .agenda-row { display: flex; align-items: flex-start; gap: 8px; }
  .agenda-thread { margin: 6px 0 6px 28px; border-left: 2px solid rgba(123,92,250,0.3); padding-left: 12px; }
  .thread-note {
    background: transparent; border-radius: 6px; padding: 4px 6px; margin-bottom: 4px;
    font-size: 13.5px; display: flex; flex-direction: column; margin-left: -6px;
    transition: background 0.15s;
  }
  .thread-note:hover { background: rgba(255,255,255,0.4); }
  .thread-note-date { font-size: 11px; font-weight: 700; color: #9C87C9; margin-bottom: 2px; }
  .thread-count {
    font-size: 11px; font-weight: 700; color: #7B5CFA; background: rgba(123,92,250,0.08);
    border-radius: 999px; padding: 2px 8px; margin-left: 4px; flex-shrink: 0;
  }
  .extract-actions-btn {
    display: block; width: 100%; margin-top: 10px; border: none; cursor: pointer;
    background: linear-gradient(135deg, #B49FE0, #D98BA8); color: white;
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 13px;
    padding: 10px; border-radius: 12px; box-shadow: 0 3px 10px rgba(180,159,224,0.4);
  }
  .suggestion-item {
    display: flex; align-items: flex-start; gap: 9px; background: #FBF7FF;
    border-radius: 10px; padding: 9px 11px; margin-bottom: 7px; font-size: 13.5px;
  }
  .suggestion-item input[type=checkbox] { margin-top: 3px; }
  .suggestion-item label { flex: 1; font-weight: 600; cursor: pointer; }

  /* ---------- Counsel: Slack-DM style chat ---------- */
  .chat-list { display: flex; flex-direction: column; gap: 10px; padding-bottom: 8px; }
  .chat-row { display: flex; }
  .chat-row.me { justify-content: flex-end; }
  .chat-row.counsel { justify-content: flex-start; }
  .chat-bubble {
    max-width: 78%; border-radius: 16px; padding: 10px 13px; font-size: 14px;
    font-weight: 600; line-height: 1.45; animation: pop 0.2s ease;
  }
  .chat-row.me .chat-bubble {
    background: linear-gradient(135deg, #D98BA8, #E8A7C4); color: white;
    border-bottom-right-radius: 5px; box-shadow: 0 3px 10px rgba(217,139,168,0.35);
  }
  .chat-row.counsel .chat-bubble {
    background: rgba(255,255,255,0.92); color: #3D1B5E;
    border-bottom-left-radius: 5px; box-shadow: 0 3px 10px rgba(123,92,250,0.12);
  }
  .chat-meta { font-size: 10.5px; font-weight: 700; color: #9C87C9; margin: 0 6px 3px; }
  .chat-actions-note { font-size: 11.5px; font-weight: 700; color: #7B5CFA; margin-top: 6px; opacity: 0.85; }
  .chat-compose {
    display: flex; gap: 8px; background: rgba(255,255,255,0.85); backdrop-filter: blur(6px);
    border-radius: 16px; padding: 8px; border: 2px solid rgba(255,255,255,0.9);
    box-shadow: 0 4px 16px rgba(123,92,250,0.12); margin-top: 12px;
    position: sticky; bottom: calc(84px + env(safe-area-inset-bottom));
  }
  @media (min-width: 720px) { .chat-compose { bottom: 12px; } }
  .chat-compose textarea {
    flex: 1; border: none; background: transparent; outline: none; resize: none;
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 16px;
    color: #3D1B5E; padding: 6px 8px; max-height: 110px;
  }
  .chat-compose button {
    border: none; cursor: pointer; align-self: flex-end;
    background: linear-gradient(135deg, #EAD199, #E8A7C4); color: #3D1B5E;
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14px;
    padding: 9px 16px; border-radius: 12px;
  }
  .chat-typing { font-size: 12.5px; font-weight: 700; color: #9C87C9; padding: 4px 8px; }

  /* ================= v3: polish pass ================= */

  /* 2. calm background: no scattered stars, just two soft glow blooms up top */
  .sparkle-bg span { display: none; }
  .sparkle-bg {
    background:
      radial-gradient(340px 260px at 22% 4%, rgba(236,196,214,0.45), transparent 70%),
      radial-gradient(420px 300px at 78% 0%, rgba(216,201,244,0.4), transparent 70%),
      radial-gradient(300px 220px at 50% 12%, rgba(234,209,153,0.22), transparent 70%);
    filter: blur(2px);
  }
  body::before { display: none; } /* retire the moving shimmer overlay too */

  /* 3. editorial type: display serif for the wordmark & section headers,
        clean sans (Inter) everywhere else */
  h1 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-style: italic;
    color: #3D2B56;
    text-shadow: none;
    letter-spacing: 0.5px;
  }
  .modal h3, .meeting-name, .paul-group-title,
  .mu-today-label, .mu-history-label, .mu-group-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    letter-spacing: 0.2px;
  }
  .modal h3 { color: #3D2B56; }
  .subtitle { color: #8A8095; font-weight: 500; }

  /* 5. color hierarchy: warm neutral gray for secondary text/labels,
        dusty rose reserved for primary actions & emphasis */
  .mini-label, .field-label, .fab-hint, .snooze-date, .log-date,
  .thread-note-date, .chat-meta, .win-date, .mu-group-title,
  .mu-history-label, .empty-col { color: #8A8095; }
  .tab { color: #8A8095; }
  .tab.active { color: #D98BA8; }
  .stats-bar { color: #8A8095; background: rgba(138,128,149,0.08); }
  .meeting-group-head { color: #8A8095; }
  .meeting-group-head .grp-count { background: rgba(138,128,149,0.1); color: #8A8095; }
  .paul-group-title { color: #6E6276; }
  .mu-today-label { color: #3D2B56; }
  .panel-toggle { color: #6E6276; }
  .bulk-import-btn { color: #8A8095; background: rgba(138,128,149,0.08); }
  .notif-btn { color: #8A8095; background: rgba(138,128,149,0.08); }
  .loading { color: #8A8095; }
  .mini-add button { background: #D98BA8; }
  .copy-btn, .new-meeting-btn { background: linear-gradient(135deg, #D98BA8, #E8A7C4); box-shadow: 0 3px 12px rgba(217,139,168,0.3); }
  .meeting-card { border-left: none; }

  /* 4. one cohesive chip family: soft fill, same radius/padding, gentle selected wash */
  .pill, .chip-btn, .tag-choice, .cat-chip, .meeting-type-pill, .recur-pill {
    background: rgba(138,128,149,0.09);
    color: #6E6276;
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 600;
  }
  .chip-btn { padding: 6px 12px; font-size: 12px; }
  .tag-choice, .cat-chip { padding: 6px 13px; font-size: 12.5px; }
  .pill, .meeting-type-pill, .recur-pill { padding: 3px 10px; font-size: 11px; }
  .recur-pill { background: rgba(234,209,153,0.28) !important; color: #8f7a4a !important; }
  .tag-choice.selected, .cat-chip.selected {
    background: rgba(217,139,168,0.16);
    color: #C06A8C;
    border-color: rgba(217,139,168,0.45);
    box-shadow: 0 0 0 3px rgba(217,139,168,0.1);
  }

  /* status selector on cards: gentle wash instead of harsh solid block */
  .status-btn { background: rgba(138,128,149,0.07); border: 1px solid transparent; }
  .status-btn.active {
    /* fallbacks first (older iOS Safari without color-mix), then the tinted mix */
    background: rgba(236,196,214,0.3);
    border-color: rgba(236,196,214,0.65);
    box-shadow: 0 0 0 3px rgba(236,196,214,0.2);
    background: color-mix(in srgb, var(--sc, #ECC4D6) 28%, white);
    border-color: color-mix(in srgb, var(--sc, #ECC4D6) 55%, white);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc, #ECC4D6) 18%, transparent);
    transform: scale(1.04);
  }

  /* 6. to-do cards: frosted glass, thin soft top accent instead of thick side bar */
  .card {
    background: rgba(255,255,255,0.72);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-left: none;
    border: 1px solid rgba(255,255,255,0.75);
    /* fallback first (older iOS Safari without color-mix), then the softened mix */
    border-top: 3px solid var(--accent, #ECC4D6);
    border-top: 3px solid color-mix(in srgb, var(--accent, #ECC4D6) 55%, white);
    box-shadow: 0 4px 14px rgba(123,92,250,0.09);
  }
  .win-item { border-left: 3px solid rgba(234,209,153,0.7); }
  .dump-item, .meeting-card, .mu-day-card {
    background: rgba(255,255,255,0.72);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.75);
  }

  /* counsel view slides in like the others */
  #counselView { animation: viewIn 0.22s ease; }

  /* ================= v4: sidebar nav, restrained sparkle, Poppins ================= */

  /* 3. headers: rounded geometric sans, no italic/outline effects */
  h1 { font-style: normal; font-weight: 600; letter-spacing: 0.2px; text-shadow: none; }
  .modal h3, .meeting-name, .paul-group-title,
  .mu-today-label, .mu-history-label, .mu-group-title { font-style: normal; }

  /* 1. topbar: hamburger + current section */
  .topbar {
    display: flex; align-items: center; gap: 10px;
    padding: 4px 4px 10px;
  }
  .menu-btn {
    border: none; cursor: pointer; background: rgba(138,128,149,0.08);
    color: #3D2B56; font-size: 18px; line-height: 1;
    width: 38px; height: 38px; border-radius: 12px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    transition: transform 0.12s ease;
  }
  .menu-btn:active { transform: scale(0.92); }
  .current-section {
    font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 16px;
    color: #3D2B56; flex: 1; min-width: 0;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .topbar .stats-bar { margin: 0; flex-shrink: 0; }

  .drawer-overlay {
    position: fixed; inset: 0; background: rgba(61,27,94,0.32);
    backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
    opacity: 0; pointer-events: none; transition: opacity 0.22s ease; z-index: 48;
  }
  .drawer-overlay.open { opacity: 1; pointer-events: auto; }
  .drawer {
    position: fixed; top: 0; bottom: 0; left: 0; width: min(290px, 84vw);
    background: rgba(255,255,255,0.94);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    box-shadow: 6px 0 30px rgba(61,27,94,0.16);
    transform: translateX(-102%); transition: transform 0.24s ease; z-index: 49;
    padding: calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));
    overflow-y: auto;
  }
  .drawer.open { transform: translateX(0); }
  .drawer-title {
    font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 19px;
    color: #3D2B56; padding: 4px 10px 14px;
  }
  .drawer-group { margin-bottom: 14px; }
  .drawer-group-label {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 1px; color: #8A8095; padding: 0 10px 6px;
  }
  .nav-item {
    display: block; width: 100%; text-align: left; border: none; cursor: pointer;
    background: transparent; font-family: 'Inter', sans-serif; font-weight: 600;
    font-size: 14.5px; color: #55495E; padding: 10px 12px; border-radius: 12px;
    margin-bottom: 2px; transition: background 0.12s ease, transform 0.12s ease;
  }
  .nav-item:active { transform: scale(0.98); }
  .nav-item.active {
    background: rgba(217,139,168,0.14); color: #C06A8C;
  }

  /* the old horizontal/bottom tab bar is gone; keep view slide-in feel */
  @media (max-width: 719px) {
    .wrap { padding-bottom: calc(28px + env(safe-area-inset-bottom)); }
    .toast { bottom: calc(20px + env(safe-area-inset-bottom)); }
    .chat-compose { bottom: calc(12px + env(safe-area-inset-bottom)); }
  }

  /* 2. restrained magic: soft drifting blurred particles */
  .drift-particle {
    position: absolute; bottom: -20px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.95), rgba(236,196,214,0.6) 60%, transparent 100%);
    filter: blur(3px); opacity: 0;
    animation: driftUp linear infinite;
  }
  @keyframes driftUp {
    0% { transform: translateY(0) translateX(0); opacity: 0; }
    12% { opacity: 0.3; }
    85% { opacity: 0.22; }
    100% { transform: translateY(-108vh) translateX(24px); opacity: 0; }
  }

  /* occasional light-catch shimmer on card surfaces (load + hover).
     The sweep is drawn as a background-position animation on an inset
     pseudo-element (border-radius: inherit), so no overflow:hidden is
     needed and the floating badges at top:-8px stay visible. */
  .card, .dump-item, .meeting-card { position: relative; }
  .card::after, .dump-item::after, .meeting-card::after {
    content: ""; position: absolute; inset: 0; border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(105deg, transparent 42%, rgba(255,255,255,0.5) 50%, transparent 58%);
    background-size: 280% 100%; background-repeat: no-repeat;
    background-position: 160% 0; opacity: 0;
    animation: lightCatch 1.1s ease 0.35s 1 both;
  }
  @keyframes lightCatch {
    from { background-position: 160% 0; opacity: 1; }
    to { background-position: -60% 0; opacity: 0; }
  }
  @media (hover: hover) {
    .card:hover::after, .dump-item:hover::after, .meeting-card:hover::after {
      animation: lightCatch 0.9s ease 1;
    }
  }

  /* ================= v5: level-up — bottom nav, Today, My People, design system ================= */
  :root {
    --r-sm: 10px;   /* small controls */
    --r-md: 16px;   /* cards */
    --r-lg: 24px;   /* large surfaces / modals / sheets */
    --ink: #3D2B56;
    --ink-2: #8A8095;
    --ink-3: #B8A9C9;
    --rose: #D98BA8;
    --rose-soft: rgba(217,139,168,0.14);
  }

  /* room for the fixed bottom nav */
  .wrap { padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
  .toast { bottom: calc(84px + env(safe-area-inset-bottom)) !important; }
  .chat-compose { bottom: calc(72px + env(safe-area-inset-bottom)) !important; }

  /* hide the old drawer leftovers if any cached markup lingers */
  .drawer, .drawer-overlay, .menu-btn { display: none !important; }

  /* ---------- bottom navigation ---------- */
  .bottom-nav {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 46;
    display: flex; justify-content: space-around; align-items: stretch;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
    background: rgba(255,255,255,0.88);
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
    border-top: 1px solid rgba(217,139,168,0.18);
  }
  .bnav-item {
    flex: 1; border: none; background: transparent; cursor: pointer;
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    padding: 6px 2px; border-radius: var(--r-sm);
    color: var(--ink-2); font-family: 'Inter', sans-serif;
    transition: transform 0.12s ease;
  }
  .bnav-item:active { transform: scale(0.92); }
  .bnav-icon { font-size: 20px; line-height: 1.2; filter: grayscale(0.5) opacity(0.75); transition: filter 0.15s ease, transform 0.15s ease; }
  .bnav-label { font-size: 10.5px; font-weight: 600; letter-spacing: 0.2px; }
  .bnav-item.active { color: #C06A8C; }
  .bnav-item.active .bnav-icon { filter: none; transform: translateY(-1px); }
  .bnav-item.active .bnav-label { text-shadow: 0 0 12px rgba(217,139,168,0.5); }
  @media (min-width: 720px) {
    .bottom-nav { max-width: 520px; margin: 0 auto; left: 50%; right: auto; transform: translateX(-50%); border-radius: var(--r-lg) var(--r-lg) 0 0; border: 1px solid rgba(217,139,168,0.18); border-bottom: none; }
  }

  /* ---------- More sheet ---------- */
  .sheet-overlay {
    position: fixed; inset: 0; background: rgba(61,27,94,0.32); z-index: 47;
    opacity: 0; pointer-events: none; transition: opacity 0.2s ease;
  }
  .sheet-overlay.open { opacity: 1; pointer-events: auto; }
  .more-sheet {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 48;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border-radius: var(--r-lg) var(--r-lg) 0 0;
    box-shadow: 0 -8px 40px rgba(61,27,94,0.18);
    padding: 10px 16px calc(20px + env(safe-area-inset-bottom));
    transform: translateY(105%); transition: transform 0.24s ease;
  }
  .more-sheet.open { transform: translateY(0); }
  @media (min-width: 720px) { .more-sheet { max-width: 520px; margin: 0 auto; } }
  .sheet-handle { width: 40px; height: 4px; border-radius: 2px; background: rgba(138,128,149,0.3); margin: 4px auto 12px; }
  .sheet-item {
    display: flex; flex-direction: column; align-items: flex-start; gap: 1px;
    width: 100%; text-align: left; border: none; cursor: pointer; background: transparent;
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 15.5px; color: var(--ink);
    padding: 12px 12px; border-radius: var(--r-md);
    transition: background 0.12s ease, transform 0.12s ease;
  }
  .sheet-item:active { transform: scale(0.98); background: var(--rose-soft); }
  .sheet-item.active { background: var(--rose-soft); }
  .sheet-sub { font-size: 12px; font-weight: 500; color: var(--ink-2); }

  /* ---------- Today ---------- */
  .today-hello { padding: 6px 4px 14px; }
  .today-greet { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 24px; color: var(--ink); }
  .today-sub { font-size: 13.5px; color: var(--ink-2); margin-top: 2px; }
  .today-section { margin-bottom: 18px; }
  .today-label { font-size: 12px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; color: var(--ink-2); padding: 0 4px 8px; }
  .today-row {
    display: flex; align-items: center; gap: 10px;
    background: rgba(255,255,255,0.9); border-radius: var(--r-md);
    padding: 12px 14px; margin-bottom: 8px; cursor: pointer;
    box-shadow: 0 2px 10px rgba(61,27,94,0.05);
    transition: transform 0.12s ease;
  }
  .today-row:active { transform: scale(0.985); }
  .today-row.muted { background: rgba(255,255,255,0.6); box-shadow: none; }
  .today-row-emoji { flex-shrink: 0; font-size: 16px; }
  .today-row-text { flex: 1; min-width: 0; font-size: 14.5px; font-weight: 500; color: var(--ink); line-height: 1.45; overflow-wrap: anywhere; }
  .today-row.muted .today-row-text { color: var(--ink-2); font-weight: 400; }
  .today-done-btn {
    flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%;
    border: 1.5px solid rgba(217,139,168,0.5); background: transparent;
    color: #C06A8C; font-size: 15px; cursor: pointer; line-height: 1;
    transition: background 0.15s ease, transform 0.15s ease;
  }
  .today-done-btn:active { background: var(--rose-soft); transform: scale(0.9); }
  .ghost-btn {
    border: none; background: transparent; color: #C06A8C; cursor: pointer;
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 13px; padding: 6px 4px;
  }
  .counsel-cta {
    display: block; width: 100%; border: none; cursor: pointer;
    background: linear-gradient(120deg, rgba(217,139,168,0.16), rgba(123,92,250,0.10));
    color: var(--ink); font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14px;
    padding: 14px; border-radius: var(--r-md); margin-top: 6px;
    transition: transform 0.12s ease;
  }
  .counsel-cta:active { transform: scale(0.98); }

  /* ---------- empty states ---------- */
  .empty-state { text-align: center; padding: 26px 12px; }
  .empty-emoji { font-size: 26px; margin-bottom: 6px; }
  .empty-head { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 14.5px; color: var(--ink); }
  .empty-sub { font-size: 12.5px; color: var(--ink-2); margin-top: 2px; }

  /* ---------- mobile board: one lane at a time ---------- */
  .lane-picker { display: none; }
  @media (max-width: 719px) {
    .lane-picker {
      display: flex; gap: 6px; overflow-x: auto; -webkit-overflow-scrolling: touch;
      padding: 2px 2px 12px; scrollbar-width: none;
    }
    .lane-picker::-webkit-scrollbar { display: none; }
    .lane-pill {
      flex-shrink: 0; border: none; cursor: pointer;
      background: rgba(255,255,255,0.7); color: var(--ink-2);
      font-family: 'Inter', sans-serif; font-weight: 600; font-size: 13px;
      padding: 8px 13px; border-radius: 999px;
      transition: background 0.15s ease, color 0.15s ease, transform 0.12s ease;
    }
    .lane-pill:active { transform: scale(0.95); }
    .lane-pill.active {
      background: rgba(255,255,255,0.98); color: var(--ink);
      box-shadow: 0 2px 12px rgba(61,27,94,0.10), 0 0 0 1.5px var(--sc, var(--rose));
    }
    .lane-count { opacity: 0.65; font-weight: 700; margin-left: 2px; }
    .board { display: block !important; }
    .board .col { display: none; }
    .board .col.lane-active { display: block; width: 100%; }
  }

  /* ---------- cleaner cards ---------- */
  .card-meta { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; font-size: 11.5px; color: var(--ink-2); margin-top: 4px; }
  .meta-dot { opacity: 0.5; }
  .card { transition: transform 0.12s ease, box-shadow 0.12s ease; }
  .card:active { transform: scale(0.985); }
  .more-dots {
    border: none; background: transparent; cursor: pointer;
    color: var(--ink-3); font-size: 16px; font-weight: 700; letter-spacing: 1px;
    padding: 2px 8px; border-radius: var(--r-sm); margin-left: auto;
  }
  .more-dots:active { background: rgba(138,128,149,0.1); }
  .card-menu { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 8px; }
  .chip-btn.danger { color: #C0526E; }

  /* ---------- My People ---------- */
  .person-card {
    display: flex; align-items: center; gap: 12px;
    background: rgba(255,255,255,0.92); border-radius: var(--r-md);
    padding: 14px 16px; margin-bottom: 8px; cursor: pointer;
    box-shadow: 0 2px 10px rgba(61,27,94,0.05);
    transition: transform 0.12s ease;
  }
  .person-card:active { transform: scale(0.985); }
  .person-emoji { font-size: 20px; flex-shrink: 0; }
  .person-name { flex: 1; min-width: 0; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 15.5px; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .pin-mark { font-size: 12px; }
  .person-status { flex-shrink: 0; font-size: 12px; color: var(--ink-2); }

  .person-page-head { display: flex; align-items: center; gap: 10px; padding: 2px 0 14px; }
  .back-btn {
    border: none; cursor: pointer; background: rgba(138,128,149,0.08);
    color: var(--ink); font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14px;
    padding: 8px 14px; border-radius: 999px; flex-shrink: 0;
  }
  .person-page-title { flex: 1; min-width: 0; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 19px; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .person-page-actions { display: flex; gap: 4px; flex-shrink: 0; }
  .icon-btn { border: none; background: transparent; cursor: pointer; font-size: 16px; padding: 6px 8px; border-radius: var(--r-sm); }
  .icon-btn:active { background: rgba(138,128,149,0.1); }

  .p-section {
    background: rgba(255,255,255,0.92); border-radius: var(--r-md);
    padding: 4px; margin-bottom: 10px;
    box-shadow: 0 2px 10px rgba(61,27,94,0.05);
  }
  .p-section.always-open { padding: 14px; }
  .p-section-title { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 15px; color: var(--ink); padding-bottom: 10px; }
  .p-section-head {
    display: flex; justify-content: space-between; align-items: center; width: 100%;
    border: none; background: transparent; cursor: pointer; text-align: left;
    font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 15px; color: var(--ink);
    padding: 12px 12px;
  }
  .p-count { font-size: 12.5px; color: var(--ink-2); font-weight: 600; }
  .p-section-body { padding: 0 12px 12px; }
  .p-empty { font-size: 12.5px; color: var(--ink-3); padding: 4px 2px 8px; }
  .p-item { display: flex; align-items: flex-start; gap: 8px; padding: 7px 2px; font-size: 14px; color: var(--ink); line-height: 1.45; }
  .p-item input[type=checkbox] { margin-top: 3px; accent-color: var(--rose); }
  .p-item.done .p-item-text { text-decoration: line-through; color: var(--ink-3); }
  .p-item-text { flex: 1; min-width: 0; overflow-wrap: anywhere; }

  .wrap-row { padding-top: 10px; }
  .start-meeting-btn {
    display: block; width: 100%; border: none; cursor: pointer;
    background: linear-gradient(120deg, var(--rose), #C87FA0);
    color: #fff; font-family: 'Inter', sans-serif; font-weight: 700; font-size: 14.5px;
    padding: 13px; border-radius: var(--r-md);
    box-shadow: 0 4px 16px rgba(217,139,168,0.35);
    transition: transform 0.12s ease;
  }
  .start-meeting-btn:active { transform: scale(0.98); }

  .hist-card { background: rgba(250,246,251,0.9); border-radius: var(--r-sm); padding: 10px 12px; margin-bottom: 8px; }
  .hist-date { font-size: 11.5px; font-weight: 700; color: var(--ink-2); letter-spacing: 0.4px; margin-bottom: 4px; }
  .hist-summary { font-size: 13.5px; color: var(--ink); line-height: 1.5; }
  .hist-block { font-size: 12.5px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  .hist-raw { margin-top: 6px; font-size: 12.5px; color: var(--ink-2); }
  .hist-raw summary { cursor: pointer; color: #C06A8C; font-weight: 600; }
  .hist-raw div { white-space: pre-wrap; padding-top: 4px; }

  .wrap-summary { font-size: 14px; color: var(--ink); line-height: 1.55; background: var(--rose-soft); border-radius: var(--r-sm); padding: 10px 12px; margin-bottom: 8px; }
  .wrap-line { font-size: 13px; color: var(--ink-2); padding: 2px 0; }
  .meeting-mode-modal { max-height: 86vh; overflow-y: auto; }

  /* ---------- Counsel quick modes ---------- */
  .quick-modes {
    display: flex; gap: 6px; overflow-x: auto; -webkit-overflow-scrolling: touch;
    padding: 6px 2px 10px; scrollbar-width: none;
    position: sticky; bottom: calc(128px + env(safe-area-inset-bottom));
  }
  .quick-modes::-webkit-scrollbar { display: none; }
  .mode-chip {
    flex-shrink: 0; border: none; cursor: pointer;
    background: rgba(255,255,255,0.92); color: var(--ink);
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 12.5px;
    padding: 8px 12px; border-radius: 999px;
    box-shadow: 0 2px 8px rgba(61,27,94,0.06);
    transition: transform 0.12s ease, background 0.15s ease;
  }
  .mode-chip:active { transform: scale(0.94); background: var(--rose-soft); }

  /* ---------- calm the motion for those who ask ---------- */
  @media (prefers-reduced-motion: reduce) {
    .drift-particle { display: none; }
    .card::after, .dump-item::after, .meeting-card::after { animation: none; opacity: 0; }
    * { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
  }

  /* ================= v6: premium craft pass — restraint, precision, native feel ================= */

  /* --- pink is the interaction color: caret, selection, focus everywhere --- */
  input, textarea { caret-color: #D9709A; }
  ::selection { background: rgba(217,139,168,0.30); }
  input[type=checkbox] { accent-color: #D9709A; width: 17px; height: 17px; }

  /* --- one cohesive premium input system --- */
  input[type=text], textarea {
    font-family: 'Inter', sans-serif;
    color: var(--ink);
    background: rgba(255,255,255,0.92);
    border: 1px solid rgba(61,27,94,0.10);
    border-radius: 14px;
    padding: 11px 14px;
    font-size: 15px;
    line-height: 1.5;
    outline: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    overflow-wrap: anywhere;
  }
  input[type=text]:focus, textarea:focus {
    border-color: rgba(217,112,154,0.55);
    box-shadow: 0 0 0 3px rgba(217,139,168,0.16);
  }
  input::placeholder, textarea::placeholder { color: #B8A9C9; font-weight: 500; }
  textarea { resize: none; }

  .mini-add { display: flex; gap: 8px; align-items: flex-end; padding-top: 8px; }
  .mini-add input { flex: 1; min-width: 0; font-size: 14.5px; }
  .mini-add button {
    flex-shrink: 0; border: none; cursor: pointer;
    background: transparent; color: #C05C88;
    font-family: 'Inter', sans-serif; font-weight: 700; font-size: 14px;
    padding: 11px 10px; border-radius: 10px;
    transition: transform 0.12s ease, background 0.15s ease;
  }
  .mini-add button:active { transform: scale(0.92); background: rgba(217,139,168,0.12); }

  /* capture bar joins the input system */
  .capture {
    background: rgba(255,255,255,0.92);
    border: 1px solid rgba(61,27,94,0.10);
    border-radius: 999px; padding: 6px 6px 6px 10px;
    box-shadow: none; margin: 14px 0 16px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
  }
  .capture:focus-within {
    border-color: rgba(217,112,154,0.55);
    box-shadow: 0 0 0 3px rgba(217,139,168,0.16);
  }
  .capture input { border: none; background: transparent; box-shadow: none; padding: 8px 8px; font-weight: 500; }
  .capture input:focus { border: none; box-shadow: none; }
  .capture button {
    background: linear-gradient(135deg, #E297B6, #D9709A);
    color: #fff; border-radius: 999px; padding: 10px 18px;
    font-weight: 700; box-shadow: none;
  }
  .bulk-import-btn { background: transparent; color: #9B7FC7; font-weight: 600; margin: -8px 0 16px; }

  /* --- text must wrap, everywhere --- */
  .card-title, .card-notes, .today-row-text, .agenda-main, .p-item-text,
  .person-name, .person-page-title, .hist-summary, .chat-bubble, .dump-text,
  .win-text, .mu-text, .paul-text, label, .suggestion-item label {
    overflow-wrap: anywhere; word-break: normal; white-space: normal;
  }
  .person-name, .person-page-title { white-space: normal; overflow: visible; text-overflow: unset; }

  /* --- header: expanded at home, compact when scrolled --- */
  header { transition: padding 0.25s ease; }
  .disco { transition: font-size 0.25s ease; }
  body.scrolled header { padding: 8px 0 2px; }
  body.scrolled .disco { font-size: 22px; animation-play-state: paused; filter: none; }
  body.scrolled h1 { font-size: 18px; text-shadow: none; display: inline-block; margin-left: 6px; vertical-align: middle; }
  body.scrolled .subtitle { display: none; }
  .nav-sticky {
    background: rgba(255,255,255,0.82);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    box-shadow: none; border-bottom: 1px solid rgba(61,27,94,0.06);
    border-radius: 0; padding: 8px 14px;
  }
  .topbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .current-section { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 15px; color: var(--ink); }
  .stats-bar { margin: 0; background: transparent; padding: 0; font-size: 12px; color: #9B7FC7; }

  /* --- calmer surfaces: lighter borders, tonal difference, fewer shadows --- */
  .card, .today-row, .person-card, .p-section, .dump-item, .win-item, .mu-day, .paul-item {
    box-shadow: none;
    border: 1px solid rgba(61,27,94,0.07);
  }
  .card { border-left: 3px solid var(--accent); border-radius: 14px; }
  .col { background: transparent; border: none; padding: 4px 2px; }
  .col-head { padding: 6px 6px 10px; font-size: 13px; letter-spacing: 0.3px; }
  .today-row.muted { border-color: transparent; background: rgba(255,255,255,0.5); }
  .modal { border-radius: 24px; box-shadow: 0 16px 48px rgba(61,27,94,0.22); }
  .more-sheet { box-shadow: 0 -6px 32px rgba(61,27,94,0.14); }
  .bottom-nav { box-shadow: 0 -1px 0 rgba(61,27,94,0.05); border-top: none; }

  /* --- kill persistent ambience; magic happens on events only --- */
  .drift-particle { display: none; }
  .card::after, .dump-item::after, .meeting-card::after { animation: none !important; opacity: 0 !important; }
  .card.recur-today::after { animation: none !important; }
  /* shimmer stays for Ta-Da! arrivals only */
  @keyframes tadaShimmer {
    0% { background-position: -200% 0; opacity: 0.9; }
    100% { background-position: 200% 0; opacity: 0; }
  }
  .card.just-done::after {
    content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
    background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,0.75) 50%, transparent 70%);
    background-size: 200% 100%; animation: tadaShimmer 1.1s ease forwards; opacity: 1 !important;
  }

  /* --- button hierarchy: primary / secondary / tertiary --- */
  .btn-save, .start-meeting-btn, .capture button {
    background: linear-gradient(135deg, #E297B6, #D9709A); color: #fff;
    border: none; box-shadow: none; font-weight: 700;
  }
  .btn-save:active, .start-meeting-btn:active { transform: scale(0.97); }
  .btn-cancel {
    background: rgba(255,255,255,0.9); color: var(--ink);
    border: 1px solid rgba(61,27,94,0.12); font-weight: 600;
  }
  .del-btn, .tiny-del, .chip-btn.danger { opacity: 0.55; }
  .del-btn:active, .tiny-del:active, .chip-btn.danger:active { opacity: 1; }
  .chip-btn { background: transparent; border: 1px solid rgba(61,27,94,0.10); color: var(--ink-2); font-weight: 600; }

  /* --- agenda + person rows: lightweight rows, not cards --- */
  .agenda-item {
    background: transparent; border: none; border-radius: 10px;
    padding: 4px 2px; margin-bottom: 0;
    border-bottom: 1px solid rgba(61,27,94,0.05);
  }
  .agenda-item:last-of-type { border-bottom: none; }
  .agenda-row { padding: 7px 2px; align-items: flex-start; }
  .agenda-row input[type=checkbox] { margin-top: 3px; }
  .p-section { background: rgba(255,255,255,0.85); }
  .p-item { border-bottom: 1px solid rgba(61,27,94,0.04); padding: 9px 2px; }
  .p-item:last-of-type { border-bottom: none; }

  /* history: continuous notebook, not tiles */
  .hist-card { background: transparent; border-left: 2px solid rgba(217,139,168,0.35); border-radius: 0; padding: 2px 0 14px 14px; margin-bottom: 4px; }
  .hist-date { color: #C05C88; }

  /* --- Counsel: iMessage energy --- */
  .chat-list { padding: 4px 0 8px; }
  .chat-timestamp { text-align: center; font-size: 11px; font-weight: 600; color: #B8A9C9; padding: 14px 0 8px; }
  .chat-row { display: flex; align-items: flex-end; gap: 6px; margin: 1.5px 0; }
  .chat-row.group-start { margin-top: 8px; }
  .chat-row.me { justify-content: flex-end; }
  .chat-avatar { width: 24px; flex-shrink: 0; font-size: 15px; text-align: center; line-height: 24px; }
  .chat-bubble {
    max-width: 78%; min-width: 0;
    padding: 9px 14px; font-size: 15px; line-height: 1.45;
    border-radius: 18px;
    background: rgba(255,255,255,0.92); color: var(--ink);
    border: none; box-shadow: none;
    overflow-wrap: anywhere; white-space: pre-wrap;
  }
  .chat-row.counsel .chat-bubble { border-bottom-left-radius: 6px; }
  .chat-row.counsel.group-end .chat-bubble { border-bottom-left-radius: 18px; }
  .chat-row.me .chat-bubble {
    background: linear-gradient(135deg, #E297B6, #D9709A);
    color: #fff; border-bottom-right-radius: 6px;
  }
  .chat-row.me.group-end .chat-bubble { border-bottom-right-radius: 18px; }
  .chat-meta { display: none; }
  .chat-actions-note { margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(255,255,255,0.35); font-size: 12.5px; opacity: 0.9; }
  .chat-row.counsel .chat-actions-note { border-top-color: rgba(61,27,94,0.10); }
  .chat-empty { padding-top: 60px; }
  /* typing indicator */
  .chat-bubble.typing { display: flex; gap: 4px; padding: 13px 15px; }
  .tdot { width: 7px; height: 7px; border-radius: 50%; background: #B8A9C9; animation: tblink 1.2s infinite ease-in-out; }
  .tdot:nth-child(2) { animation-delay: 0.15s; }
  .tdot:nth-child(3) { animation-delay: 0.3s; }
  @keyframes tblink { 0%, 60%, 100% { opacity: 0.35; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }

  /* composer: anchored, rounded, circular ↑ send */
  .chat-compose {
    display: flex; align-items: flex-end; gap: 8px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(61,27,94,0.10);
    border-radius: 24px; padding: 6px 6px 6px 14px;
    box-shadow: 0 4px 20px rgba(61,27,94,0.08);
    position: sticky; z-index: 30;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
  }
  .chat-compose:focus-within { border-color: rgba(217,112,154,0.55); box-shadow: 0 0 0 3px rgba(217,139,168,0.16), 0 4px 20px rgba(61,27,94,0.08); }
  .chat-compose textarea {
    flex: 1; min-width: 0; border: none; background: transparent; box-shadow: none;
    padding: 8px 0; max-height: 132px; font-size: 15.5px;
  }
  .chat-compose textarea:focus { border: none; box-shadow: none; }
  .send-btn {
    flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%;
    border: none; cursor: pointer; font-size: 18px; font-weight: 700; line-height: 1;
    background: linear-gradient(135deg, #E297B6, #D9709A); color: #fff;
    transition: transform 0.12s ease, opacity 0.18s ease, filter 0.18s ease;
  }
  .send-btn:disabled { opacity: 0.35; filter: grayscale(0.4); cursor: default; }
  .send-btn:not(:disabled):active { transform: scale(0.82); }

  .quick-modes { position: static; padding: 8px 2px 8px; }
  .mode-chip { background: rgba(255,255,255,0.7); box-shadow: none; border: 1px solid rgba(61,27,94,0.08); color: var(--ink-2); font-weight: 600; }
  .mode-chip:active { background: rgba(217,139,168,0.14); color: #C05C88; }

  /* --- notes feel like writing, not forms --- */
  .modal textarea, #mmNotes {
    background: transparent; border: none; box-shadow: none;
    padding: 8px 2px; font-size: 15.5px; line-height: 1.65; min-height: 120px;
  }
  .modal textarea:focus, #mmNotes:focus { border: none; box-shadow: none; }
  .meeting-mode-modal .field-label { color: #B8A9C9; font-size: 11.5px; letter-spacing: 0.6px; text-transform: uppercase; }

  /* --- spacing & touch targets --- */
  .wrap { padding-left: 18px; padding-right: 18px; }
  .today-section { margin-bottom: 26px; }
  .today-label { padding-bottom: 10px; }
  .status-btn { min-width: 34px; min-height: 32px; }
  .fab-hint { font-size: 12px; color: #B8A9C9; }
  body { -webkit-overflow-scrolling: touch; }

  /* momentum + no accidental horizontal scroll */
  .board, .lane-picker, .quick-modes, .tabs { -webkit-overflow-scrolling: touch; }
  .wrap, .modal { overflow-x: clip; }

  /* v6.1 touch-ups */
  .quick-modes { padding-right: 18px; mask-image: linear-gradient(90deg, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent); }
  .capture input:focus, .chat-compose textarea:focus { caret-color: #D9709A; }

  /* ================= v7: "new iPhone" pass — iOS 17 energy ================= */

  /* Apple's own type. Inter/Poppins retire; SF Pro takes over. */
  body, input, textarea, button, .capture input, .card-title, .today-greet,
  .person-name, .person-page-title, .p-section-title, .p-section-head,
  .current-section, .empty-head, .sheet-item, .bnav-item {
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Inter, sans-serif !important;
  }

  /* airy, near-white canvas instead of the 2012 rainbow */
  body {
    background: #F6F3FA;
    background-image:
      radial-gradient(1200px 500px at 85% -5%, rgba(226,151,182,0.13), transparent 60%),
      radial-gradient(900px 420px at -10% 12%, rgba(123,92,250,0.08), transparent 60%);
    background-attachment: fixed;
  }

  /* header: small brand row, left-aligned, no gold outline */
  header { text-align: left; padding: 14px 4px 0; display: flex; align-items: center; gap: 8px; }
  .disco { font-size: 26px; animation: none; filter: none; }
  h1 {
    font-size: 20px; font-weight: 800; letter-spacing: -0.4px;
    color: var(--ink); text-shadow: none; margin: 0;
  }
  .subtitle { font-size: 12px; margin: 2px 0 0 auto; color: #A08FBB; font-weight: 500; }
  body.scrolled header { padding: 8px 4px 0; }
  body.scrolled h1 { font-size: 17px; margin-left: 0; }
  body.scrolled .subtitle { display: none; }

  /* iOS large-title: the section name is the hero */
  .nav-sticky { background: rgba(246,243,250,0.85); border-bottom: none; padding: 4px 18px 6px; margin: 0 -18px; }
  .topbar { align-items: baseline; }
  .current-section {
    font-size: 30px; font-weight: 800; letter-spacing: -0.7px; color: var(--ink);
    transition: font-size 0.2s ease;
  }
  body.scrolled .nav-sticky { border-bottom: 1px solid rgba(61,27,94,0.07); background: rgba(246,243,250,0.92); }
  body.scrolled .current-section { font-size: 17px; }
  .stats-bar { font-size: 12px; font-weight: 600; color: #A08FBB; }

  /* inset grouped surfaces, hairline separators — Settings-app calm */
  .card, .today-row, .person-card, .p-section, .dump-item, .win-item, .mu-day, .paul-item {
    background: #FFFFFF;
    border: none;
    border-radius: 14px;
    box-shadow: 0 0 0 0.5px rgba(61,27,94,0.06);
  }
  .card { box-shadow: 0 0 0 0.5px rgba(61,27,94,0.06); border-left: none; }
  .card::before {
    content: ''; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px;
    border-radius: 3px; background: var(--accent); opacity: 0.85;
  }
  .card { position: relative; padding-left: 18px; }
  .today-row { box-shadow: 0 0 0 0.5px rgba(61,27,94,0.06); }
  .today-row.muted { background: rgba(255,255,255,0.55); box-shadow: none; }
  .today-greet { font-weight: 800; letter-spacing: -0.6px; }
  .today-label { color: #A08FBB; font-size: 12.5px; font-weight: 600; letter-spacing: -0.1px; text-transform: none; }
  .p-section { background: #FFFFFF; }
  .empty-state { color: #A08FBB; }

  /* frosted, hairline bottom nav — straight out of iOS */
  .bottom-nav {
    background: rgba(249,247,252,0.82);
    backdrop-filter: blur(24px) saturate(1.6); -webkit-backdrop-filter: blur(24px) saturate(1.6);
    box-shadow: none; border-top: 0.5px solid rgba(61,27,94,0.12);
  }
  .bnav-label { font-size: 10px; font-weight: 500; letter-spacing: 0; }
  .bnav-item.active .bnav-label { font-weight: 600; text-shadow: none; }
  .more-sheet { background: rgba(249,247,252,0.97); }

  /* pills & chips: quieter, tint-on-active */
  .lane-pill { background: rgba(118,118,128,0.08); color: #6C6478; font-weight: 600; }
  .lane-pill.active { background: #FFFFFF; box-shadow: 0 1px 6px rgba(61,27,94,0.10), 0 0 0 1px rgba(61,27,94,0.05); color: var(--ink); }
  .mode-chip { background: rgba(118,118,128,0.08); border: none; color: #55495F; }
  .chip-btn { border: none; background: rgba(118,118,128,0.08); color: #55495F; }

  /* inputs: iOS search-field feel */
  input[type=text], textarea { background: #FFFFFF; border: 0.5px solid rgba(61,27,94,0.14); border-radius: 12px; }
  .capture { background: #FFFFFF; border: 0.5px solid rgba(61,27,94,0.14); }
  .chat-compose { background: rgba(255,255,255,0.96); border: 0.5px solid rgba(61,27,94,0.14); }

  /* modals & sheets: iOS card sheets */
  .modal { background: #FBFAFD; border-radius: 20px; }
  .modal h3 { font-weight: 800; letter-spacing: -0.4px; }
  .btn-cancel { background: rgba(118,118,128,0.10); border: none; color: var(--ink); font-weight: 600; }

  /* typography tightening */
  .card-title { font-weight: 600; font-size: 15.5px; letter-spacing: -0.2px; }
  .person-name { font-weight: 600; letter-spacing: -0.2px; }
  .person-page-title { font-weight: 800; letter-spacing: -0.5px; }
  .p-section-head, .p-section-title { font-weight: 700; letter-spacing: -0.3px; }
  .col-head { font-weight: 700; letter-spacing: -0.2px; text-transform: none; }

  /* chat: keep the pink bubbles, iOS-grade neutrals elsewhere */
  .chat-bubble { background: #FFFFFF; box-shadow: 0 0 0 0.5px rgba(61,27,94,0.06); }
  .chat-row.me .chat-bubble { background: linear-gradient(135deg, #E297B6, #D9709A); box-shadow: none; }

  /* v7.1: retire Poppins everywhere — SF wins */
  h1, h2, h3, .today-greet, .today-label, .person-name, .person-page-title,
  .p-section-title, .p-section-head, .empty-head, .hist-date, .col-head,
  .modal h3, .current-section, .card-title, .meeting-group-head {
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Inter, sans-serif !important;
  }

  /* v7.2: brand row removed — large title IS the top; breathe with safe area */
  .nav-sticky { padding-top: max(14px, env(safe-area-inset-top)); }
  .current-section { font-size: 32px; }
  .today-sub { margin-top: 2px; }

  /* v7.3: bottom nav tabs become little bubble pills 🫧 */
  .bottom-nav { padding-top: 8px; gap: 6px; }
  .bnav-item {
    flex-direction: column; gap: 2px;
    padding: 7px 12px 6px; min-width: 58px;
    border-radius: 999px;
    background: rgba(255,255,255,0.55);
    box-shadow: 0 0 0 0.5px rgba(61,27,94,0.07);
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease;
  }
  .bnav-item:active { transform: scale(0.9); }
  .bnav-item.active {
    background: linear-gradient(135deg, #F3D3E0, #EBBED2);
    box-shadow: 0 2px 10px rgba(217,139,168,0.35), 0 0 0 0.5px rgba(192,106,140,0.25);
  }
  .bnav-item.active .bnav-label { color: #A34E72; font-weight: 700; }
  .bnav-item.active .bnav-icon { transform: none; }
  .bnav-label { font-size: 9.5px; }

  /* v7.4: tidy title row — smaller, left-aligned, everything on one clean line */
  .nav-sticky { padding-top: max(12px, env(safe-area-inset-top)); padding-bottom: 4px; }
  .topbar { display: flex; align-items: center; gap: 10px; }
  .current-section {
    font-size: 21px; font-weight: 800; letter-spacing: -0.4px;
    flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .stats-bar { font-size: 11px; font-weight: 600; color: #A08FBB; white-space: nowrap; margin-right: 44px; }
  body.scrolled .current-section { font-size: 17px; }

  /* consistent gutters: title, capture, and content all start on the same line */
  .wrap { padding-left: 16px; padding-right: 16px; }
  .nav-sticky { margin: 0 -16px; padding-left: 16px; padding-right: 16px; }
  .capture { margin-top: 6px; }
  .bulk-import-btn { margin: 6px 0 2px; }
  .today-sub { padding-left: 2px; }

  /* v7.5: floating dock — the nav lifts off the bottom edge like a real app */
  .bottom-nav {
    left: 12px; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom));
    border-radius: 30px;
    border-top: none;
    box-shadow: 0 8px 28px rgba(61,27,94,0.16), 0 0 0 0.5px rgba(61,27,94,0.08);
    padding: 8px 10px calc(8px);
    justify-content: flex-start; gap: 5px;
  }
  @media (min-width: 720px) {
    .bottom-nav { max-width: 520px; left: 50%; right: auto; transform: translateX(-50%); border-radius: 30px; border: none; }
  }
  .wrap { padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important; }
  .more-sheet { border-radius: 24px 24px 0 0; }

  /* v7.6: on big screens the nav moves to the TOP-LEFT (phones keep the thumb dock) */
  @media (min-width: 720px) {
    .bottom-nav {
      top: 10px; bottom: auto;
      left: 16px; right: auto; transform: none;
      max-width: none; width: auto;
      border-radius: 999px;
      padding: 6px 8px;
      box-shadow: 0 4px 18px rgba(61,27,94,0.12), 0 0 0 0.5px rgba(61,27,94,0.08);
      z-index: 48;
    }
    .bnav-item { flex-direction: row; gap: 6px; padding: 7px 14px; min-width: 0; }
    .bnav-icon { font-size: 16px; }
    .bnav-label { font-size: 12.5px; }
    /* make room up top: content and sticky title drop below the pill row */
    .wrap { padding-top: 58px; padding-bottom: 40px !important; }
    .nav-sticky { top: 0; padding-top: 8px; }
  }

  /* tiny dopamine: the active pill pops when it lands */
  @keyframes pillPop { 0% { transform: scale(0.85); } 55% { transform: scale(1.06); } 100% { transform: scale(1); } }
  .bnav-item.active { animation: pillPop 0.28s ease; }

  /* ================= v8: native iOS discipline pass ================= */

  /* 2. one global gutter (20px) */
  .wrap { padding-left: 20px; padding-right: 20px; }
  .nav-sticky { margin: 0 -20px; padding-left: 20px; padding-right: 20px; }

  /* 3. quiet metadata */
  .stats-bar { font-size: 10.5px; font-weight: 500; color: #B4A6C9; letter-spacing: 0.1px; }
  .stats-bar b { font-weight: 600; color: #A08FBB; }

  /* 5. nav = ONE unified surface, no pill-in-pill */
  .bottom-nav { justify-content: space-between; gap: 4px; padding: 6px 8px calc(6px); }
  .bnav-item {
    flex: 1 1 0; min-width: 0; padding: 7px 4px 6px;
    background: transparent; box-shadow: none; border-radius: 22px;
  }
  .bnav-item.active {
    background: linear-gradient(135deg, #F6DCE7, #F1CCDC);
    box-shadow: none;
  }
  .bnav-icon { font-size: 19px; line-height: 22px; height: 22px; display: block; }
  .bnav-item:not(.active) .bnav-icon { filter: grayscale(0.55) opacity(0.6); }
  .bnav-label { font-size: 10px; line-height: 12px; }
  .bnav-item:not(.active) .bnav-label { color: #A99BBB; font-weight: 500; }
  @media (min-width: 720px) {
    .bnav-item { flex: 0 0 auto; padding: 7px 14px; }
  }

  /* 19. quick capture = compact composer with inline ↑ */
  .capture { padding: 4px 4px 4px 16px; border-radius: 999px; align-items: center; gap: 8px; }
  .capture input { padding: 9px 0; font-size: 15px; }
  .capture button {
    flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%;
    padding: 0; font-size: 17px; font-weight: 700; line-height: 1;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #E297B6, #D9709A); color: #fff;
    box-shadow: 0 2px 8px rgba(217,112,154,0.35);
  }

  /* 6. compact scannable rows */
  .today-row { padding: 10px 12px; }
  .today-section { margin-bottom: 22px; }
  .today-label { margin-bottom: 8px; }
  .label-count { font-weight: 600; color: #C3B5D6; margin-left: 2px; }
  .see-all-btn {
    display: block; border: none; background: transparent; cursor: pointer;
    padding: 8px 12px; font-size: 13px; font-weight: 600; color: #C06A8C;
    font-family: inherit;
  }
  .card { padding: 12px 14px 10px 18px; }
  .card-title { font-size: 15px; }

  /* 9. status chip instead of five buttons */
  .status-chip {
    border: none; cursor: pointer; font-family: inherit;
    font-size: 11.5px; font-weight: 600; color: #55495F;
    background: #FBEFF5;
    box-shadow: inset 0 0 0 1px rgba(217,139,168,0.4);
    background: color-mix(in srgb, var(--sc, #E8A7C4) 18%, #fff);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sc, #E8A7C4) 35%, transparent);
    border-radius: 999px; padding: 5px 10px;
  }
  .status-row { justify-content: space-between; align-items: center; }
  .menu-status-row { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
  .menu-status-row .status-btn {
    flex: 0 0 auto; width: auto; padding: 6px 10px; font-size: 11.5px;
    border-radius: 999px; border: none; cursor: pointer; font-family: inherit;
    background: #FCF2F7;
    box-shadow: inset 0 0 0 1px rgba(217,139,168,0.35);
    background: color-mix(in srgb, var(--sc, #E8A7C4) 14%, #fff);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sc, #E8A7C4) 30%, transparent);
    color: #55495F; font-weight: 600;
  }

  /* 10. Brain = elegant inbox */
  .dump-item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; position: relative; transition: background 0.15s, transform 0.12s ease; border-radius: 12px; }
  .dump-item:hover { background: rgba(255,255,255,0.7); }
  .dump-item:active { transform: scale(0.985); }
  .dump-main { flex: 1; min-width: 0; }
  .dump-text { font-size: 14.5px; }
  .dump-meta { font-size: 11px; color: #B4A6C9; margin-top: 2px; }
  .dump-actions { display: flex; align-items: center; gap: 4px; margin: 0; }
  .dump-promote {
    border: none; cursor: pointer; background: rgba(118,118,128,0.08);
    width: 30px; height: 30px; border-radius: 50%; font-size: 13px;
    display: flex; align-items: center; justify-content: center;
  }
  .dump-menu { position: absolute; right: 10px; top: calc(100% - 6px); z-index: 5; background: #fff; border-radius: 14px; box-shadow: 0 8px 24px rgba(61,27,94,0.16); padding: 8px; }

  /* 11. people rows with quiet status */
  .person-card { padding: 12px 14px; gap: 10px; }
  .person-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
  .person-sub { font-size: 11.5px; color: #B4A6C9; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .person-status { font-size: 11.5px; color: #B4A6C9; }
  .person-status.ready { color: #C06A8C; font-weight: 700; }

  /* 16. compact empty states */
  .empty-state { padding: 18px 14px; }
  .empty-emoji { font-size: 26px; }

  /* 14. tactile taps, no cartoon physics */
  .today-row, .person-card, .dump-item, .card { transition: transform 0.12s ease; }
  .today-row:active, .person-card:active, .dump-item:active { transform: scale(0.985); }
  .bnav-item.active { animation: none; }

  /* 17. no visible scrollbars on chip rows */
  .lane-pills, .quick-modes, .menu-status-row { scrollbar-width: none; }
  .lane-pills::-webkit-scrollbar, .quick-modes::-webkit-scrollbar { display: none; }

  /* v8.1: crown aligns with the title row; header gets breathing room */
  .nav-sticky { padding-top: max(18px, calc(env(safe-area-inset-top) + 6px)); }
  .topbar { min-height: 34px; align-items: center; }
  .stats-bar { margin-right: 46px; }
  .crown-wrap { top: max(18px, calc(env(safe-area-inset-top) + 6px)); right: 20px; }
  @media (min-width: 720px) {
    .crown-wrap { top: 15px; right: 16px; }
  }

  /* v8.2: More sheet on a diet — one-line rows, quieter subtitles */
  .sheet-item { padding: 12px 14px; }
  .sheet-sub { font-size: 11px; color: #B4A6C9; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  /* ================= v9: daily Brain threads ================= */
  .daily-threads-container {
    gap: 20px;
    padding: 2px 0 24px;
  }
  .daily-thread-card,
  .daily-thread-card.is-today {
    overflow: hidden;
    background: #FFFFFF;
    border: none;
    border-radius: 16px;
    box-shadow: 0 0 0 0.5px rgba(61,27,94,0.08);
    transition: none;
  }
  .daily-thread-card.is-today {
    box-shadow: 0 0 0 0.5px rgba(217,112,154,0.20);
  }
  .daily-thread-head {
    min-height: 52px;
    padding: 13px 16px;
    gap: 12px;
    background: transparent;
    border-bottom: 0.5px solid rgba(61,27,94,0.07);
  }
  .daily-thread-card.is-older .daily-thread-head:active {
    background: rgba(118,118,128,0.06);
  }
  .daily-thread-head:focus-visible {
    outline: 3px solid rgba(217,112,154,0.22);
    outline-offset: -3px;
  }
  .dt-head-main {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 7px;
  }
  .dt-date,
  .wr-header {
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Inter, sans-serif;
  }
  .dt-date {
    color: var(--ink);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.2px;
  }
  .dt-chevron {
    color: #B4A6C9;
    font-size: 13px;
    line-height: 1;
  }
  .dt-status {
    flex: 0 0 auto;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 650;
  }
  .dt-status.open {
    color: #76678B;
    background: rgba(118,118,128,0.09);
  }
  .dt-status.wrapping {
    color: #A34E72;
    background: #FBEAF2;
  }
  .dt-status.review {
    color: #8A548C;
    background: #F4EAF6;
  }
  .dt-status.paused {
    color: #8A6520;
    background: #FFF3D6;
  }
  .dt-status.wrapped {
    color: #9D4E70;
    background: #F8E5EE;
    box-shadow: none;
  }
  .dt-body {
    padding: 10px 0 16px;
    animation: none;
  }
  .dt-entries {
    gap: 6px;
    margin-bottom: 14px;
  }
  .dt-entry {
    display: flex;
    gap: 12px;
    padding: 6px 16px;
    border-radius: 8px;
    transition: background 0.15s;
    align-items: flex-start;
  }
  .dt-entry:hover {
    background: rgba(255,255,255,0.4);
  }
  .dt-time {
    width: 50px;
    padding-top: 2px;
    color: #9C87C9;
    font-size: 11px;
    font-weight: 700;
    text-align: right;
  }
  .dt-text {
    min-width: 0;
    flex: 1;
    padding: 0;
    color: var(--ink);
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    font-size: 14.5px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  .dt-inline-compose {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 6px 0 12px 50px;
    padding: 6px 6px 6px 12px;
    background: #FFFFFF;
    border: 1px solid rgba(123,92,250,0.3);
    border-radius: 12px;
    box-shadow: inset 0 1px 3px rgba(61,27,94,0.02);
  }
  .dt-inline-compose:focus-within {
    border-color: #7B5CFA;
    box-shadow: 0 0 0 3px rgba(123,92,250,0.15);
  }
  .dt-inline-compose input[type="text"] {
    min-width: 0;
    flex: 1;
    padding: 7px 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    font-size: 14px;
  }
  .dt-inline-compose button {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: linear-gradient(135deg, #E297B6, #D9709A);
    color: #FFFFFF;
    cursor: pointer;
    font-size: 16px;
    font-weight: 750;
    transition: transform 0.15s, filter 0.15s;
  }
  .dt-inline-compose button:active { transform: scale(0.92); filter: brightness(0.9); }
  .dt-wrap-btn {
    min-height: 44px;
    margin-top: 8px;
    padding: 11px 14px;
    border-radius: 12px;
    background: linear-gradient(135deg, #E297B6, #D9709A);
    box-shadow: none;
    font-family: inherit;
    font-size: 14.5px;
    font-weight: 700;
  }
  .dt-reopen-btn {
    min-height: 40px;
    margin-top: 14px;
    padding: 9px 12px;
    border: none;
    border-radius: 12px;
    background: rgba(118,118,128,0.08);
    color: #6F627D;
    font-family: inherit;
    font-size: 13px;
    box-shadow: none;
  }
  .wrap-review,
  .wrap-recovery {
    margin-top: 8px;
    padding: 15px;
    border: 0.5px solid rgba(217,112,154,0.22);
    border-radius: 15px;
    background: #FCF8FB;
    animation: none;
  }
  .wr-header,
  .wr-recovery-title {
    margin-bottom: 14px;
    color: var(--ink);
    font-size: 15px;
    font-weight: 750;
    letter-spacing: -0.2px;
  }
  .wr-section {
    margin-bottom: 15px;
  }
  .wr-section label,
  .ws-block-title {
    margin-bottom: 6px;
    color: #9F8DAF;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.45px;
  }
  .wr-textarea {
    width: 100%;
    padding: 10px 11px;
    border: 0.5px solid rgba(61,27,94,0.13);
    border-radius: 11px;
    background: #FFFFFF;
    color: var(--ink);
    font-family: inherit;
    font-size: 14px;
    font-weight: 450;
    line-height: 1.45;
  }
  .wr-textarea:focus {
    border-color: rgba(217,112,154,0.65);
    box-shadow: 0 0 0 3px rgba(217,139,168,0.13);
  }
  .wr-todos {
    gap: 7px;
  }
  .wr-todo-item {
    gap: 9px;
    padding: 7px 9px;
    border: 0.5px solid rgba(61,27,94,0.10);
    border-radius: 11px;
    background: #FFFFFF;
  }
  .wr-todo-item input[type="checkbox"] {
    width: 19px;
    height: 19px;
    accent-color: #D9709A;
  }
  .wr-todo-input,
  .wr-todo-item .wr-todo-input {
    padding: 5px 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ink);
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
  }
  .wr-actions {
    gap: 8px;
    margin-top: 17px;
  }
  .wr-actions button {
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 11px;
    font-family: inherit;
    font-size: 14px;
  }
  .wr-actions .btn-cancel {
    background: rgba(118,118,128,0.09);
    color: #6F627D;
  }
  .wr-actions .btn-save,
  .wrap-recovery .btn-save {
    background: linear-gradient(135deg, #E297B6, #D9709A);
    color: #FFFFFF;
    box-shadow: none;
  }
  .wr-actions button:disabled,
  .wrap-recovery button:disabled {
    opacity: 0.55;
    cursor: default;
  }
  .wr-recovery-title {
    margin-bottom: 5px;
  }
  .wr-recovery-copy {
    color: #7B6D88;
    font-size: 13px;
    line-height: 1.45;
  }
  .wrap-recovery .btn-save {
    width: 100%;
    min-height: 42px;
    margin-top: 13px;
    padding: 10px 12px;
    border: none;
    border-radius: 11px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
  }
  .wrapped-summary {
    gap: 13px;
    animation: none;
  }
  .ws-summary {
    color: var(--ink);
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.5;
  }
  .ws-blocks {
    gap: 12px;
  }
  .ws-block {
    padding: 12px 14px;
    border-radius: 8px;
    background: rgba(255,255,255,0.85);
    border-left: 4px solid #D9709A;
    box-shadow: 0 2px 8px rgba(61,27,94,0.05);
    border-top: 1px solid rgba(255,255,255,0.5);
    border-right: 1px solid rgba(255,255,255,0.5);
    border-bottom: 1px solid rgba(255,255,255,0.5);
  }
  .ws-block-text {
    color: var(--ink);
    font-size: 13.5px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  .ws-share-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
  }
  .ws-copy-btn,
  .ws-share-btn {
    flex: 1;
    min-height: 38px;
    margin: 0;
    padding: 8px 11px;
    border: none;
    border-radius: 10px;
    box-shadow: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 650;
  }
  .ws-copy-btn {
    background: #FFFFFF;
    color: #A34E72;
    box-shadow: 0 0 0 0.5px rgba(217,112,154,0.24);
  }
  .ws-share-btn {
    background: linear-gradient(135deg, #E297B6, #D9709A);
    color: #FFFFFF;
  }
  .ws-footer {
    margin-top: 1px;
    color: #A99BBB;
    font-size: 10.5px;
    font-weight: 600;
    line-height: 1.4;
  }
  .loose-notes-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 40px;
    padding: 0 2px;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
  }
  .loose-notes-toggle:focus-visible {
    outline: 2px solid #7B5CFA;
    outline-offset: 3px;
    border-radius: 8px;
  }
  @media (max-width: 430px) {
    .dt-body {
      padding-left: 0;
      padding-right: 0;
    }
    .dt-entry {
      display: flex;
      padding: 6px 12px;
      gap: 8px;
    }
    .dt-time {
      width: 46px;
      padding-top: 2px;
      text-align: right;
    }
    .dt-text {
      border-top-left-radius: 0;
    }
    .dt-inline-compose {
      margin-left: 0;
    }
    .wr-textarea,
    .wr-todo-input,
    .wr-todo-item .wr-todo-input,
    .dt-inline-compose input[type="text"] {
      font-size: 16px;
    }
  }

  .wr-route-note {
    margin-top: 7px;
    padding-left: 10px;
    border-left: 2px solid rgba(217,112,154,0.55);
    color: #76678B;
    font-size: 11.5px;
    line-height: 1.45;
  }
  .wr-route-note strong {
    color: #9D4E70;
    font-weight: 700;
  }
  .ws-destinations {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
  }
  .ws-destinations span,
  .agenda-source,
  .mu-source {
    color: #9D4E70;
    font-size: 10.5px;
    font-weight: 650;
    letter-spacing: 0.05px;
  }
  .ws-destinations span {
    padding: 4px 8px;
    border: 1px solid rgba(217,112,154,0.20);
    border-radius: 999px;
    background: rgba(251,234,242,0.78);
  }
  .agenda-source,
  .mu-source {
    display: block;
    margin-top: 4px;
    color: #A989B9;
  }

/* ================= NEW VIBE OVERRIDES ================= */
.sidebar { border-right: 1px solid rgba(255,255,255,0.08); background: #351C42; }
.capture {
  background: rgba(255,255,255,0.92) !important;
  border-radius: 12px !important;
  border: 1px solid rgba(123,92,250,0.3) !important;
  padding: 6px !important;
  box-shadow: 0 4px 14px rgba(61,27,94,0.08) !important;
  display: flex !important;
  flex-direction: row !important;
  margin: 0 !important;
}
.capture input {
  font-size: 15.5px !important;
  padding: 8px 10px !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.capture button#captureBtn {
  background: #7B5CFA !important;
  border-radius: 8px !important;
  width: 36px !important;
  height: 36px !important;
  box-shadow: 0 2px 8px rgba(123,92,250,0.3) !important;
  flex: 0 0 auto !important;
}
.capture button#captureBtn svg { width: 20px; height: 20px; color: white; margin: 0 auto; display: block; }
.bulk-import-btn { margin-bottom: 8px !important; margin-left: 0 !important; }

/* Hide old bottom-nav completely if it wasn't removed */
.bottom-nav { display: none !important; }
.more-sheet { display: none !important; }
.sheet-overlay { display: none !important; }

/* Fix card colors for contrast against the new background */
.card, .dump-item, .meeting-card, .daily-thread-card {
  background: rgba(255,255,255,0.95) !important;
  border-color: rgba(217,139,168,0.2) !important;
}
.dt-body { background: transparent !important; }

.app-layout {
  background: linear-gradient(135deg, #FDE8FF 0%, #E4D8FF 35%, #D4E6FF 70%, #FFE8F5 100%) !important;
}

/* ================= BRAIN CHAT EXPERIENCE ================= */
.chat-composer-controls {
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.chat-composer-controls[hidden] {
  display: none !important;
}
.capture[hidden] {
  display: none !important;
}
.checkin-prompt {
  color: #6F627D;
  font-size: 11.5px;
  font-weight: 700;
  white-space: nowrap;
}
.checkin-prompt span {
  color: #A99BBB;
  font-weight: 600;
}
.capture textarea {
  min-width: 0;
  flex: 1;
  max-height: 108px;
  padding: 8px 10px !important;
  border: none !important;
  outline: none;
  resize: none;
  background: transparent !important;
  box-shadow: none !important;
  color: #3D1B5E;
  font-family: 'Inter', sans-serif;
  font-size: 15.5px;
  font-weight: 500;
  line-height: 1.45;
}
.capture textarea::placeholder { color: #B49FE0; }
.capture.brain-composer {
  align-items: flex-end;
  border-radius: 18px !important;
  padding: 6px !important;
}
.brain-thread-intro {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 14px 16px;
  border: 1px solid rgba(123,92,250,0.14);
  border-radius: 15px;
  background: rgba(255,255,255,0.72);
  box-shadow: 0 4px 14px rgba(61,27,94,0.05);
}
.brain-thread-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: #F2EAFE;
  flex: 0 0 auto;
}
.brain-thread-title {
  color: #3D2B56;
  font-size: 14px;
  font-weight: 800;
}
.brain-thread-subtitle {
  margin-top: 2px;
  color: #7B6D88;
  font-size: 12px;
  line-height: 1.45;
}
.daily-thread-card {
  background: transparent !important;
}
.slack-emoji-checkin {
  color: #6F627D;
  font-size: 11.5px;
  font-weight: 700;
}
.wr-output-eyebrow,
.wr-secondary-label {
  color: #9D4E70;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.65px;
  text-transform: uppercase;
}
.wr-output-eyebrow { margin-bottom: 5px; }
.wr-output-copy {
  margin: -1px 0 10px;
  color: #76678B;
  font-size: 12.5px;
  line-height: 1.45;
}
.wr-secondary-label {
  margin: 2px 0 10px;
  color: #8A7B9A;
}
.wr-approval-note {
  margin-top: 10px;
  color: #8A7B9A;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
.carmel-dominant {
  position: relative;
  overflow: hidden;
  padding: 18px !important;
  border: 1px solid rgba(217,112,154,0.26) !important;
  background: linear-gradient(145deg, #FFFDFE 0%, #FBEAF2 100%) !important;
  box-shadow: 0 8px 24px rgba(157,78,112,0.10) !important;
}
.carmel-dominant::after {
  content: "";
  position: absolute;
  right: -24px;
  top: -32px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(232,167,196,0.17);
  pointer-events: none;
}
.carmel-dominant > * { position: relative; z-index: 1; }
.carmel-dominant label {
  color: #3D1B5E !important;
  font-size: 15px !important;
  text-transform: none !important;
  letter-spacing: -0.1px !important;
}
.carmel-textarea {
  min-height: 160px;
  border-color: rgba(157,78,112,0.22) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}
.carmel-copy-btn {
  min-height: 40px;
  border-color: rgba(157,78,112,0.28);
  color: #9D4E70;
}

@media (max-width: 768px) {
  .chat-composer-controls {
    display: block;
  }
  .checkin-prompt {
    display: block;
    margin: 0 0 6px 2px;
  }
  .emoji-checkin-row { padding: 4px; }
  .wr-carmel-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .carmel-copy-btn {
    width: 100%;
    min-height: 42px;
  }
  .brain-thread-intro { padding: 12px 13px; }
  .slack-msg { padding-inline: 2px; }
  .slack-avatar {
    width: 34px;
    height: 34px;
  }
}

/* ================= BRAIN CHANNEL ALIGNMENT ================= */
.brain-composer-tools {
  display: flex;
  flex-direction: column;
  order: -1;
}

.brain-active .scrollable-views {
  min-height: 0;
  padding: 0;
  background: rgba(255,255,255,0.62);
}
.brain-active .views-container,
.brain-active #dumpView {
  width: 100%;
  height: 100%;
  min-height: 100%;
}
.brain-active .views-container {
  max-width: none;
}
.brain-active .daily-threads-container {
  gap: 0;
  min-height: 100%;
  max-width: 900px;
  margin: 0 auto;
  background: rgba(255,255,255,0.42);
  border-inline: 1px solid rgba(61,43,86,0.08);
}
.brain-active .brain-thread-intro {
  gap: 10px;
  padding: 14px 18px 12px;
  border: 0;
  border-bottom: 1px solid rgba(61,43,86,0.11);
  border-radius: 0;
  background: rgba(255,255,255,0.78);
  box-shadow: none;
}
.brain-active .brain-thread-icon {
  width: 30px;
  height: 30px;
  background: #F4EFF8;
}
.brain-active .brain-thread-title {
  font-size: 16px;
  letter-spacing: -0.1px;
}
.brain-active .brain-thread-subtitle {
  font-size: 11.5px;
  color: #887B94;
}
.brain-active .daily-thread-card.is-today {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 300px;
  margin: 0;
  padding: 0 16px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.brain-active .daily-thread-head {
  gap: 10px;
  margin: 0;
  padding: 14px 0 10px;
}
.brain-active .daily-thread-head::before {
  background: rgba(61,43,86,0.14);
}
.brain-active .dt-head-main {
  padding: 2px 10px;
  border-color: rgba(61,43,86,0.12);
  background: #FBF9FC;
  box-shadow: none;
}
.brain-active .dt-date {
  color: #766A80;
  font-size: 11.5px;
  font-weight: 700;
}
.brain-active .dt-status {
  padding: 3px 8px;
  border-color: rgba(61,43,86,0.1);
  background: #FBF9FC;
  box-shadow: none;
  font-size: 10.5px;
}
.brain-active .daily-thread-card.is-today .dt-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.brain-active .daily-thread-card.is-today .empty-state {
  flex: 1;
  min-height: 180px;
  display: grid;
  place-content: center;
  margin: 0;
  padding: 32px 18px;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.brain-active .dt-entries {
  gap: 2px;
  margin-bottom: 12px;
}
.brain-active .slack-msg {
  padding: 8px 4px;
}
.brain-active .slack-avatar {
  width: 36px;
  height: 36px;
  border-radius: 8px;
}
.brain-active .slack-content {
  min-width: 0;
}
.brain-active .slack-text {
  margin-top: 2px;
  line-height: 1.48;
}
.brain-active .mu-history-label,
.brain-active .loose-notes-toggle {
  margin-inline: 16px;
}

.brain-mode .brain-compose-shell {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(61,43,86,0.2);
  border-radius: 14px;
  background: #FFFFFF;
  box-shadow: 0 2px 10px rgba(61,43,86,0.09);
  transition: border-color 0.16s, box-shadow 0.16s;
}
.brain-mode .brain-compose-shell:focus-within {
  border-color: rgba(123,92,250,0.58);
  box-shadow: 0 0 0 3px rgba(123,92,250,0.1), 0 3px 12px rgba(61,43,86,0.1);
}
.brain-mode .capture.brain-composer {
  order: 1;
  min-height: 64px;
  padding: 8px 8px 6px 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none !important;
}
.brain-mode .capture textarea {
  min-height: 50px;
  max-height: 120px;
  padding: 10px 8px !important;
  font-size: 15px;
  line-height: 1.45;
}
.brain-mode .capture button#captureBtn {
  width: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
.brain-mode .brain-composer-tools {
  order: 2;
  min-height: 42px;
  padding: 5px 7px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
  border-top: 1px solid rgba(61,43,86,0.08);
  background: #FCFAFD;
}
.brain-mode .bulk-import-btn {
  min-height: 30px;
  margin: 0 !important;
  padding: 0 9px;
  border: 0;
  border-radius: 7px;
  background: #F3F0F5;
  color: #695877;
  font-size: 11px;
  font-weight: 700;
}
.brain-mode .chat-composer-controls {
  min-width: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 5px;
}
.brain-mode .checkin-prompt {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.brain-mode .emoji-checkin-row {
  gap: 4px;
  overflow: visible;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.brain-mode .emoji-checkin-btn {
  width: 30px;
  height: 30px;
  justify-content: center;
  padding: 0;
  border-radius: 7px;
  background: #F3F0F5;
  color: #3D2B56;
  font-size: 15px;
}
.brain-mode .emoji-checkin-label {
  display: none;
}
.brain-active .capture-dock {
  padding: 9px 12px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(61,43,86,0.12);
  background: rgba(250,248,252,0.94);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.brain-active .fab-hint {
  margin-top: 6px;
  color: #9B8EA6;
  font-size: 10.5px;
  font-weight: 500;
}

@media (max-width: 768px) {
  .brain-active .main-header {
    height: 54px;
  }
  .brain-active .daily-threads-container {
    border-inline: 0;
  }
  .brain-active .daily-thread-card.is-today {
    min-height: 260px;
    padding-inline: 12px;
  }
  .brain-active .brain-thread-intro {
    padding-inline: 14px;
  }
  .brain-mode .brain-composer-tools {
    overflow-x: auto;
  }
}
