/* Self Made King 1.3 — desktop dashboard following the approved six-panel wireframe.
   No third-party fonts or runtime dependencies. */
:root {
  --bg: #f4f3f0;
  --card: #fff;
  --ink: #222321;
  --muted: #858783;
  --sub: #696c68;
  --line: #e6e5e1;
  --blue: #282b2a;
  --blue-soft: #f2f2f0;
  --green: #617c6e;
  --radius: 0px;
  --shadow: none;
  --smk-outer: 22px;
  --smk-gap: 15px;
}
html { scroll-behavior: auto; }
body { background: var(--bg); color: var(--ink); }
button, input, select, textarea { border-radius: 0 !important; }
:where(.card, .btn, .icon-button, .avatar, .tag, .progress-track, .progress-fill,
       .quick-add, .field, .input, .segmented, .segmented button, .date-pill,
       .search-launch, .modal-head, .goals-count, .goal-symbol, .cal-day,
       .metric, .metric-content, .status-badge, .profile, .sidebar-command,
       .side-advisor, .nav button, .nav-badge, .empty-icon, .task-check,
       .toast, dialog, .skeleton, .search-field) { border-radius: 0 !important; }
.card { border: 1px solid #c9cbc6; box-shadow: none; }
.btn { background: #252626; color: #fff; border: 1px solid #252626; box-shadow: none; }
.btn:hover { background: #111; box-shadow: none; transform: none; }
.btn.secondary { border-color: #d8d9d6; background: #fff; color: #242624; }
.btn.secondary:hover { background: #f4f3ef; border-color: #9b9d98; }
.icon-button:hover { background: #efefed; color: #222; border-color: #ccceca; transform: none; }
:focus-visible { outline: 2px solid #63766b; outline-offset: -2px; }
.sidebar {
  background: #222424;
  color: #f6f6f3;
  border: 1px solid #222424;
  width: 218px;
  padding: 27px 17px 18px;
}
.sidebar .brand { gap: 0; margin: 2px 10px 33px; }
.sidebar .brand img { display: none; }
.sidebar .brand strong {
  font: 500 15px/1.35 Georgia, 'Times New Roman', serif;
  letter-spacing: .24em;
  color: #f9f9f4;
}
.sidebar .brand small { color: #a6aaa6; font-size: 9px; letter-spacing: .21em; margin-top: 7px; }
.sidebar .nav-section-label { color: #a7aaa7; text-transform: uppercase; font-size: 9px; letter-spacing: .14em; margin-bottom: 14px; }
.sidebar .nav { gap: 4px; }
.sidebar .nav button { color: #d8d9d5; font-size: 13px; padding: 12px 13px; border-radius: 0; }
.sidebar .nav button .icon { color: #e2e3df; width: 18px; height: 18px; }
.sidebar .nav button:hover { background: #373a39; color: #fff; }
.sidebar .nav button.active { background: #3b3e3d; box-shadow: none; color: #fff; font-weight: 550; }
.sidebar .nav button.active::before { display: none; }
.sidebar .nav .nav-badge { background: #555956; border: none; color: #eee; }
.sidebar .sidebar-command { color: #c9cbc6; background: transparent; border: 1px solid #4a4d4b; font-size: 11px; }
.sidebar .sidebar-command:hover { background: #383a39; color: #fff; }
.sidebar .sidebar-command kbd { color: #d3d5d1; }
.sidebar .side-advisor { background: #303331; border: 1px solid #4b4e4a; padding: 13px; margin: 14px 0 18px; }
.sidebar .side-advisor .advisor-orbit { background: #3f4240; border: 1px solid #555956; width: 28px; height: 28px; margin-bottom: 12px; }
.sidebar .side-advisor .advisor-orbit .icon,
.sidebar .side-advisor .eyebrow, .sidebar .side-advisor p { color: #b9c0b9; }
.sidebar .side-advisor strong, .sidebar .side-advisor .text-button { color: #f7f8f6; }
.sidebar .side-advisor p { line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 7px 0; }
.sidebar .profile { border-color: #4c4e4b; color: #eee; padding-top: 14px; }
.sidebar .profile strong { color: #f1f1ee; }
.sidebar .profile small, .sidebar .profile > .icon { color: #b4bbb4; }
.sidebar .avatar { background: #3d413e; color: #fff; border-color: #6c706b; }
.sidebar .mobile-menu-close { color: #fff; }

/* Desktop: the six regions exactly fill the available viewport. */
@media (min-width: 1121px) {
  body:has(.dashboard-mode) { overflow: hidden; }
  .dashboard-mode .sidebar {
    top: var(--smk-outer); bottom: var(--smk-outer);
    left: var(--smk-outer); height: auto; z-index: 20;
  }
  .dashboard-mode .workspace {
    max-width: none;
    margin: 0 0 0 calc(var(--smk-outer) + 218px + var(--smk-gap));
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    padding: var(--smk-outer) var(--smk-outer) var(--smk-outer) 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .dashboard-mode .topbar, .dashboard-mode .bottom-note { display: none; }
  .dashboard-mode #view { flex: 1; min-height: 0; overflow: hidden; }
  .dashboard-mode .mobile-dock { display: none; }
}
.smk-dashboard {
  height: 100%;
  min-height: 0;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0,1.14fr) minmax(0,1fr);
  grid-template-rows: minmax(0,1.06fr) minmax(0,.94fr);
  grid-template-areas: 'calendar goals' 'tasks metrics';
  gap: var(--smk-gap);
}
.smk-dashboard .card { min-width: 0; min-height: 0; overflow: hidden; animation: none; border: 1px solid #373936; background: #fff; }
.smk-calendar { grid-area: calendar; display:flex; flex-direction:column; }
.smk-tasks { grid-area: tasks; display:flex; flex-direction:column; }
.smk-goals { grid-area: goals; display:flex; flex-direction:column; }
.smk-metrics { grid-area: metrics; display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:var(--smk-gap); min-width:0; min-height:0; }
.smk-panel-head {
  display:flex; align-items:center; justify-content:space-between;
  gap: 9px; padding: 17px 19px 13px; flex-shrink:0;
  min-height: 68px;
}
.smk-panel-head h2, .smk-metric h2 {
  font: 400 clamp(21px,2.15vw,34px)/1.04 Georgia, 'Times New Roman', serif;
  letter-spacing: -.035em; color: #1e1f1e; margin:0;
  white-space: nowrap;
}
.smk-panel-head .smk-head-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; min-width:0; }
.smk-dashboard .btn.small { min-height: 32px; font-size: 11px; padding: 6px 10px; }
.smk-dashboard .icon-button { width:28px; height:28px; }
.smk-dashboard .icon-button .icon { width:15px; height:15px; }
.smk-dashboard .smk-add { min-height:32px; padding:6px 9px; gap:5px; font-size:11px; }
.smk-dashboard .smk-add .icon { width:13px; height:13px; }
.smk-calendar-nav { display:flex; align-items:center; justify-content:center; gap:3px; color:#3a3e3a; min-width:0; font-size: 11px; white-space:nowrap; }
.smk-calendar-nav > span { width: 112px; text-align:center; text-transform: capitalize; overflow:hidden; text-overflow:ellipsis; }
.smk-calendar-nav .icon-button { padding:0; }
.smk-calendar-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(143px,.43fr); min-width:0; min-height:0; flex:1; gap:0; padding:0 18px 17px; }
.smk-month { min-width:0; min-height:0; display:flex; flex-direction:column; }
.smk-calendar .weekdays { flex-shrink:0; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); margin:0; border-bottom:1px solid #e1e2df; height:29px; align-items:center; }
.smk-calendar .weekdays span { font: 11px Georgia,serif; color:#777974; text-transform:none; text-align:center; }
.smk-calendar .calendar-grid { flex:1; min-height:0; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); grid-template-rows:repeat(6,minmax(0,1fr)); gap:0; }
.smk-calendar .cal-day { border: 0; border-right:1px solid #eeefec; border-bottom:1px solid #eeefec; border-radius:0; background:#fff !important; color:#303430; position:relative; width:100%; min-height:0; min-width:0; padding:3px 0 1px; display:flex; align-items:center; flex-direction:column; justify-content:center; gap:1px; font-size:12px; box-shadow:none !important; transform:none !important; font-weight:400; }
.smk-calendar .cal-day:nth-child(7n+1) { border-left:1px solid #eeefec; }
.smk-calendar .cal-day .cal-number { position:relative; z-index:1; }
.smk-calendar .cal-day.out { opacity:.28; color:#4c514a; }
.smk-calendar .cal-day.selected { background:#262928 !important; color:#fff !important; border-color:#262928 !important; }
.smk-calendar .cal-day:hover:not(.selected) { background:#f2f3f0 !important; }
.smk-calendar .cal-day.today:not(.selected)::after { position:absolute; content:''; width:4px; height:4px; right:5px; top:4px; background:#222; border-radius:0; }
.smk-calendar .cal-day.selected::after { display:none; }
.smk-calendar .cal-day .cal-load { display:flex; align-items:center; justify-content:center; gap:2px; height:5px; font-size:0; }
.smk-calendar .cal-day .cal-load i { display:block; width:4px; height:4px; background:#657f73; border-radius:50%; }
.smk-calendar .cal-day.selected .cal-load i { background:#c0c7c2; }
.smk-calendar .cal-day .cal-load.cal-free { opacity:0; }
.smk-calendar-key { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:8px; height:27px; color:#848784; font-size:9px; }
.smk-calendar-key span { display:flex; align-items:center; gap:5px; }
.smk-calendar-key i { width:5px; height:5px; background:#677e70; border-radius:50%; }
.smk-calendar-key button { font-size:10px; display:inline-flex; gap:5px; align-items:center; }
.smk-calendar-key button .icon { width:12px; height:12px; }
.smk-agenda { min-width:0; min-height:0; border-left:1px solid #e6e7e4; margin-left:12px; padding-left:14px; display:flex; flex-direction:column; }
.smk-agenda-head { display:flex; flex-shrink:0; justify-content:space-between; gap:2px; align-items:center; height:29px; border-bottom:1px solid #e6e7e4; font:12px Georgia,serif; }
.smk-agenda-head > span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-transform: capitalize; }
.smk-agenda-head .icon-button { width:22px; height:22px; }
.smk-agenda-items { flex:1; min-height:0; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-start; }
.smk-event { display:grid; grid-template-columns:31px 6px minmax(0,1fr); gap:7px; align-items:center; flex:0 1 auto; min-height:38px; max-height:55px; padding:6px 0; border-bottom:1px solid #eff0ed; text-align:left; font-size:11px; line-height:1.25; }
.smk-event:hover { background:#f6f6f3; }
.smk-event time { color:#6e726c; font-size:10px; font-variant-numeric:tabular-nums; }
.smk-event-marker { width:5px; height:5px; background:#7e9485; border-radius:50%; }
.smk-event > span:last-child { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.smk-event small { display:block; overflow:hidden; text-overflow:ellipsis; font-size:9px; color:#939690; margin-top:4px; }
.smk-event.is-done > span:last-child { text-decoration:line-through; text-decoration-color:#888; opacity:.55; }
.smk-agenda-empty { padding:16px 2px; color:#7c7f79; font-size:11px; line-height:1.6; }
.smk-agenda-empty button { display:block; color:#222; margin-top:14px; font-size:11px; }
.smk-agenda-empty button .icon { width:13px; height:13px; }

.smk-tasks .smk-title-with-info { min-width:0; display:flex; align-items:baseline; gap:14px; }
.smk-tasks .smk-title-with-info > span { font-size:10px; color:#8b8d88; white-space:nowrap; }
.smk-date-link { white-space:nowrap; display:flex; align-items:center; gap:4px; font-size:11px; color:#4b4d49; }
.smk-date-link .icon { width:12px; height:12px; }
.smk-tasks .day-toolbar { padding:0 19px 10px; flex-shrink:0; display:flex; border:0; }
.smk-tasks .segmented { display:flex; flex-wrap:wrap; gap:6px; background:transparent; border:0; padding:0; }
.smk-tasks .segmented button { background:#f4f4f1; padding:5px 9px; font-size:10px; color:#5e625e; min-height:27px; border:1px solid #ecece8; }
.smk-tasks .segmented button.active { background:#262927; color:#fff; border-color:#262927; }
.smk-tasks .segmented button span { border:0; background:transparent; color:inherit; padding:0 0 0 5px; font-size:10px; }
.smk-scroll { overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c1c3be #f2f3f1; min-height:0; }
.smk-scroll::-webkit-scrollbar { width:6px; }
.smk-scroll::-webkit-scrollbar-thumb { background:#bfc0bc; }
.smk-tasks .task-list { padding:0 19px; flex:1; min-height:0; }
.smk-tasks .task-item { min-height:58px; gap:9px; border-color:#e9eae6; animation:none; }
.smk-tasks .task-check { border-radius:0; width:19px; height:19px; border-color:#919591; }
.smk-tasks .task-item.done .task-check { background:#252927; border-color:#252927; box-shadow:none; }
.smk-tasks .task-main { padding:9px 0; }
.smk-tasks .task-title { font-size:12px; font-weight:450; line-height:1.38; }
.smk-tasks .task-meta { margin-top:3px; gap:4px; font-size:9px; }
.smk-tasks .tag { background:transparent; padding:0; border:0; color:#858883; font-size:9px; }
.smk-tasks .task-time { font-size:9px; color:#777b75; }
.smk-tasks .task-more { width:24px; height:24px; }
.smk-tasks .task-grip { display:none; }
.smk-tasks .quick-add { margin:8px 19px 11px; border:1px solid #e4e5e1; padding:0 7px; min-height:35px; background:#f8f8f6; flex-shrink:0; }
.smk-tasks .quick-add input[name="title"] { font-size:11px; }
.smk-tasks .quick-add input[type="time"] { width:76px; font-size:10px; }
.smk-tasks .quick-add .quick-add-icon .icon { width:14px; }
.smk-closed { display:flex; padding:10px 19px; justify-content:space-between; align-items:center; color:#7c807a; font-size:11px; border-top:1px solid #e4e5e1; }

.smk-goals .goal-list { padding:0 19px; flex:1; display:block; }
.smk-goals .smk-panel-head { border-bottom:1px solid #e9eae6; margin:0 19px; padding-left:0; padding-right:0; }
.smk-goals .smk-goal-year { display:inline-flex; align-items:center; gap:7px; min-height:32px; padding:0 10px; border:1px solid #e2e3df; color:#494b47; font-size:11px; }
.smk-goals .smk-goal-year .icon { width:11px; height:11px; }
.smk-limit { color:#73756f; font-size:10px; }
.smk-goals .smk-goal-row { display:grid; grid-template-columns:44px minmax(0,1fr) 16px; align-items:center; width:100%; min-height:85px; padding:10px 0; gap:12px; border:0; border-bottom:1px solid #e9eae6; margin:0; color:#242824; text-align:left; background:#fff; }
.smk-goals .smk-goal-row:hover { background:#f9f9f7; }
.smk-goals .smk-goal-row .goal-symbol { width:43px; height:43px; margin:0; border:1px solid #efefec; display:grid; place-items:center; background:#f5f5f2; color:#242725; }
.smk-goals .smk-goal-row .goal-symbol .icon { width:19px; height:19px; }
.smk-goals .smk-goal-row > .icon { width:14px; height:14px; color:#424641; margin:0; }
.smk-goal-main { display:block; min-width:0; }
.smk-goal-main > strong { display:block; font:500 15px/1.3 Georgia,'Times New Roman',serif; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.smk-goal-sub { display:block; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; margin-top:4px; font-size:10px; color:#848783; }
.smk-goal-track { display:flex; align-items:center; gap:9px; margin-top:7px; }
.smk-goal-track .progress-track { flex:1; min-width:0; height:4px; border:0; background:#e5e6e3; margin:0; }
.smk-goal-track .progress-fill { display:block; height:100%; background:#292e2a; }
.smk-goal-track .smk-goal-pct { min-width:37px; text-align:right; color:#5f635f; font-size:10px; font-variant-numeric:tabular-nums; }
.smk-goals-bottom { display:flex; justify-content:space-between; align-items:center; flex-shrink:0; padding:8px 19px; border-top:1px solid #e9eae6; color:#7f837e; font-size:10px; min-height:30px; }
.smk-goals-bottom .text-button { font-size:10px; color:#353833; }
.smk-goals-bottom .text-button .icon { width:12px; height:12px; }

.smk-metrics .smk-metric { display:flex; flex-direction:column; padding:16px 13px 14px; min-width:0; }
.smk-metric header { display:flex; align-items:center; justify-content:space-between; gap:2px; flex-shrink:0; }
.smk-metric h2 { font-size:clamp(18px,1.6vw,23px); }
.smk-metric .icon-button { width:23px; height:23px; border-color:transparent; }
.smk-metric .icon-button .icon { width:14px; height:14px; }
.smk-karma-center { flex:1; min-height:0; display:grid; place-items:center; }
.smk-karma-center .gauge { width:clamp(60px,8vw,112px); height:clamp(60px,8vw,112px); margin: 10px auto 3px; }
.smk-karma-center .gauge circle { stroke-width:5; }
.smk-karma-center .gauge .track { stroke:#e7e9e5; }
.smk-karma-center .gauge .arc { stroke:#272b28; }
.smk-karma-center .gauge strong { font:400 clamp(20px,2.5vw,35px)/1 Georgia,serif; color:#292c2a; }
.smk-metric .smk-karma-label { text-align:center; font:500 12px/1.25 Georgia,serif; }
.smk-metric p { text-align:center; font-size:10px; color:#929590; line-height:1.5; margin:5px 0 10px; }
.smk-metric-link { border-top:1px solid #e8e9e5; display:flex; gap:5px; align-items:center; justify-content:space-between; margin-top:auto; padding-top:10px; color:#5b605b; font-size:9px; text-align:left; }
.smk-metric-link .icon { width:12px; height:12px; }
.smk-metric-score { display:flex; align-items:baseline; gap:5px; white-space:nowrap; font:400 clamp(20px,2.4vw,30px)/1.5 Georgia,serif; color:#303430; padding:10px 0 6px; }
.smk-metric-score small { font:10px/1.2 'Segoe UI',sans-serif; color:#8f938d; white-space:normal; }
.smk-metric-rows { min-width:0; min-height:0; flex:1; display:flex; flex-direction:column; justify-content:space-evenly; gap:9px; padding:4px 0 12px; }
.smk-metric-row { min-width:0; }
.smk-metric-caption { display:flex; gap:2px; justify-content:space-between; align-items:baseline; font:11px/1.2 Georgia,serif; }
.smk-metric-caption > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.smk-metric-caption small { color:#8e918c; font:9px 'Segoe UI',sans-serif; flex-shrink:0; }
.smk-meter { display:block; width:100%; height:4px; background:#e9ebe7; margin-top:7px; }
.smk-meter > span { display:block; height:100%; background:#333a35; }
.smk-risk-label { display:block; font:500 11px/1.3 Georgia,serif; color:#4d6858; margin:1px 0 9px; }
.smk-missing { font-size:11px !important; line-height:1.45 !important; color:#858882 !important; text-align:left !important; }
@media (min-width:1121px) and (max-height:790px) {
  :root { --smk-outer:14px; --smk-gap:11px; }
  .dashboard-mode .sidebar { padding-top:18px; }
  .sidebar .brand { margin-bottom:20px; }
  .sidebar .nav button { padding:9px 11px; }
  .sidebar .side-advisor { padding:9px; margin:9px 0; }
  .sidebar .side-advisor p { -webkit-line-clamp:2; }
  .smk-panel-head { min-height:55px; padding-top:11px; padding-bottom:9px; }
  .smk-calendar-body { padding-bottom:8px; }
  .smk-agenda .smk-event { min-height:32px; padding:3px 0; }
  .smk-goals .smk-goal-row { min-height:70px; padding:7px 0; }
  .smk-metrics .smk-metric { padding:10px 9px; }
  .smk-metric-rows { gap:5px; }
  .smk-tasks .task-item { min-height:47px; }
}
@media (min-width:1121px) and (max-width:1390px) {
  .smk-panel-head { padding-left:13px; padding-right:13px; }
  .smk-panel-head h2 { font-size:clamp(21px,2vw,28px); }
  .smk-calendar-body { padding-left:12px; padding-right:12px; }
  .smk-agenda { margin-left:7px; padding-left:9px; }
  .smk-goals .smk-panel-head { margin:0 12px; }
  .smk-goals .goal-list { padding:0 12px; }
  .smk-goals .smk-goal-row { grid-template-columns:36px minmax(0,1fr) 14px; gap:8px; }
  .smk-goals .smk-goal-row .goal-symbol { width:36px; height:36px; }
  .smk-goal-main > strong { font-size:13px; }
  .smk-metrics .smk-metric { padding-left:9px; padding-right:9px; }
  .smk-metric-caption { font-size:10px; }
}
/* Below desktop widths, retain readable controls. Stacked cards necessarily scroll. */
@media (max-width:1120px) {
  .smk-dashboard { height:auto; min-height:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto; grid-template-areas:'calendar calendar' 'tasks goals' 'metrics metrics'; }
  .smk-dashboard > .card { min-height:320px; }
  .smk-calendar { height:390px; }
  .smk-tasks, .smk-goals { height:430px; }
  .smk-metrics { min-height:280px; }
  .smk-panel-head h2 { font-size:27px; }
}
@media (max-width:700px) {
  :root { --smk-gap:11px; }
  .sidebar { background:#222424; }
  .smk-dashboard { grid-template-columns:minmax(0,1fr); grid-template-areas:'tasks' 'calendar' 'goals' 'metrics'; }
  .smk-dashboard > .card { min-height:0; }
  .smk-calendar { height:380px; }
  .smk-tasks { height:420px; }
  .smk-goals { height:395px; }
  .smk-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); min-height:240px; }
  .smk-panel-head { min-height:59px; padding:11px 12px; }
  .smk-panel-head h2 { font-size:23px; }
  .smk-calendar-body { padding:0 10px 10px; grid-template-columns:minmax(0,1fr) minmax(102px,.4fr); }
  .smk-agenda { margin-left:6px; padding-left:6px; }
  .smk-agenda-head { font-size:10px; }
  .smk-event { grid-template-columns:0 minmax(0,1fr); gap:5px; }
  .smk-event-marker { display:none; }
  .smk-event time { font-size:9px; }
  .smk-event > span:last-child { font-size:10px; }
  .smk-calendar-nav > span { width:85px; font-size:10px; }
  .smk-calendar-key { font-size:8px; }
  .smk-tasks .smk-title-with-info > span { display:none; }
  .smk-tasks .smk-date-link { display:none; }
  .smk-tasks .day-toolbar { padding:0 12px 9px; }
  .smk-tasks .task-list { padding:0 12px; }
  .smk-tasks .quick-add { margin:8px 12px; }
  .smk-goals .smk-panel-head { margin:0 12px; }
  .smk-goals .goal-list { padding:0 12px; }
  .smk-metrics .smk-metric { min-height:232px; }
  .smk-karma-center .gauge { width:60px; height:60px; }
  .smk-metric-score { font-size:20px; }
  .smk-metric h2 { font-size:16px; }
  .smk-metric-caption { font-size:9px; }
  .smk-metric-caption small { font-size:8px; }
  .smk-metric-link { font-size:8px; }
}
@media (max-width:390px) {
  .smk-metrics { grid-template-columns:1fr; }
  .smk-metrics .smk-metric { min-height:190px; }
  .smk-calendar-nav > span { width:70px; }
  .smk-calendar .smk-panel-head { gap:2px; }
  .smk-calendar .btn.small { padding:4px 5px; font-size:10px; }
}
/* Compact adviser access in dashboard menu: no tall decorative card. */
.sidebar .sidebar-advisor-shortcut { display:flex; align-items:center; gap:12px; text-align:left; color:#d8ddd8; font-size:13px; margin:11px 0 4px; padding:10px 13px; border:1px solid #484d49; }
.sidebar .sidebar-advisor-shortcut:hover { background:#383d39; }
.sidebar .sidebar-advisor-shortcut .icon { width:18px; height:18px; }
.dashboard-mode .sidebar .side-advisor { display:none; }
.dashboard-mode .sidebar .sidebar-fill { min-height:0; }
.dashboard-mode .sidebar .profile { flex-shrink:0; }
.smk-mobile-switch { display:none; }
@media (max-width:700px) {
  .dashboard-mode .workspace { margin:0; padding:12px 14px 88px; height:100vh; height:100dvh; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
  .dashboard-mode .topbar, .dashboard-mode .bottom-note { display:none; }
  .dashboard-mode #view { flex:1; display:flex; flex-direction:column; overflow:hidden; min-height:0; }
  .smk-mobile-switch { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; flex-shrink:0; min-height:39px; margin-bottom:10px; border:1px solid #3c413d; background:#fff; }
  .smk-mobile-switch button { min-width:0; padding:8px 2px; font-size:10px; border-right:1px solid #e6e7e3; white-space:nowrap; }
  .smk-mobile-switch button:last-child { border-right:none; }
  .smk-mobile-switch button.active { background:#292d29; color:#fff; }
  .smk-dashboard { min-height:0; height:100%; display:block; overflow:hidden; }
  .smk-dashboard > * { display:none !important; }
  .smk-dashboard[data-active-mobile="tasks"] > .smk-tasks,
  .smk-dashboard[data-active-mobile="calendar"] > .smk-calendar,
  .smk-dashboard[data-active-mobile="goals"] > .smk-goals { display:flex !important; height:100%; min-height:0; }
  .smk-dashboard[data-active-mobile="metrics"] > .smk-metrics { display:grid !important; height:100%; grid-template-columns:repeat(3,minmax(0,1fr)); min-height:0; }
  .smk-calendar .cal-day { min-height:0; }
}
.smk-goal-year { position:relative; }
.smk-goal-year select { min-width:46px; padding:0 15px 0 0; appearance:none; cursor:pointer; border:none !important; outline-offset:2px; color:#494b47; background:transparent; font-size:11px; }
.smk-goal-year > .icon { pointer-events:none; position:absolute; right:8px; top:9px; }

/* ========================================================================
   1.4.0: type hierarchy, consistent Font Awesome icons, narrow viewports.
   All edges stay square, and page scroll stays disabled on desktop.
   ======================================================================== */
.sidebar .nav button { font-size: 15px; gap: 12px; }
.sidebar .nav button .icon, .sidebar .sidebar-advisor-shortcut .icon { width:19px; height:19px; }
.sidebar .brand strong { font-size:16px; }
.sidebar .brand small { font-size:10px; }
.sidebar .nav-section-label { font-size:10px; }
.sidebar .sidebar-command { font-size:12px; }
.sidebar .sidebar-advisor-shortcut { font-size:14px; }
.sidebar .profile strong { font-size:13px; }
.sidebar .profile small { font-size:11px; }
.smk-panel-head h2 { font-size:clamp(24px,2.2vw,35px); }
.smk-dashboard .btn.small, .smk-dashboard .smk-add { font-size:13px; padding:6px 10px; }
.smk-dashboard .btn.small { min-height:34px; }
.smk-dashboard .icon-button { width:30px; height:30px; }
.smk-dashboard .icon-button .icon { width:15px; height:15px; }
.smk-dashboard .smk-add .icon { width:13px; height:13px; }
.smk-calendar-nav { font-size:13px; }
.smk-calendar-nav > span { width:130px; }
.smk-calendar .weekdays span { font-size:13px; }
.smk-calendar .cal-day { font-size:14px; }
.smk-calendar-key, .smk-calendar-key button { font-size:11px; }
.smk-agenda-head { font-size:13px; }
.smk-agenda .smk-event { font-size:12px; }
.smk-agenda .smk-event time { font-size:11px; }
.smk-agenda .smk-event small { font-size:11px; margin-top:2px; }
.smk-agenda-empty, .smk-agenda-empty button { font-size:13px; }
.smk-tasks .smk-title-with-info > span { font-size:11px; }
.smk-date-link { font-size:12px; }
.smk-tasks .segmented button, .smk-tasks .segmented button span { font-size:12px; }
.smk-tasks .segmented button { min-height:30px; }
.smk-tasks .task-title { font-size:14px; line-height:1.3; }
.smk-tasks .task-meta, .smk-tasks .tag, .smk-tasks .task-time { font-size:11px; }
.smk-tasks .quick-add input[name="title"] { font-size:13px; }
.smk-tasks .quick-add input[type="time"] { font-size:12px; }
.smk-closed { font-size:12px; }
.smk-goals .smk-goal-year { font-size:13px; }
.smk-goal-year select { font-size:13px; }
.smk-goal-main > strong { font-size:17px; }
.smk-goal-sub { font-size:12px; }
.smk-goal-track .smk-goal-pct { font-size:12px; }
.smk-goals .smk-goal-row .goal-symbol { width:46px; height:46px; }
.smk-goals .smk-goal-row .goal-symbol .icon { width:20px; height:20px; }
.smk-goals .smk-goal-row { grid-template-columns:46px minmax(0,1fr) 16px; }
.smk-goals-bottom, .smk-goals-bottom .text-button, .smk-limit { font-size:12px; }
.smk-metric h2 { font-size:clamp(20px,1.65vw,26px); }
.smk-metric .smk-karma-label { font-size:14px; }
.smk-metric p { font-size:12px; }
.smk-metric-link { font-size:11px; }
.smk-metric-score { font-size:clamp(24px,2.6vw,34px); }
.smk-metric-score small { font-size:11px; }
.smk-metric-caption { font-size:13px; }
.smk-metric-caption small { font-size:10px; }
.smk-metric-caption-title { min-width:0; display:flex; gap:6px; align-items:center; }
.smk-metric-caption-title > .icon { width:12px; height:12px; color:#5e665e; }
.smk-metric-caption-title > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.smk-risk-label { font-size:12px; }
.smk-missing { font-size:12px !important; }
@media (min-width:1121px) and (max-height:790px) {
 .sidebar .nav button { font-size:14px; padding:9px 11px; }
 .smk-panel-head h2 { font-size:clamp(22px,2.05vw,31px); }
 .smk-panel-head { min-height:57px; }
 .smk-tasks .task-item { min-height:52px; }
 .smk-metrics .smk-metric { padding:11px 9px 9px; }
 .smk-metric-rows { gap:6px; }
 .smk-metric-caption { font-size:11px; }
 .smk-metric-caption small { font-size:9px; }
 .smk-metric p { font-size:11px; }
 .smk-karma-center .gauge { width:clamp(60px,7vw,98px); height:clamp(60px,7vw,98px); }
}
@media (min-width:1121px) and (max-width:1440px) {
 .smk-panel-head { gap:5px; }
 .smk-panel-head h2 { font-size:clamp(23px,1.95vw,30px); }
 .smk-calendar-nav > span { width:94px; font-size:12px; }
 .smk-calendar-body { grid-template-columns:minmax(0,1fr) minmax(139px,.40fr); }
 .smk-goal-main > strong { font-size:15px; }
 .smk-goals .smk-goal-row { grid-template-columns:39px minmax(0,1fr) 13px; }
 .smk-goals .smk-goal-row .goal-symbol { width:39px; height:39px; }
 .smk-metric h2 { font-size:20px; }
 .smk-metric-caption { font-size:11px; }
 .smk-metric-caption-title > .icon { width:11px; height:11px; }
 .smk-metric-rows { gap:5px; }
}
@media (max-width:1120px) {
 .smk-panel-head h2 { font-size:28px; }
 .smk-metric h2 { font-size:21px; }
 .smk-metric-caption { font-size:12px; }
}
@media (max-width:700px) {
 .smk-mobile-switch button { font-size:12px; }
 .smk-panel-head h2 { font-size:23px; }
 .smk-calendar-nav > span { width:85px; font-size:11px; }
 .smk-calendar .cal-day { font-size:13px; }
 .smk-calendar .weekdays span { font-size:12px; }
 .smk-agenda-head { font-size:11px; }
 .smk-agenda .smk-event { font-size:11px; }
 .smk-agenda .smk-event time, .smk-agenda .smk-event small { font-size:10px; }
 .smk-metrics .smk-metric h2 { font-size:17px; }
 .smk-metric-caption { font-size:10px; }
 .smk-metric-caption small { font-size:9px; }
 .smk-metric-caption-title .icon { display:none; }
 .smk-goal-main > strong { font-size:16px; }
 .smk-goal-sub { font-size:12px; }
}
