/* v21 uses the existing monochrome tokens in both themes. */
body[data-sidebar="collapsed"] .sidebar{display:none}
body[data-sidebar="collapsed"] .main-shell{margin-inline-start:0;margin-right:0;width:100%}
body[data-sidebar="collapsed"] main{max-width:none}
#sidebar-toggle{flex:none;min-width:34px;margin-inline-end:4px}
.v21-check{appearance:auto!important;width:17px!important;height:17px!important;min-width:17px;padding:0!important;margin:0;accent-color:var(--text);cursor:pointer;vertical-align:middle;border-radius:4px}
.v21-check:disabled{cursor:default;opacity:.3}
.v21-check:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.v21-row-tools{display:flex;align-items:center;flex:none;gap:1px}
.v21-habit-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;border-bottom:1px solid var(--border);padding:4px 0}
.v21-habit-row label,.v21-goal-component label,.v21-reminder label{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0;flex:1}
.v21-habit-row label span,.v21-goal-component label span{overflow-wrap:anywhere}
.v21-habit-row .v21-row-tools .ui-action{width:26px;min-width:26px;height:28px}
.v21-habit-name{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.v21-habit-name strong{font-size:12px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.v21-habit-table{min-width:980px;table-layout:fixed}
.v21-habit-table th:first-child{width:148px;min-width:148px;max-width:148px;padding:7px 10px}
.v21-habit-table td{padding:4px 2px;height:55px;vertical-align:middle}
.v21-habit-table .ui-action{width:24px;min-width:24px;height:23px;padding:3px}
.v21-habit-table .ui-icon{width:14px;height:14px}
.v21-challenge-cell{display:grid;place-items:center;min-height:42px}
.v21-focus{width:min(480px,100%);margin:24px auto;display:flex;flex-direction:column;align-items:center;gap:22px;padding:28px}
.v21-focus .focus-ring{width:252px;height:252px;margin:0;max-width:100%;aspect-ratio:1}
.v21-focus .focus-inner{gap:12px}
.v21-focus .focus-time{font-size:42px;letter-spacing:1px;font-variant-numeric:tabular-nums;font-family:var(--latin),Arial,sans-serif}
.v21-focus form{width:100%;display:grid;gap:14px}
.v21-focus .field{margin:0}.v21-focus input{font-variant-numeric:tabular-nums}
.v21-focus-link{padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;font-size:14px}
.v21-focus-context{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.v21-focus-context time{display:inline-block;font-variant-numeric:tabular-nums}
.v21-focus-secondary{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.v21-goal-progress{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--muted);margin:10px 0}
.v21-goal-progress strong{color:var(--text);font-size:20px}
.v21-goal-components{margin:14px 0 7px;border-top:1px solid var(--border)}
.v21-goal-component{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}
.v21-goal-component small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.v21-goal-component input:checked+span{text-decoration:line-through;color:var(--muted)}
.v21-affirmation{padding:20px 24px;border-inline-start:3px solid var(--text);background:var(--surface);border-radius:12px;margin-bottom:24px}
.v21-affirmation>span{font-size:11px;color:var(--muted)}
.v21-affirmation p{margin:7px 0 0;font-size:19px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.v21-reminder{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--border)}
.v21-reminder label>span{display:flex;gap:10px;flex-wrap:wrap;font-size:13px}.v21-reminder time{color:var(--muted)}
.v21-reminder.is-complete .v21-reminder-title{text-decoration:line-through;color:var(--muted)}
.settings-section details>.stack{margin-top:16px}.v21-import{display:block;cursor:pointer;text-align:center}
#morning-affirmation{width:100%;resize:vertical}
.v21-chat-launcher{position:fixed;bottom:20px;left:20px;z-index:82;border:1px solid var(--border);background:var(--text);color:var(--bg);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow-soft);cursor:pointer}
.v21-chat{position:fixed;bottom:80px;left:20px;z-index:82;width:min(420px,42vw);height:min(650px,78dvh);display:flex;flex-direction:column;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);overflow:hidden}
.v21-chat-head{display:flex;align-items:center;gap:8px;padding:15px;border-bottom:1px solid var(--border);flex:none}
.v21-chat-head>div{flex:1;min-width:0}.v21-chat-head strong{font-size:17px}.v21-chat-head small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.v21-chat-scroll{overflow:auto;min-height:0;flex:1;padding:14px;overscroll-behavior:contain;scrollbar-width:thin}
.v21-chat .v15-message{max-width:94%;font-size:13px;line-height:1.8;margin-bottom:12px;padding:11px 13px;overflow-wrap:anywhere;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}
.v21-chat .v15-message.from-user{margin-inline-start:6%;background:var(--surface-3)}
.v21-chat-budget{font-size:11px;color:var(--muted);padding:8px 0}
.v21-chat-compose{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border);align-items:flex-end;flex:none}
.v21-chat-compose textarea{min-height:55px;max-height:100px;height:60px;resize:vertical;flex:1;min-width:0;font-size:13px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font-family:inherit}
.v21-chat-compose button{min-height:40px;padding:7px 12px;font-size:12px}
.v21-pending{border-top:1px solid var(--border);padding-top:12px}.v21-pending h3{font-size:13px}
.v21-suggestion{border-bottom:1px solid var(--border);padding:10px 0;display:grid;gap:8px}.v21-suggestion>label{display:flex;gap:7px;align-items:center;font-size:12px}.v21-suggestion>small{font-size:10px;color:var(--muted)}
.v21-suggestion-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v21-suggestion-fields label{font-size:10px;display:grid;gap:3px;min-width:0}.v21-suggestion-fields label:last-child{grid-column:1/-1}.v21-suggestion-fields input,.v21-suggestion-fields select{min-width:0;width:100%;font-size:12px;padding:6px}
body:has(.modal-overlay) #saros-chat-root{visibility:hidden}
@media(max-width:900px){#sidebar-toggle{display:none}.v21-chat{width:calc(100vw - 24px);height:44dvh;bottom:144px;left:12px;border-radius:16px}.v21-chat-launcher{bottom:84px;left:14px}.v21-chat-head{padding:9px 12px}.v21-chat-head small{font-size:9px}.v21-chat-compose{padding:8px}.v21-chat-compose textarea{height:45px;min-height:45px}.v21-chat-scroll{padding:10px}.v21-focus{margin:14px auto;padding:24px 18px}.v21-affirmation{padding:16px}.v21-affirmation p{font-size:17px}}
@media print{#saros-chat-root,#sidebar-toggle{display:none!important}}

/* Leave the floating launcher its own space below the board controls. */
body[data-screen="matrix"] .v16-help{min-height:42px;display:flex;align-items:center;padding-inline-end:54px}

.v16-zone[data-compact="true"] .v16-note-description{display:none}
