/* External fonts are intentionally optional; the operation layer supplies the visual system. */

:root { --bg:#f6f7fb; --card:#fff; --ink:#18212d; --muted:#87909d; --line:#edf0f4; --navy:#172638; --teal:#38b8ae; --blue:#5579f3; --purple:#9b7bf5; --yellow:#f2b84b; --shadow:0 8px 30px rgba(38,51,77,.045); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--bg); font-family:'DM Sans','Noto Sans SC',sans-serif; font-size:14px; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; border:0; }
.app-shell { display:flex; min-height:100vh; }
.sidebar { width:245px; flex:0 0 245px; min-height:100vh; background:var(--navy); color:#fff; padding:28px 16px 20px; display:flex; flex-direction:column; }
.brand { display:flex; align-items:center; gap:11px; padding:0 13px 45px; }
.brand-mark { width:28px; height:28px; border-radius:9px; background:linear-gradient(145deg,#62d6cb,#2c9e9a); display:grid; place-items:center; font-size:18px; color:#fff; box-shadow:0 5px 15px rgba(56,184,174,.27); }
.brand-title { font-size:14px; font-weight:700; letter-spacing:.1px; }
.brand-caption { color:#8191a5; font-size:10px; margin-top:3px; letter-spacing:.3px; }
.main-nav { display:grid; gap:7px; }
.nav-item { color:#9daabd; background:transparent; text-align:left; display:flex; align-items:center; gap:13px; padding:12px 15px; border-radius:9px; transition:.2s; }
.nav-item:hover { background:rgba(255,255,255,.07); color:#fff; }
.nav-item.active { color:#fff; background:#26394e; box-shadow:inset 3px 0 var(--teal); }
.nav-icon { width:17px; font-size:18px; opacity:.9; line-height:1; }
.sidebar-bottom { margin-top:auto; }
.sync-status { color:#8fa1b5; padding:13px 15px 18px; display:flex; align-items:center; gap:8px; font-size:11px; }
.status-dot { width:7px; height:7px; border-radius:50%; background:#55c9b3; box-shadow:0 0 0 4px rgba(85,201,179,.11); }
.profile-card { color:#fff; width:100%; display:flex; align-items:center; gap:9px; padding:13px 9px; border-top:1px solid rgba(255,255,255,.08); background:transparent; text-align:left; }
.avatar { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; color:#fff; font-weight:700; font-size:12px; background:linear-gradient(145deg,#f6bd81,#e68173); }
.profile-copy { display:grid; gap:3px; flex:1; }.profile-copy strong { font-size:11px; }.profile-copy span { font-size:10px; color:#7e91a6; }.more-icon { color:#76889b; letter-spacing:2px; }
.main-content { min-width:0; flex:1; }
.topbar { height:78px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.65); display:flex; justify-content:space-between; align-items:center; padding:0 42px; }
.breadcrumb { display:flex; gap:10px; align-items:center; color:#b0b7c1; font-size:12px; }.breadcrumb strong { color:#4e5867; font-weight:600; }.slash { color:#c8cdd5; }
.topbar-actions { display:flex; align-items:center; gap:17px; }.icon-button { position:relative; width:28px; height:28px; background:transparent; color:#7c8795; font-size:21px; }.icon-button:hover { color:var(--ink); }.notification-dot { position:absolute; top:3px; right:2px; width:5px; height:5px; border:1px solid var(--bg); border-radius:50%; background:#ed786d; }.date-pill { color:#697484; background:transparent; font-size:11px; }.date-pill span { margin-left:7px; color:#aab2bc; font-size:14px; }.mobile-menu { display:none; background:transparent; font-size:20px; color:#5e6876; }
.page-content { max-width:1390px; margin:0 auto; padding:40px 42px 30px; }
.welcome-row { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:31px; }.eyebrow,.section-kicker { display:block; color:#a5adba; font-size:10px; font-weight:700; letter-spacing:1.35px; }.welcome-row h1 { margin:9px 0 9px; font-size:28px; letter-spacing:-.7px; font-weight:700; }.subheading { color:#8b94a0; margin:0; font-size:12px; }
.primary-button { border-radius:8px; background:var(--teal); color:#fff; font-weight:600; padding:12px 16px; box-shadow:0 6px 16px rgba(56,184,174,.2); transition:.2s; white-space:nowrap; }.primary-button:hover { background:#2fa79f; transform:translateY(-1px); }.primary-button span { font-size:17px; vertical-align:-1px; margin-right:5px; }.full-width { width:100%; margin-top:5px; }
.focus-banner { background:#eaf8f6; border:1px solid #dcf1ee; display:flex; align-items:center; gap:14px; border-radius:10px; padding:15px 20px; margin-bottom:21px; }.focus-icon { flex:0 0 30px; width:30px; height:30px; border-radius:9px; display:grid; place-items:center; color:#27a89e; background:#d5f0eb; font-size:16px; }.focus-copy { flex:1; display:grid; gap:3px; }.focus-copy strong { font-size:12px; font-weight:600; }.focus-copy span:last-child { color:#8da29f; font-size:11px; }.text-button { background:transparent; color:#45a59e; font-size:11px; white-space:nowrap; }.text-button span { margin-left:7px; font-size:15px; }
 .metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-bottom:19px; }.metric-card,.panel { background:var(--card); border:1px solid #eff1f4; border-radius:10px; box-shadow:var(--shadow); }.metric-card { min-height:139px; padding:17px 19px 14px; }.metric-head,.metric-foot { display:flex; justify-content:space-between; align-items:center; }.metric-head { color:#8b95a2; font-size:11px; }.metric-icon { width:25px; height:25px; border-radius:8px; display:grid; place-items:center; font-size:14px; }.metric-icon.blue { color:#5579f3; background:#eef2ff; }.metric-icon.purple { color:#9b7bf5; background:#f3f0ff; }.metric-icon.green { color:#42b9a2; background:#e9f8f4; }.metric-icon.yellow { color:#dda039; background:#fff7e6; }.metric-value { margin-top:13px; font-size:24px; font-weight:700; letter-spacing:-.5px; }.metric-value small { color:#c4c9d0; font-size:13px; font-weight:500; }.metric-value span { color:#9ca5b2; font-size:11px; font-weight:500; margin-left:2px; }.progress-track { height:5px; margin:12px 0 9px; border-radius:8px; background:#eef1f5; overflow:hidden; }.progress-fill { height:100%; border-radius:8px; }.blue-fill { background:#5e7df0; }.metric-foot { color:#b1b8c1; font-size:10px; }.metric-foot .up,.up { color:#54b8a9; }.metric-foot .muted { color:#9ba5b2; }.sparkline { display:flex; align-items:end; gap:3px; height:16px; margin:9px 0 5px; }.sparkline i { width:9%; border-radius:2px 2px 0 0; background:#e7e0ff; }.sparkline i:nth-child(1){height:30%}.sparkline i:nth-child(2){height:50%}.sparkline i:nth-child(3){height:45%}.sparkline i:nth-child(4){height:70%}.sparkline i:nth-child(5){height:55%}.sparkline i:nth-child(6){height:80%}.sparkline i:nth-child(7){height:65%}.sparkline i:nth-child(8){height:90%}.sparkline i:nth-child(9){height:75%}.sparkline i:nth-child(10){height:100%}.sparkline i:nth-child(11){height:85%;background:#a28af1}.project-dots { margin:17px 0 11px; display:flex; gap:4px; }.dot { width:7px; height:7px; border-radius:50%; }.green-dot { background:#50c7a8; }.orange-dot { background:#f0ae59; }.blue-dot { background:#7693f3; }.pink-dot { background:#e995a5; }.idea-foot { margin-top:21px; }.idea-bars { display:flex; align-items:end; gap:4px; height:13px; margin-top:-14px; justify-content:flex-end; }.idea-bars span { width:4px; background:#f5dfac; border-radius:2px 2px 0 0; }.idea-bars span:nth-child(1){height:32%}.idea-bars span:nth-child(2){height:58%}.idea-bars span:nth-child(3){height:45%}.idea-bars span:nth-child(4){height:75%}.idea-bars span:nth-child(5){height:52%}.idea-bars span:nth-child(6){height:88%}.idea-bars span:nth-child(7){height:100%;background:#ecc26e}
.content-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:17px; }.panel { padding:21px 22px; min-width:0; }.panel-header { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; }.panel-header h2 { margin:0 0 6px; font-size:15px; letter-spacing:-.2px; }.panel-header p { color:#a0a8b3; margin:0; font-size:10px; }.ghost-button,.outline-button { background:transparent; color:#8e98a6; font-size:10px; }.ghost-button span,.outline-button span { color:#48b0a6; font-size:14px; margin-left:5px; }.task-list { margin-top:20px; }.task-row { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #f1f2f5; }.task-row:last-child { border-bottom:0; }.check-button { width:17px; height:17px; flex:0 0 17px; border-radius:5px; border:1.5px solid #cbd2da; color:#fff; background:#fff; display:grid; place-items:center; font-size:11px; transition:.2s; }.task-row.done .check-button { border-color:#54c3ae; background:#54c3ae; }.task-row.done .task-name { text-decoration:line-through; color:#aeb5bf; }.task-copy { flex:1; min-width:0; display:flex; align-items:center; gap:8px; }.task-name { font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.task-tag { border-radius:4px; padding:3px 6px; font-size:9px; color:#8995a4; background:#f4f6f8; white-space:nowrap; }.task-tag.high { color:#e18778; background:#fff1ee; }.task-tag.medium { color:#ca963c; background:#fff8e8; }.task-time { width:40px; text-align:right; color:#9ca6b3; font-size:10px; white-space:nowrap; }.task-start { width:27px; height:27px; border-radius:7px; color:#55b8ad; background:#eff9f7; font-size:11px; }.task-start:hover { background:#dff3ef; }.add-row { width:100%; border-radius:7px; border:1px dashed #dce2e8; color:#a1aab6; background:#fbfcfd; font-size:11px; padding:10px; margin-top:10px; }.add-row:hover { border-color:#73c9c0; color:#45aaa1; }.live-label { color:#5ab7aa; font-size:9px; font-weight:700; letter-spacing:.6px; }.live-label i { display:inline-block; width:5px; height:5px; border-radius:50%; background:#63c7b4; margin-right:5px; vertical-align:1px; }.timer-panel { background:#192b3d; color:#fff; border-color:#192b3d; overflow:hidden; position:relative; }.timer-panel .panel-header p { color:#7f94a8; }.timer-panel .panel-header h2 { color:#fff; }.timer-stage { display:grid; place-items:center; padding:26px 0 24px; }.timer-ring { width:190px; height:190px; padding:10px; border-radius:50%; background:conic-gradient(#48c3b4 0 68%,#2a4358 68% 100%); box-shadow:0 0 0 1px rgba(255,255,255,.03),0 12px 28px rgba(0,0,0,.15); }.timer-inner { width:100%; height:100%; border-radius:50%; display:grid; align-content:center; justify-items:center; background:#192b3d; box-shadow:inset 0 0 20px rgba(0,0,0,.08); }.timer-label { color:#7e97a9; font-size:10px; margin-bottom:7px; }.timer-inner strong { font-size:25px; letter-spacing:1px; }.timer-task { color:#91a4b4; font-size:10px; margin-top:8px; max-width:130px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.timer-controls { display:flex; gap:8px; }.timer-select { flex:1; color:#9eb0c1; background:#22394d; border:1px solid #304b61; border-radius:7px; padding:10px 11px; text-align:left; font-size:10px; }.timer-select span { float:right; }.timer-start { display:flex; gap:7px; align-items:center; justify-content:center; color:#18313d; background:#5dc8ba; border-radius:7px; padding:10px 13px; font-size:10px; font-weight:700; min-width:100px; }.timer-start:hover { background:#72d5c8; }.timer-note { border-top:1px solid rgba(255,255,255,.09); margin:17px -22px -21px; padding:13px 22px; color:#8095a8; font-size:10px; display:flex; align-items:center; gap:7px; }.timer-note strong { color:#c3d0dc; font-size:11px; margin-left:auto; }.project-panel,.idea-panel { min-height:221px; }.icon-button.small { width:25px; height:25px; border:1px solid var(--line); border-radius:6px; color:#9fa9b6; font-size:16px; }.project-list { margin-top:18px; display:grid; gap:15px; }.project-row { display:flex; justify-content:space-between; align-items:center; gap:15px; }.project-name { display:flex; align-items:center; gap:9px; min-width:0; }.project-color { width:8px; height:8px; border-radius:3px; flex:0 0 8px; }.project-color.teal { background:#55c1b0; }.project-color.orange { background:#f1b069; }.project-color.purple-dot-color { background:#9b88eb; }.project-name div { display:grid; gap:3px; min-width:0; }.project-name strong { font-size:11px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.project-name span { color:#abb2bc; font-size:9px; }.project-progress { width:130px; display:flex; align-items:center; gap:8px; }.project-progress > div { flex:1; height:5px; border-radius:5px; background:#f0f2f5; overflow:hidden; }.project-progress > div span { display:block; height:100%; border-radius:5px; background:#5cc3b3; }.project-row:nth-child(2) .project-progress > div span { background:#f1b273; }.project-row:nth-child(3) .project-progress > div span { background:#9d85ec; }.project-progress strong { color:#87919e; font-size:10px; font-weight:500; }.idea-input-wrap { margin-top:17px; position:relative; }.idea-input-wrap textarea { display:block; width:100%; resize:none; border:1px solid #eef0f3; border-radius:8px; padding:11px 12px 35px; outline:none; color:var(--ink); font-size:11px; background:#fbfcfd; }.idea-input-wrap textarea:focus { border-color:#9edbd4; background:#fff; }.idea-input-wrap textarea::placeholder { color:#b5bcc6; }.save-idea { position:absolute; bottom:8px; right:8px; color:#49aa9f; background:transparent; font-size:10px; }.save-idea span { margin-left:4px; font-size:13px; }.idea-preview { display:flex; align-items:center; gap:9px; margin-top:14px; }.idea-bulb { width:27px; height:27px; display:grid; place-items:center; border-radius:7px; color:#dda23d; background:#fff7e5; }.idea-preview div { display:grid; gap:3px; flex:1; min-width:0; }.idea-preview strong { font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.idea-preview span { color:#adb4bd; font-size:9px; }.more-button { color:#adb4bd; background:transparent; letter-spacing:1px; }.insights-strip { display:flex; align-items:center; gap:20px; border:1px solid #e3defe; border-radius:10px; background:linear-gradient(100deg,#f7f5ff,#fbfaff); padding:18px 22px; margin-top:18px; }.insight-title { display:flex; align-items:center; gap:11px; }.insight-badge { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:#9078e9; background:#eeeaff; }.insight-title h2 { margin:5px 0 0; font-size:14px; }.insights-strip p { flex:1; color:#9695ab; font-size:10px; margin:0; line-height:1.7; }.outline-button { color:#8c7dd2; border:1px solid #ded7ff; padding:8px 12px; border-radius:6px; white-space:nowrap; }.footer-note { display:flex; justify-content:space-between; gap:20px; color:#b5bcc6; font-size:10px; padding:21px 2px 0; }.modal-backdrop { position:fixed; inset:0; display:none; place-items:center; background:rgba(21,34,48,.42); padding:20px; z-index:5; }.modal-backdrop.open { display:grid; }.modal { position:relative; width:min(100%,430px); border-radius:13px; padding:29px; background:#fff; box-shadow:0 20px 70px rgba(15,30,48,.25); }.modal h2 { margin:8px 0 22px; font-size:22px; }.modal-close { position:absolute; top:15px; right:17px; color:#aab2bc; background:transparent; font-size:24px; }.modal form { display:grid; gap:16px; }.modal label { display:grid; gap:7px; color:#657181; font-size:11px; }.modal input,.modal select { width:100%; border:1px solid #e5e9ee; border-radius:7px; color:var(--ink); padding:11px; outline:none; background:#fff; }.modal input:focus,.modal select:focus { border-color:#91d4cd; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%,20px); opacity:0; pointer-events:none; background:#192b3d; color:#fff; border-radius:8px; padding:11px 16px; font-size:11px; transition:.25s; z-index:10; }.toast.show { opacity:1; transform:translate(-50%,0); }
@media (max-width:1100px) { .sidebar { width:210px; flex-basis:210px; }.page-content { padding-left:26px; padding-right:26px; }.topbar { padding:0 26px; }.metric-grid { grid-template-columns:repeat(2,1fr); }.content-grid { grid-template-columns:1fr; }.timer-panel { min-height:300px; } }
@media (max-width:700px) { .sidebar { position:fixed; z-index:4; left:-245px; transition:left .25s; }.sidebar.open { left:0; box-shadow:12px 0 30px rgba(0,0,0,.16); }.topbar { height:62px; padding:0 17px; }.mobile-menu { display:block; }.breadcrumb { margin-right:auto; margin-left:12px; }.topbar-actions { gap:8px; }.topbar-actions .icon-button:first-child,.date-pill { display:none; }.page-content { padding:27px 17px 25px; }.welcome-row { align-items:flex-start; flex-direction:column; margin-bottom:24px; }.welcome-row h1 { font-size:24px; line-height:1.4; }.primary-button { padding:10px 13px; }.focus-banner { align-items:flex-start; padding:14px; }.focus-banner .text-button { display:none; }.metric-grid { gap:10px; }.metric-card { min-height:135px; padding:14px; }.metric-value { font-size:22px; }.panel { padding:18px 15px; }.project-progress { width:125px; }.insights-strip { display:grid; gap:12px; padding:17px; }.footer-note { flex-direction:column; gap:5px; }.task-copy { display:block; }.task-tag { display:inline-block; margin-left:5px; }.task-time { width:35px; }.timer-ring { width:175px; height:175px; } }

/* Layout refinement: make the daily plan the visual center of the workspace. */
.page-content { max-width:1440px; }
.welcome-row { margin-bottom:24px; }
.welcome-row h1 { letter-spacing:-.9px; }
.focus-banner { padding:16px 20px; box-shadow:0 7px 20px rgba(56,184,174,.06); }
.focus-copy strong { font-size:13px; }
.metric-card { min-height:128px; padding:15px 18px 13px; }
.metric-value { margin-top:10px; }
.content-grid { grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr); align-items:start; }
.tasks-panel { border-top:0; padding-top:19px; }
.timer-panel { border-top:0; padding-top:18px; }
.task-plan-meta { display:flex; align-items:center; gap:12px; margin-top:18px; padding:10px 12px; border-radius:7px; background:#f8fafb; }
.task-plan-meta > div:first-child { display:flex; align-items:baseline; gap:8px; white-space:nowrap; }
.task-plan-meta strong { font-size:10px; font-weight:700; }
.task-plan-meta span { color:#9ba5b1; font-size:10px; }
.task-plan-meta small { color:#9da7b3; font-size:9px; white-space:nowrap; }
.plan-meter { flex:1; min-width:50px; height:5px; border-radius:6px; background:#e9eef0; overflow:hidden; }
.plan-meter span { display:block; height:100%; border-radius:6px; background:#62c6b8; }
.schedule-preview { margin:20px 0 0; padding-top:15px; border-top:1px solid rgba(255,255,255,.09); }
.schedule-head { display:flex; justify-content:space-between; color:#91a5b5; font-size:10px; margin-bottom:10px; }
.schedule-head span:last-child { color:#5dc8ba; }
.schedule-row { display:grid; grid-template-columns:37px 8px 1fr auto; gap:8px; align-items:center; padding:8px 0; }
.schedule-row time { color:#839aab; font-size:10px; }
.schedule-row > i { width:6px; height:6px; border-radius:50%; background:#406078; box-shadow:0 0 0 3px rgba(64,96,120,.18); }
.schedule-row.current > i { background:#62caba; box-shadow:0 0 0 3px rgba(98,202,186,.16); }
.schedule-row div { display:grid; gap:2px; min-width:0; }
.schedule-row strong { color:#c7d4df; font-size:10px; font-weight:600; }
.schedule-row span { color:#72899b; font-size:9px; }
.schedule-row b { color:#8499aa; font-size:9px; font-weight:500; }
.project-panel { border-top:0; padding-top:19px; }
.idea-panel { border-top:0; padding-top:19px; }
.project-name strong { font-size:10px; }
.project-name span { line-height:1.2; }
@media (max-width:1100px) { .content-grid { grid-template-columns:1fr; }.timer-panel { min-height:0; }.schedule-preview { max-width:560px; } }
@media (max-width:700px) { .task-plan-meta { display:grid; grid-template-columns:1fr auto; gap:7px 10px; }.task-plan-meta .plan-meter { grid-column:1 / -1; }.task-plan-meta small { grid-column:2; grid-row:1; }.schedule-preview { margin-top:16px; }.content-grid { gap:12px; } }

.calendar-workspace { margin-top:18px; border-top:0; padding-top:19px; }
.calendar-header { display:flex; justify-content:space-between; align-items:flex-start; gap:25px; }
.calendar-header h2 { margin:7px 0 6px; font-size:17px; }
.calendar-header p { margin:0; color:#9da6b2; font-size:10px; }
.calendar-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.calendar-filters { display:flex; gap:4px; padding:3px; border-radius:7px; background:#f5f7fa; }
.calendar-filter { color:#9aa4b1; background:transparent; border-radius:5px; padding:7px 10px; font-size:10px; }
.calendar-filter.active { color:#4e67d5; background:#fff; box-shadow:0 2px 7px rgba(55,72,120,.1); font-weight:600; }
.calendar-navigation { display:flex; align-items:center; gap:5px; }
.calendar-nav,.calendar-today { height:28px; border-radius:6px; color:#85909e; background:#f7f8fa; font-size:11px; }
.calendar-nav { width:28px; }.calendar-today { padding:0 10px; color:#6875ca; background:#f1f3ff; }
.calendar-nav:hover,.calendar-today:hover { background:#e9edff; color:#4f67d5; }
.calendar-month-row { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:25px 0 12px; }
.calendar-month-row h3 { margin:0; font-size:15px; }
.calendar-legend { display:flex; gap:15px; color:#9ba5b1; font-size:10px; }
.calendar-legend span { display:flex; align-items:center; gap:5px; }.legend-dot { width:7px; height:7px; border-radius:50%; }.created-dot { background:#54b9ad; }.completed-dot { background:#9a84e9; }
.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border-top:1px solid #e9edf2; border-left:1px solid #e9edf2; overflow:hidden; border-radius:8px 8px 0 0; }
.calendar-weekday { padding:9px 10px; color:#a2abb6; background:#fafbfc; border-right:1px solid #e9edf2; border-bottom:1px solid #e9edf2; text-align:left; font-size:10px; font-weight:600; }
.calendar-cell { min-height:114px; padding:9px 8px; background:#fff; border-right:1px solid #e9edf2; border-bottom:1px solid #e9edf2; outline:none; text-align:left; transition:background .15s,box-shadow .15s; }.calendar-cell:hover,.calendar-cell:focus { background:#fbfcff; box-shadow:inset 0 0 0 1px #c8d0fb; }.calendar-cell.outside { background:#fbfcfd; }.calendar-cell.outside .calendar-date > span { color:#c3c9d1; }.calendar-cell.today .calendar-date > span { display:grid; place-items:center; width:23px; height:23px; border-radius:7px; color:#fff; background:#5c76ea; }.calendar-cell.selected { box-shadow:inset 0 0 0 2px #a9b6f6; }
.calendar-date { display:flex; align-items:center; gap:6px; margin-bottom:7px; color:#6d7888; font-size:11px; font-weight:600; }.calendar-date i { color:#5a75e5; font-size:9px; font-style:normal; font-weight:500; }
.calendar-events { display:grid; gap:4px; }.calendar-event { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border:0; border-radius:3px; padding:4px 5px; color:#6f7a87; background:#f7f8fa; text-align:left; font-size:9px; }.calendar-event span { margin-right:4px; font-weight:700; }.calendar-event.created { color:#398f87; background:#eef9f7; }.calendar-event.completed { color:#806bd1; background:#f3f0ff; }.calendar-event:hover { filter:brightness(.97); }.calendar-more { color:#a0a9b3; padding:1px 3px; font-size:9px; }
.calendar-day-detail { margin-top:14px; padding:13px 15px; border-radius:8px; background:#fafbfc; }.calendar-detail-head { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:8px; }.calendar-detail-head > div { display:flex; align-items:baseline; gap:9px; }.calendar-detail-head strong { font-size:12px; }.calendar-detail-head > span { color:#a0a9b4; font-size:10px; }.calendar-detail-item { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:9px; align-items:center; padding:7px 0; border-top:1px solid #eef0f3; }.calendar-detail-item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; font-weight:500; }.calendar-detail-item > span:last-child { color:#9da6b2; font-size:9px; }.detail-type { padding:3px 5px; border-radius:4px; text-align:center; font-size:9px; }.detail-type.created { color:#398f87; background:#e4f5f1; }.detail-type.completed { color:#806bd1; background:#ede9ff; }.calendar-empty { color:#a3acb7; font-size:10px; }
.view-hidden { display:none !important; }
.content-grid.single-module { grid-template-columns:minmax(0,1fr); }
.content-grid.single-module > .panel { width:100%; }
@media (max-width:900px) { .calendar-header { display:grid; gap:15px; }.calendar-actions { justify-content:flex-start; }.calendar-cell { min-height:102px; } }
@media (max-width:700px) { .calendar-workspace { padding-left:12px; padding-right:12px; overflow:hidden; }.calendar-month-row { align-items:flex-start; flex-direction:column; gap:9px; }.calendar-legend { gap:10px; }.calendar-grid { min-width:665px; }.calendar-workspace { overflow-x:auto; }.calendar-header,.calendar-day-detail { min-width:0; }.calendar-actions { display:grid; justify-content:stretch; }.calendar-filters { width:max-content; max-width:100%; }.calendar-navigation { justify-content:flex-start; }.calendar-day-detail { min-width:calc(100vw - 58px); } }

/* Calm navigation: lighter surface, softer contrast, and consistent line icons. */
.sidebar { width:236px; flex-basis:236px; padding:24px 14px 18px; color:#53635e; background:#fbfcfa; border-right:1px solid #e9efec; }
.brand { gap:10px; padding:0 12px 37px; }
.brand-mark { width:32px; height:32px; border-radius:11px; background:linear-gradient(145deg,#68c9bb,#44a99f); box-shadow:0 7px 16px rgba(68,169,159,.18); }
.brand-title { color:#30413c; font-size:13px; }
.brand-caption { color:#a0ada8; font-size:9px; }
.main-nav { gap:3px; }
.nav-section-title { padding:0 13px 9px; color:#abb6b1; font-size:9px; font-weight:700; letter-spacing:1.2px; }
.nav-item { gap:11px; padding:10px 12px; border-radius:9px; color:#8d9994; font-size:12px; }
.nav-item:hover { color:#55756c; background:#f1f7f4; }
.nav-item.active { color:#318f83; background:#e9f7f3; box-shadow:none; font-weight:600; }
.nav-icon { width:18px; height:18px; display:grid; place-items:center; opacity:.82; }
.nav-icon svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.nav-item.active .nav-icon { opacity:1; }
.sidebar-bottom { padding-top:18px; }
.sync-status { margin:0 7px 12px; padding:8px 9px; border:1px solid #edf2ef; border-radius:8px; color:#93a19b; background:#f5f9f7; font-size:10px; }
.status-dot { width:6px; height:6px; box-shadow:0 0 0 3px rgba(85,201,179,.1); }
.profile-card { padding:11px 8px; border-top:1px solid #e9efec; color:#45544f; }
.profile-copy strong { color:#45544f; font-size:11px; }.profile-copy span { color:#9ba7a2; }.more-icon { color:#9eaaa5; }
.mobile-menu { color:#6f817a; }
@media (max-width:700px) { .sidebar { width:236px; flex-basis:236px; left:-245px; background:#fbfcfa; }.sidebar.open { left:0; box-shadow:14px 0 32px rgba(54,79,71,.15); } }

.data-tools { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 7px 12px; padding:9px; border:1px solid #edf2ef; border-radius:8px; background:#f8fbf9; }.data-tools-label { display:grid; gap:3px; color:#687871; font-size:10px; }.data-tools-label small { color:#a1ada7; font-size:8px; }.data-tools-actions { display:flex; gap:4px; }.data-tools-actions button { padding:5px 7px; border-radius:5px; color:#5b8e83; background:#e8f5f1; font-size:9px; }.data-tools-actions button:hover { color:#fff; background:#53b7aa; }

.quick-task-form { display:flex; align-items:center; gap:9px; margin-top:18px; padding:5px 6px 5px 11px; border:1px solid #e5ece9; border-radius:9px; background:#fbfdfc; transition:border-color .2s,box-shadow .2s,background .2s; }
.quick-task-form:focus-within { border-color:#a6d9d1; background:#fff; box-shadow:0 5px 16px rgba(70,164,151,.08); }
.quick-task-plus { color:#50b2a5; font-size:20px; line-height:1; }
.quick-task-form input { min-width:0; flex:1; border:0; outline:0; color:#364641; background:transparent; font-size:11px; }
.quick-task-form input::placeholder { color:#aab5b0; }
.quick-task-submit { flex:0 0 auto; padding:8px 11px; border-radius:6px; color:#438f85; background:#e8f7f3; font-size:10px; font-weight:600; transition:.2s; }
.quick-task-submit:hover { color:#fff; background:#53b7aa; }
@media (max-width:700px) { .quick-task-form { gap:7px; padding-left:9px; }.quick-task-submit { padding:8px 8px; }.quick-task-form input { font-size:10px; } }

.task-duration-select { cursor:pointer; outline:none; border:0; font-family:inherit; }
.task-duration-select { width:58px; padding:2px 0; color:#9ca6b3; background:transparent; text-align:right; font-size:10px; }
.task-duration-select:focus { box-shadow:0 0 0 2px rgba(86,185,173,.22); }
.task-row.done .task-duration-select { color:#b7bec6; }
.task-delete { width:25px; height:27px; border-radius:7px; color:#c1a2a2; background:transparent; font-size:17px; line-height:1; }.task-delete:hover { color:#c87575; background:#fff1f1; }.task-row.done .task-delete { color:#d0c3c3; }
.task-group-heading { display:flex; align-items:center; gap:7px; padding:0 0 6px; color:#49635d; font-size:10px; }
.task-group-heading span { color:#9eada8; font-size:9px; }
.task-group-heading.completed { margin-top:14px; padding-top:14px; border-top:1px solid #edf1ef; color:#8b9692; }
.task-list-empty { padding:24px 0 13px; color:#a1ada8; font-size:11px; text-align:center; }

/* Screenshot-inspired additions: a calm weekly rhythm and a focused daily review. */
.rhythm-strip { display:grid; grid-template-columns:190px minmax(0,1fr) 170px; align-items:center; gap:23px; margin:0 0 18px; padding:15px 18px; border:1px solid #edf1ef; border-radius:10px; background:#fff; box-shadow:var(--shadow); }
.rhythm-title { display:grid; gap:4px; }.rhythm-title strong { color:#41524d; font-size:12px; }.rhythm-title > span:last-child { color:#a2ada8; font-size:9px; }
.rhythm-days { display:grid; grid-template-columns:repeat(7,1fr); align-items:end; gap:10px; min-width:0; }
.rhythm-days > div { display:grid; justify-items:center; gap:5px; }.rhythm-days > div > span { color:#9da9a4; font-size:9px; }.rhythm-days > div.today > span { color:#3e9f91; font-weight:700; }
.rhythm-days i { display:flex; align-items:end; width:100%; height:34px; max-width:34px; padding:3px; border-radius:7px; background:#eef7f4; }.rhythm-days b { display:block; width:100%; border-radius:4px; background:#85cfc3; }.rhythm-days > div.today i { background:#dff4ef; box-shadow:inset 0 0 0 1px #bde8df; }.rhythm-days em { color:#9aa6a1; font-size:8px; font-style:normal; white-space:nowrap; }
.rhythm-note { display:grid; gap:5px; padding-left:18px; border-left:1px solid #edf1ef; }.rhythm-note strong { color:#4c5d57; font-size:10px; }.rhythm-note span { color:#9ba6a1; font-size:9px; line-height:1.5; }
.project-subline { display:flex; align-items:center; gap:7px; min-width:0; }.project-subline > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.project-status { flex:0 0 auto; padding:2px 5px; border-radius:4px; font-size:8px; font-weight:600; font-style:normal; }.project-status.active { color:#3f9f90; background:#e6f7f2; }.project-status.planning { color:#c28d3f; background:#fff6e4; }.project-status.review { color:#806bd1; background:#f0edff; }
.idea-promote { flex:0 0 auto; padding:5px 7px; border-radius:5px; color:#4d9f94; background:#eaf7f4; font-size:9px; }.idea-promote:hover { color:#fff; background:#53b7aa; }.idea-preview .more-button { flex:0 0 auto; }
.idea-promote:disabled,.idea-delete:disabled { cursor:default; opacity:.45; }.idea-delete { flex:0 0 auto; width:22px; height:24px; border-radius:5px; color:#b8a5a5; background:transparent; font-size:17px; line-height:1; }.idea-delete:hover:not(:disabled) { color:#c87575; background:#fff1f1; }
.review-panel { margin-top:18px; border-top:0; padding-top:19px; }.review-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.review-header h2 { margin:7px 0 6px; font-size:19px; }.review-header p { margin:0; color:#9da6b2; font-size:10px; }.review-date { display:grid; justify-items:end; gap:5px; padding:8px 11px; border-radius:8px; background:#f7f5ff; }.review-date span { color:#9c8be1; font-size:9px; }.review-date strong { color:#6d5dbd; font-size:12px; letter-spacing:.4px; }
.review-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:23px; margin-top:24px; }.review-side-card { align-self:start; padding:19px; border-radius:10px; background:linear-gradient(145deg,#faf8ff,#f4f1ff); }.review-orb { display:grid; place-items:center; width:34px; height:34px; margin-bottom:16px; border-radius:11px; color:#8b77dc; background:#e9e4ff; font-size:17px; }.review-side-card > strong { color:#574d82; font-size:13px; }.review-side-card > p { color:#9d96b6; margin:8px 0 17px; font-size:10px; line-height:1.7; }.mood-row { display:flex; flex-wrap:wrap; gap:5px; }.mood-row button { padding:6px 7px; border:1px solid #e6e0ff; border-radius:5px; color:#9187ae; background:rgba(255,255,255,.65); font-size:9px; }.mood-row button:hover,.mood-row button.active { color:#6d5dbd; border-color:#b9acef; background:#fff; box-shadow:0 2px 7px rgba(117,96,196,.1); }.review-save-note { margin-top:20px; padding-top:11px; border-top:1px solid #e8e2fa; color:#aaa3bf; font-size:9px; }
.review-form { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.review-form label { display:grid; gap:7px; }.review-form label > span { color:#68756f; font-size:10px; font-weight:600; }.review-form textarea,.review-form input { width:100%; border:1px solid #e9eeeb; border-radius:7px; outline:none; color:#394943; background:#fbfdfc; padding:10px 11px; resize:vertical; font-size:10px; }.review-form textarea:focus,.review-form input:focus { border-color:#bbaef0; background:#fff; box-shadow:0 4px 14px rgba(132,112,218,.08); }.review-form textarea::placeholder,.review-form input::placeholder { color:#b5bfba; }.review-form-footer { display:flex; align-items:center; justify-content:space-between; grid-column:1 / -1; gap:15px; padding-top:2px; }.review-form-footer > span { color:#a0aaa5; font-size:9px; }.review-form-footer .primary-button { padding:9px 12px; font-size:10px; }
@media (max-width:1100px) { .rhythm-strip { grid-template-columns:180px minmax(0,1fr); }.rhythm-note { grid-column:1 / -1; padding:9px 0 0; border-left:0; border-top:1px solid #edf1ef; grid-template-columns:auto 1fr; align-items:center; gap:10px; } }
@media (max-width:700px) { .rhythm-strip { grid-template-columns:1fr; gap:14px; padding:15px; }.rhythm-days { gap:5px; }.rhythm-note { grid-template-columns:1fr; gap:4px; }.review-header { display:grid; gap:13px; }.review-date { justify-items:start; width:max-content; }.review-layout { grid-template-columns:1fr; gap:14px; }.review-form { grid-template-columns:1fr; gap:12px; }.review-form-footer { align-items:flex-start; flex-direction:column; }.review-form-footer .primary-button { width:100%; }.idea-promote { padding:5px; font-size:8px; } }

/* Mood calendar: a quiet monthly record inspired by the evening-journal view. */
.review-layout { grid-template-columns:minmax(430px,1.08fr) minmax(350px,.92fr); align-items:start; }
.mood-calendar-card { min-width:0; padding:18px; border:1px solid #f0edf8; border-radius:10px; background:linear-gradient(145deg,#fdfcff,#faf9fd); }.mood-calendar-header { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }.mood-calendar-header h3 { margin:7px 0 0; color:#4b485d; font-size:17px; }.mood-calendar-actions { display:flex; gap:4px; }.mood-calendar-actions button { height:27px; padding:0 8px; border-radius:6px; color:#9489b1; background:#f2effb; font-size:10px; }.mood-calendar-actions button:hover { color:#6e60b5; background:#e9e3fb; }.mood-calendar-actions button:first-child,.mood-calendar-actions button:last-child { width:27px; padding:0; font-size:13px; }
.mood-calendar-weekdays,.mood-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }.mood-calendar-weekdays { margin-top:20px; padding-bottom:7px; border-bottom:1px solid #efecf5; }.mood-calendar-weekdays span { color:#aaa4b7; text-align:center; font-size:9px; }.mood-calendar-grid { gap:5px; padding-top:7px; }.mood-calendar-cell { position:relative; display:grid; justify-items:center; align-content:center; gap:2px; min-height:58px; border:1px solid transparent; border-radius:8px; color:#737082; background:transparent; }.mood-calendar-cell:hover { border-color:#ded6f4; background:#fff; }.mood-calendar-cell.outside { opacity:.38; }.mood-calendar-cell.today .mood-calendar-date { color:#fff; background:#9b88e7; }.mood-calendar-cell.selected { border-color:#c6b9ef; background:#fff; box-shadow:0 3px 10px rgba(126,105,194,.09); }.mood-calendar-date { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; font-size:10px; }.mood-calendar-cell.today.selected .mood-calendar-date { background:#7f6ccc; }.mood-emoji { display:grid; place-items:center; width:24px; height:24px; font-size:16px; line-height:1; }.mood-empty { height:24px; color:#d2ceda; font-size:13px; line-height:24px; }.mood-calendar-footer { display:flex; justify-content:space-between; gap:10px; margin-top:13px; padding-top:11px; border-top:1px solid #efecf5; color:#a29bb1; font-size:9px; }.mood-calendar-footer span { display:flex; align-items:center; gap:5px; }.mood-key-dot { width:6px; height:6px; border-radius:50%; background:#a996e8; }
.review-entry { display:grid; gap:14px; min-width:0; }.review-entry .review-side-card { align-self:stretch; }.review-entry .review-form { padding:17px; border:1px solid #edf0ee; border-radius:10px; background:#fff; }.review-entry .review-form-footer { padding-top:2px; }
@media (max-width:1100px) { .review-layout { grid-template-columns:1fr; }.mood-calendar-card { max-width:none; }.review-entry { grid-template-columns:250px minmax(0,1fr); align-items:start; } }
@media (max-width:700px) { .review-entry { grid-template-columns:1fr; }.mood-calendar-card { padding:13px 10px; }.mood-calendar-grid { gap:3px; }.mood-calendar-cell { min-height:50px; }.mood-calendar-footer { display:grid; gap:6px; }.review-entry .review-form { padding:14px; } }

/* Usable idea library: persistent list, editing and task conversion. */
.idea-input-wrap textarea { min-height:84px; resize:vertical; padding-bottom:40px; }
.idea-input-actions { position:absolute; right:8px; bottom:8px; display:flex; align-items:center; gap:5px; }
.idea-input-actions .save-idea { position:static; padding:5px 7px; border-radius:5px; color:#49aa9f; background:#eaf7f4; font-size:10px; }
.idea-input-actions .save-idea:hover { color:#fff; background:#53b7aa; }
.idea-input-actions .save-idea span:last-child { margin-left:4px; font-size:13px; }
.cancel-idea-edit { padding:5px 7px; border-radius:5px; color:#8f99a5; background:#f1f3f5; font-size:10px; }
.cancel-idea-edit:hover { color:#5f6974; background:#e8ebee; }
.idea-list { display:grid; gap:8px; max-height:320px; margin-top:14px; padding-right:2px; overflow-y:auto; }
.idea-item { display:flex; align-items:center; gap:10px; padding:11px; border:1px solid #f0f1f3; border-radius:8px; background:#fcfdfd; transition:.2s; }
.idea-item:hover { border-color:#dcece8; background:#fff; box-shadow:0 4px 13px rgba(61,107,99,.06); }
.idea-item.converted { background:#fafbfb; }
.idea-item .idea-bulb { width:28px; height:28px; flex:0 0 28px; border-radius:8px; }
.idea-item.converted .idea-bulb { color:#58aa9e; background:#eaf7f4; }
.idea-item-copy { display:grid; gap:4px; flex:1; min-width:0; }
.idea-item-copy strong { color:#43504c; font-size:11px; line-height:1.45; overflow-wrap:anywhere; }
.idea-item-copy span { color:#adb4bd; font-size:9px; }
.idea-expansion-preview { color:#8e9d98; font-size:10px; line-height:1.55; overflow-wrap:anywhere; }
.idea-item-actions { display:flex; align-items:center; gap:4px; flex:0 0 auto; }
.idea-edit { padding:5px 6px; border-radius:5px; color:#7f8b96; background:#f2f4f5; font-size:9px; }
.idea-edit:hover { color:#5d6872; background:#e8ebed; }
.idea-promote:hover:not(:disabled) { color:#fff; background:#53b7aa; }
.idea-empty { display:grid; justify-items:center; gap:5px; padding:24px 12px; border:1px dashed #e2e6e9; border-radius:8px; color:#a6afb8; text-align:center; }
.idea-empty > span { color:#d9b76f; font-size:18px; }
.idea-empty strong { color:#87919b; font-size:11px; }
.idea-empty p { margin:0; font-size:9px; }
@media (max-width:700px) { .idea-item { align-items:flex-start; flex-wrap:wrap; }.idea-item-copy { min-width:calc(100% - 40px); }.idea-item-actions { width:100%; justify-content:flex-end; padding-left:38px; } }

/* Persistent focus timer and real time-log summaries. */
.timer-controls { align-items:stretch; }
.timer-select { min-width:0; appearance:auto; }
.timer-select:disabled { cursor:not-allowed; opacity:.68; }
.timer-finish { flex:0 0 auto; min-width:48px; padding:10px 11px; border:1px solid #385369; border-radius:7px; color:#a8bac8; background:#263f53; font-size:10px; font-weight:600; }
.timer-finish:hover:not(:disabled) { color:#fff; border-color:#52738b; background:#315068; }
.timer-finish:disabled { cursor:not-allowed; opacity:.4; }
.focus-log-actions { display:flex !important; grid-auto-flow:column; align-items:center; justify-content:end; gap:7px !important; }
.focus-log-delete { width:20px; height:20px; border-radius:5px; color:#70889a; background:transparent; font-size:15px; line-height:1; }
.focus-log-delete:hover { color:#f0a5a5; background:rgba(255,255,255,.06); }
.focus-history-empty { padding:17px 0 9px; color:#6f8799; text-align:center; font-size:9px; }
#focus-sparkline i:last-child { background:#a28af1; }
.page-content[data-current-view="dashboard"] .rhythm-days > div b { width:var(--rhythm-width,0%) !important; }
@media (max-width:1100px) { .page-content[data-current-view="dashboard"] .rhythm-days > div b { width:100% !important; height:var(--rhythm-height,0%) !important; } }
@media (max-width:700px) { .timer-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; }.timer-finish { grid-column:1 / -1; }.schedule-row { grid-template-columns:34px 8px minmax(0,1fr) auto; } }

/* Workday countdown: a small, editable reminder on the overview. */
.welcome-actions { display:flex; align-items:center; gap:10px; }.workday-countdown { min-width:190px; padding:10px 12px; border:1px solid #e6f0ee; border-radius:9px; background:#f9fcfb; box-shadow:0 5px 16px rgba(56,184,174,.05); }.workday-countdown-head,.workday-countdown-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; }.workday-countdown-head > span:first-child { color:#7b8e89; font-size:10px; }.workday-countdown .metric-icon.orange { color:#d99a4f; background:#fff4e2; }.workday-countdown > strong { display:block; margin:5px 0 4px; color:#3e5c55; font-size:22px; letter-spacing:1px; line-height:1; }.workday-countdown-foot { color:#9baaa6; font-size:9px; }.workday-time-label { display:flex; align-items:center; gap:4px; color:#58a89c; cursor:pointer; }.workday-time-label input { width:62px; height:18px; padding:2px 3px; border:1px solid #dcebe8; border-radius:4px; outline:none; color:#58a89c; background:#fff; font-size:9px; }.workday-time-label input:focus { border-color:#83cfc3; box-shadow:0 0 0 2px rgba(86,185,173,.16); }.workday-countdown.after-hours { border-color:#eee8df; background:#fcfaf7; }.workday-countdown.after-hours > strong { color:#a18b76; font-size:18px; letter-spacing:0; }.workday-countdown.after-hours .workday-time-label { color:#b68b57; }
.workday-countdown.before-hours { border-color:#e4edf0; background:#f8fbfc; }.workday-countdown.before-hours > strong { color:#698996; }.workday-countdown.before-hours .workday-time-label { color:#6e9aa6; }
@media (max-width:700px) { .welcome-actions { width:100%; align-items:stretch; flex-direction:column; }.workday-countdown { width:100%; }.welcome-actions .primary-button { width:100%; } }

/* Data-backed dashboard and local insight cards. */
.project-status.complete { color:#7f8b96; background:#f0f2f4; }.blue-dot-color { background:#7693f3; }.purple-dot { background:#9b88eb; }.project-empty { padding:13px 0; color:#a4adb5; font-size:10px; }
.insights-strip { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:13px 20px; }
.insights-header { display:flex; align-items:center; justify-content:space-between; gap:14px; grid-column:1 / -1; }.insights-live { padding:5px 8px; border-radius:5px; color:#8a7bd1; background:#f0edff; font-size:9px; white-space:nowrap; }
.insights-strip > p { grid-column:1 / -1; max-width:690px; }.insight-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; grid-column:1 / -1; }.insight-stat { display:grid; gap:5px; padding:12px; border:1px solid #eeeafb; border-radius:8px; background:rgba(255,255,255,.66); }.insight-stat > span { color:#9790af; font-size:9px; }.insight-stat strong { color:#6254a1; font-size:17px; letter-spacing:-.3px; }.insight-stat small { color:#aaa5b8; font-size:8px; }
.insight-columns { display:grid; grid-template-columns:1fr 1fr; gap:16px; grid-column:1 / -1; }.insight-columns > div { min-width:0; padding-top:3px; }.insight-columns ul { display:grid; gap:6px; margin:8px 0 0; padding:0; list-style:none; }.insight-columns li { position:relative; padding-left:13px; color:#817a9e; font-size:10px; line-height:1.55; }.insight-columns li::before { content:'•'; position:absolute; left:0; color:#a18ee8; }.insight-columns p { margin:8px 0 0; color:#a09aaf; font-size:10px; line-height:1.6; }.insights-strip > .outline-button { justify-self:start; }
.task-plan-meta .plan-meter { flex:1; min-width:35px; }.task-plan-meta .plan-meter span { display:block; height:100%; border-radius:5px; background:#77c9bd; }
@media (max-width:700px) { .insights-strip { grid-template-columns:1fr; }.insights-header { align-items:flex-start; flex-direction:column; }.insights-live { justify-self:start; }.insight-stat-grid,.insight-columns { grid-template-columns:1fr; }.insights-strip > .outline-button { width:100%; text-align:center; }.task-plan-meta .plan-meter { width:100%; } }

/* Personal life modules: lightweight cards with independent check-ins and time logs. */
.life-panel { border-top:0; padding-top:19px; }
.life-module-summary { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:15px; padding:9px 11px; border:1px solid #f2e9ed; border-radius:7px; color:#a18491; background:#fffafb; font-size:9px; }
.life-module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:13px; }
.life-module-grid.compact .life-card:nth-child(n+4) { display:none; }
.life-card { min-width:0; padding:13px; border:1px solid #f0e6ea; border-radius:10px; background:linear-gradient(145deg,#fff,#fffafb); box-shadow:0 6px 18px rgba(137,91,109,.05); }
.life-card:hover { border-color:color-mix(in srgb,var(--life-color) 48%,#fff); box-shadow:0 9px 24px rgba(137,91,109,.09); }
.life-card-head { display:flex; align-items:center; gap:8px; min-width:0; }
.life-card-icon { display:grid; place-items:center; width:31px; height:31px; flex:0 0 31px; border-radius:9px; color:var(--life-color); background:color-mix(in srgb,var(--life-color) 12%,#fff); font-size:17px; }
.life-card-title { display:grid; gap:3px; min-width:0; flex:1; }.life-card-title strong { overflow:hidden; color:#4b4549; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.life-card-title span { overflow:hidden; color:#ad9da4; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.life-edit { padding:4px 6px; border-radius:5px; color:#a38f98; background:#f8f1f4; font-size:9px; }.life-edit:hover { color:#805d6b; background:#f0e4e9; }
.life-card-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; margin-top:14px; }.life-card-stats div { display:grid; gap:3px; min-width:0; }.life-card-stats span { color:#b5a8ad; font-size:8px; }.life-card-stats strong { overflow:hidden; color:#675b62; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.life-progress { height:5px; margin-top:11px; overflow:hidden; border-radius:5px; background:#f4edf0; }.life-progress span { display:block; height:100%; border-radius:5px; background:var(--life-color); }
.life-card-actions { display:flex; align-items:center; gap:5px; margin-top:12px; }.life-card-actions button { min-width:0; padding:7px 7px; border-radius:6px; font-size:9px; white-space:nowrap; }.life-checkin { flex:1; color:#a35e77; background:#fff0f4; }.life-checkin:hover { color:#fff; background:#dc86a2; }.life-checkin.checked { color:#fff; background:#d58aa3; }.life-timer-button { flex:1; color:#5d8b84; background:#edf8f5; }.life-timer-button:hover,.life-timer-button.running { color:#fff; background:#68b7ab; }.life-delete { width:25px; color:#c4a8b0; background:transparent; font-size:17px !important; line-height:1; }.life-delete:hover { color:#c87575; background:#fff1f1; }
.life-empty { display:grid; justify-items:center; gap:6px; grid-column:1 / -1; padding:28px 14px; border:1px dashed #e9dfe4; border-radius:9px; color:#b09fa7; text-align:center; }.life-empty-icon { color:#d995aa; font-size:24px; }.life-empty strong { color:#8f7d85; font-size:12px; }.life-empty p { max-width:310px; margin:0; font-size:9px; line-height:1.6; }.life-empty-action { margin-top:5px; color:#a35e77; border-color:#ebcbd5; background:#fff8fa; }.life-empty-action:hover { color:#fff; background:#d987a2; }
.muted-link { padding:0; color:#aab2bc; background:transparent; font-size:9px; }.muted-link:hover { color:#5b9d92; }
.search-modal { width:min(100%,520px); }.search-modal form { gap:10px; }.search-modal form > input { font-size:12px; }.search-results { display:grid; gap:6px; max-height:310px; overflow:auto; }.search-result { display:grid; grid-template-columns:70px minmax(0,1fr) auto; align-items:center; gap:8px; padding:10px; border:1px solid #edf0f2; border-radius:7px; color:#56626d; background:#fbfcfd; text-align:left; }.search-result:hover { border-color:#b8dfd8; background:#f6fcfa; }.search-result span { color:#58aa9e; font-size:9px; }.search-result strong { min-width:0; overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.search-result small { color:#a4adb5; font-size:8px; }.search-empty { padding:18px; color:#a8b0b7; text-align:center; font-size:10px; }
@media (max-width:700px) { .life-module-grid { grid-template-columns:1fr; }.life-module-grid.compact .life-card:nth-child(n+4) { display:none; }.life-card-actions button { padding:7px 5px; font-size:8px; }.life-module-summary { align-items:flex-start; flex-direction:column; gap:5px; }.search-result { grid-template-columns:62px minmax(0,1fr); }.search-result small { grid-column:2; } }

/* Hierarchical life boards: a board owns cards, and owns their aggregate statistics. */
.life-board-tabs { display:flex; align-items:center; gap:5px; margin-top:15px; padding:4px; overflow-x:auto; border:1px solid #f1e7eb; border-radius:8px; background:#fffafb; }
.life-board-tab,.life-board-add { display:flex; align-items:center; gap:6px; flex:0 0 auto; padding:7px 9px; border-radius:6px; color:#a58f98; background:transparent; font-size:9px; white-space:nowrap; }.life-board-tab:hover,.life-board-add:hover { color:#855d6d; background:#f8edf1; }.life-board-tab.active { color:#7d5263; background:#fff; box-shadow:0 2px 8px rgba(137,91,109,.1); font-weight:700; }.life-board-tab > span { width:7px; height:7px; border-radius:50%; }.life-board-add { margin-left:auto; color:#b27f90; }
.life-board-tab .life-board-tab-rename { width:auto; height:auto; margin-left:2px; color:#c2a4b0; font-size:10px; line-height:1; cursor:pointer; opacity:.72; }.life-board-tab .life-board-tab-rename:hover,.life-board-tab .life-board-tab-rename:focus { color:#7d5263; opacity:1; outline:none; }
.life-board-title { display:flex; align-items:center; gap:10px; margin-top:16px; }.life-board-icon { display:grid; place-items:center; width:39px; height:39px; flex:0 0 39px; border-radius:11px; font-size:20px; }.life-board-title > div:nth-child(2) { display:grid; gap:4px; min-width:0; flex:1; }.life-board-title strong { color:#50474c; font-size:14px; }.life-board-title > div:nth-child(2) span { overflow:hidden; color:#aa9ca2; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.life-board-actions { display:flex; gap:5px; }.life-board-actions button { padding:6px 7px; border-radius:5px; color:#9d8791; background:#f7f0f3; font-size:9px; }.life-board-actions button:hover:not(:disabled) { color:#7f5b6a; background:#f0e3e8; }.life-board-actions button:disabled { cursor:not-allowed; opacity:.45; }
.life-board-stats { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; margin-top:13px; }.life-board-stats > div { display:grid; gap:4px; padding:9px; border:1px solid #f2e9ed; border-radius:7px; background:#fffafb; }.life-board-stats span { color:#b29fa8; font-size:8px; }.life-board-stats strong { color:#665962; font-size:12px; }.life-board-empty { padding:17px 0; color:#ad9aa3; font-size:10px; }.life-add-card { display:grid; justify-items:center; align-content:center; gap:5px; min-height:151px; padding:13px; border:1px dashed #e7cbd5; border-radius:10px; color:#ae7286; background:#fffafd; text-align:center; }.life-add-card:hover { border-color:#d68ba4; color:#934f67; background:#fff5f8; }.life-add-card > span { font-size:20px; }.life-add-card > strong { font-size:10px; }.life-add-card > small { color:#b9a8af; font-size:8px; }
@media (max-width:700px) { .life-board-tabs { margin-top:12px; }.life-board-add { margin-left:0; }.life-board-title { align-items:flex-start; flex-wrap:wrap; }.life-board-actions { width:100%; padding-left:49px; }.life-board-stats { grid-template-columns:repeat(2,1fr); }.life-add-card { min-height:130px; } }

.life-space-tabs { display:flex; gap:4px; margin-top:14px; padding:4px; border:1px solid #f1e7eb; border-radius:9px; background:#fffafb; }
.life-space-tab,.life-period-tab { flex:1; padding:8px 10px; border-radius:7px; color:#a58f98; background:transparent; font-size:10px; }
.life-space-tab:hover,.life-period-tab:hover { color:#7d5263; background:#f8edf1; }
.life-space-tab.active,.life-period-tab.active { color:#7d5263; background:#fff; box-shadow:0 2px 8px rgba(137,91,109,.1); font-weight:700; }
.life-space-panel { margin-top:14px; }
.life-subsection-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.life-subsection-header > div { display:grid; gap:4px; }
.life-subsection-header strong { color:#665962; font-size:12px; }
.life-period-tabs { display:flex; gap:4px; max-width:230px; margin-top:15px; padding:3px; border:1px solid #f1e7eb; border-radius:8px; background:#fffafb; }
.life-period-tab { padding:6px 10px; font-size:9px; }
.life-archive-toggle { margin-top:10px; padding:6px 8px; color:#a57d8c; background:#fff8fa; font-size:9px; }
.life-archive-toggle:hover { color:#7d5263; background:#f8edf1; }
.writing-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:12px; }
.writing-stats article { display:grid; gap:4px; padding:10px; border:1px solid #f2e9ed; border-radius:8px; background:#fffafb; }
.writing-stats span,.writing-card-stats span { color:#b29fa8; font-size:8px; }
.writing-stats strong { color:#665962; font-size:12px; }
.writing-chart { margin-top:14px; padding:12px; border:1px solid #f2e9ed; border-radius:9px; background:#fffafb; }
.writing-chart-head { display:flex; justify-content:space-between; gap:8px; color:#725d66; font-size:10px; }.writing-chart-head span { color:#b29fa8; font-size:8px; }
.writing-chart-bars { display:grid; grid-template-columns:repeat(7,minmax(22px,1fr)); gap:7px; align-items:end; height:105px; margin-top:12px; overflow-x:auto; }
.writing-chart.month .writing-chart-bars { grid-template-columns:repeat(31,minmax(20px,1fr)); min-width:760px; }
.writing-chart-day { display:grid; grid-template-rows:1fr auto; align-items:end; gap:6px; min-width:22px; height:100%; color:#b29fa8; font-size:8px; text-align:center; }
.writing-chart-day b { display:block; width:100%; min-height:0; border-radius:4px 4px 2px 2px; background:linear-gradient(180deg,#7296e8,#a8b9ed); }
.writing-card,.media-card { position:relative; display:grid; gap:11px; padding:14px; border:1px solid #f1e4e9; border-radius:10px; background:#fff; box-shadow:0 6px 16px rgba(113,83,96,.04); }
.writing-card::before,.media-card::before { content:none; }
.writing-card.archived { opacity:.82; }
.writing-card-head,.media-card-head { display:flex; align-items:center; gap:9px; min-width:0; }
.writing-card-head .life-card-title,.media-card-head .life-card-title { flex:1; }
.writing-title-edit { display:block; max-width:100%; padding:0; overflow:hidden; color:#665962; background:transparent; font:inherit; font-size:13px; font-weight:650; line-height:1.35; text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.writing-title-edit:hover { color:#4c70bd; }
.writing-count-modal-help { margin:-10px 0 2px; color:#8f8794; font-size:11px; line-height:1.6; }
.writing-archive-section { margin-top:15px; padding:16px; border:1px solid #eadfe8; border-radius:12px; background:linear-gradient(145deg,#fffafd,#fbf8fc); }
.writing-archive-head { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.writing-archive-head > div { display:grid; gap:4px; min-width:0; }
.writing-archive-head strong { color:#665962; font-size:13px; }
.writing-archive-head span:last-child { color:#aa9da7; font-size:10px; }
.writing-archive-open { flex:0 0 auto; padding:7px 9px; border-radius:6px; color:#8066b0; background:#f2effb; font-size:9px; }
.writing-archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:13px; }
.writing-archive-card { display:grid; gap:10px; padding:12px; border:1px solid #eee5ed; border-radius:9px; background:#fff; }
.writing-archive-card-main { display:flex; align-items:center; gap:8px; min-width:0; }
.writing-archive-card-main .life-card-title { flex:1; min-width:0; }
.writing-archive-card-main > strong { color:#665d85; font-size:14px; white-space:nowrap; }
.writing-archive-card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.writing-archive-card-actions button { padding:6px 8px; border-radius:5px; color:#8b7580; background:#f7f0f3; font-size:9px; }
.writing-archive-card-actions .writing-delete { margin-left:auto; }
.writing-archive-empty { margin-top:12px; padding:14px; border:1px dashed #e9dfe7; border-radius:8px; color:#aa9da7; background:rgba(255,255,255,.6); font-size:10px; text-align:center; }
.writing-card-total { display:flex; align-items:baseline; gap:6px; padding:4px 0; }.writing-card-total strong { color:#4d5f98; font-size:22px; }.writing-card-total span { color:#b29fa8; font-size:9px; }
.writing-card-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }.writing-card-stats > div { display:grid; gap:4px; padding:8px; border-radius:7px; background:#f8f8fc; }.writing-card-stats strong { color:#665962; font-size:10px; }
.writing-card-actions,.media-card-foot { display:flex; flex-wrap:wrap; gap:5px; align-items:center; }.writing-card-actions button,.media-card-foot button { padding:6px 8px; border-radius:5px; color:#8b7580; background:#f7f0f3; font-size:9px; }.writing-card-actions button:hover,.media-card-foot button:hover { color:#6e5260; background:#f0e3e8; }
.writing-add { color:#4c70bd !important; background:#eef2ff !important; }.writing-correct { color:#a06a75 !important; background:#fff0f3 !important; }.writing-complete { color:#9f6e35 !important; background:#fff4e4 !important; }.writing-delete,.media-delete { margin-left:auto; }.writing-hard-delete { color:#b75d6d !important; background:#fff0f3 !important; }
.media-card { gap:10px; }.media-type-badge { flex:0 0 auto; padding:5px 7px; border-radius:5px; color:#765da1; background:#f2effb; font-size:8px; }.media-card-rating { color:#e2a74f; font-size:15px; letter-spacing:1px; }.media-card-rating span { color:#e9e2d8; }.media-card-rating small { color:#b29fa8; font-size:9px; letter-spacing:0; }.media-card-review { min-height:32px; margin:0; color:#796a72; font-size:10px; line-height:1.6; white-space:pre-wrap; }.media-card-foot { justify-content:space-between; color:#b29fa8; font-size:8px; }.media-card-foot button { margin-left:auto; }
.media-header-actions { display:flex; align-items:center; gap:7px; }
.media-header-actions .outline-button { padding:7px 9px; border:1px solid #eadfe8; border-radius:7px; color:#8066b0; background:#fbf8fd; font-size:9px; }
.media-view-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; }
.media-view-tabs,.media-period-tabs { display:flex; gap:4px; padding:3px; border:1px solid #f1e7eb; border-radius:8px; background:#fffafb; }
.media-view-tab,.media-period-tab { padding:6px 10px; border-radius:6px; color:#a08e98; background:transparent; font-size:9px; }
.media-view-tab.active,.media-period-tab.active { color:#765da1; background:#f0eafd; box-shadow:0 2px 5px rgba(118,93,161,.12); }
.media-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:12px; }
.media-stats article { display:grid; gap:4px; padding:10px; border:1px solid #f2e9ed; border-radius:8px; background:#fffafb; }
.media-stats span { color:#b29fa8; font-size:8px; }.media-stats strong { color:#665962; font-size:16px; }.media-stats small { color:#b9acb2; font-size:8px; }
.media-stat-chart { margin-top:12px; padding:12px; border:1px solid #f2e9ed; border-radius:9px; background:#fffafb; }
.media-stat-chart-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }.media-stat-chart-head div { display:grid; gap:4px; }.media-stat-chart-head strong { color:#725d66; font-size:10px; }.media-stat-chart-head > span { color:#b29fa8; font-size:8px; }
.media-stat-bars { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; align-items:end; height:108px; margin-top:12px; }.media-stat-bar { display:grid; grid-template-rows:1fr auto auto; gap:5px; height:100%; align-items:end; text-align:center; color:#9f8d96; font-size:8px; }.media-stat-bar-track { display:flex; height:100%; align-items:end; justify-content:center; }.media-stat-bar-track b { display:block; width:38px; min-height:0; border-radius:6px 6px 2px 2px; background:linear-gradient(180deg,#a58ce8,#d4c9f3); }.media-stat-bar:nth-child(2) b { background:linear-gradient(180deg,#e9ae70,#f4d4a8); }.media-stat-bar:nth-child(3) b { background:linear-gradient(180deg,#73b9ae,#b9dfd6); }.media-stat-bar strong { color:#665962; font-size:11px; }
.media-filter-row { display:flex; align-items:end; gap:8px; margin-top:12px; }.media-filter-row label { display:grid; gap:5px; color:#aa9da7; font-size:8px; }.media-filter-row select,.media-filter-row input { min-width:120px; padding:7px 8px; border:1px solid #eee5ed; border-radius:6px; color:#665962; background:#fff; outline:none; font-size:9px; }.media-filter-row input { width:150px; }.media-filter-row select:focus,.media-filter-row input:focus { border-color:#b6a1e4; }.media-filter-clear { padding:7px 8px; border-radius:6px; color:#a08e98; background:#f8f2f6; font-size:8px; }
.media-card-meta { display:flex; justify-content:space-between; gap:8px; color:#b29fa8; font-size:8px; }.media-tags { display:flex; flex-wrap:wrap; gap:5px; }.media-tags span { padding:4px 6px; border-radius:5px; color:#8066b0; background:#f2effb; font-size:8px; }.media-review-empty { color:#b9acb2; }.media-card-actions { display:flex; flex-wrap:wrap; gap:5px; margin-left:auto; }.media-card-actions button { margin-left:0 !important; }.media-hard-delete { color:#b75d6d !important; background:#fff0f3 !important; }
@media (max-width:700px) { .life-space-tabs { overflow-x:auto; }.life-space-tab { min-width:92px; }.writing-stats { grid-template-columns:repeat(2,1fr); }.writing-chart-bars { grid-template-columns:repeat(7,minmax(26px,1fr)); }.writing-card-stats { gap:4px; }.writing-card-actions button { padding:7px 5px; font-size:8px; }.writing-archive-grid { grid-template-columns:1fr; }.writing-archive-head { align-items:flex-start; flex-direction:column; } }
@media (max-width:700px) { .media-header-actions { align-items:flex-end; }.media-header-actions .outline-button { padding:7px 6px; font-size:8px; }.media-view-toolbar { align-items:flex-start; flex-direction:column; }.media-view-tabs,.media-period-tabs { width:100%; }.media-view-tab,.media-period-tab { flex:1; }.media-stats { grid-template-columns:repeat(2,1fr); }.media-stat-bars { gap:7px; }.media-stat-bar-track b { width:28px; }.media-filter-row { align-items:stretch; flex-wrap:wrap; }.media-filter-row label,.media-filter-row input,.media-filter-row select { flex:1; min-width:0; width:100%; }.media-filter-clear { align-self:end; } }

/* Durable history and soft-archive surfaces. */
.sync-status[data-cloud-state="online"] .status-dot { background:#69b7a8; box-shadow:0 0 0 3px rgba(105,183,168,.12); }
.sync-status[data-cloud-state="offline"] .status-dot { background:#e3a96e; }
.sync-status[data-cloud-state="local"] .status-dot { background:#aeb7c0; }
.history-panel { grid-column:1 / -1; min-width:0; margin-top:2px; padding-top:13px; border-top:1px solid #eeeafb; }
.history-panel-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }.history-panel-head h3 { margin:4px 0 0; color:#6254a1; font-size:12px; }.history-panel-head > span { color:#aaa5b8; font-size:9px; }
.history-table-wrap { margin-top:9px; overflow-x:auto; border:1px solid #eeeafb; border-radius:8px; background:rgba(255,255,255,.66); }.history-table { width:100%; min-width:630px; border-collapse:collapse; color:#817a9e; font-size:9px; }.history-table th { color:#aaa5b8; background:#faf9ff; font-size:8px; font-weight:500; text-align:left; }.history-table th,.history-table td { padding:8px 9px; border-bottom:1px solid #f1eef8; white-space:nowrap; }.history-table tr:last-child td { border-bottom:0; }.history-table td:first-child { color:#7668ae; }.history-empty { padding:16px !important; color:#aaa5b8; text-align:center; white-space:normal !important; }
.writing-delete { font-size:0 !important; }.writing-delete::after { color:#9b7d8b; font-size:9px; content:'归档'; }.writing-card.archived .writing-delete::after { content:'恢复'; }.writing-card.archived .writing-delete { color:#8066b0; }
.life-board-delete,.writing-board-delete,.media-board-delete { font-size:0 !important; }.life-board-delete::after,.writing-board-delete::after,.media-board-delete::after { content:'归档'; font-size:9px; }
.media-card.archived { opacity:.82; }.media-card.archived .media-delete { color:#8066b0; }
@media (max-width:700px) { .history-panel-head { align-items:flex-start; flex-direction:column; gap:5px; }.history-table { min-width:600px; } }
.ima-workspace-panel{margin-top:24px;padding:20px;border:1px solid #eadfe4;border-radius:18px;background:linear-gradient(145deg,#fffafd,#f8fbff)}
.ima-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.ima-panel-head h3{margin:5px 0 5px;color:#332a35;font-size:18px}
.ima-panel-head p{margin:0;color:#8d8291;font-size:12px;line-height:1.7}
.ima-panel-actions,.ima-panel-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ima-panel-actions .outline-button,.ima-panel-actions .solid-button,.ima-panel-foot .outline-button{white-space:nowrap}
.ima-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.ima-controls label{display:flex;flex-direction:column;gap:7px;color:#8d8291;font-size:12px}
.ima-controls select{width:100%;border:1px solid #eadfe4;border-radius:10px;background:#fff;padding:10px 12px;color:#4b3b49;font:inherit}
.ima-expansion{display:block;width:100%;margin-top:12px;min-height:76px;resize:vertical;border:1px solid #eadfe4;border-radius:12px;background:#fff;padding:12px;color:#4b3b49;font:inherit;line-height:1.6;box-sizing:border-box}
.ima-expansion:focus,.ima-controls select:focus{outline:2px solid #e6a3ba;outline-offset:1px}
.ima-panel-foot{margin-top:12px;justify-content:space-between}
.ima-sync-status{color:#9a8b95;font-size:12px;line-height:1.5}
.ima-sync-status[data-status="success"]{color:#3a9a8d}.ima-sync-status[data-status="error"]{color:#c66d84}.ima-sync-status[data-status="loading"]{color:#9b7b43}
.ima-panel-actions button:disabled,.ima-panel-foot button:disabled{cursor:not-allowed;opacity:.5}
.idea-item-actions .idea-ima{border-color:#dcc8d3;background:#fff7fb;color:#9b5876}
@media (max-width:720px){.ima-panel-head{flex-direction:column}.ima-panel-actions{width:100%}.ima-panel-actions button{flex:1}.ima-controls{grid-template-columns:1fr}.ima-panel-foot{align-items:flex-start;flex-direction:column}}


/* FUNCTIONAL FOUNDATION ONLY: visual direction lives in operation-console.css. */
