/* =========================================================
       01. Design tokens and base layout
    ========================================================= */
    :root {
      --bg: #0d1117;
      --panel: #151b23;
      --panel-2: #1b2430;
      --text: #f3f6fb;
      --muted: #8f9aad;
      --line: rgba(255,255,255,0.08);
      --accent: #8b5cf6;
      --accent-2: #22c55e;
      --warn: #f59e0b;
      --danger: #ef4444;
      --blue: #38bdf8;
      --radius: 22px;
      --shadow: 0 18px 60px rgba(0,0,0,.35);
    }

    * { box-sizing: border-box; }
    body {
      margin: 0;
      font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
      background: var(--bg);
      color: var(--text);
      min-height: 100vh;
    }

    a { color: inherit; }

    .app {
      display: grid;
      grid-template-columns: 230px minmax(0, 1fr);
      min-height: 100vh;
    }

    aside {
      border-right: 1px solid var(--line);
      padding: 24px 18px;
      background: rgba(13,17,23,.72);
      backdrop-filter: blur(18px);
      position: sticky;
      top: 0;
      height: 100vh;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }

    .brand {
      display: flex;
      gap: 12px;
      align-items: center;
      margin-bottom: 28px;
      padding: 8px;
    }

    .logo {
      width: 52px;
      height: 52px;
      border-radius: 0;
      background: transparent;
      display: grid;
      place-items: center;
      box-shadow: none;
      flex: 0 0 auto;
    }

    .logo img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
      filter: drop-shadow(0 10px 22px rgba(212, 175, 55, .24));
    }

    .brand h1 {
      font-size: 17px;
      margin: 0;
      letter-spacing: -.02em;
    }

    .brand p {
      margin: 2px 0 0;
      color: var(--muted);
      font-size: 12px;
    }

    nav {
      display: grid;
      gap: 8px;
      overflow-y: auto;
      overflow-x: hidden;
      padding-right: 4px;
      padding-bottom: 18px;
      min-height: 0;
      flex: 1 1 auto;
      overscroll-behavior: contain;
    }
    #nav::-webkit-scrollbar { width: 6px; }
    #nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.16); border-radius: 999px; }
    #nav::-webkit-scrollbar-track { background: transparent; }

    /* =========================================================
       02. Navigation, topbar, common UI
    ========================================================= */
    .nav-item {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 13px 14px;
      border-radius: 16px;
      color: var(--muted);
      cursor: pointer;
      transition: .18s ease;
      border: 1px solid transparent;
      font-size: 14px;
      appearance: none;
      background: transparent;
      font-family: inherit;
      text-align: left;
    }

    .nav-item:hover, .nav-item.active {
      background: rgba(255,255,255,.07);
      color: var(--text);
      border-color: var(--line);
    }

    .nav-item span:first-child { display: flex; gap: 10px; align-items: center; }
    .page-visibility-card { border-color: rgba(139,92,246,.22); }
    .page-visibility-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 14px; }
    .page-visibility-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .page-visibility-option {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      min-width: 0;
      padding: 11px 12px;
      border: 1px solid var(--line);
      border-radius: 14px;
      background: rgba(255,255,255,.025);
      cursor: pointer;
    }
    .page-visibility-option:hover { background: rgba(255,255,255,.06); }
    .page-visibility-option input { margin-top: 3px; accent-color: var(--accent); }
    .page-visibility-option span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
    .page-visibility-option small { color: var(--muted); font-size: 11px; }
    .page-visibility-option.is-required { opacity: .72; cursor: default; }
    @media (max-width: 640px) {
      .page-visibility-grid { grid-template-columns: 1fr; }
    }
    .badge {
      font-size: 11px;
      color: #d7ffea;
      background: rgba(34,197,94,.16);
      border: 1px solid rgba(34,197,94,.25);
      padding: 4px 8px;
      border-radius: 999px;
    }

    .side-card {
      margin-top: 28px;
      flex: 0 0 auto;
      background: linear-gradient(180deg, rgba(139,92,246,.18), rgba(255,255,255,.04));
      border: 1px solid var(--line);
      padding: 16px;
      border-radius: 20px;
    }

    .side-card p { color: var(--muted); font-size: 13px; line-height: 1.5; margin: 8px 0 0; }

    main { padding: 28px; min-width: 0; overflow: visible; }
    section.active { display: block; }

    @media (max-width: 980px) {
      .app { display: block; }
      aside {
        position: relative;
        height: auto;
        max-height: none;
        overflow: visible;
      }
      #nav {
        max-height: 50vh;
        overflow-y: auto;
      }
      .mobile-menu { display: block; }
    }

    .topbar {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      align-items: flex-start;
      margin-bottom: 24px;
    }

    .hero h2 {
      margin: 0;
      font-size: clamp(28px, 4vw, 46px);
      letter-spacing: -.055em;
      line-height: 1.02;
    }

    .hero p {
      color: var(--muted);
      max-width: 680px;
      line-height: 1.6;
      margin: 12px 0 0;
      font-size: 15px;
    }

    .actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
    .save-status-widget {
      display: flex;
      align-items: center;
      gap: 8px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.045);
      border-radius: 999px;
      padding: 6px 8px;
      min-height: 34px;
    }
    .save-status-dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: rgba(148,163,184,.9);
      flex: 0 0 auto;
    }
    .save-status-text {
      color: var(--muted);
      font-size: 12px;
      white-space: nowrap;
    }
    .save-status-btn {
      padding: 6px 8px;
      font-size: 11px;
      border-radius: 999px;
    }
    .save-status-widget.is-saving .save-status-dot {
      background: #38bdf8;
      box-shadow: 0 0 12px rgba(56,189,248,.45);
      animation: saveStatusPulse 1s infinite ease-in-out;
    }
    .save-status-widget.is-saved .save-status-dot {
      background: #22c55e;
      box-shadow: 0 0 12px rgba(34,197,94,.35);
    }
    .save-status-widget.is-error .save-status-dot {
      background: #ef4444;
      box-shadow: 0 0 12px rgba(239,68,68,.45);
    }
    @keyframes saveStatusPulse {
      0%, 100% {
        transform: scale(1);
        opacity: .7;
      }
      50% {
        transform: scale(1.45);
        opacity: 1;
      }
    }

    button {
      border: 0;
      color: var(--text);
      padding: 12px 16px;
      border-radius: 14px;
      background: rgba(255,255,255,.08);
      border: 1px solid var(--line);
      cursor: pointer;
      font-weight: 650;
      transition: .18s ease;
    }

    button.primary { background: linear-gradient(135deg, var(--accent), #06b6d4); border-color: transparent; }
    button:hover { transform: translateY(-1px); filter: brightness(1.08); }

    .grid { display: grid; gap: 18px; }
    .grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    /* =========================================================
       03. Cards, grids, tables, forms
    ========================================================= */
    .card {
      background: rgba(21,27,35,.78);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 20px;
      position: relative;
      overflow: hidden;
    }

    .card::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 36%);
      pointer-events: none;
    }

    .card > * { position: relative; }
    /* =========================================================
       04. Goals
       05. Projects
       06. Tasks
       07. Finance
       08. Journal and analytics
       09. Learning layer
    ========================================================= */

    .metric-label { color: var(--muted); font-size: 13px; margin-bottom: 8px; }
    .metric-value { font-size: 28px; font-weight: 850; letter-spacing: -.04em; }
    .metric-sub { color: var(--muted); font-size: 12px; margin-top: 8px; }

    .positive { color: var(--accent-2); }
    .warning { color: var(--warn); }
    .danger { color: var(--danger); }
    .blue { color: var(--blue); }

    .progress {
      width: 100%;
      height: 10px;
      background: rgba(255,255,255,.08);
      border-radius: 999px;
      overflow: hidden;
      margin-top: 14px;
    }

    .bar {
      height: 100%;
      border-radius: 999px;
      background: linear-gradient(90deg, var(--accent), #06b6d4);
    }

    section { display: none; animation: fade .22s ease; }
    section.active { display: block; }
    @keyframes fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

    .section-title {
      display: flex;
      justify-content: space-between;
      align-items: end;
      gap: 12px;
      margin: 28px 0 14px;
    }

    .section-title h3 { margin: 0; font-size: 22px; letter-spacing: -.035em; }
    .section-title p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }

    .task {
      display: grid;
      grid-template-columns: 28px 1fr auto;
      gap: 12px;
      align-items: center;
      padding: 14px 0;
      border-bottom: 1px solid var(--line);
    }
    .task:last-child { border-bottom: 0; }
    .check {
      width: 22px; height: 22px; border-radius: 8px; border: 1px solid rgba(255,255,255,.22);
      display: grid; place-items: center; color: var(--accent-2); font-size: 13px;
    }
    .task.done .check { background: rgba(34,197,94,.14); border-color: rgba(34,197,94,.28); }
    .task h4 { margin: 0 0 5px; font-size: 14px; }
    .task p { margin: 0; color: var(--muted); font-size: 12px; }
    .pill {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.06);
      color: var(--muted);
      padding: 7px 10px;
      border-radius: 999px;
      font-size: 12px;
      white-space: nowrap;
    }

    .list { display: grid; gap: 12px; }
    .mini-card {
      background: rgba(255,255,255,.045);
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 15px;
    }
    .mini-card h4 { margin: 0 0 8px; font-size: 15px; }
    .mini-card p { color: var(--muted); font-size: 13px; line-height: 1.5; margin: 0; }

    .table { width: 100%; border-collapse: collapse; }
    .table th, .table td { padding: 13px 10px; border-bottom: 1px solid var(--line); text-align: left; font-size: 13px; }
    .table th { color: var(--muted); font-weight: 600; }
    .table tr:last-child td { border-bottom: 0; }

    .chart {
      height: 220px;
      display: flex;
      align-items: flex-end;
      gap: 10px;
      padding-top: 20px;
    }
    .col {
      flex: 1;
      background: linear-gradient(180deg, #8b5cf6, #06b6d4);
      border-radius: 14px 14px 6px 6px;
      min-height: 28px;
      opacity: .9;
      position: relative;
    }
    .col span {
      position: absolute; bottom: -25px; left: 50%; transform: translateX(-50%);
      color: var(--muted); font-size: 11px;
    }

    .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    input, textarea, select {
      width: 100%;
      background: rgba(255,255,255,.06);
      border: 1px solid var(--line);
      border-radius: 14px;
      color: var(--text);
      padding: 13px 14px;
      outline: none;
      font: inherit;
    }
    textarea { min-height: 115px; resize: vertical; grid-column: 1 / -1; }
    label { color: var(--muted); font-size: 12px; display: grid; gap: 7px; }

    .mode-card {
      cursor: pointer;
      transition: .18s ease;
    }
    .mode-card:hover { transform: translateY(-2px); border-color: rgba(139,92,246,.45); }

    .feature-number {
      width: 30px; height: 30px; border-radius: 11px; background: rgba(139,92,246,.2); color: #ddd0ff;
      display: grid; place-items: center; font-weight: 800; margin-bottom: 12px;
    }

    .mobile-menu { display: none; margin-bottom: 16px; }

    .goals-toolbar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
    .chips { display: flex; gap: 8px; flex-wrap: wrap; }
    .chip {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.05);
      color: var(--muted);
      padding: 9px 12px;
      border-radius: 999px;
      font-size: 12px;
      cursor: pointer;
    }
    .chip.active { color: var(--text); background: rgba(139,92,246,.2); border-color: rgba(139,92,246,.4); }
    .view-switch { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; }
    .view-switch button { border: 0; border-radius: 0; padding: 9px 13px; background: transparent; color: var(--muted); }
    .view-switch button.active { background: rgba(255,255,255,.1); color: var(--text); }

    .goal-card h4 { margin: 0; font-size: 18px; letter-spacing: -.02em; }
    .goal-card-top { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
    .status-badge { border: 1px solid var(--line); border-radius: 999px; padding: 5px 9px; font-size: 11px; white-space: nowrap; }
    .status-ok { color: #89e5a8; background: rgba(34,197,94,.15); border-color: rgba(34,197,94,.35); }
    .status-risk { color: #ffd782; background: rgba(245,158,11,.15); border-color: rgba(245,158,11,.35); }
    .status-critical { color: #ff9c9c; background: rgba(239,68,68,.15); border-color: rgba(239,68,68,.35); }
    .status-done { color: #b2f3c8; background: rgba(34,197,94,.2); border-color: rgba(34,197,94,.45); }
    .status-pause, .status-cancel { color: #96b2ff; background: rgba(56,189,248,.15); border-color: rgba(56,189,248,.35); }

    .goal-lines { display: grid; gap: 6px; margin-top: 12px; }
    .goal-line { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--muted); }
    .goal-line strong { color: var(--text); font-weight: 650; }
    .goal-next {
      margin-top: 12px;
      background: rgba(56,189,248,.12);
      border: 1px solid rgba(56,189,248,.24);
      border-radius: 12px;
      padding: 10px 12px;
      font-size: 12px;
      color: #d7f1ff;
    }

    .hidden { display: none !important; }
    .modal {
      position: fixed;
      inset: 0;
      background: rgba(4,6,10,.68);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 20;
      padding: 20px;
    }
    .modal.open { display: flex; }
    .modal-card,
    .modal-box {
      width: min(920px, 100%);
      max-height: calc(100vh - 40px);
      overflow: auto;
      background: #121822;
      border: 1px solid var(--line);
      border-radius: 20px;
      padding: 18px;
    }
    .modal-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
    .close-btn { padding: 8px 12px; font-size: 12px; }
    .full-span { grid-column: 1 / -1; }
    .goal-detail-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0,1fr)); }
    .goal-detail-grid .card { padding: 16px; }
    .goal-detail-grid .full { grid-column: 1 / -1; }
    .goal-mini-chart { height: 64px; display: flex; align-items: flex-end; gap: 6px; }
    .goal-mini-chart div { flex: 1; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, rgba(139,92,246,.85), rgba(56,189,248,.85)); }
    .habits-head { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
    .habit-list { display:grid; gap:12px; margin-top:12px; }
    .habit-row { border:1px solid var(--line); border-radius:14px; padding:12px; background: linear-gradient(120deg, rgba(30,41,59,.6), rgba(15,23,42,.6)); }
    .habit-top { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:10px; }
    .habit-name { width: 280px; max-width:100%; }
    .habit-stats { font-size:12px; color:var(--muted); }
    .habit-dots { display:grid; grid-template-columns: repeat(31, minmax(0, 1fr)); gap:6px; }
    .habit-dot { width: 100%; aspect-ratio: 1/1; border-radius: 999px; border:1px solid #334155; background:#0f172a; cursor:pointer; }
    .habit-dot.done { background: #38bdf8; border-color:#38bdf8; box-shadow: 0 0 0 2px rgba(56,189,248,.15); }
    .habit-dot.empty { opacity:.2; pointer-events:none; }
    .habit-manager-row { display:grid; grid-template-columns: 1.2fr 130px 110px 90px 90px; gap:8px; align-items:center; margin-top:8px; }
    .info-dot {
      width: 20px;
      height: 20px;
      min-width: 20px;
      border-radius: 999px;
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(148,163,184,.34);
      background: linear-gradient(180deg, rgba(30,41,59,.95), rgba(15,23,42,.95));
      color: transparent;
      cursor: pointer;
      transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
      vertical-align: middle;
      margin-left: 8px;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    }
    .info-dot::before {
      content: "i";
      color: #cbd5e1;
      font-size: 11px;
      font-weight: 700;
      line-height: 1;
      transform: translateY(-.5px);
      font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    }
    .info-dot:hover {
      border-color: rgba(56,189,248,.65);
      background: linear-gradient(180deg, rgba(15,23,42,.98), rgba(2,6,23,.98));
      box-shadow: 0 0 0 3px rgba(56,189,248,.14), inset 0 1px 0 rgba(255,255,255,.09);
      transform: translateY(-1px);
    }
    .info-dot:hover::before { color: #e2e8f0; }
    .info-dot.learned {
      border-color: rgba(34,197,94,.55);
      background: linear-gradient(180deg, rgba(6,78,59,.55), rgba(6,95,70,.45));
      box-shadow: 0 0 0 3px rgba(34,197,94,.12), inset 0 1px 0 rgba(255,255,255,.1);
    }
    .info-dot.learned::before { color: #dcfce7; }
    .learning-popover {
      position: fixed;
      z-index: 80;
      width: min(460px, calc(100vw - 28px));
      max-height: min(720px, calc(100vh - 28px));
      overflow: auto;
      background: #111827;
      border: 1px solid var(--line);
      border-radius: 18px;
      box-shadow: 0 24px 80px rgba(0,0,0,.48);
      padding: 14px;
      display: none;
    }
    .learning-popover.open { display: block; }
    .learning-popover h4 { margin: 0 0 8px; font-size: 15px; letter-spacing: -.02em; }
    .learning-popover p { color: var(--muted); font-size: 13px; line-height: 1.55; margin: 0 0 10px; }
    .learning-meta { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0; }
    .learning-meta .pill { font-size: 11px; padding: 5px 8px; }
    .learning-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; margin-top: 12px; }
    .learning-actions button { padding: 8px 10px; font-size: 12px; }
    .learning-close { position: absolute; top: 8px; right: 8px; padding: 5px 8px; font-size: 11px; }
    .learning-list { display: grid; gap: 6px; margin: 10px 0; }
    .learning-list-title { color: var(--text); font-size: 12px; font-weight: 800; margin-top: 10px; }
    .learning-list-item { color: var(--muted); font-size: 12px; line-height: 1.45; padding-left: 12px; position: relative; }
    .learning-list-item::before { content: "•"; position: absolute; left: 0; color: var(--accent); }
    .field-with-hint { display: grid; gap: 7px; }
    .field-label-row { display: flex; align-items: center; gap: 6px; }
    .field-label-row .info-dot { margin-left: 0; width: 18px; height: 18px; font-size: 10px; min-width: 18px; }
    .context-learning-hint {
      margin-top: 10px;
      border: 1px solid rgba(139,92,246,.25);
      background: linear-gradient(135deg, rgba(139,92,246,.12), rgba(56,189,248,.06));
      border-radius: 14px;
      padding: 11px 12px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
    }
    .context-learning-hint strong { color: var(--text); }
    .context-learning-hint.warning { border-color: rgba(245,158,11,.32); background: rgba(245,158,11,.1); }
    .context-learning-hint.danger { border-color: rgba(239,68,68,.32); background: rgba(239,68,68,.1); }
    .context-learning-hint.success { border-color: rgba(34,197,94,.32); background: rgba(34,197,94,.1); }
    .learning-inline-row { display: flex; align-items: center; gap: 6px; }
    .learning-inline-row h4, .learning-inline-row h3 { margin: 0; }
    .learning-muted-link { color: var(--muted); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font-size: 12px; }
    .field-learned-note { color: var(--muted); font-size: 11px; margin-top: 4px; }
    .learning-toast {
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 90;
      width: min(380px, calc(100vw - 36px));
      background: rgba(17,24,39,.96);
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 13px 14px;
      box-shadow: var(--shadow);
      color: var(--text);
      font-size: 13px;
      line-height: 1.45;
      animation: fade .18s ease;
    }
    .learning-card {
      background: linear-gradient(135deg, rgba(139,92,246,.14), rgba(56,189,248,.08));
      border: 1px solid rgba(139,92,246,.25);
      border-radius: 18px;
      padding: 15px;
    }
    .learning-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
    .learning-card h4 { margin: 0 0 6px; font-size: 15px; }
    .learning-card p { color: var(--muted); font-size: 13px; line-height: 1.55; margin: 0; }
    .learning-card-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
    .learning-card-actions button { font-size: 12px; padding: 8px 10px; }
    .learning-progress-mini {
      margin-top: 14px;
      padding-top: 12px;
      border-top: 1px solid var(--line);
    }
    .learning-progress-mini .metric-sub { font-size: 12px; }
    .learning-progress-mini .progress { margin-top: 8px; height: 7px; }


    .project-stat { font-size: 12px; color: var(--muted); }

    .task-board { display:grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap:12px; }
    .task-col { background: rgba(255,255,255,.03); border:1px solid var(--line); border-radius:16px; padding:10px; min-height:180px; }
    .task-col h4 { margin:0 0 8px; font-size:13px; color:var(--muted); }
    .task-item { border:1px solid var(--line); background:rgba(21,27,35,.85); border-radius:12px; padding:10px; margin-bottom:8px; cursor:pointer; }
    .task-item.dragging { opacity: .55; }
    .task-col.drag-over { outline: 2px dashed rgba(139,92,246,.7); outline-offset: 2px; }
    .task-item h5 { margin:0 0 6px; font-size:13px; }
    .task-item p { margin:0; color:var(--muted); font-size:11px; line-height:1.4; }
    .task-views { display:flex; gap:8px; flex-wrap:wrap; }
    .task-views button.active { background: rgba(139,92,246,.2); color:var(--text); }
.task-toolbar-min {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.task-toolbar-left, .task-toolbar-right {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.task-toolbar-extra {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
    .task-filter-panel {
      border: 1px solid var(--line);
      border-radius: 14px;
      background: rgba(15,23,42,.92);
      padding: 12px;
      margin-top: 10px;
    }
    .task-filter-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px 12px;
    }
    .task-filter-check {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--muted);
      font-size: 13px;
    }
    .task-active-tags {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .task-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 10px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: var(--muted);
      font-size: 12px;
      background: rgba(255,255,255,.04);
    }
    .task-tag button {
      padding: 0;
      border: 0;
      background: transparent;
      color: var(--muted);
      font-size: 14px;
      line-height: 1;
    }
    .task-kpi {
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 10px;
    }
    .task-kpi .card {
      padding: 14px 14px 12px;
      border-radius: 16px;
    }
    .task-kpi .metric-label {
      font-size: 12px;
      margin-bottom: 6px;
      line-height: 1.25;
    }
    .task-kpi .metric-value {
      font-size: 18px;
      letter-spacing: -.02em;
      white-space: nowrap;
    }
.quick-task-card {
  margin-bottom: 18px;
  display: grid;
  gap: 14px;
}
.quick-task-card-collapsed {
  padding: 10px 12px;
  gap: 10px;
}
.quick-task-open-btn {
  width: fit-content;
  min-width: 180px;
}
    .quick-task-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 14px;
    }
    .quick-task-head h3 {
      margin: 0 0 5px;
      font-size: 18px;
      letter-spacing: -.02em;
    }
    .quick-task-head p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
    }
    .quick-task-row {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 10px;
    }
    .quick-task-row input {
      min-height: 44px;
      font-size: 15px;
    }
    .quick-task-chips {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .quick-task-chips button {
      border-radius: 999px;
      padding: 8px 11px;
      font-size: 12px;
    }
    .quick-task-chips button.active {
      border-color: rgba(139,92,246,.65);
      background: rgba(139,92,246,.2);
      color: var(--text);
    }
    .quick-task-options {
      display: grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: 10px;
    }
    .quick-task-created {
      border: 1px solid rgba(34,197,94,.22);
      background: rgba(34,197,94,.08);
      border-radius: 14px;
      padding: 10px 12px;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
      display: flex;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
    }
    .quick-task-created strong { color: var(--text); }
    .quick-task-created-actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .quick-task-created-actions button {
      padding: 7px 9px;
      font-size: 12px;
    }
    .task-quick-card { border-radius: 18px; background: rgba(255,255,255,.025); }
    .task-quick-row { align-items: center; }
    .task-quick-input { font-size: 15px; }
    .task-quick-chips { margin-top: 6px; }
    .task-quick-chip.active { border-color: rgba(139,92,246,.55); background: rgba(139,92,246,.2); color: var(--text); }
    .task-quick-extra-toggle { font-size: 12px; padding: 7px 10px; border-radius: 999px; }
    .task-quick-extra-panel { border: 1px dashed var(--line); border-radius: 14px; padding: 10px; margin-top: 10px; }
    .task-toolbar-lite { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
    .task-filter-lite { grid-template-columns: repeat(3, minmax(0,1fr)); }
.task-card-lite { border: 1px solid var(--line); border-radius: 14px; padding: 10px; background: rgba(255,255,255,.03); display: grid; gap: 8px; margin-bottom: 8px; }
.task-card-lite.is-done { opacity: .8; border-color: rgba(34,197,94,.35); }
.task-card-lite.is-overdue { border-color: rgba(239,68,68,.45); }
.task-card-main { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.task-card-meta { color: var(--muted); font-size: 12px; }
.task-card-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.task-card-actions button { padding: 8px 10px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .task-warning-chip-lite { border: 1px solid rgba(148,163,184,.35); color: #cbd5e1; border-radius: 999px; padding: 3px 8px; font-size: 11px; margin-right: 6px; display: inline-block; }
    .task-source-badge-lite { border: 1px solid rgba(56,189,248,.35); color: #bae6fd; border-radius: 999px; padding: 3px 8px; font-size: 11px; white-space: nowrap; }
    .task-inbox-card { margin: 12px 0; border: 1px solid var(--line); border-radius: 16px; padding: 12px; background: rgba(255,255,255,.03); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .task-template-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
    .task-template-chip { border-radius: 999px; padding: 7px 10px; font-size: 12px; }
    .task-collapsible { border: 1px solid var(--line); border-radius: 14px; }
    .task-collapsible-head { display: flex; justify-content: space-between; align-items: center; padding: 10px; cursor: pointer; }
    .task-collapsible-body { padding: 10px; border-top: 1px solid var(--line); }
    .task-bulk-lite-bar { border: 1px solid var(--line); border-radius: 14px; padding: 10px; display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; background: rgba(255,255,255,.03); }
    .task-checklist-lite, .task-comment-lite, .task-history-lite { display: grid; gap: 8px; }
    .task-cover-preview { width: 100%; max-height: 160px; object-fit: cover; border-radius: 12px; border: 1px solid var(--line); }
    .matrix { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
    .matrix .mini-card { min-height:120px; }
.task-detail-panel { position: fixed; inset: 0; z-index: 80; }

/* Tasks section visual style (aligned to "проект задачи") */
.task-board-modern {
  display: grid;
  grid-template-columns: repeat(6, minmax(260px, 1fr));
  gap: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  min-width: 0;
  padding-bottom: 4px;
}
.task-board-modern > * { min-width: 0; }
.task-table-scroll { overflow-x: auto; }
.task-table-scroll table { min-width: 980px; }
.task-col { min-width: 0; }
.task-col h4 { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.task-col .metric-sub { font-size: 11px; }
.task-col.kanban-column {
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 0;
  min-height: 220px;
  overflow: hidden;
}
.task-col .kanban-column__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.04);
}
.task-col .kanban-column__head--todo { background: rgba(148,163,184,.12); }
.task-col .kanban-column__head--in-progress { background: rgba(56,189,248,.12); }
.task-col .kanban-column__head--done { background: rgba(34,197,94,.1); }
.task-col .kanban-column__title {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: .01em;
}
.task-col .kanban-column__count {
  border-radius: 999px;
  border: 1px solid var(--line);
  padding: 2px 7px;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  background: rgba(255,255,255,.03);
}
.task-col .kanban-column__cards {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  min-height: 150px;
}
.task-item.task-card {
  border: 1px solid var(--line);
  background: linear-gradient(165deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,.02) 100%);
  border-radius: 12px;
  padding: 10px;
  margin-bottom: 0;
  cursor: pointer;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.task-item.task-card:hover {
  transform: translateY(-2px);
  border-color: rgba(59,130,246,.45);
  box-shadow: 0 10px 28px rgba(0,0,0,.2);
}
.task-item.task-card h5 {
  margin: 0 0 6px;
  font-size: 13px;
  letter-spacing: -.01em;
}
.task-item.task-card p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

@media (max-width: 1200px) {
  .task-board-modern { grid-template-columns: repeat(4, minmax(250px, 1fr)); }
}
@media (max-width: 900px) {
  .task-board-modern { grid-template-columns: repeat(3, minmax(240px, 1fr)); }
}
@media (max-width: 640px) {
  .task-board-modern { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
  .task-card-actions { grid-template-columns: 1fr; }
}
    .calendar-day { min-height:180px; }
    .timer { font-size:24px; font-weight:700; }
    .pyramid-hero-card {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 24px;
      align-items: center;
      min-height: 220px;
      background: radial-gradient(circle at top right, rgba(212,175,55,.18), transparent 36%), linear-gradient(135deg, rgba(139,92,246,.18), rgba(56,189,248,.06));
    }
    .pyramid-kicker {
      color: #f8d477;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .12em;
      font-weight: 800;
      margin-bottom: 10px;
    }
    .pyramid-hero-card h2 {
      margin: 0;
      font-size: clamp(30px, 5vw, 56px);
      letter-spacing: -.06em;
      line-height: 1;
    }
    .pyramid-hero-card p {
      color: var(--muted);
      max-width: 720px;
      line-height: 1.65;
      margin: 14px 0 0;
    }
    .pyramid-hero-symbol {
      width: 120px;
      height: 120px;
      border-radius: 28px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(248,212,119,.22);
      background: rgba(248,212,119,.08);
      box-shadow: 0 22px 60px rgba(0,0,0,.35);
    }
    .pyramid-hero-symbol img {
      width: 72px;
      height: 72px;
      object-fit: contain;
      filter: drop-shadow(0 6px 18px rgba(212,175,55,.35));
    }
    /* Deprecated: old pyramid summary layout. Remove after final visual QA. */
    .pyramid-summary-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: 12px;
    }
    .pyramid-summary-item {
      border: 1px solid var(--line);
      border-radius: 14px;
      background: rgba(255,255,255,.04);
      padding: 12px;
    }
    .pyramid-summary-item span {
      display: block;
      color: var(--muted);
      font-size: 12px;
      margin-bottom: 6px;
    }
    .pyramid-summary-item strong {
      display: block;
      color: var(--text);
      font-size: 14px;
      line-height: 1.4;
    }
    .pyramid-current-view { display: grid; gap: 12px; }
    .pyramid-current-empty { text-align: center; padding: 36px 14px; }
    .pyramid-empty-symbol {
      width: 72px;
      height: 72px;
      margin: 0 auto 16px;
      border-radius: 22px;
      display: grid;
      place-items: center;
      color: #f8d477;
      font-size: 42px;
      border: 1px solid rgba(248,212,119,.22);
      background: rgba(248,212,119,.08);
    }
    .pyramid-current-empty h4 { margin: 0 0 8px; font-size: 18px; }
    .pyramid-current-empty p {
      color: var(--muted);
      margin: 0 auto 16px;
      max-width: 420px;
      line-height: 1.55;
    }
    .pyramid-current-header {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 14px;
      align-items: start;
      padding: 14px 16px;
      border: 1px solid rgba(248,212,119,.2);
      border-radius: 22px;
      background: radial-gradient(circle at top right, rgba(248,212,119,.14), transparent 34%), linear-gradient(135deg, rgba(139,92,246,.15), rgba(56,189,248,.06));
    }
    .pyramid-current-kicker {
      color: #f8d477;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: .14em;
      font-weight: 900;
      margin-bottom: 8px;
    }
    .pyramid-current-title {
      margin: 0;
      font-size: clamp(20px, 2.6vw, 32px);
      line-height: 1.08;
      letter-spacing: -.045em;
      max-width: 820px;
    }
    .pyramid-current-result {
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
      margin: 8px 0 0;
      max-width: 760px;
    }
    .pyramid-current-deadline {
      min-width: 145px;
      border-radius: 18px;
      padding: 10px 12px;
      background: rgba(0,0,0,.18);
      border: 1px solid rgba(255,255,255,.1);
      text-align: center;
    }
    .pyramid-current-deadline span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      margin-bottom: 4px;
    }
    .pyramid-current-deadline strong { display: block; font-size: 22px; letter-spacing: -.03em; }
    .pyramid-current-metrics {
      display: grid;
      grid-template-columns: 1.4fr repeat(3, 1fr);
      gap: 8px;
    }
    .pyramid-current-metric {
      border: 1px solid var(--line);
      border-radius: 16px;
      background: rgba(255,255,255,.04);
      padding: 10px 11px;
    }
    .pyramid-current-metric.primary {
      border-color: rgba(139,92,246,.36);
      background: rgba(139,92,246,.1);
    }
    .pyramid-current-metric span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      margin-bottom: 5px;
    }
    .pyramid-current-metric strong { display: block; font-size: 14px; line-height: 1.3; }
    .pyramid-time-progress {
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 10px 12px;
      background: rgba(255,255,255,.035);
    }
    .pyramid-time-progress-top {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 6px;
    }
    .pyramid-time-progress-top span { color: var(--muted); font-size: 12px; }
    .pyramid-time-progress-top strong { font-size: 13px; }
    .pyramid-time-progress-caption { color: var(--muted); font-size: 11px; margin-top: 6px; }
    .pyramid-current-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: 8px;
    }
    .pyramid-current-panel {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 10px;
      align-items: start;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: rgba(255,255,255,.04);
      padding: 11px;
      min-height: 120px;
    }
    .pyramid-current-panel.danger {
      border-color: rgba(239,68,68,.24);
      background: rgba(239,68,68,.07);
    }
    .pyramid-panel-icon {
      width: 30px;
      height: 30px;
      display: grid;
      place-items: center;
      border-radius: 12px;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.08);
    }
    .pyramid-current-panel h4 { margin: 0 0 6px; font-size: 13px; }
    .pyramid-current-panel p, .pyramid-empty-text {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.42;
      margin: 0;
    }
    .pyramid-clean-list {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 5px;
    }
    .pyramid-clean-list li {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.38;
      padding-left: 14px;
      position: relative;
    }
    .pyramid-clean-list li::before {
      content: "•";
      position: absolute;
      left: 0;
      color: #f8d477;
    }
    .pyramid-weekly-blocks {
      border: 1px solid rgba(139,92,246,.25);
      border-radius: 16px;
      background: radial-gradient(circle at top left, rgba(139,92,246,.12), transparent 36%), rgba(255,255,255,.035);
      padding: 11px 12px;
    }
    .pyramid-weekly-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 8px;
    }
    .pyramid-weekly-head h4 { margin: 0 0 4px; font-size: 14px; }
    .pyramid-weekly-head p {
      color: var(--muted);
      font-size: 11px;
      line-height: 1.35;
      margin: 0;
    }
    .pyramid-weekly-list { display: grid; gap: 6px; max-height: 170px; overflow: auto; padding-right: 4px; }
    .pyramid-weekly-item {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 8px;
      align-items: start;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 14px;
      background: rgba(0,0,0,.12);
      padding: 8px 9px;
      color: var(--text);
      font-size: 12px;
      line-height: 1.35;
    }
    .pyramid-weekly-check { color: #f8d477; font-size: 11px; line-height: 1.6; }
    .pyramid-weekly-empty { color: var(--muted); font-size: 13px; padding: 10px 0; }
    /* =========================================================
       10. Pyramid business
    ========================================================= */
    .pyramid-command-card { margin-top: 18px; }
    .pyramid-command-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 14px;
      margin-bottom: 12px;
    }
    .pyramid-command-head h3 {
      margin: 0 0 6px;
      font-size: 20px;
      letter-spacing: -.03em;
    }
    .pyramid-command-head p {
      margin: 0;
      color: var(--muted);
      line-height: 1.45;
      font-size: 13px;
    }
    .pyramid-command-actions {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }
    .pyramid-modal-box {
      width: min(920px, calc(100vw - 28px));
      max-height: calc(100vh - 40px);
      overflow: auto;
    }
    .modal-actions {
      display: flex;
      gap: 10px;
      justify-content: flex-end;
      flex-wrap: wrap;
      margin-top: 14px;
    }
    .principle-card {
      min-height: 230px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .principle-top {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: flex-start;
    }
    .principle-number {
      width: 34px;
      height: 34px;
      border-radius: 12px;
      display: grid;
      place-items: center;
      background: rgba(248,212,119,.12);
      color: #f8d477;
      font-weight: 900;
      border: 1px solid rgba(248,212,119,.22);
    }
    .principle-card h4 { margin: 0 0 8px; font-size: 16px; }
    .principle-card p {
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
      margin: 0;
    }
    .principle-example {
      margin-top: 12px;
      border-left: 2px solid rgba(139,92,246,.55);
      padding-left: 10px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
    }
    .pyramid-actions-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: 12px;
    }
    .pyramid-action-btn {
      text-align: left;
      min-height: 92px;
      display: grid;
      align-content: start;
      gap: 6px;
    }
    .pyramid-action-btn strong { display: block; }
    .pyramid-action-btn span {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.4;
    }
    /* =========================================================
       11. Pyramid org chart
    ========================================================= */
    .pyramid-org-card { overflow: hidden; }
    .pyramid-org-chart { display: grid; gap: 18px; padding: 6px 0; }
    .org-level {
      display: flex;
      justify-content: center;
      gap: 14px;
      flex-wrap: wrap;
      position: relative;
    }
    .org-level:not(:last-child)::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: -16px;
      width: 1px;
      height: 16px;
      background: var(--line);
    }
    .org-role-card {
      width: min(260px, 100%);
      min-height: 118px;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: radial-gradient(circle at top right, rgba(139,92,246,.12), transparent 42%), rgba(255,255,255,.045);
      padding: 14px;
      cursor: pointer;
      transition: .18s ease;
      position: relative;
      text-align: left;
    }
    .org-role-card:hover {
      transform: translateY(-2px);
      border-color: rgba(139,92,246,.45);
      background: radial-gradient(circle at top right, rgba(139,92,246,.18), transparent 42%), rgba(255,255,255,.065);
    }
    .org-role-card.active {
      border-color: rgba(248,212,119,.55);
      box-shadow: 0 0 0 3px rgba(248,212,119,.08);
    }
    .org-role-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 8px;
    }
    .org-role-card h4 { margin: 0 0 6px; font-size: 15px; line-height: 1.25; }
    .org-role-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .org-role-badge {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      margin-top: 10px;
      padding: 5px 8px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.1);
      background: rgba(255,255,255,.05);
      color: var(--muted);
      font-size: 11px;
    }
    .org-role-assignee {
      margin-top: 10px;
      padding-top: 9px;
      border-top: 1px solid rgba(255,255,255,.08);
      color: var(--text);
      font-size: 12px;
    }
    .org-role-empty { color: var(--muted); }
    .org-role-card.level-1 { background: radial-gradient(circle at top right, rgba(248,212,119,.16), transparent 42%), rgba(255,255,255,.05); }
    .org-role-card.level-2 { background: radial-gradient(circle at top right, rgba(56,189,248,.13), transparent 42%), rgba(255,255,255,.05); }
    .org-role-card.level-5 { min-height: 105px; }
    .role-panel-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,.45);
      z-index: 92;
      display: none;
    }
    .role-panel-backdrop.open { display: block; }
    .role-detail-panel {
      position: fixed;
      top: 0;
      right: 0;
      width: min(560px, 100vw);
      height: 100vh;
      background: #0f172a;
      border-left: 1px solid var(--line);
      box-shadow: -30px 0 80px rgba(0,0,0,.45);
      z-index: 93;
      transform: translateX(105%);
      transition: .22s ease;
      display: flex;
      flex-direction: column;
    }
    .role-detail-panel.open { transform: translateX(0); }
    .role-detail-head {
      padding: 20px;
      border-bottom: 1px solid var(--line);
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 14px;
    }
    .role-detail-eyebrow {
      color: #f8d477;
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .12em;
      margin-bottom: 8px;
    }
    .role-detail-head h3 { margin: 0; font-size: 24px; letter-spacing: -.03em; }
    .role-detail-head p { margin: 8px 0 0; color: var(--muted); line-height: 1.5; }
    .role-detail-body { padding: 18px 20px 24px; overflow: auto; display: grid; gap: 14px; }
    .role-detail-block {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.04);
      border-radius: 16px;
      padding: 14px;
    }
    .role-detail-block h4 { margin: 0 0 10px; font-size: 14px; }
    .role-detail-list {
      display: grid;
      gap: 7px;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .role-detail-list li {
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
      padding-left: 14px;
      position: relative;
    }
    .role-detail-list li::before {
      content: "•";
      position: absolute;
      left: 0;
      color: var(--accent);
    }
    .role-assignment-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; }
    .role-assignment-row input { width: 100%; }
    .role-sections-list { display: flex; flex-wrap: wrap; gap: 8px; }
    .role-action-row { display: flex; gap: 10px; flex-wrap: wrap; }
    /* =========================================================
       12. Pyramid rituals
    ========================================================= */
    .ritual-card {
      min-height: 210px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .ritual-card h4 { margin: 0 0 8px; font-size: 16px; }
    .ritual-card p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.5;
    }
    .ritual-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      margin: 12px 0;
    }
    .ritual-workspace-empty { text-align: center; padding: 28px 12px; }
    .ritual-workspace-empty h4 { margin: 0 0 8px; }
    .ritual-workspace-empty p { color: var(--muted); margin: 0; }
    .ritual-form-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 16px;
    }
    .ritual-form-head h4 { margin: 0 0 6px; font-size: 18px; }
    .ritual-form-head p { margin: 0; color: var(--muted); line-height: 1.55; }
    .ritual-form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }
    .ritual-form-grid label.full { grid-column: 1 / -1; }
    .ritual-field-hint {
      display: block;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.4;
      margin-top: 5px;
    }
    .ritual-actions {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 16px;
    }
    .ritual-history-list { display: grid; gap: 10px; }
    .ritual-history-item {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.04);
      border-radius: 16px;
      padding: 13px;
      display: grid;
      gap: 8px;
    }
    .ritual-history-top {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
    }
    .ritual-history-top strong { color: var(--text); }
    .ritual-history-date { color: var(--muted); font-size: 12px; }
    .ritual-history-preview { color: var(--muted); font-size: 12px; line-height: 1.45; }
    .ritual-history-actions { display: flex; gap: 8px; flex-wrap: wrap; }
    .ritual-history-actions button { padding: 7px 9px; font-size: 12px; }
    /* =========================================================
       13. Pyramid diagnostics
    ========================================================= */
    .diagnostic-empty { text-align: center; padding: 32px 12px; }
    .diagnostic-empty h4 { margin: 0 0 8px; }
    .diagnostic-empty p {
      color: var(--muted);
      line-height: 1.55;
      max-width: 560px;
      margin: 0 auto 16px;
    }
    .diagnostic-form { display: grid; gap: 18px; }
    .diagnostic-group {
      border: 1px solid var(--line);
      border-radius: 18px;
      background: rgba(255,255,255,.04);
      padding: 15px;
    }
    .diagnostic-group-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 12px;
    }
    .diagnostic-group-head h4 { margin: 0 0 6px; font-size: 16px; }
    .diagnostic-group-head p {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
      margin: 0;
    }
    .diagnostic-question {
      display: grid;
      gap: 8px;
      padding: 11px 0;
      border-top: 1px solid rgba(255,255,255,.07);
    }
    .diagnostic-question:first-of-type { border-top: none; }
    .diagnostic-question strong { font-size: 13px; line-height: 1.4; }
    .diagnostic-answer-row { display: flex; gap: 8px; flex-wrap: wrap; }
    .diagnostic-answer-btn {
      padding: 8px 10px;
      font-size: 12px;
      border-radius: 999px;
    }
    .diagnostic-answer-btn.active {
      border-color: rgba(139,92,246,.65);
      background: rgba(139,92,246,.22);
      color: var(--text);
    }
    .diagnostic-note {
      width: 100%;
      min-height: 54px;
      font-size: 12px;
      margin-top: 4px;
    }
    .diagnostic-actions {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 6px;
    }
    .diagnostic-score-big {
      display: grid;
      place-items: center;
      width: 156px;
      height: 156px;
      border-radius: 999px;
      margin: 10px auto 18px;
      background: radial-gradient(circle at center, rgba(139,92,246,.22), rgba(56,189,248,.08));
      border: 1px solid rgba(139,92,246,.35);
      box-shadow: inset 0 0 40px rgba(0,0,0,.25);
    }
    .diagnostic-score-big strong { font-size: 42px; line-height: 1; letter-spacing: -.05em; }
    .diagnostic-score-big span {
      display: block;
      color: var(--muted);
      font-size: 12px;
      text-align: center;
      margin-top: 4px;
    }
    .diagnostic-breakdown { display: grid; gap: 10px; }
    .diagnostic-breakdown-item {
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 11px;
      background: rgba(255,255,255,.035);
    }
    .diagnostic-breakdown-top {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 8px;
    }
    .diagnostic-breakdown-top strong { font-size: 13px; }
    .diagnostic-breakdown-top span { color: var(--muted); font-size: 12px; }
    .diagnostic-recommendations { display: grid; gap: 8px; margin-top: 14px; }
    .diagnostic-recommendation {
      padding: 10px 11px;
      border-radius: 14px;
      background: rgba(245,158,11,.1);
      border: 1px solid rgba(245,158,11,.22);
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
    }
    .diagnostic-history-list { display: grid; gap: 10px; }
    .diagnostic-history-item {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.04);
      border-radius: 16px;
      padding: 13px;
      display: grid;
      gap: 8px;
    }
    .diagnostic-history-top {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
    }
    .diagnostic-history-score { color: #f8d477; font-weight: 900; }
    .diagnostic-history-date { color: var(--muted); font-size: 12px; }
    .diagnostic-history-preview { color: var(--muted); font-size: 12px; line-height: 1.45; }
    .diagnostic-history-actions { display: flex; gap: 8px; flex-wrap: wrap; }
    .diagnostic-history-actions button { padding: 7px 9px; font-size: 12px; }
    /* =========================================================
       14. AI commands
    ========================================================= */
    .ai-command-tabs {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-bottom: 14px;
    }
    .ai-command-tab {
      border-radius: 999px;
      padding: 8px 12px;
      font-size: 12px;
    }
    .ai-command-tab.active {
      border-color: rgba(139,92,246,.65);
      background: rgba(139,92,246,.22);
      color: var(--text);
    }
    .ai-command-card {
      min-height: 220px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .ai-command-card h4 { margin: 0 0 8px; font-size: 16px; }
    .ai-command-card p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.5;
    }
    .ai-command-card-meta {
      display: flex;
      gap: 7px;
      flex-wrap: wrap;
      margin-top: 12px;
    }
    .ai-command-modal-box {
      width: min(960px, calc(100vw - 28px));
      max-height: calc(100vh - 40px);
      overflow: auto;
    }
    .ai-command-context {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }
    .ai-command-context textarea { min-height: 130px; }
    .ai-command-prompt-box {
      margin-top: 14px;
      border: 1px solid var(--line);
      border-radius: 16px;
      background: rgba(255,255,255,.04);
      padding: 14px;
    }
    .ai-command-prompt-box h4 { margin: 0 0 10px; }
    .ai-command-prompt-box pre {
      white-space: pre-wrap;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
      margin: 0;
      font-family: inherit;
    }
    .ai-command-result {
      margin-top: 16px;
      border: 1px solid rgba(139,92,246,.28);
      border-radius: 18px;
      background: linear-gradient(135deg, rgba(139,92,246,.11), rgba(56,189,248,.06));
      padding: 15px;
    }
    .ai-command-result-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 12px;
    }
    .ai-command-result-head h4 { margin: 0; }
    .ai-command-result-head div {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    #aiCommandResultText {
      color: var(--text);
      font-size: 14px;
      line-height: 1.65;
      white-space: pre-wrap;
    }
    .ai-history-list { display: grid; gap: 10px; }
    .ai-history-item {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.04);
      border-radius: 16px;
      padding: 13px;
      display: grid;
      gap: 8px;
    }
    .ai-history-top {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
    }
    .ai-history-top strong { color: var(--text); }
    .ai-history-date { color: var(--muted); font-size: 12px; }
    .ai-history-preview { color: var(--muted); font-size: 12px; line-height: 1.45; }
    .ai-history-actions { display: flex; gap: 8px; flex-wrap: wrap; }
    .ai-history-actions button { padding: 7px 9px; font-size: 12px; }
    .pyramid-ai-actions-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: 12px;
    }
    .pyramid-ai-action-btn {
      min-height: 98px;
      text-align: left;
      display: grid;
      align-content: start;
      gap: 6px;
    }
    .pyramid-ai-action-btn strong { display: block; }
    .pyramid-ai-action-btn span {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.4;
    }
    .ai-suggested-actions {
      margin-top: 16px;
      display: grid;
      gap: 10px;
    }
    .ai-suggested-actions h4 { margin: 0; font-size: 14px; }
    .ai-suggested-action-card {
      border: 1px solid rgba(255,255,255,.09);
      background: rgba(0,0,0,.14);
      border-radius: 14px;
      padding: 11px;
      display: grid;
      gap: 8px;
    }
    .ai-suggested-action-top {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
    }
    .ai-suggested-action-title {
      color: var(--text);
      font-size: 13px;
      font-weight: 800;
      line-height: 1.35;
    }
    .ai-suggested-action-meta {
      color: var(--muted);
      font-size: 11px;
    }
    .ai-suggested-action-card p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
    }
    .ai-suggested-action-buttons {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .ai-suggested-action-buttons button {
      padding: 7px 9px;
      font-size: 12px;
    }
    .ai-task-modal-box {
      width: min(820px, calc(100vw - 28px));
      max-height: calc(100vh - 40px);
      overflow: auto;
    }
    .people-toolbar {
      display: grid;
      grid-template-columns: 1.4fr repeat(3, minmax(150px, .6fr));
      gap: 10px;
    }
    .person-card {
      min-height: 260px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .person-card-head {
      display: flex;
      gap: 12px;
      align-items: flex-start;
    }
    .person-avatar {
      width: 46px;
      height: 46px;
      border-radius: 16px;
      display: grid;
      place-items: center;
      background: rgba(139,92,246,.16);
      border: 1px solid rgba(139,92,246,.28);
      color: var(--text);
      font-weight: 900;
    }
    .person-card h4 {
      margin: 0 0 5px;
      font-size: 16px;
    }
    .person-card p {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
      margin: 0;
    }
    .person-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 12px;
    }
    .person-metrics {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      margin-top: 14px;
    }
    .person-metric {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.035);
      border-radius: 12px;
      padding: 9px;
    }
    .person-metric span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      margin-bottom: 4px;
    }
    .person-metric strong { font-size: 13px; }
    .person-load { margin-top: 12px; }
    .person-card-actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-top: 14px;
    }
    .person-card-actions button {
      padding: 8px 10px;
      font-size: 12px;
    }
    .person-modal-box {
      width: min(960px, calc(100vw - 28px));
      max-height: calc(100vh - 40px);
      overflow: auto;
    }
    .entity-links-block {
      margin-top: 14px;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: rgba(255,255,255,.035);
      padding: 14px;
      display: grid;
      gap: 12px;
    }
    .entity-links-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
    }
    .entity-links-head h4 {
      margin: 0 0 5px;
      font-size: 15px;
    }
    .entity-links-head p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
    }
    .entity-link-group {
      display: grid;
      gap: 7px;
    }
    .entity-link-group-title {
      color: var(--muted);
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .08em;
      font-weight: 800;
    }
    .entity-link-list {
      display: grid;
      gap: 7px;
    }
    .entity-link-item {
      text-align: left;
      border: 1px solid rgba(255,255,255,.08);
      background: rgba(0,0,0,.12);
      border-radius: 13px;
      padding: 9px 10px;
      display: grid;
      gap: 3px;
    }
    .entity-link-item strong {
      color: var(--text);
      font-size: 13px;
      line-height: 1.35;
    }
    .entity-link-item small {
      color: var(--muted);
      font-size: 11px;
      line-height: 1.35;
    }
    .entity-link-type {
      color: #f8d477;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: .08em;
      font-weight: 900;
    }
    .entity-gaps {
      display: grid;
      gap: 7px;
      border-top: 1px solid rgba(255,255,255,.08);
      padding-top: 10px;
    }
    .entity-gap-item {
      border: 1px solid rgba(245,158,11,.22);
      background: rgba(245,158,11,.09);
      border-radius: 12px;
      padding: 9px 10px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.4;
    }
    .entity-links-modal-box {
      width: min(980px, calc(100vw - 28px));
      max-height: calc(100vh - 40px);
      overflow: auto;
    }
    #wishlistGrid.grid.grid-3 {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(190px, 220px));
      justify-content: start;
      align-items: start;
      gap: 12px;
    }
    .wishlist-control-card {
      padding: 4px 8px;
      margin-bottom: 8px;
      width: fit-content;
      max-width: 100%;
    }
    .wishlist-control-bar {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: nowrap;
      overflow-x: auto;
      padding: 0;
    }
    .icon-filter-btn {
      min-height: 34px;
      padding: 6px 10px;
      border-radius: 999px;
      font-size: 12px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      flex: 0 0 auto;
    }
    .icon-filter-btn.ghost {
      opacity: .72;
    }
    .wishlist-search-panel {
      flex: 0 0 320px;
      max-width: 320px;
    }
    .wishlist-search-panel input {
      height: 38px;
      padding: 8px 12px;
      border-radius: 999px;
    }
    .wishlist-filter-dropdown {
      position: relative;
    }
    .filter-popover {
      position: absolute;
      top: calc(100% + 8px);
      left: 0;
      z-index: 40;
      min-width: 220px;
      padding: 10px;
      border-radius: 16px;
      border: 1px solid var(--line);
      background: #121822;
      box-shadow: var(--shadow);
      display: grid;
      gap: 6px;
    }
    .filter-check-row,
    .filter-radio-row {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 7px 8px;
      border-radius: 10px;
      color: var(--muted);
      font-size: 12px;
      cursor: pointer;
    }
    .filter-check-row:hover,
    .filter-radio-row:hover {
      background: rgba(255,255,255,.06);
      color: var(--text);
    }
    .filter-check-row input,
    .filter-radio-row input {
      width: auto;
    }
    .wish-card {
      min-height: 0;
      padding: 10px;
      border-radius: 16px;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-self: start;
      height: auto;
      gap: 2px;
    }
    .wish-cover {
      height: 76px;
      border-radius: 13px;
      border: 1px solid var(--line);
      background:
        radial-gradient(circle at top right, rgba(139,92,246,.2), transparent 36%),
        rgba(255,255,255,.045);
      overflow: hidden;
      display: grid;
      place-items: center;
      color: var(--muted);
      margin-bottom: 7px;
    }
    .wish-cover img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .wish-cover-placeholder {
      font-size: 30px;
      opacity: .8;
    }
    .wish-card h4 {
      margin: 0 0 6px;
      font-size: 14px;
      line-height: 1.25;
      letter-spacing: -.01em;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .wish-card p {
      display: none;
    }
    .wish-card .metric-sub {
      margin: 2px 0 0;
      line-height: 1.25;
    }
    .wish-meta {
      display: flex;
      gap: 5px;
      flex-wrap: wrap;
      margin: 6px 0 2px;
    }
    .wish-meta .pill,
    .wish-card .pill {
      padding: 5px 8px;
      font-size: 10.5px;
    }
    .wish-price {
      font-size: 16px;
      font-weight: 900;
      letter-spacing: -.03em;
      margin-top: 4px;
    }
    .wish-priority {
      color: #f8d477;
    }
    .wish-card-actions {
      display: flex;
      gap: 6px;
      margin-top: 9px;
    }
    .wish-card-actions button {
      padding: 7px 8px;
      border-radius: 10px;
      font-size: 11px;
      flex: 1;
    }
    .wish-modal-box {
      width: min(980px, calc(100vw - 28px));
      max-height: calc(100vh - 40px);
      overflow: auto;
    }
    .wish-modal-box .form-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
    }
    .wish-modal-box label {
      gap: 5px;
    }
    .wish-modal-box input,
    .wish-modal-box select {
      min-height: 38px;
      padding: 9px 11px;
      border-radius: 12px;
      font-size: 13px;
    }
    .wish-modal-box textarea {
      min-height: 72px;
      padding: 10px 12px;
      border-radius: 12px;
      font-size: 13px;
    }
    .wish-form-wide {
      grid-column: 1 / -1;
    }
    .wish-form-half {
      grid-column: span 2;
    }
    .wish-form-section-title {
      color: var(--muted);
      font-size: 12px;
      margin-bottom: 6px;
      font-weight: 700;
    }
    .wish-chip-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
    }
    .wish-chip {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.05);
      color: var(--muted);
      padding: 7px 10px;
      border-radius: 999px;
      font-size: 12px;
      cursor: pointer;
      user-select: none;
    }
    .wish-chip.active {
      color: var(--text);
      background: rgba(139,92,246,.22);
      border-color: rgba(139,92,246,.45);
    }
    .wish-image-preview {
      margin-top: 14px;
      display: grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: 10px;
    }
    .wish-image-thumb {
      border: 1px solid var(--line);
      border-radius: 14px;
      overflow: hidden;
      background: rgba(255,255,255,.04);
      position: relative;
      min-height: 120px;
    }
    .wish-image-thumb img {
      width: 100%;
      height: 120px;
      object-fit: cover;
      display: block;
    }
    .wish-image-thumb button {
      position: absolute;
      top: 6px;
      right: 6px;
      padding: 5px 8px;
      font-size: 11px;
    }
    .wish-detail-grid {
      display: grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 18px;
    }
    .wish-detail-gallery {
      display: grid;
      gap: 10px;
    }
    .wish-detail-main-image {
      border-radius: 22px;
      overflow: hidden;
      border: 1px solid var(--line);
      width: min(360px, 100%);
      aspect-ratio: 1 / 1;
      margin: 0 auto;
      background: rgba(255,255,255,.04);
      display: grid;
      place-items: center;
    }
    .wish-detail-main-image img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
    }
    .wish-detail-info {
      display: grid;
      gap: 12px;
    }
    .wish-detail-block {
      border: 1px solid var(--line);
      border-radius: 16px;
      background: rgba(255,255,255,.035);
      padding: 13px;
    }
    .wish-detail-block h4 {
      margin: 0 0 8px;
      font-size: 14px;
    }
    .wish-detail-block p {
      color: var(--muted);
      font-size: 13px;
      line-height: 1.5;
      margin: 0;
    }
    .wish-detail-row {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 8px;
      align-items: start;
      margin-top: 6px;
    }
    .wish-detail-row:first-of-type {
      margin-top: 0;
    }
    .wish-edit-btn {
      width: 30px;
      min-width: 30px;
      height: 30px;
      padding: 0;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      flex: 0 0 auto;
    }
    .wish-inline-edit {
      display: grid;
      gap: 6px;
      width: 100%;
    }
    .wish-inline-edit input,
    .wish-inline-edit select,
    .wish-inline-edit textarea {
      min-height: 34px;
      border-radius: 10px;
      padding: 8px 10px;
      font-size: 13px;
    }
    .wish-inline-actions {
      display: flex;
      gap: 6px;
    }
    .daily-command-card {
      margin-bottom: 18px;
    }
    .daily-command-empty {
      text-align: center;
      padding: 34px 14px;
    }
    .daily-command-empty h4 {
      margin: 0 0 8px;
      font-size: 18px;
    }
    .daily-command-empty p {
      color: var(--muted);
      max-width: 520px;
      margin: 0 auto 16px;
      line-height: 1.55;
    }
    .daily-command-view {
      display: grid;
      gap: 16px;
    }
    .daily-command-hero {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 16px;
      padding: 18px;
      border: 1px solid rgba(248,212,119,.22);
      border-radius: 22px;
      background:
        radial-gradient(circle at top right, rgba(248,212,119,.14), transparent 34%),
        linear-gradient(135deg, rgba(139,92,246,.14), rgba(56,189,248,.06));
    }
    .daily-command-kicker {
      color: #f8d477;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .14em;
      font-weight: 900;
      margin-bottom: 8px;
    }
    .daily-command-hero h4 {
      margin: 0;
      font-size: clamp(22px, 3vw, 34px);
      letter-spacing: -.04em;
      line-height: 1.08;
    }
    .daily-command-hero p {
      margin: 10px 0 0;
      color: var(--muted);
      line-height: 1.5;
    }
    .daily-command-status {
      min-width: 130px;
      border-radius: 18px;
      padding: 12px;
      background: rgba(0,0,0,.18);
      border: 1px solid rgba(255,255,255,.1);
      text-align: center;
    }
    .daily-command-status span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      margin-bottom: 5px;
    }
    .daily-command-status strong {
      font-size: 18px;
    }
    .daily-command-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: 12px;
    }
    .daily-command-panel {
      border: 1px solid var(--line);
      border-radius: 18px;
      background: rgba(255,255,255,.04);
      padding: 14px;
      display: grid;
      gap: 10px;
    }
    .daily-command-panel h4 {
      margin: 0;
      font-size: 14px;
    }
    .daily-command-panel p {
      color: var(--muted);
      margin: 0;
      font-size: 13px;
      line-height: 1.45;
    }
    .daily-command-list {
      display: grid;
      gap: 8px;
    }
    .daily-command-item {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 9px;
      align-items: start;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 14px;
      background: rgba(0,0,0,.12);
      padding: 9px 10px;
      color: var(--text);
      font-size: 13px;
      line-height: 1.4;
    }
    .daily-command-mark {
      color: #f8d477;
      font-size: 11px;
      line-height: 1.6;
    }
    .daily-command-danger {
      border-color: rgba(239,68,68,.25);
      background: rgba(239,68,68,.07);
    }
    .daily-command-warning {
      border-color: rgba(245,158,11,.25);
      background: rgba(245,158,11,.08);
    }
    .daily-command-actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }
    .daily-history-list {
      display: grid;
      gap: 10px;
    }
    .daily-history-item {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.04);
      border-radius: 16px;
      padding: 13px;
      display: grid;
      gap: 8px;
    }
    .daily-history-top {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
    }
    .daily-history-date {
      color: var(--muted);
      font-size: 12px;
    }
    .daily-history-preview {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
    }
    .daily-history-actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .daily-history-actions button {
      padding: 7px 9px;
      font-size: 12px;
    }
    @media (max-width: 820px) {
      .pyramid-command-head { display: grid; }
      .pyramid-command-actions { justify-content: flex-start; }
    }
    @media (max-width: 900px) {
      .daily-command-hero {
        grid-template-columns: 1fr;
      }
      .daily-command-status {
        width: fit-content;
        text-align: left;
      }
      .daily-command-grid {
        grid-template-columns: 1fr;
      }
    }
    @media (max-width: 960px) {
      .pyramid-ai-actions-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .ai-command-context { grid-template-columns: 1fr; }
      .people-toolbar { grid-template-columns: 1fr 1fr; }
      .wish-detail-grid { grid-template-columns: 1fr; }
      .wish-image-preview { grid-template-columns: repeat(2, minmax(0,1fr)); }
    }
    @media (max-width: 620px) {
      .wish-image-preview { grid-template-columns: 1fr; }
    }
    @media (min-width: 1440px) {
      #wishlistGrid.grid.grid-3 {
        grid-template-columns: repeat(auto-fill, minmax(180px, 210px));
      }
    }
    @media (max-width: 1100px) {
      #wishlistGrid.grid.grid-3 {
        grid-template-columns: repeat(auto-fill, minmax(170px, 200px));
      }
    }
    @media (max-width: 900px) {
      .wish-modal-box .form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    @media (max-width: 760px) {
      #wishlistGrid.grid.grid-3 {
        grid-template-columns: repeat(2, minmax(160px, 1fr));
      }
      .wish-cover {
        height: 72px;
      }
      .wish-card-actions {
        flex-direction: column;
      }
      .save-status-widget {
        width: 100%;
        justify-content: space-between;
        border-radius: 14px;
        flex-wrap: wrap;
      }
      .save-status-text {
        font-size: 11px;
      }
    }
    @media (max-width: 520px) {
      #wishlistGrid.grid.grid-3 {
        grid-template-columns: 1fr;
      }
      .wishlist-control-bar {
        align-items: center;
      }
      .wishlist-search-panel {
        flex: 0 0 260px;
        max-width: 260px;
      }
      .wish-modal-box .form-grid {
        grid-template-columns: 1fr;
      }
    }


    /* =========================================================
       15. Responsive
    ========================================================= */
    @media (max-width: 1050px) {
      .app { grid-template-columns: 1fr; }
      aside { display: none; }
      main { padding: 18px; }
      .mobile-menu { display: block; }
      .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .grid-3, .grid-2 { grid-template-columns: 1fr; }
      .topbar { flex-direction: column; }
      .actions { justify-content: flex-start; }
      .goal-detail-grid { grid-template-columns: 1fr; }
      .task-kpi { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .pyramid-summary-grid,
      .pyramid-actions-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
      }
      .pyramid-current-header { grid-template-columns: 1fr; }
      .pyramid-current-deadline { text-align: left; width: fit-content; }
      .pyramid-current-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .pyramid-current-grid { grid-template-columns: 1fr; }
      .pyramid-hero-card { grid-template-columns: 1fr; }
      .pyramid-hero-symbol {
        width: 92px;
        height: 92px;
        font-size: 52px;
      }
    }
    @media (max-width: 620px) {
      .grid-4 { grid-template-columns: 1fr; }
      .form-grid { grid-template-columns: 1fr; }
      .table { display: block; overflow-x: auto; white-space: nowrap; }
      .goals-toolbar { align-items: stretch; }
      .task-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .quick-task-head { display: grid; }
      .quick-task-row { grid-template-columns: 1fr; }
      .quick-task-options { grid-template-columns: 1fr; }
      .pyramid-summary-grid,
      .pyramid-actions-grid {
        grid-template-columns: 1fr;
      }
      .pyramid-current-header { padding: 16px; }
      .pyramid-current-title { font-size: 25px; }
      .pyramid-current-metrics { grid-template-columns: 1fr; }
      .pyramid-current-panel { grid-template-columns: 1fr; }
      .org-role-card { width: 100%; }
      .role-detail-panel { width: 100vw; }
      .role-assignment-row { grid-template-columns: 1fr; }
      .task-filter-grid { grid-template-columns: 1fr; }
      .ritual-form-grid { grid-template-columns: 1fr; }
      .ritual-form-head { display: grid; }
      .diagnostic-score-big { width: 132px; height: 132px; }
      .diagnostic-score-big strong { font-size: 34px; }
      .pyramid-ai-actions-grid { grid-template-columns: 1fr; }
      .people-toolbar { grid-template-columns: 1fr; }
      .person-metrics { grid-template-columns: 1fr; }
      .learning-popover {
        left: 12px !important;
        right: 12px !important;
        top: 80px !important;
        width: auto;
        max-height: calc(100vh - 110px);
      }
    }

/* Auth gate */
body.auth-locked .app {
  display: none !important;
}
.auth-gate {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(circle at top, rgba(59,130,246,.18), transparent 40%),
    radial-gradient(circle at bottom right, rgba(34,197,94,.12), transparent 30%),
    #0b1020;
}
.auth-card {
  width: min(460px, 100%);
  background: rgba(12,18,34,.92);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 24px;
  box-shadow: 0 30px 80px rgba(0,0,0,.45);
  padding: 22px;
  display: grid;
  gap: 14px;
}
.auth-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.auth-brand-name {
  font-weight: 800;
  font-size: 18px;
}
.auth-title {
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -.04em;
}
.auth-subtitle {
  color: var(--muted);
  line-height: 1.5;
}
.auth-tabs {
  display: flex;
  gap: 8px;
}
.auth-tab-btn {
  flex: 1;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--text);
  padding: 11px 12px;
  font-weight: 700;
}
.auth-tab-btn.active {
  background: rgba(59,130,246,.18);
  border-color: rgba(59,130,246,.45);
  color: #dbeafe;
}
.auth-form {
  display: grid;
  gap: 12px;
}
.auth-form.hidden {
  display: none;
}
.auth-label {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 13px;
}
.auth-input {
  width: 100%;
  box-sizing: border-box;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--text);
  padding: 13px 14px;
  outline: none;
}
.auth-input:focus {
  border-color: rgba(59,130,246,.55);
  box-shadow: 0 0 0 4px rgba(59,130,246,.10);
}
.auth-submit {
  width: 100%;
  border: 0;
  border-radius: 14px;
  padding: 13px 14px;
  font-weight: 800;
  color: white;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}
.auth-submit.success {
  background: linear-gradient(135deg, #16a34a, #15803d);
}
.auth-message {
  min-height: 20px;
  font-size: 13px;
  color: var(--muted);
}
.auth-message.error {
  color: #fca5a5;
}
.auth-message.success {
  color: #86efac;
}

/* Body / Movement */
.body-quick-start-card,
.body-recommendation-card,
.body-active-workout-card { margin-bottom: 18px; }
.body-quick-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:14px; }
.body-quick-head h3 { margin:0 0 5px; font-size:19px; letter-spacing:-.02em; }
.body-quick-head p { margin:0; color:var(--muted); font-size:13px; line-height:1.45; }
.body-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.body-choice-block { display:grid; gap:9px; margin-bottom:12px; }
.body-choice-label { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:900; }
.body-chip-row { display:flex; gap:8px; flex-wrap:wrap; }
.body-chip-row button { border-radius:999px; padding:8px 11px; font-size:12px; }
.body-chip-row button.active,.body-rating-row button.active { border-color:rgba(139,92,246,.7); background:rgba(139,92,246,.22); color:var(--text); }
.body-quick-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:4px; }
.body-format-card { min-height:220px; display:flex; flex-direction:column; justify-content:space-between; }
.body-format-head { display:flex; gap:12px; align-items:flex-start; }
.body-format-icon { width:48px; height:48px; border-radius:16px; display:grid; place-items:center; border:1px solid rgba(139,92,246,.25); background:rgba(139,92,246,.14); font-size:24px; }
.body-format-card h4 { margin:0 0 5px; font-size:16px; }
.body-format-card p { color:var(--muted); font-size:12px; line-height:1.45; margin:0; }
.body-format-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:13px 0; }
.body-format-metric { border:1px solid var(--line); background:rgba(255,255,255,.035); border-radius:12px; padding:9px; }
.body-format-metric span { display:block; color:var(--muted); font-size:10px; margin-bottom:4px; }
.body-format-metric strong { font-size:13px; }
.body-format-actions { display:flex; gap:8px; flex-wrap:wrap; }
.body-format-actions button { padding:8px 10px; font-size:12px; }
.body-recommendation-view { display:grid; gap:12px; }
.body-recommendation-hero { border:1px solid rgba(248,212,119,.22); background:radial-gradient(circle at top right, rgba(248,212,119,.13), transparent 35%),linear-gradient(135deg, rgba(139,92,246,.12), rgba(56,189,248,.06)); border-radius:22px; padding:18px; }
.body-recommendation-hero h4 { margin:0; font-size:clamp(20px,3vw,30px); letter-spacing:-.04em; line-height:1.1; }
.body-recommendation-hero p { margin:9px 0 0; color:var(--muted); line-height:1.5; }
.body-active-view { display:grid; gap:14px; }
.body-active-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; flex-wrap:wrap; }
.body-active-head h3 { margin:0 0 6px; font-size:22px; }
.body-active-timer { border:1px solid var(--line); background:rgba(255,255,255,.04); border-radius:16px; padding:10px 12px; text-align:center; }
.body-active-timer span { display:block; color:var(--muted); font-size:11px; margin-bottom:4px; }
.body-active-timer strong { font-size:18px; }
.body-exercise-list { display:grid; gap:12px; }
.body-exercise-card { border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.035); padding:13px; display:grid; gap:10px; }
.body-exercise-top { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.body-exercise-top h4 { margin:0; font-size:15px; }
.body-set-list { display:grid; gap:8px; }
.body-set-row { display:grid; grid-template-columns:auto 1fr auto auto auto; gap:8px; align-items:center; border:1px solid rgba(255,255,255,.08); border-radius:13px; padding:8px; background:rgba(0,0,0,.12); }
.body-set-row.done { border-color:rgba(34,197,94,.28); background:rgba(34,197,94,.08); }
.body-set-row button { padding:6px 9px; font-size:12px; }
.body-finish-grid { display:grid; gap:14px; }
.body-rating-block { display:grid; gap:8px; }
.body-rating-row { display:flex; gap:6px; flex-wrap:wrap; }
.body-rating-row button { width:34px; height:34px; border-radius:12px; padding:0; font-size:12px; }
.body-session-list { display:grid; gap:10px; }
.body-session-item { border:1px solid var(--line); background:rgba(255,255,255,.04); border-radius:16px; padding:13px; display:grid; gap:8px; }
.body-session-top { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.body-session-date { color:var(--muted); font-size:12px; }
.body-modal-box { width:min(900px, calc(100vw - 28px)); max-height:calc(100vh - 40px); overflow:auto; }
@media (max-width: 900px) {
  .body-choice-grid,.body-format-metrics { grid-template-columns:1fr; }
  .body-set-row { grid-template-columns:1fr auto auto auto; }
}

/* Finance / Granaries */
.granary-grid .granary-kpi { border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.03); padding:14px; }
.granary-kpi h4 { margin:0 0 6px; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; }
.granary-kpi .metric-value { font-size:24px; margin-bottom:4px; }
.granary-status-card { border:1px solid var(--line); border-radius:18px; padding:16px; background:rgba(255,255,255,.03); }
.granary-status-card.is-ok { border-color:rgba(34,197,94,.4); }
.granary-status-card.is-watch { border-color:rgba(245,158,11,.45); }
.granary-status-card.is-risk { border-color:rgba(249,115,22,.45); }
.granary-status-card.is-critical { border-color:rgba(239,68,68,.45); }
.granary-warning-list,.granary-decision-list { display:grid; gap:8px; }
.granary-warning-item,.granary-decision-item { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:10px 12px; color:var(--muted); }
.granary-project-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.granary-project-card { border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.03); padding:12px; }
.granary-project-card.is-donor { border-color:rgba(34,197,94,.35); }
.granary-project-card.is-eater { border-color:rgba(239,68,68,.35); }
.granary-unlinked-table table { margin-top:10px; }
.granary-badge { display:inline-flex; align-items:center; border-radius:999px; padding:5px 10px; font-size:11px; font-weight:700; letter-spacing:.04em; border:1px solid var(--line); }
.granary-badge.ok { color:#22c55e; border-color:rgba(34,197,94,.35); background:rgba(34,197,94,.12); }
.granary-badge.watch { color:#f59e0b; border-color:rgba(245,158,11,.35); background:rgba(245,158,11,.12); }
.granary-badge.risk { color:#fb923c; border-color:rgba(249,115,22,.35); background:rgba(249,115,22,.12); }
.granary-badge.critical { color:#ef4444; border-color:rgba(239,68,68,.35); background:rgba(239,68,68,.12); }
@media (max-width: 900px) {
  .granary-project-columns { grid-template-columns:1fr; }
}

/* System gaps compact widget */
.system-gaps-widget { border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.03); padding:14px; display:grid; gap:12px; }
.system-gaps-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.system-gaps-title-row { display:flex; align-items:center; gap:8px; }
.system-gaps-title-row h3 { margin:0; font-size:20px; }
.system-gaps-head p { margin:4px 0 0; color:var(--muted); }
.system-gaps-summary { text-align:right; display:grid; gap:2px; }
.system-gaps-total { font-size:28px; font-weight:900; line-height:1; }
.system-gaps-label { color:var(--muted); font-size:12px; }
.system-gaps-strip { display:flex; gap:8px; flex-wrap:wrap; }
.system-gap-chip { border:1px solid var(--line); background:rgba(255,255,255,.03); color:var(--text); border-radius:999px; padding:7px 10px; font-size:12px; display:inline-flex; align-items:center; gap:7px; }
.system-gap-chip .gap-dot { width:8px; height:8px; border-radius:50%; background:var(--muted); }
.system-gap-chip.is-critical { border-color:rgba(239,68,68,.45); background:rgba(239,68,68,.12); }
.system-gap-chip.is-critical .gap-dot { background:#ef4444; }
.system-gap-chip.is-warning { border-color:rgba(245,158,11,.45); background:rgba(245,158,11,.12); }
.system-gap-chip.is-warning .gap-dot { background:#f59e0b; }
.system-gap-chip.is-info { border-color:rgba(56,189,248,.45); background:rgba(56,189,248,.12); }
.system-gap-chip.is-info .gap-dot { background:#38bdf8; }
.system-gap-chip.is-more { border-style:dashed; color:var(--muted); }
.system-gaps-actions { display:flex; gap:8px; flex-wrap:wrap; }
.system-gaps-detail { border-top:1px solid var(--line); padding-top:10px; display:grid; gap:8px; }
.system-gap-row { border:1px solid var(--line); border-left:4px solid rgba(148,163,184,.35); border-radius:12px; padding:10px; display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.system-gap-row p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.system-gap-row.is-critical { border-left-color:#ef4444; }
.system-gap-row.is-warning { border-left-color:#f59e0b; }
.system-gap-row.is-info { border-left-color:#38bdf8; }
.system-gap-row.is-zero { opacity:.65; }
.system-gap-row-right { display:grid; justify-items:end; gap:8px; min-width:96px; }
.system-gap-row-right span { font-weight:900; font-size:20px; }
.system-gaps-empty { border:1px solid rgba(34,197,94,.35); background:rgba(34,197,94,.1); border-radius:16px; padding:12px; display:flex; gap:10px; align-items:flex-start; }
.system-gaps-empty-icon { width:28px; height:28px; border-radius:999px; border:1px solid rgba(34,197,94,.45); display:grid; place-items:center; color:#22c55e; font-weight:900; }
@media (max-width: 760px) {
  .system-gaps-head { display:grid; }
  .system-gaps-summary { text-align:left; }
  .system-gaps-strip { overflow:auto; white-space:nowrap; display:block; }
  .system-gaps-strip .system-gap-chip { margin-right:8px; display:inline-flex; }
  .system-gaps-actions { display:grid; grid-template-columns:1fr 1fr; }
  .system-gap-row { display:grid; }
  .system-gap-row-right { justify-items:start; }
}

/* Projects: one status category per project, compact priority-first registry. */
#projects .section-title { margin-bottom: 14px; }
#projects .section-title h3 { margin-bottom: 3px; }

.project-registry-toolbar {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) minmax(190px, .8fr) minmax(210px, .75fr);
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(132,153,178,.16);
  border-radius: 16px;
  background: linear-gradient(110deg, rgba(18,27,36,.88), rgba(20,28,37,.72));
}
.project-registry-search,
.project-registry-select {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.project-registry-search > span,
.project-registry-select > span { position: absolute; z-index: 1; left: 14px; color: #8ea0b4; font-size: 18px; }
.project-registry-search input,
.project-registry-select select {
  min-height: 46px;
  padding: 10px 38px 10px 43px;
  border-radius: 11px;
  background: rgba(7,13,20,.38);
}
.project-registry-sort {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-height: 46px;
  padding: 0 14px;
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: 11px;
  background: rgba(7,13,20,.3);
  font-size: 12px;
}
.project-registry-sort strong { color: var(--text); font-weight: 750; }

.project-registry-legend { display: flex; gap: 8px; flex-wrap: wrap; margin: 11px 0; }
.project-registry-legend button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 12px;
  color: var(--muted);
  border-color: rgba(132,153,178,.14);
  border-radius: 9px;
  background: rgba(18,27,36,.52);
  font-size: 11px;
}
.project-registry-legend button i { width: 9px; height: 9px; border-radius: 50%; background: #77818d; }
.project-registry-legend button:nth-child(1) i { background: #61c86b; box-shadow: 0 0 12px rgba(74,193,90,.45); }
.project-registry-legend button:nth-child(2) i { background: #e8b52f; box-shadow: 0 0 12px rgba(232,181,47,.35); }
.project-registry-legend button.active { color: var(--text); border-color: rgba(132,153,178,.32); background: rgba(132,153,178,.1); }

.project-registry { display: grid; gap: 12px; }
.project-registry-group {
  display: block;
  overflow: hidden;
  border: 1px solid rgba(132,153,178,.2);
  border-radius: 14px;
  background: rgba(13,21,29,.6);
}
.project-registry-group-active { border-color: rgba(68,171,82,.5); background: linear-gradient(115deg, rgba(26,55,33,.32), rgba(13,21,29,.62) 45%); }
.project-registry-group-unstable { border-color: rgba(210,153,32,.58); background: linear-gradient(115deg, rgba(79,58,18,.28), rgba(13,21,29,.62) 45%); }
.project-registry-group-closed { border-color: rgba(128,139,151,.3); background: linear-gradient(115deg, rgba(66,71,78,.2), rgba(13,21,29,.58) 45%); }
.project-registry-group > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 46px;
  padding: 0 16px;
  border-bottom: 1px solid rgba(132,153,178,.13);
}
.project-registry-group > header > div { display: flex; align-items: center; gap: 9px; }
.project-registry-group > header i { width: 10px; height: 10px; border-radius: 50%; background: #8b949f; }
.project-registry-group-active > header i { background: #61c86b; box-shadow: 0 0 12px rgba(74,193,90,.45); }
.project-registry-group-unstable > header i { background: #e8b52f; box-shadow: 0 0 12px rgba(232,181,47,.35); }
.project-registry-group > header h4 { margin: 0; font-size: 14px; }
.project-registry-group > header span { color: var(--muted); font-size: 12px; }
.project-registry-group > header small { color: var(--muted); font-size: 10px; }

.project-registry-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.3fr) 88px minmax(145px, .9fr) minmax(175px, 1fr) minmax(180px, 1.15fr) 34px;
  gap: 16px;
  align-items: center;
  min-height: 72px;
  padding: 9px 14px;
  border-bottom: 1px solid rgba(132,153,178,.12);
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}
.project-registry-row:last-child { border-bottom: 0; }
.project-registry-row:hover { background: rgba(132,153,178,.055); }
.project-registry-row:focus-visible { outline: 2px solid rgba(36,197,222,.5); outline-offset: -2px; }
.project-registry-identity { display: flex; align-items: center; gap: 11px; min-width: 0; }
.project-registry-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  color: #eaf5eb;
  border: 1px solid rgba(132,153,178,.2);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(74,155,86,.42), rgba(12,20,27,.82));
  font-size: 16px;
  font-weight: 850;
}
.project-category-unstable .project-registry-avatar { color: #ffe7a1; background: linear-gradient(145deg, rgba(181,128,26,.42), rgba(12,20,27,.82)); }
.project-category-closed .project-registry-avatar { color: #c0c7cf; background: linear-gradient(145deg, rgba(116,125,135,.34), rgba(12,20,27,.82)); }
.project-registry-identity div { min-width: 0; }
.project-registry-identity strong,
.project-registry-identity small,
.project-registry-metric strong,
.project-registry-next strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-registry-identity strong { color: var(--text); font-size: 13px; }
.project-registry-identity small,
.project-registry-metric span,
.project-registry-next span,
.project-registry-progress > span { color: var(--muted); font-size: 9px; }
.project-registry-identity small { margin-top: 3px; }

.project-priority-badge {
  justify-self: start;
  padding: 5px 9px;
  color: #f4d68a;
  border: 1px solid rgba(213,165,49,.26);
  border-radius: 8px;
  background: rgba(213,165,49,.1);
  font-size: 9px;
  font-weight: 750;
}
.project-priority-badge.is-critical { color: #ffaaa6; border-color: rgba(239,68,68,.35); background: rgba(239,68,68,.13); }
.project-priority-badge.is-high { color: #ffcb72; border-color: rgba(245,158,11,.35); background: rgba(245,158,11,.12); }
.project-priority-badge.is-medium { color: #a7e9b0; border-color: rgba(76,190,91,.3); background: rgba(76,190,91,.11); }
.project-priority-badge.is-low { color: #9fc5e8; border-color: rgba(82,151,210,.3); background: rgba(82,151,210,.1); }

.project-registry-progress { display: grid; grid-template-columns: 1fr auto; gap: 5px 8px; align-items: center; min-width: 0; }
.project-registry-progress > span { grid-column: 1 / -1; }
.project-registry-progress > div { height: 5px; overflow: hidden; border-radius: 999px; background: #071019; }
.project-registry-progress i { display: block; height: 100%; border-radius: inherit; background: #64c56e; }
.project-category-unstable .project-registry-progress i { background: #e8b52f; }
.project-category-closed .project-registry-progress i { background: #929ca7; }
.project-registry-progress strong { color: var(--text); font-size: 10px; }
.project-registry-metric,
.project-registry-next { min-width: 0; }
.project-registry-metric strong,
.project-registry-next strong { margin-top: 3px; color: var(--text); font-size: 10px; }
.project-registry-menu {
  width: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 0;
  color: var(--muted);
  border: 0;
  border-radius: 8px;
  background: transparent;
  font-size: 12px;
}
.project-registry-menu:hover { color: var(--text); background: rgba(132,153,178,.1); }
.project-registry-empty { padding: 18px 16px; color: var(--muted); font-size: 11px; }

@media (max-width: 1180px) {
  .project-registry-row { grid-template-columns: minmax(180px, 1.4fr) 84px minmax(130px, .9fr) minmax(170px, 1fr) 34px; }
  .project-registry-metric { display: none; }
}
@media (max-width: 820px) {
  .project-registry-toolbar { grid-template-columns: 1fr 1fr; }
  .project-registry-sort { grid-column: 1 / -1; justify-content: flex-start; }
  .project-registry-row { grid-template-columns: minmax(0, 1fr) auto 34px; gap: 9px; min-height: 68px; }
  .project-registry-progress,
  .project-registry-metric,
  .project-registry-next { display: none; }
}
@media (max-width: 560px) {
  .project-registry-toolbar { grid-template-columns: 1fr; }
  .project-registry-sort { grid-column: auto; }
  .project-registry-legend button { flex: 1 1 auto; justify-content: center; }
}

/* Assets of eternity */
.assets-kpi h4 { margin:0 0 6px; font-size:28px; letter-spacing:-.03em; }
.assets-kpi p { margin:0; font-weight:700; }
.assets-kpi small { color:var(--muted); display:block; margin-top:6px; }
.assets-filter-bar { display:grid; grid-template-columns:1.2fr repeat(3,minmax(0,1fr)) auto; gap:10px; margin-top:12px; margin-bottom:12px; }
.asset-card { display:grid; gap:10px; border-radius:18px; }
.asset-card-head { display:flex; justify-content:space-between; gap:8px; align-items:center; flex-wrap:wrap; }
.asset-type-badge,.asset-status-badge { border:1px solid var(--line); border-radius:999px; padding:5px 9px; font-size:11px; font-weight:700; color:var(--muted); }
.asset-type-badge { color:var(--text); background:rgba(56,189,248,.12); border-color:rgba(56,189,248,.35); }
.asset-status-badge.is-active { color:#22c55e; border-color:rgba(34,197,94,.35); background:rgba(34,197,94,.1); }
.asset-status-badge.is-draft { color:#94a3b8; border-color:rgba(148,163,184,.35); background:rgba(148,163,184,.1); }
.asset-status-badge.is-needs-update { color:#f59e0b; border-color:rgba(245,158,11,.35); background:rgba(245,158,11,.1); }
.asset-status-badge.is-archived { color:#64748b; border-color:rgba(100,116,139,.35); background:rgba(100,116,139,.1); }
.asset-card h4 { margin:0; font-size:18px; }
.asset-card p { margin:0; color:var(--muted); line-height:1.5; }
.asset-metrics { display:flex; gap:10px; flex-wrap:wrap; font-size:12px; color:var(--muted); }
.asset-links { font-size:12px; color:var(--muted); }
.assets-empty { grid-column:1/-1; text-align:left; }
.assets-weekly-list { display:grid; gap:6px; color:var(--muted); font-size:13px; }
.asset-recommendation-list { display:grid; gap:8px; }
.asset-recommendation-item { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:10px; display:grid; gap:8px; }
.asset-recommendation-item button { justify-self:start; }
@media (max-width: 980px) {
  .assets-filter-bar { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  .assets-filter-bar { grid-template-columns:1fr; }
}

/* Task ease review and audit */
.task-ease-modal { width:min(980px, calc(100vw - 24px)); max-height:calc(100vh - 24px); overflow:auto; }
.task-ease-task-info { border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.03); padding:10px 12px; }
.task-ease-task-info p { margin:6px 0 0; }
.task-ease-scale-wrap { display:grid; gap:8px; margin-top:14px; }
.task-ease-scale-head { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; }
.task-ease-scale { display:flex; gap:6px; flex-wrap:wrap; }
.task-ease-score-btn { min-width:38px; height:38px; border-radius:12px; padding:0 8px; }
.task-ease-score-btn.is-selected { box-shadow:0 0 0 2px rgba(139,92,246,.45) inset; transform:translateY(-1px); }
.task-ease-score-btn.is-stuck { border-color:rgba(239,68,68,.45); background:rgba(239,68,68,.15); color:#fecaca; }
.task-ease-score-btn.is-hard { border-color:rgba(249,115,22,.45); background:rgba(249,115,22,.15); color:#fed7aa; }
.task-ease-score-btn.is-neutral { border-color:rgba(56,189,248,.45); background:rgba(56,189,248,.12); color:#bae6fd; }
.task-ease-score-btn.is-easy { border-color:rgba(34,197,94,.45); background:rgba(34,197,94,.12); color:#bbf7d0; }
.task-ease-selected-label { color:var(--text); font-weight:700; }
.task-ease-quick-tags { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.task-ease-quick-tags button { border-radius:999px; padding:7px 10px; font-size:12px; }
.task-ease-quick-tags button.active { border-color:rgba(139,92,246,.65); background:rgba(139,92,246,.2); color:var(--text); }
.task-ease-actions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:12px; }
.task-ease-check { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:8px 10px; display:flex; align-items:center; gap:8px; }
.task-ease-badge { border:1px solid var(--line); border-radius:999px; padding:5px 10px; font-size:11px; color:var(--muted); background:rgba(255,255,255,.04); display:inline-flex; align-items:center; gap:6px; }
.task-ease-badge.is-stuck { border-color:rgba(239,68,68,.45); color:#fecaca; background:rgba(239,68,68,.12); }
.task-ease-badge.is-hard { border-color:rgba(249,115,22,.45); color:#fed7aa; background:rgba(249,115,22,.12); }
.task-ease-badge.is-neutral { border-color:rgba(56,189,248,.45); color:#bae6fd; background:rgba(56,189,248,.12); }
.task-ease-badge.is-easy { border-color:rgba(34,197,94,.45); color:#bbf7d0; background:rgba(34,197,94,.12); }
.task-audit-filter-bar { display:grid; grid-template-columns:1.2fr repeat(5,minmax(0,1fr)) auto; gap:10px; margin-top:12px; }
.task-audit-card h4 { margin:0 0 6px; font-size:26px; letter-spacing:-.03em; }
.task-audit-card p { margin:0; font-weight:700; }
.task-audit-card small { color:var(--muted); display:block; margin-top:6px; }
.task-audit-insight-list,.task-audit-panel-list { display:grid; gap:8px; }
.task-audit-recommendation-list { display:grid; gap:8px; }
.task-audit-recommendation-item { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:10px; display:grid; gap:8px; }
.task-audit-task-row { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:10px; display:grid; gap:8px; }
.task-audit-table td .actions { display:flex; gap:6px; flex-wrap:wrap; }
.task-audit-empty { text-align:left; }
@media (max-width: 1100px) {
  .task-audit-filter-bar { grid-template-columns:1fr 1fr 1fr; }
}
@media (max-width: 760px) {
  .task-ease-actions-grid { grid-template-columns:1fr 1fr; }
  .task-audit-filter-bar { grid-template-columns:1fr; }
  .task-ease-scale { overflow:auto; white-space:nowrap; display:block; }
  .task-ease-scale .task-ease-score-btn { display:inline-flex; margin-right:6px; }
}

/* Pyramid auto index */
.pyramid-auto-index-panel { border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.03); margin-top:8px; }
.pyramid-auto-score { font-size:42px; font-weight:900; line-height:1; letter-spacing:-.03em; margin:6px 0; }
.pyramid-auto-score.is-strong { color:#22c55e; }
.pyramid-auto-score.is-good { color:#38bdf8; }
.pyramid-auto-score.is-watch { color:#f59e0b; }
.pyramid-auto-score.is-risk { color:#fb923c; }
.pyramid-auto-score.is-critical { color:#ef4444; }
.pyramid-auto-summary { display:grid; grid-template-columns:280px 1fr; gap:14px; }
.pyramid-auto-summary p { margin:0 0 7px; color:var(--muted); }
.pyramid-auto-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.pyramid-auto-areas { margin-top:12px; }
.pyramid-auto-area-card { border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.03); display:grid; gap:10px; }
.pyramid-auto-area-card.is-ok { border-color:rgba(34,197,94,.35); }
.pyramid-auto-area-card.is-watch { border-color:rgba(245,158,11,.35); }
.pyramid-auto-area-card.is-risk { border-color:rgba(249,115,22,.35); }
.pyramid-auto-area-card.is-critical { border-color:rgba(239,68,68,.35); }
.pyramid-auto-progress { width:100%; height:8px; border-radius:999px; background:rgba(255,255,255,.08); overflow:hidden; }
.pyramid-auto-progress-bar { height:100%; border-radius:999px; background:linear-gradient(90deg,var(--accent),var(--accent-2)); }
.pyramid-auto-issues { display:grid; gap:4px; color:var(--muted); font-size:12px; line-height:1.4; }
.pyramid-auto-decisions { margin-top:12px; display:grid; gap:10px; }
.pyramid-auto-decision-item { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:10px; display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.pyramid-auto-history { display:grid; gap:8px; }
@media (max-width: 980px) {
  .pyramid-auto-summary { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .pyramid-auto-actions { display:grid; grid-template-columns:1fr 1fr; }
  .pyramid-auto-decision-item { display:grid; }
}

/* Weekly Vizier Council */
.weekly-council-hero { border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.03); display:grid; gap:12px; }
.weekly-council-title { font-size:20px; font-weight:900; letter-spacing:-.02em; }
.weekly-council-score { font-size:14px; color:var(--muted); }
.weekly-council-summary { margin:0; color:var(--text); line-height:1.5; }
.weekly-council-focus-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.weekly-council-focus-item { border:1px solid var(--line); border-radius:14px; padding:10px; background:rgba(255,255,255,.03); }
.weekly-council-focus-item strong { display:block; margin-bottom:4px; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.weekly-council-focus-item p { margin:0; line-height:1.45; }
.weekly-council-focus-item.is-win { border-color:rgba(34,197,94,.35); }
.weekly-council-focus-item.is-bottleneck { border-color:rgba(245,158,11,.35); }
.weekly-council-focus-item.is-risk { border-color:rgba(239,68,68,.35); }
.weekly-council-focus-item.is-next { border-color:rgba(56,189,248,.35); }
.weekly-council-card { border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.03); }
.weekly-council-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:10px; }
.weekly-council-metric { border:1px solid var(--line); border-radius:12px; padding:9px; background:rgba(255,255,255,.02); }
.weekly-council-metric span { display:block; color:var(--muted); font-size:11px; margin-bottom:4px; text-transform:uppercase; letter-spacing:.05em; }
.weekly-council-metric strong { font-size:16px; }
.weekly-council-insights,.weekly-council-recommendations { display:grid; gap:6px; font-size:13px; color:var(--muted); }
.weekly-council-recommendations { margin-top:8px; }
.weekly-council-decisions { border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.03); }
.weekly-council-decision-item { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.02); padding:10px; display:flex; justify-content:space-between; gap:10px; align-items:flex-start; margin-bottom:8px; }
.weekly-council-priority { display:inline-flex; border:1px solid var(--line); border-radius:999px; padding:4px 8px; font-size:10px; margin-bottom:6px; text-transform:uppercase; letter-spacing:.06em; font-weight:800; }
.weekly-council-priority.is-critical { border-color:rgba(239,68,68,.4); color:#ef4444; background:rgba(239,68,68,.12); }
.weekly-council-priority.is-high { border-color:rgba(245,158,11,.4); color:#f59e0b; background:rgba(245,158,11,.12); }
.weekly-council-priority.is-medium { border-color:rgba(56,189,248,.4); color:#38bdf8; background:rgba(56,189,248,.12); }
.weekly-council-history { display:grid; gap:10px; }
.weekly-council-history-item { border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.03); display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
@media (max-width: 980px) {
  .weekly-council-focus-grid { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .weekly-council-metrics { grid-template-columns:1fr; }
  .weekly-council-decision-item,
  .weekly-council-history-item { display:grid; }
}

/* CRM / Trading artel */
.crm-kpi h4 { margin:0 0 6px; font-size:28px; letter-spacing:-.03em; }
.crm-kpi p { margin:0; font-weight:700; }
.crm-kpi small { color:var(--muted); display:block; margin-top:6px; }
.crm-pipeline-card { display:grid; gap:8px; }
.crm-stage-row { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:9px 10px; display:flex; justify-content:space-between; gap:10px; align-items:center; }
.crm-next-action-list,.crm-source-list,.crm-warning-list { display:grid; gap:8px; }
.crm-next-action-item,.crm-warning-item { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:10px; display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.crm-source-row { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:10px; display:grid; gap:4px; }
.crm-filter-bar { display:grid; grid-template-columns:1.2fr repeat(6,minmax(0,1fr)) auto; gap:10px; }
.deals-board { display:grid; gap:12px; }
.deals-stage { display:grid; gap:10px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.03); }
.deals-stage-head { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.deal-card { border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.03); padding:10px; display:grid; gap:8px; }
.deal-card.is-hot { border-color:rgba(34,197,94,.45); }
.deal-card.is-stuck { border-color:rgba(239,68,68,.45); }
.deal-status-badge { border:1px solid var(--line); border-radius:999px; padding:4px 8px; font-size:11px; color:var(--muted); }
.deal-probability { color:var(--muted); font-size:12px; }
.crm-contact-line { color:var(--muted); font-size:12px; }
.crm-entity-actions { display:flex; gap:6px; flex-wrap:wrap; }
.crm-mini-warning { border:1px solid rgba(245,158,11,.35); background:rgba(245,158,11,.12); color:#fbbf24; border-radius:999px; padding:4px 8px; font-size:11px; width:max-content; }
.lead-card,.client-card { border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.03); padding:10px; display:grid; gap:8px; margin-bottom:8px; }
@media (max-width: 1200px) {
  .crm-filter-bar { grid-template-columns:1fr 1fr 1fr; }
}
@media (max-width: 760px) {
  .crm-filter-bar { grid-template-columns:1fr; }
  .crm-next-action-item,.crm-warning-item { display:grid; }
}

/* Production / Artels */
.production-kpi h4 { margin:0 0 6px; font-size:28px; letter-spacing:-.03em; }
.production-flow-card,.production-norms-card,.production-quality-card,.production-bottlenecks-card { border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.03); display:grid; gap:8px; }
.production-stage-row { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:9px 10px; display:flex; justify-content:space-between; gap:10px; align-items:center; }
.production-filter-bar { border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.03); }
.production-units-board { display:grid; gap:10px; }
.production-unit-card.is-overdue { border-color:rgba(239,68,68,.45); }
.production-unit-card.is-revision { border-color:rgba(245,158,11,.45); }
.production-unit-card.is-done { border-color:rgba(34,197,94,.35); }
.production-status-badge { border-color:rgba(56,189,248,.3); }
.production-type-badge { border-color:rgba(148,163,184,.35); color:#cbd5e1; }
.production-quality-badge { border-color:rgba(34,197,94,.35); color:#bbf7d0; }
.production-mini-warning { border:1px solid rgba(245,158,11,.35); background:rgba(245,158,11,.12); color:#fbbf24; border-radius:999px; padding:5px 9px; font-size:11px; }
.production-batch-card,.production-artel-card { border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.03); display:grid; gap:8px; }
.production-progress { width:100%; height:8px; border-radius:999px; background:rgba(255,255,255,.08); overflow:hidden; }
.production-progress-bar { height:100%; border-radius:999px; background:linear-gradient(90deg,var(--accent),var(--accent-2)); }
.production-actions { display:flex; gap:8px; flex-wrap:wrap; }

/* Quarry */
.quarry-kpi h4 { margin:0 0 6px; font-size:28px; letter-spacing:-.03em; }
.quarry-flow-card,.quarry-priority-card,.quarry-pain-card,.quarry-reference-card { border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.03); display:grid; gap:8px; }
.quarry-stage-row { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); padding:9px 10px; display:flex; justify-content:space-between; gap:10px; align-items:center; }
.quarry-filter-bar { border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.03); }
.quarry-items-board { display:grid; gap:10px; }
.quarry-stage { border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.03); display:grid; gap:8px; }
.quarry-stage-head { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.quarry-item-card { border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.03); padding:10px; display:grid; gap:8px; }
.quarry-item-card.is-high-potential { border-color:rgba(34,197,94,.45); }
.quarry-item-card.is-stale { border-color:rgba(245,158,11,.45); }
.quarry-type-badge,.quarry-status-badge,.quarry-source-badge { border:1px solid var(--line); border-radius:999px; padding:4px 8px; font-size:11px; color:var(--muted); }
.quarry-score-row { display:flex; gap:8px; flex-wrap:wrap; color:var(--muted); font-size:12px; }
.quarry-mini-warning { border:1px solid rgba(245,158,11,.35); background:rgba(245,158,11,.12); color:#fbbf24; border-radius:999px; padding:5px 9px; font-size:11px; width:max-content; }
.quarry-collections-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.quarry-collection-card { border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.03); padding:12px; display:grid; gap:8px; }
.quarry-check { display:flex; gap:8px; align-items:center; border:1px dashed var(--line); border-radius:12px; padding:9px 10px; background:rgba(255,255,255,.02); }
@media (max-width: 1200px) {
  .quarry-collections-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .quarry-collections-grid { grid-template-columns:1fr; }
}

/* Temple */
.temple-kpi h4 { margin:0 0 6px; font-size:28px; letter-spacing:-.03em; }
.temple-core-card, .temple-tone-card, .temple-formulas-card, .temple-recommendations-card { border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.03); display:grid; gap:8px; }
.temple-filter-bar { border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.03); }
.temple-principle-card, .temple-formula-card, .temple-narrative-card { border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.03); padding:10px; display:grid; gap:8px; margin-bottom:8px; }
.temple-strength-badge, .temple-status-badge, .temple-type-badge, .temple-channel-badge { border:1px solid var(--line); border-radius:999px; padding:4px 8px; font-size:11px; color:var(--muted); width:max-content; }
.temple-mini-warning { border:1px solid rgba(245,158,11,.35); background:rgba(245,158,11,.12); color:#fbbf24; border-radius:999px; padding:5px 9px; font-size:11px; width:max-content; }
.temple-profile-field { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.02); padding:8px 10px; color:var(--muted); }
.temple-empty { border:1px dashed var(--line); border-radius:18px; background:rgba(255,255,255,.02); }
.temple-actions { display:flex; gap:8px; flex-wrap:wrap; }
@media (max-width: 980px) {
  #temple .grid.grid-3 { grid-template-columns:1fr; }
  #temple .grid.grid-2 { grid-template-columns:1fr; }
}

/* =========================================================
   UI Stabilization Layer (source of truth override)
========================================================= */
.app {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  min-height: 100vh;
}

aside {
  border-right: 1px solid var(--line);
  padding: 24px 18px;
  background: rgba(13,17,23,.72);
  backdrop-filter: blur(18px);
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

nav,
#nav {
  display: grid;
  gap: 8px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px;
  padding-bottom: 18px;
  min-height: 0;
  flex: 1 1 auto;
  overscroll-behavior: contain;
}

.side-card {
  flex: 0 0 auto;
  margin-top: 16px;
}

main {
  padding: 28px;
  min-width: 0;
  overflow: visible;
}

section {
  display: none;
}

section.active {
  display: block;
}

@media (max-width: 980px) {
  .app {
    display: block;
  }

  aside {
    position: relative;
    height: auto;
    max-height: none;
    overflow: visible;
  }

  nav,
  #nav {
    max-height: 50vh;
    overflow-y: auto;
  }

  .mobile-menu {
    display: block;
  }
}

.media-uploader { display:grid; gap:10px; }
.media-dropzone { border:1px dashed var(--line); border-radius:14px; padding:12px; background:rgba(255,255,255,.02); }
.media-dropzone.is-dragover { border-color: var(--accent); background: rgba(122,162,255,.08); }
.media-upload-actions { display:flex; gap:8px; flex-wrap:wrap; }
.media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }
.media-card { border:1px solid var(--line); border-radius:14px; padding:10px; background:rgba(255,255,255,.02); display:grid; gap:8px; }
.media-preview { border-radius:12px; overflow:hidden; background:rgba(255,255,255,.04); aspect-ratio: 16/10; display:flex; align-items:center; justify-content:center; }
.media-preview img { width:100%; height:100%; object-fit:cover; display:block; }
.media-meta { font-size:12px; color:var(--muted); }
.media-actions { display:flex; gap:6px; flex-wrap:wrap; }
.media-upload-status { font-size:12px; color:var(--muted); }
.media-cover-badge { display:inline-flex; padding:3px 8px; border-radius:999px; border:1px solid var(--line); font-size:11px; }
.media-empty { color:var(--muted); font-size:12px; }
.media-settings-card .warning { color:#ffb86b; }
.media-legacy-warning { font-size:12px; color:#ffb86b; }

/* =========================================================
   Tasks workspace: execution-first layout
========================================================= */
#tasks {
  --task-gold: #c69a3a;
  --task-gold-soft: rgba(198,154,58,.18);
  --task-cyan: #35d1e7;
  --task-surface: #111820;
  --task-surface-2: #151d26;
}

.nav-item[data-target="tasks"].active {
  border-color: rgba(198,154,58,.72);
  background: linear-gradient(90deg, rgba(198,154,58,.12), rgba(255,255,255,.035));
  box-shadow: inset 0 0 0 1px rgba(198,154,58,.1), 0 12px 28px rgba(0,0,0,.16);
}

.task-workspace {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  display: grid;
  gap: 18px;
}

.task-workspace-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 72px;
}

.task-workspace-header h2 {
  margin: 0;
  font-size: clamp(28px, 2vw, 36px);
  letter-spacing: -.045em;
  line-height: 1;
}

.task-workspace-header p {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.task-inbox-compact {
  min-width: 280px;
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-start;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  color: var(--text);
}

.task-inbox-compact span { font-weight: 750; }
.task-inbox-compact b { color: var(--task-cyan); }
.task-inbox-compact em { margin-left: auto; color: var(--task-cyan); font-style: normal; }
.task-inbox-compact i { color: var(--muted); font-style: normal; }

.task-workspace-quick {
  margin: 0;
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(90deg, rgba(19,27,35,.96), rgba(24,31,39,.96));
  border-color: rgba(255,255,255,.09);
  box-shadow: 0 14px 34px rgba(0,0,0,.12);
}

.task-workspace-quick .task-quick-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 12px;
}

.task-workspace-quick .task-quick-input {
  min-height: 58px;
  padding: 0 18px;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: 17px;
}

.task-workspace-quick .task-quick-input:focus {
  box-shadow: inset 0 0 0 1px rgba(53,209,231,.38);
  background: rgba(255,255,255,.02);
}

.task-workspace-quick #saveQuickTaskBtn {
  min-width: 170px;
  min-height: 58px;
  border: 0;
  border-radius: 13px;
  color: #f8fbff;
  background: linear-gradient(110deg, #1599c3 0%, #35cbe2 58%, #d0c86d 120%);
  box-shadow: 0 10px 28px rgba(25,166,199,.18), inset 0 1px 0 rgba(255,255,255,.25);
  font-size: 15px;
  font-weight: 850;
}

.task-quick-advanced-panel {
  margin-top: 14px;
  padding: 16px 6px 4px;
  border-top: 1px solid var(--line);
}

.task-focus-card {
  position: relative;
  overflow: hidden;
  min-height: 178px;
  display: grid;
  grid-template-columns: 140px minmax(260px,1fr) auto;
  align-items: center;
  gap: 22px;
  padding: 22px 28px;
  border: 1px solid rgba(198,154,58,.7);
  border-radius: 18px;
  background:
    radial-gradient(circle at 13% 50%, rgba(198,154,58,.13), transparent 25%),
    linear-gradient(105deg, rgba(28,28,22,.96), rgba(16,24,32,.98) 48%, rgba(13,20,27,.98));
  box-shadow: inset 0 0 0 2px rgba(198,154,58,.08), 0 20px 45px rgba(0,0,0,.18);
}

.task-focus-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.018), transparent);
}

.task-focus-card.is-empty { opacity: .86; }

.task-focus-emblem {
  width: 128px;
  height: 128px;
  display: grid;
  place-items: center;
  opacity: .74;
}

.task-focus-emblem img {
  width: 112px;
  height: 112px;
  object-fit: contain;
  filter: sepia(.25) saturate(.9) drop-shadow(0 13px 25px rgba(198,154,58,.2));
}

.task-focus-content { min-width: 0; }
.task-focus-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 5px 12px;
  border: 1px solid rgba(198,154,58,.58);
  border-radius: 7px;
  background: rgba(198,154,58,.12);
  color: #f0cf78;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .07em;
}

.task-focus-content h3,
.task-focus-card > div:nth-child(2) h3 {
  margin: 0;
  font-size: clamp(22px, 1.8vw, 30px);
  line-height: 1.12;
  letter-spacing: -.035em;
}

.task-focus-content p,
.task-focus-card > div:nth-child(2) p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.task-focus-content p span { padding: 0 5px; }

.task-focus-priority {
  margin-top: 13px;
  display: flex;
  align-items: center;
  gap: 9px;
  width: max-content;
  font-size: 13px;
  color: #cdd6e2;
}

.task-focus-priority i,
.task-priority-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex: 0 0 auto;
  box-shadow: 0 0 18px currentColor;
}

.is-critical.task-focus-priority i,
.task-priority-dot.is-critical { background: #ef4444; color: #ef4444; }
.is-high.task-focus-priority i,
.task-priority-dot.is-high { background: #f4b63f; color: #f4b63f; }
.is-medium.task-focus-priority i,
.task-priority-dot.is-medium { background: #469cf1; color: #469cf1; }
.is-low.task-focus-priority i,
.task-priority-dot.is-low { background: #7b8798; color: #7b8798; }

.task-focus-actions {
  display: grid;
  grid-template-columns: repeat(3,minmax(132px,1fr));
  gap: 12px;
}

.task-focus-actions button,
.task-focus-card > .task-focus-start {
  min-height: 54px;
  padding: 0 19px;
  border-radius: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.task-focus-actions .task-focus-start,
.task-focus-card > .task-focus-start {
  border-color: rgba(91,235,242,.8);
  background: linear-gradient(180deg, rgba(42,190,207,.92), rgba(24,130,160,.9));
  color: #f4feff;
  box-shadow: 0 0 0 1px rgba(151,250,255,.18) inset, 0 0 26px rgba(40,202,219,.2);
}

.task-workspace-tabs-shell {
  position: relative;
  min-height: 64px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(16,23,31,.96);
  padding: 0 12px 0 20px;
}

.task-workspace-tabs {
  display: flex;
  align-items: stretch;
  gap: 28px;
  min-width: 0;
}

.task-workspace-tab {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 62px;
  padding: 0 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font-weight: 800;
}

.task-workspace-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  border-radius: 2px;
  background: transparent;
}

.task-workspace-tab b {
  min-width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: var(--muted);
  font-size: 11px;
}

.task-workspace-tab.active { color: #f2cb69; }
.task-workspace-tab.active::after { background: #e3b84d; box-shadow: 0 0 14px rgba(227,184,77,.34); }
.task-workspace-tab.active b { background: rgba(198,154,58,.15); color: #f2cb69; }

.task-workspace-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.task-icon-button {
  width: 44px;
  height: 44px;
  padding: 0;
  display: grid;
  place-items: center;
  border-radius: 11px;
  font-size: 20px;
}

.task-workspace-search { width: min(330px, 28vw); }
.task-workspace-search input { min-height: 44px; }

.task-workspace-tools {
  margin: -8px 0 0;
  padding: 12px;
  border-radius: 14px;
}

.task-workspace-tools-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.task-workspace-tools-row button,
.task-workspace-view-label { min-height: 40px; }
.task-workspace-view-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
}
.task-workspace-view-label select { min-height: 40px; padding-top: 0; padding-bottom: 0; }

.task-filter-panel { margin: -8px 0 0; border-radius: 14px; }

.task-work-list {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: rgba(16,23,31,.96);
}

.task-work-row {
  min-height: 76px;
  display: grid;
  grid-template-columns: 42px 12px minmax(260px,1.6fr) minmax(110px,.7fr) 110px 150px 44px;
  align-items: center;
  gap: 15px;
  padding: 11px 14px;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
  transition: background .16s ease, transform .16s ease;
}

.task-work-row:last-child { border-bottom: 0; }
.task-work-row:hover { background: rgba(255,255,255,.035); }

.task-work-check-wrap { display: grid; place-items: center; }
.task-work-check,
.task-work-check-wrap input {
  width: 26px;
  height: 26px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 7px;
  background: transparent;
  appearance: none;
  cursor: pointer;
}
.task-work-check:hover { border-color: var(--task-cyan); background: rgba(53,209,231,.08); }
.task-work-check-wrap input:checked { background: var(--task-cyan); box-shadow: inset 0 0 0 6px #17222c; }
.task-work-check.is-done {
  display: grid;
  place-items: center;
  border-color: rgba(54, 211, 153, .58);
  background: rgba(54, 211, 153, .15);
  color: #69e4b5;
  font-size: 14px;
  font-weight: 900;
}
.task-work-row.is-completed { background: rgba(54, 211, 153, .025); }
.task-work-row.is-completed .task-work-title strong {
  color: #a8b2bd;
  text-decoration: line-through;
  text-decoration-color: rgba(168, 178, 189, .48);
}
.task-work-row.is-completed .task-priority-dot { opacity: .45; }

.task-cascade-create {
  padding: 12px;
  border: 1px solid rgba(66, 199, 221, .2);
  border-radius: 14px;
  background: rgba(22, 35, 46, .58);
}
.task-cascade-toggle {
  display: flex !important;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.task-cascade-toggle input { width: 18px; height: 18px; margin: 0; }
.task-cascade-toggle span { display: grid; gap: 2px; }
.task-cascade-toggle small { color: var(--muted); font-weight: 500; }
.task-cascade-create-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.task-cascade-create-fields.hidden { display: none; }

.task-detail-cascade-card {
  padding: 16px;
  border: 1px solid rgba(53, 209, 231, .28);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(19, 57, 70, .62), rgba(16, 27, 37, .72));
}
.task-detail-cascade-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.task-detail-cascade-grid > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(8, 15, 22, .38);
}
.task-detail-cascade-grid small { color: var(--muted); }
.task-detail-cascade-grid strong { color: var(--text); font-size: 15px; }
.task-detail-cascade-grid label { display: flex; align-items: center; gap: 7px; }
.task-detail-cascade-grid input { min-width: 0; min-height: 36px; padding: 7px 9px; }
#tdCascadeHint { margin: 10px 0 0; }
.task-detail-cascade-result-actions { display: flex; gap: 8px; margin-top: 12px; }
.task-detail-cascade-result-btn {
  flex: 1 1 0;
  width: 100%;
  min-height: 42px;
  color: #dffaff;
  border-color: rgba(53, 209, 231, .34);
  background: rgba(27, 123, 142, .18);
}
#taskCascadeResultModal { z-index: 110; }
.task-cascade-result-modal { width: min(590px, 100%); padding: 24px; }
.task-cascade-result-modal .modal-head { align-items: flex-start; margin-bottom: 16px; }
.task-cascade-result-modal h3 { margin: 4px 0 0; font-size: clamp(22px, 3vw, 30px); }
.task-cascade-result-kicker {
  color: #55d7e9;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.task-cascade-result-task {
  margin: 0 0 16px;
  padding: 13px 15px;
  color: var(--text);
  font-weight: 750;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 13px;
  background: rgba(7, 13, 20, .5);
}
.task-cascade-result-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.task-cascade-result-stats > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(20, 32, 44, .62);
}
.task-cascade-result-stats small { color: var(--muted); line-height: 1.25; }
.task-cascade-result-stats strong { color: var(--text); }
.task-cascade-result-input { display: grid; gap: 8px; margin-top: 16px; color: var(--muted); font-size: 12px; }
.task-cascade-result-input > div { display: flex; align-items: center; gap: 10px; }
.task-cascade-result-input input {
  min-width: 0;
  min-height: 58px;
  font-size: 24px;
  font-weight: 800;
  text-align: center;
}
.task-cascade-result-input b { min-width: 62px; color: #55d7e9; font-size: 16px; }
.task-cascade-result-note { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.task-cascade-result-actions { display: grid; grid-template-columns: .75fr 1.25fr; gap: 10px; margin-top: 18px; }
.task-cascade-result-actions button { min-height: 46px; }

@media (max-width: 720px) {
  .task-cascade-create-fields { grid-template-columns: 1fr; }
  .task-detail-cascade-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-detail-cascade-result-actions { flex-direction: column; }
  .task-cascade-result-stats { grid-template-columns: 1fr; }
  .task-cascade-result-actions { grid-template-columns: 1fr; }
}

.task-work-title { min-width: 0; display: grid; gap: 5px; }
.task-work-title strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
}
.task-work-title span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: 11px;
}
.task-work-meta-line { display: flex; align-items: center; gap: 8px; min-width: 0; }
.task-work-meta-line > span { min-width: 0; }
.task-cascade-inline-action {
  flex: 0 0 auto;
  min-height: 24px;
  padding: 3px 8px;
  border-color: rgba(53, 209, 231, .32);
  border-radius: 7px;
  color: #72e5f2;
  background: rgba(53, 209, 231, .08);
  font-size: 10px;
  font-weight: 800;
}
.task-cascade-inline-action:hover { background: rgba(53, 209, 231, .16); }
.task-work-project,
.task-work-time,
.task-work-date { color: var(--muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.task-work-more { width: 40px; height: 40px; padding: 0; border-radius: 10px; }

.task-work-empty {
  min-height: 170px;
  display: grid;
  place-content: center;
  gap: 7px;
  text-align: center;
  color: var(--muted);
}
.task-work-empty strong { color: var(--text); font-size: 16px; }
.task-secondary-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }

@media (max-width: 1280px) {
  .task-focus-card { grid-template-columns: 108px minmax(220px,1fr); }
  .task-focus-emblem { width: 96px; height: 96px; }
  .task-focus-emblem img { width: 86px; height: 86px; }
  .task-focus-actions { grid-column: 1 / -1; }
  .task-work-row { grid-template-columns: 40px 12px minmax(220px,1fr) 100px 140px 42px; }
  .task-work-time { display: none; }
}

@media (max-width: 900px) {
  .task-workspace-header { align-items: flex-start; }
  .task-inbox-compact { min-width: 0; }
  .task-inbox-compact em { display: none; }
  .task-workspace-tabs-shell { padding-left: 12px; }
  .task-workspace-tabs { gap: 18px; overflow-x: auto; }
  .task-workspace-tab { flex: 0 0 auto; }
  .task-work-row { grid-template-columns: 38px 10px minmax(180px,1fr) 132px 42px; gap: 10px; }
  .task-work-project { display: none; }
  .task-secondary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .task-workspace { gap: 12px; }
  .task-workspace-header { min-height: 0; }
  .task-workspace-header h2 { font-size: 27px; }
  .task-inbox-compact { min-height: 44px; padding: 8px 10px; }
  .task-inbox-compact span { font-size: 0; }
  .task-inbox-compact span::after { content: "Входящие"; font-size: 12px; }
  .task-workspace-quick { padding: 8px; }
  .task-workspace-quick .task-quick-row { grid-template-columns: minmax(0,1fr) auto; gap: 7px; }
  .task-workspace-quick .task-quick-input { min-height: 48px; padding: 0 10px; font-size: 14px; }
  .task-workspace-quick #saveQuickTaskBtn { min-width: 104px; min-height: 48px; padding: 0 12px; font-size: 13px; }
  .task-focus-card { min-height: 0; grid-template-columns: 68px minmax(0,1fr); gap: 12px; padding: 16px; }
  .task-focus-emblem { width: 62px; height: 62px; }
  .task-focus-emblem img { width: 58px; height: 58px; }
  .task-focus-content h3,
  .task-focus-card > div:nth-child(2) h3 { font-size: 20px; }
  .task-focus-actions { grid-template-columns: 1fr 1fr; gap: 8px; }
  .task-focus-actions button { min-height: 44px; padding: 0 10px; }
  .task-focus-actions button:last-child { grid-column: 1 / -1; }
  .task-workspace-tabs-shell { min-height: 56px; }
  .task-workspace-tab { min-height: 54px; }
  .task-workspace-tab b { display: none; }
  .task-workspace-head-actions { flex: 0 0 auto; }
  .task-icon-button { width: 38px; height: 38px; }
  .task-workspace-search { position: absolute; left: 14px; right: 14px; width: auto; z-index: 3; }
  .task-work-row { min-height: 68px; grid-template-columns: 32px 9px minmax(0,1fr) 38px; padding: 10px; }
  .task-work-date { display: none; }
  .task-work-more { width: 36px; height: 36px; }
  .task-workspace-tools-row { display: grid; grid-template-columns: 1fr 1fr; }
  .task-workspace-view-label { grid-column: 1 / -1; }
  .task-workspace-view-label select { flex: 1; }
}

/* =========================================================
   Tasks workspace 2.1: dense execution layout
========================================================= */
#tasks .task-workspace {
  max-width: none;
  gap: 12px;
}

#tasks .task-workspace-header {
  min-height: 54px;
  gap: 14px;
}

#tasks .task-workspace-header h2 {
  font-size: clamp(27px, 2vw, 34px);
}

#tasks .task-workspace-header p {
  margin-top: 7px;
  font-size: 13px;
}

.task-workspace-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

#tasks .task-inbox-compact,
.task-header-primary,
.task-header-focus {
  min-width: 0;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 850;
}

#tasks .task-inbox-compact {
  gap: 8px;
  background: rgba(18,26,34,.9);
}

.task-header-primary {
  border-color: rgba(95,226,240,.5);
  background: linear-gradient(180deg, #43bdd6, #268cae);
  color: #f8feff;
  box-shadow: inset 0 1px rgba(255,255,255,.22), 0 8px 22px rgba(35,169,198,.13);
}

.task-header-focus { background: rgba(255,255,255,.045); }

#tasks .task-workspace-quick {
  padding: 8px;
  border-radius: 14px;
  box-shadow: none;
}

#tasks .task-workspace-quick .task-quick-row { gap: 8px; }

#tasks .task-workspace-quick .task-quick-input {
  min-height: 48px;
  padding: 0 12px;
  font-size: 14px;
}

#tasks .task-workspace-quick #saveQuickTaskBtn {
  width: 48px;
  min-width: 48px;
  min-height: 48px;
  padding: 0;
  border-radius: 11px;
  font-size: 23px;
}

#tasks .task-workspace-tabs-shell {
  min-height: 58px;
  padding-left: 14px;
  border-radius: 14px;
}

#tasks .task-workspace-tabs { gap: 30px; }
#tasks .task-workspace-tab { min-height: 56px; }

.task-workspace-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
  align-items: start;
  gap: 18px;
  min-width: 0;
}

.task-workspace-content.is-full { grid-template-columns: minmax(0, 1fr); }
.task-workspace-main { min-width: 0; }
.task-workspace-side { display: grid; gap: 12px; min-width: 0; }

#tasks .task-focus-card,
.task-inbox-side-card {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: rgba(16,23,31,.96);
  box-shadow: none;
  overflow: hidden;
}

#tasks .task-focus-card::after { display: none; }

.task-side-card-head {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #e6bd57;
  font-size: 12px;
}

.task-side-card-head strong { display: flex; align-items: center; gap: 7px; }
.task-side-card-head b { color: var(--task-cyan); }
.task-side-card-head button {
  width: 30px;
  min-height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
}

#tasks .task-focus-content {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.018);
}

.task-focus-title {
  display: grid;
  grid-template-columns: 10px minmax(0,1fr);
  align-items: start;
  gap: 10px;
}

#tasks .task-focus-content h3 {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
  letter-spacing: -.015em;
}

#tasks .task-focus-content p {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 13px 0 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}

.task-focus-project-mark { color: #d7ac43; }
.task-focus-plan { margin-top: 12px; color: var(--muted); font-size: 12px; }
.task-focus-plan span { padding: 0 4px; }

#tasks .task-focus-card > .task-focus-start {
  width: 100%;
  min-height: 48px;
  border-radius: 10px;
}

.task-focus-empty { padding: 10px 2px; }
.task-focus-empty span { color: var(--text); font-weight: 750; }
.task-focus-empty p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }

.task-inbox-side-list { display: grid; gap: 8px; }
.task-inbox-side-item {
  width: 100%;
  min-height: 68px;
  display: grid;
  grid-template-columns: 10px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 11px;
  text-align: left;
  background: rgba(255,255,255,.018);
}
.task-inbox-side-item > span:last-child { min-width: 0; display: grid; gap: 7px; }
.task-inbox-side-item strong,
.task-inbox-side-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-inbox-side-item strong { font-size: 12px; }
.task-inbox-side-item small { color: var(--muted); font-size: 10px; }
.task-inbox-side-empty { margin: 4px 0; color: var(--muted); font-size: 12px; }
.task-inbox-show-all { min-height: 34px; border: 0; background: transparent; color: var(--task-cyan); font-size: 11px; font-weight: 800; }

#tasks .task-work-list { border-radius: 15px; }

#tasks .task-work-row {
  min-height: 70px;
  grid-template-columns: 36px 10px minmax(260px,1.6fr) minmax(120px,.72fr) 92px 128px 40px;
  gap: 12px;
  padding: 9px 12px;
}

#tasks .task-work-row.is-focus {
  background: linear-gradient(90deg, rgba(198,154,58,.07), rgba(255,255,255,.012));
  box-shadow: inset 2px 0 #c69a3a;
}

#tasks .task-work-check,
#tasks .task-work-check-wrap input {
  width: 24px;
  height: 24px;
}

#tasks .task-work-title strong {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
}

#tasks .task-work-title strong em {
  flex: 0 0 auto;
  padding: 3px 7px;
  border: 1px solid rgba(198,154,58,.5);
  border-radius: 6px;
  color: #e7c368;
  background: rgba(198,154,58,.09);
  font-size: 9px;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: .04em;
}

#tasks .task-work-title span { min-height: 12px; }
#tasks .task-work-more { width: 36px; height: 36px; }

@media (max-width: 1280px) {
  .task-workspace-content { grid-template-columns: minmax(0,1fr) 290px; gap: 12px; }
  #tasks .task-work-row { grid-template-columns: 34px 10px minmax(220px,1fr) 92px 116px 38px; }
  #tasks .task-work-project { display: none; }
}

@media (max-width: 900px) {
  .task-workspace-header-actions { flex-wrap: wrap; }
  .task-workspace-content { grid-template-columns: minmax(0,1fr); }
  .task-workspace-side { order: -1; grid-template-columns: repeat(2,minmax(0,1fr)); }
  #tasks .task-work-row { grid-template-columns: 34px 10px minmax(170px,1fr) 86px 38px; }
  #tasks .task-work-date { display: none; }
}

@media (max-width: 640px) {
  #tasks .task-workspace-header { align-items: flex-start; }
  .task-workspace-header-actions { max-width: 58%; }
  #tasks .task-inbox-compact,
  .task-header-primary,
  .task-header-focus { min-height: 38px; padding: 0 10px; font-size: 11px; }
  .task-header-focus { display: none; }
  #tasks .task-workspace-tabs { gap: 16px; }
  .task-workspace-side { grid-template-columns: 1fr; }
  .task-inbox-side-card { display: none; }
  #tasks .task-work-row { min-height: 62px; grid-template-columns: 30px 8px minmax(0,1fr) 34px; gap: 8px; padding: 8px 9px; }
  #tasks .task-work-time { display: none; }
  #tasks .task-work-title strong em { display: none; }
  .task-cascade-inline-action { min-height: 22px; padding: 2px 6px; }
}

/* =========================================================
   Task detail 3.0: centered execution workspace
========================================================= */
body.task-detail-open { overflow: hidden; }

.task-detail-panel {
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(3,7,11,.78);
  backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}

.task-detail-panel.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.task-detail-dialog {
  width: min(1040px, calc(100vw - 40px));
  max-height: calc(100vh - 40px);
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  overflow: hidden;
  border: 1px solid rgba(207,162,58,.72);
  border-radius: 18px;
  background:
    radial-gradient(circle at 18% 0%, rgba(45,126,151,.08), transparent 34%),
    linear-gradient(180deg, #111922, #0d141b);
  box-shadow: 0 30px 90px rgba(0,0,0,.56), inset 0 1px rgba(255,255,255,.035);
  transform: translateY(12px) scale(.985);
  transition: transform .22s ease;
}

.task-detail-panel.open .task-detail-dialog { transform: translateY(0) scale(1); }

.task-detail-head {
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 24px 14px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.task-detail-heading { min-width: 0; }
.task-detail-breadcrumb {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.task-detail-breadcrumb b { padding: 0 6px; color: rgba(255,255,255,.22); }
.task-detail-head h3 {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(22px, 2.2vw, 31px);
  line-height: 1.1;
  letter-spacing: -.035em;
}
.task-detail-close {
  width: 42px;
  min-width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 29px;
  font-weight: 300;
}
.task-detail-close:hover { color: var(--text); background: rgba(255,255,255,.045); }

.task-detail-scroll {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px 24px 18px;
  scrollbar-gutter: stable;
}

.task-detail-dialog label { color: var(--muted); font-size: 11px; }
.task-detail-dialog input,
.task-detail-dialog select,
.task-detail-dialog textarea {
  min-width: 0;
  border-color: rgba(255,255,255,.1);
  border-radius: 11px;
  background: #18212b;
  color: var(--text);
  box-shadow: inset 0 1px rgba(255,255,255,.025);
}
.task-detail-dialog input:focus,
.task-detail-dialog select:focus,
.task-detail-dialog textarea:focus {
  border-color: rgba(68,198,221,.62);
  box-shadow: 0 0 0 3px rgba(68,198,221,.08);
}

.task-detail-title-field { display: block; margin-bottom: 12px; }
.task-detail-title-field > span { display: none; }
.task-detail-title-field input {
  min-height: 50px;
  padding: 0 16px;
  font-size: 16px;
  font-weight: 760;
}

.task-detail-quick-fields {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.task-detail-quick-fields label { position: relative; }
.task-detail-quick-fields label > span {
  position: absolute;
  z-index: 1;
  left: 12px;
  top: 8px;
  pointer-events: none;
  color: #aab5c1;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .02em;
}
.task-detail-quick-fields input,
.task-detail-quick-fields select {
  width: 100%;
  min-height: 52px;
  padding: 20px 12px 6px;
  font-size: 12px;
  font-weight: 700;
}

.task-detail-inline-hint {
  display: none;
  margin: 0 0 12px;
  padding: 9px 12px;
  border: 1px solid rgba(227,184,77,.25);
  border-radius: 9px;
  background: rgba(227,184,77,.07);
  color: #e5c36c;
  font-size: 11px;
}
.task-detail-inline-hint:not(:empty) { display: block; }

.task-detail-primary-grid {
  display: grid;
  grid-template-columns: minmax(0,1.85fr) minmax(250px,.95fr);
  align-items: stretch;
  gap: 12px;
}
.task-detail-focus-card,
.task-detail-links-card,
.task-detail-note-card,
.task-detail-checklist-card {
  display: block;
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: rgba(18,27,36,.78);
}
.task-detail-section-head {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  color: var(--text);
  font-size: 12px;
}
.task-detail-section-head button {
  width: 28px;
  min-height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--task-cyan);
}
.task-detail-section-head > span { color: var(--muted); font-size: 10px; }

.task-detail-next-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) 100px;
  gap: 10px;
}
.task-detail-next-row > input { min-height: 46px; font-weight: 700; }
.task-detail-duration { position: relative; }
.task-detail-duration input { width: 100%; min-height: 46px; padding-right: 35px; }
.task-detail-duration span { position: absolute; right: 11px; top: 15px; color: var(--muted); font-size: 10px; }
#taskDetailPanel .task-detail-start {
  width: 100%;
  min-height: 48px;
  margin-top: 10px;
  border-color: rgba(91,223,236,.68);
  background: linear-gradient(180deg, #32bdd7, #168eaf);
  box-shadow: 0 10px 24px rgba(35,174,204,.16), inset 0 1px rgba(255,255,255,.28);
}
.task-detail-timer-row {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
}
.task-detail-timer-row .timer {
  margin-right: auto;
  color: var(--muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.task-detail-timer-row button { min-height: 32px; padding: 0 10px; font-size: 10px; }

.task-detail-link-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.task-detail-link-fields label > span { display: block; margin-bottom: 5px; }
.task-detail-link-fields select { width: 100%; min-height: 42px; font-size: 11px; }
.task-detail-entity-links { margin-top: 14px; }
.task-detail-entity-links:empty { display: none; }
.task-detail-relation-hint {
  margin: 12px 0 0;
  color: #e6b94b;
  font-size: 10px;
  font-weight: 750;
}
.task-detail-relation-hint.is-ready { color: #70d59a; }

.task-detail-work-grid {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  gap: 12px;
  margin-top: 12px;
}
.task-detail-note-card textarea { width: 100%; min-height: 82px; resize: vertical; }
.task-detail-comments { display: grid; gap: 6px; margin-top: 8px; }
.task-detail-comment {
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255,255,255,.025);
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}
.task-detail-add-row { display: grid; grid-template-columns: minmax(0,1fr) 38px; gap: 7px; margin-top: 8px; }
.task-detail-add-row input { min-height: 38px; font-size: 11px; }
.task-detail-add-row button { min-height: 38px; padding: 0; color: var(--task-cyan); font-size: 19px; }
.task-detail-checklist { display: grid; gap: 6px; }
.task-detail-check-item {
  min-height: 40px;
  display: grid;
  grid-template-columns: 22px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 9px;
  background: rgba(255,255,255,.018);
  color: var(--text) !important;
  cursor: pointer;
}
.task-detail-check-item input { width: 20px; height: 20px; margin: 0; }
.task-detail-check-item span { overflow: hidden; text-overflow: ellipsis; font-size: 11px; }
.task-detail-check-item:has(input:checked) span { color: var(--muted); text-decoration: line-through; }
.task-detail-empty { margin: 10px 0; color: var(--muted); font-size: 10px; }

.task-detail-accordions { display: grid; gap: 7px; margin-top: 12px; }
.task-detail-block {
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 11px;
  background: rgba(18,27,36,.72);
}
.task-detail-block summary {
  min-height: 48px;
  display: grid;
  grid-template-columns: 24px minmax(160px,1fr) auto 16px;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.task-detail-block summary::-webkit-details-marker { display: none; }
.task-detail-block summary::after { content: "⌄"; color: var(--muted); transform: rotate(0); transition: transform .18s ease; }
.task-detail-block[open] summary::after { transform: rotate(180deg); }
.task-detail-block summary > span { color: #a9b7c5; font-size: 15px; }
.task-detail-block summary strong { display: flex; align-items: center; gap: 7px; font-size: 11px; }
.task-detail-block summary small { color: var(--muted); font-size: 9px; font-weight: 650; }
.task-detail-block[open] summary { border-bottom: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.018); }
.task-detail-accordion-body { padding: 14px; }
.task-detail-accordion-body.form-grid,
.task-detail-accordion-body .form-grid { gap: 10px; }
.task-detail-inline-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.task-detail-inline-actions button { min-height: 36px; padding: 0 12px; font-size: 10px; }

.task-detail-footer {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 24px;
  border-top: 1px solid rgba(255,255,255,.075);
  background: rgba(12,18,24,.98);
}
.task-detail-footer-actions { display: flex; align-items: center; gap: 8px; }
.task-detail-footer-actions button { min-height: 42px; padding: 0 17px; font-size: 11px; }
.task-detail-footer-actions .primary {
  border-color: rgba(91,223,236,.68);
  background: linear-gradient(180deg, #32bdd7, #168eaf);
  box-shadow: inset 0 1px rgba(255,255,255,.25);
}
.task-detail-footer-actions .danger { color: #ff8c82; }
.task-detail-save-status {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  color: var(--muted);
  font-size: 9px;
}
.task-detail-save-status i { width: 7px; height: 7px; border-radius: 50%; background: #61d98e; box-shadow: 0 0 9px rgba(97,217,142,.42); }
.task-detail-save-status.is-saving i { background: #e2b84d; }

@media (max-width: 820px) {
  .task-detail-panel { padding: 10px; }
  .task-detail-dialog { width: calc(100vw - 20px); max-height: calc(100vh - 20px); }
  .task-detail-head { min-height: 70px; padding: 14px 16px 10px; }
  .task-detail-scroll { padding: 12px 16px 16px; }
  .task-detail-quick-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .task-detail-primary-grid,
  .task-detail-work-grid { grid-template-columns: minmax(0,1fr); }
  .task-detail-footer { padding: 11px 16px; }
  .task-detail-save-status { display: none; }
}

@media (max-width: 540px) {
  .task-detail-panel { padding: 0; }
  .task-detail-dialog { width: 100vw; max-height: 100vh; height: 100vh; border: 0; border-radius: 0; }
  .task-detail-breadcrumb { display: none; }
  .task-detail-head h3 { font-size: 20px; }
  .task-detail-quick-fields { grid-template-columns: 1fr 1fr; gap: 7px; }
  .task-detail-next-row { grid-template-columns: minmax(0,1fr) 86px; }
  .task-detail-block summary { grid-template-columns: 22px minmax(120px,1fr) 14px; padding: 0 11px; }
  .task-detail-block summary small { display: none; }
  .task-detail-footer { min-height: 68px; overflow-x: auto; }
  .task-detail-footer-actions { min-width: max-content; }
  .task-detail-footer-actions button { min-height: 40px; padding: 0 13px; }
  #tdSaveBtn { display: none; }
}

/* Goals + wishes: one operational-to-aspirational workspace. */
#goals { --asp-gold: #d8aa3d; --asp-cyan: #22c4df; --asp-panel: #111a24; --asp-raised: #18222d; }
.aspiration-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
}
.aspiration-page-head h2 { margin: 0; color: var(--text); font-size: clamp(30px, 3vw, 44px); line-height: 1; letter-spacing: -.045em; }
.aspiration-page-head p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }
.aspiration-page-actions { display: flex; gap: 10px; flex: 0 0 auto; }
.aspiration-page-actions button { min-height: 48px; padding: 0 24px; font-weight: 850; }
.aspiration-page-actions .primary {
  color: #f7feff;
  border-color: rgba(34,196,223,.58);
  background: linear-gradient(135deg, #0ca9ce, #27c4df 68%, #72cbb0);
  box-shadow: 0 14px 34px rgba(34,196,223,.15), inset 0 1px rgba(255,255,255,.2);
}
.aspiration-goals-shell,
.aspiration-wishes-shell {
  border: 1px solid rgba(132,153,178,.22);
  border-radius: 20px;
  background:
    radial-gradient(circle at 12% 0, rgba(216,170,61,.045), transparent 34%),
    linear-gradient(145deg, rgba(16,25,35,.98), rgba(10,17,24,.98));
  box-shadow: inset 0 1px rgba(255,255,255,.02), 0 18px 50px rgba(0,0,0,.14);
  overflow: hidden;
}
.aspiration-section-head {
  min-height: 64px;
  padding: 15px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.aspiration-section-head h3 { margin: 0; color: var(--text); font-size: 25px; letter-spacing: -.035em; }
.aspiration-goals-head { border-bottom: 1px solid rgba(132,153,178,.17); }
.aspiration-goal-kpis { display: flex; align-items: center; }
.aspiration-goal-kpis span {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 22px;
  color: var(--muted);
  font-size: 12px;
  border-left: 1px solid rgba(132,153,178,.16);
}
.aspiration-goal-kpis span:first-child { border-left: 0; }
.aspiration-goal-kpis i,
.aspiration-goal-kpis strong { color: var(--asp-gold); font-style: normal; }
.aspiration-goal-kpis strong { font-size: 19px; }
.aspiration-goal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);
  gap: 14px;
  padding: 0 20px 12px;
}
.aspiration-goal-focus {
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(216,170,61,.22);
  border-radius: 16px;
  background:
    radial-gradient(circle at 0 0, rgba(216,170,61,.1), transparent 34%),
    rgba(21,31,42,.72);
}
.aspiration-focus-label {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid rgba(216,170,61,.48);
  background: rgba(216,170,61,.1);
  color: #f0c75c;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}
.aspiration-goal-focus h4 { margin: 17px 0 14px; color: var(--text); font-size: clamp(24px, 2.2vw, 34px); line-height: 1.08; letter-spacing: -.04em; }
.aspiration-focus-progress { display: grid; grid-template-columns: 88px minmax(0,1fr); align-items: center; gap: 18px; }
.aspiration-focus-progress > strong { color: var(--asp-gold); font-size: 31px; letter-spacing: -.04em; }
.aspiration-progress-track,
.aspiration-goal-compact-progress i,
.aspiration-next-wish-progress > i { height: 10px; border-radius: 999px; background: #071019; overflow: hidden; }
.aspiration-progress-track i,
.aspiration-goal-compact-progress u,
.aspiration-next-wish-progress u { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#bd8627,#efbf49); text-decoration: none; }
.aspiration-goal-focus dl { display: grid; margin: 16px 0 0; }
.aspiration-goal-focus dl > div { display: grid; grid-template-columns: minmax(150px,.72fr) minmax(0,1fr); gap: 12px; padding: 9px 0; border-top: 1px solid rgba(132,153,178,.12); }
.aspiration-goal-focus dt { color: var(--muted); font-size: 12px; }
.aspiration-goal-focus dd { min-width: 0; margin: 0; color: var(--text); font-size: 13px; font-weight: 750; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aspiration-focus-actions { display: grid; grid-template-columns: minmax(150px,1fr) minmax(130px,.85fr) 52px; gap: 9px; margin-top: 16px; }
.aspiration-focus-actions button { min-height: 42px; font-weight: 800; }
.aspiration-focus-actions .primary { border-color: rgba(34,196,223,.55); background: linear-gradient(180deg,#29bed5,#138fa8); }
.aspiration-goal-stack { display: grid; gap: 12px; align-content: stretch; }
.aspiration-goal-compact {
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 18px;
  display: grid;
  align-content: space-between;
  gap: 14px;
  text-align: left;
  border-radius: 15px;
  border-color: rgba(132,153,178,.2);
  background: rgba(21,31,42,.72);
}
.aspiration-goal-compact:hover { border-color: rgba(216,170,61,.38); transform: translateY(-1px); }
.aspiration-goal-compact-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.aspiration-goal-compact-top strong { color: var(--text); font-size: 17px; line-height: 1.25; }
.aspiration-goal-compact-top b { color: var(--muted); letter-spacing: .12em; }
.aspiration-goal-compact-progress { display: grid; grid-template-columns: 58px minmax(0,1fr); align-items: center; gap: 10px; }
.aspiration-goal-compact-progress em { color: var(--asp-gold); font-size: 22px; font-style: normal; font-weight: 900; }
.aspiration-goal-compact small { color: var(--muted); }
.aspiration-side-empty { height: 100%; display: grid; place-items: center; padding: 22px; color: var(--muted); text-align: center; border: 1px dashed rgba(132,153,178,.22); border-radius: 15px; }
.aspiration-goal-more { grid-column: 1 / -1; }
.aspiration-goal-more summary { width: fit-content; color: var(--muted); cursor: pointer; font-size: 12px; }
.aspiration-goal-more > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 10px; }
.aspiration-next-actions { margin: 0 20px 18px; border: 1px solid rgba(132,153,178,.17); border-radius: 14px; background: rgba(8,15,22,.48); overflow: hidden; }
.aspiration-next-title { padding: 10px 15px 4px; color: var(--text); font-size: 12px; font-weight: 900; }
.aspiration-next-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.aspiration-next-grid button { min-width: 0; display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 10px; align-items: center; padding: 12px 15px; text-align: left; border: 0; border-left: 1px solid rgba(132,153,178,.14); border-radius: 0; background: transparent; }
.aspiration-next-grid button:first-child { border-left: 0; }
.aspiration-next-grid button > i { width: 19px; height: 19px; border: 1px solid #66778a; border-radius: 50%; }
.aspiration-next-grid button span { min-width: 0; display: grid; gap: 4px; }
.aspiration-next-grid button strong { color: var(--text); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aspiration-next-grid button small { color: var(--muted); font-size: 10px; }
.aspiration-next-empty { grid-column: 1 / -1; padding: 12px 15px; color: var(--muted); font-size: 12px; }
.aspiration-bridge { display: flex; align-items: center; gap: 13px; margin: 8px 0; color: var(--asp-gold); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.aspiration-bridge::before,
.aspiration-bridge::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg,transparent,var(--asp-gold)); opacity: .7; }
.aspiration-bridge::after { background: linear-gradient(90deg,var(--asp-gold),transparent); }
.aspiration-wishes-shell { overflow: visible; padding-bottom: 18px; }
.aspiration-wish-title-row { display: flex; align-items: center; gap: 22px; }
.aspiration-wish-tabs { display: flex; align-items: center; gap: 4px; }
.aspiration-wish-tabs button { min-height: 30px; padding: 0 10px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; font-size: 11px; }
.aspiration-wish-tabs button.active { color: #f2c85d; background: rgba(216,170,61,.12); box-shadow: inset 0 0 0 1px rgba(216,170,61,.34); }
.aspiration-wish-tools { position: relative; }
.aspiration-wish-tools summary { list-style: none; width: 42px; height: 34px; display: grid; place-items: center; color: var(--muted); border: 1px solid rgba(132,153,178,.2); border-radius: 10px; cursor: pointer; }
.aspiration-wish-tools summary::-webkit-details-marker { display: none; }
.aspiration-wish-tools-popover { position: absolute; z-index: 30; top: 42px; right: 0; width: 260px; display: grid; gap: 7px; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: #131d28; box-shadow: 0 20px 48px rgba(0,0,0,.38); }
.aspiration-wish-tools-popover > button,
.aspiration-wish-tools-popover .icon-filter-btn { width: 100%; justify-content: flex-start; }
.aspiration-wish-tools-popover .wishlist-search-panel { width: 100%; max-width: none; flex: none; }
.aspiration-wishes-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 12px; padding: 0 20px; }
.aspiration-wish-gallery { min-width: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(185px,1fr); gap: 10px; overflow-x: auto; overscroll-behavior-inline: contain; padding-bottom: 3px; }
.aspiration-wish-card { min-width: 0; border: 1px solid rgba(132,153,178,.2); border-radius: 14px; background: rgba(21,31,42,.75); overflow: hidden; cursor: pointer; transition: transform .16s ease,border-color .16s ease; }
.aspiration-wish-card:hover { transform: translateY(-2px); border-color: rgba(216,170,61,.4); }
.aspiration-wish-cover { position: relative; height: 110px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 0,rgba(34,196,223,.16),transparent 60%),#0d1620; }
.aspiration-wish-cover img { width: 100%; height: 100%; object-fit: cover; }
.aspiration-wish-cover > span { font-size: 38px; }
.aspiration-wish-cover > i { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: rgba(3,9,15,.52); font-size: 18px; font-style: normal; backdrop-filter: blur(8px); }
.aspiration-wish-body { display: grid; gap: 6px; padding: 11px 12px 12px; }
.aspiration-wish-body h4 { min-height: 34px; margin: 0; color: var(--text); font-size: 14px; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.aspiration-wish-status { color: var(--muted); font-size: 10px; }
.aspiration-wish-status i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #46ce79; }
.aspiration-wish-price { color: #f0bf49; font-size: 12px; font-weight: 800; }
.aspiration-wish-date { color: var(--muted); font-size: 10px; }
.aspiration-wish-link { padding: 6px 7px; border: 1px solid rgba(216,170,61,.18); border-radius: 7px; color: #b9c5d2; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aspiration-wish-empty { grid-column: 1 / -1; min-height: 245px; display: grid; place-items: center; align-content: center; gap: 10px; padding: 25px; color: var(--muted); text-align: center; border: 1px dashed rgba(132,153,178,.22); border-radius: 14px; }
.aspiration-next-wish { min-width: 0; padding: 14px; border: 1px solid rgba(216,170,61,.24); border-radius: 14px; background: radial-gradient(circle at 100% 0,rgba(216,170,61,.07),transparent 40%),rgba(21,31,42,.72); }
.aspiration-next-wish-title { display: flex; justify-content: space-between; gap: 8px; color: #efc559; font-size: 10px; font-weight: 900; }
.aspiration-next-wish-title i { font-size: 18px; font-style: normal; }
.aspiration-next-wish-main { display: grid; grid-template-columns: 76px minmax(0,1fr); align-items: center; gap: 11px; margin-top: 15px; }
.aspiration-next-wish-main img,
.aspiration-next-wish-main > div { width: 76px; height: 62px; border-radius: 10px; object-fit: cover; display: grid; place-items: center; background: #0d1620; font-size: 28px; }
.aspiration-next-wish-main strong { color: var(--text); line-height: 1.25; }
.aspiration-next-wish-progress { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 5px; margin: 14px 0; }
.aspiration-next-wish-progress b { color: var(--asp-gold); font-size: 27px; }
.aspiration-next-wish-progress span { color: var(--muted); font-size: 10px; }
.aspiration-next-wish-progress > i { grid-column: 1 / -1; width: 100%; }
.aspiration-next-wish dl { margin: 0 0 14px; display: grid; }
.aspiration-next-wish dl > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 7px 0; border-top: 1px solid rgba(132,153,178,.12); font-size: 10px; }
.aspiration-next-wish dt { color: var(--muted); }
.aspiration-next-wish dd { margin: 0; color: var(--text); text-align: right; }
.aspiration-next-wish > button { width: 100%; min-height: 41px; display: flex; align-items: center; justify-content: space-between; font-weight: 850; border-color: rgba(34,196,223,.55); background: linear-gradient(180deg,#29bed5,#138fa8); }
.aspiration-next-wish-empty { min-height: 215px; display: grid; place-items: center; align-content: center; gap: 10px; color: var(--muted); text-align: center; }
.aspiration-empty { grid-column: 1 / -1; min-height: 250px; display: grid; place-items: center; align-content: center; gap: 10px; color: var(--muted); text-align: center; border: 1px dashed rgba(132,153,178,.22); border-radius: 15px; }

@media (max-width: 1180px) {
  .aspiration-page-head { align-items: flex-start; }
  .aspiration-goal-kpis span { padding: 0 10px; }
  .aspiration-goal-layout { grid-template-columns: minmax(0,1.35fr) minmax(250px,.8fr); }
  .aspiration-wishes-layout { grid-template-columns: minmax(0,1fr) 245px; }
  .aspiration-wish-gallery { grid-auto-columns: minmax(180px, 220px); }
}
@media (max-width: 900px) {
  .aspiration-page-head,
  .aspiration-section-head { align-items: flex-start; flex-direction: column; }
  .aspiration-goal-kpis { width: 100%; overflow-x: auto; }
  .aspiration-goal-kpis span { white-space: nowrap; }
  .aspiration-goal-layout { grid-template-columns: 1fr; }
  .aspiration-goal-stack { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aspiration-next-grid { grid-template-columns: 1fr; }
  .aspiration-next-grid button { border-left: 0; border-top: 1px solid rgba(132,153,178,.14); }
  .aspiration-wishes-layout { grid-template-columns: 1fr; }
  .aspiration-next-wish { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.7fr); gap: 10px 18px; }
  .aspiration-next-wish-title { grid-column: 1 / -1; }
  .aspiration-next-wish > button { align-self: end; }
}
@media (max-width: 620px) {
  .aspiration-page-actions { width: 100%; }
  .aspiration-page-actions button { flex: 1; min-width: 0; padding: 0 12px; }
  .aspiration-goals-shell,
  .aspiration-wishes-shell { border-radius: 15px; }
  .aspiration-section-head,
  .aspiration-goal-layout,
  .aspiration-wishes-layout { padding-left: 12px; padding-right: 12px; }
  .aspiration-goal-layout { padding-bottom: 10px; }
  .aspiration-goal-kpis span { padding: 0 12px; }
  .aspiration-goal-kpis span:first-child { padding-left: 0; }
  .aspiration-focus-progress { grid-template-columns: 64px minmax(0,1fr); }
  .aspiration-focus-progress > strong { font-size: 24px; }
  .aspiration-goal-focus dl > div { grid-template-columns: 1fr; gap: 3px; }
  .aspiration-focus-actions { grid-template-columns: 1fr 52px; }
  .aspiration-focus-actions button:nth-child(2) { display: none; }
  .aspiration-goal-stack,
  .aspiration-goal-more > div { grid-template-columns: 1fr; }
  .aspiration-next-actions { margin-left: 12px; margin-right: 12px; }
  .aspiration-bridge span { text-align: center; font-size: 9px; }
  .aspiration-wish-title-row { width: 100%; align-items: flex-start; flex-direction: column; gap: 8px; }
  .aspiration-wish-tabs { width: 100%; overflow-x: auto; }
  .aspiration-wish-gallery { grid-auto-columns: minmax(175px, 76vw); }
  .aspiration-next-wish { display: block; }
  .aspiration-next-wish > button { margin-top: 12px; }
}

/* Goals + wishes: ergonomic density pass. */
nav,
#nav { align-content: start; grid-auto-rows: max-content; }

#goals .aspiration-page-head { gap: 16px; margin-bottom: 10px; }
#goals .aspiration-page-head h2 { font-size: clamp(28px, 2.25vw, 36px); }
#goals .aspiration-page-head p { margin-top: 5px; font-size: 12px; }
#goals .aspiration-page-actions { gap: 7px; }
#goals .aspiration-page-actions button { min-height: 38px; padding: 0 16px; border-radius: 12px; font-size: 12px; }
#goals .aspiration-goals-shell,
#goals .aspiration-wishes-shell { border-radius: 16px; }
#goals .aspiration-section-head { min-height: 50px; padding: 10px 14px; gap: 12px; }
#goals .aspiration-section-head h3 { font-size: 21px; }
#goals .aspiration-goal-kpis span { min-height: 25px; padding: 0 14px; gap: 5px; font-size: 10px; }
#goals .aspiration-goal-kpis strong { font-size: 16px; }
#goals .aspiration-goal-layout { grid-template-columns: minmax(0, 1.55fr) minmax(300px, .9fr); gap: 10px; padding: 0 14px 9px; }
#goals .aspiration-goal-focus { padding: 14px; border-radius: 13px; }
#goals .aspiration-focus-label { min-height: 22px; padding: 0 8px; border-radius: 7px; font-size: 8px; }
#goals .aspiration-goal-focus h4 { margin: 10px 0 9px; font-size: clamp(20px, 1.8vw, 27px); line-height: 1.12; }
#goals .aspiration-focus-progress { grid-template-columns: 60px minmax(0, 1fr); gap: 12px; }
#goals .aspiration-focus-progress > strong { font-size: 24px; }
#goals .aspiration-progress-track,
#goals .aspiration-goal-compact-progress i,
#goals .aspiration-next-wish-progress > i { height: 7px; }
#goals .aspiration-goal-focus dl { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
#goals .aspiration-goal-focus dl > div { grid-template-columns: 1fr; gap: 3px; min-width: 0; padding: 7px 8px 0 0; }
#goals .aspiration-goal-focus dt { font-size: 9px; }
#goals .aspiration-goal-focus dd { font-size: 11px; }
#goals .aspiration-focus-actions { grid-template-columns: minmax(130px, 1fr) minmax(105px, .7fr) 42px; gap: 7px; margin-top: 11px; }
#goals .aspiration-focus-actions button { min-height: 35px; padding: 0 11px; border-radius: 10px; font-size: 11px; }
#goals .aspiration-goal-stack { grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 9px; }
#goals .aspiration-goal-compact { padding: 12px 13px; gap: 8px; border-radius: 12px; }
#goals .aspiration-goal-compact-top strong { font-size: 14px; }
#goals .aspiration-goal-compact-progress { grid-template-columns: 42px minmax(0, 1fr); gap: 8px; }
#goals .aspiration-goal-compact-progress em { font-size: 17px; }
#goals .aspiration-goal-compact small { font-size: 9px; }
#goals .aspiration-next-actions { margin: 0 14px 11px; border-radius: 11px; }
#goals .aspiration-next-title { padding: 7px 11px 2px; font-size: 10px; }
#goals .aspiration-next-grid button { grid-template-columns: 18px minmax(0, 1fr); gap: 7px; padding: 8px 11px; }
#goals .aspiration-next-grid button > i { width: 15px; height: 15px; }
#goals .aspiration-next-grid button strong { font-size: 10px; }
#goals .aspiration-next-grid button small { font-size: 8px; }
#goals .aspiration-next-empty { padding: 8px 11px; font-size: 10px; }
#goals .aspiration-bridge { margin: 4px 0; font-size: 9px; }
#goals .aspiration-wishes-shell { padding-bottom: 11px; }
#goals .aspiration-wish-title-row { gap: 14px; }
#goals .aspiration-wish-tabs button { min-height: 26px; padding: 0 8px; font-size: 9px; }
#goals .aspiration-wish-tools summary { width: 36px; height: 30px; }
#goals .aspiration-wishes-layout { grid-template-columns: minmax(0, 1fr) 235px; gap: 9px; padding: 0 14px; }
#goals .aspiration-wish-gallery { grid-auto-columns: minmax(155px, 205px); gap: 8px; }
#goals .aspiration-wish-card { border-radius: 11px; }
#goals .aspiration-wish-cover { height: 78px; }
#goals .aspiration-wish-cover > span { font-size: 29px; }
#goals .aspiration-wish-cover > i { width: 24px; height: 24px; font-size: 15px; }
#goals .aspiration-wish-body { gap: 4px; padding: 8px 9px 9px; }
#goals .aspiration-wish-body h4 { min-height: 29px; font-size: 12px; }
#goals .aspiration-wish-status,
#goals .aspiration-wish-date { font-size: 8px; }
#goals .aspiration-wish-price { font-size: 10px; }
#goals .aspiration-wish-link { padding: 4px 5px; font-size: 8px; }
#goals .aspiration-next-wish { padding: 10px; border-radius: 11px; }
#goals .aspiration-next-wish-main { grid-template-columns: 52px minmax(0, 1fr); gap: 8px; margin-top: 9px; }
#goals .aspiration-next-wish-main img,
#goals .aspiration-next-wish-main > div { width: 52px; height: 45px; font-size: 21px; }
#goals .aspiration-next-wish-progress { margin: 9px 0; }
#goals .aspiration-next-wish-progress b { font-size: 21px; }
#goals .aspiration-next-wish dl { margin-bottom: 9px; }
#goals .aspiration-next-wish dl > div { padding: 5px 0; font-size: 8px; }
#goals .aspiration-next-wish > button { min-height: 34px; font-size: 10px; }

@media (max-width: 900px) {
  #goals .aspiration-goal-layout,
  #goals .aspiration-wishes-layout { grid-template-columns: 1fr; }
  #goals .aspiration-goal-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  #goals .aspiration-next-wish { display: grid; }
}

@media (max-width: 620px) {
  #goals .aspiration-goal-focus dl { grid-template-columns: 1fr; gap: 0; }
  #goals .aspiration-goal-stack { grid-template-columns: 1fr; }
  #goals .aspiration-wishes-layout { padding: 0 10px; }
  #goals .aspiration-next-wish { display: block; }
}

/* Goals compact workspace: keep wishes unchanged and return vertical space to content. */
@media (min-width: 1181px) {
  #goals .aspiration-goals-head {
    min-height: 44px;
    padding-top: 7px;
    padding-bottom: 7px;
  }

  #goals .aspiration-goal-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding-bottom: 8px;
  }

  #goals .aspiration-goal-focus {
    display: grid;
    grid-template-columns: minmax(280px, 1.4fr) minmax(150px, .48fr) minmax(260px, .82fr) auto;
    grid-template-areas:
      "label progress meta actions"
      "title progress meta actions";
    align-items: center;
    column-gap: 16px;
    row-gap: 5px;
    min-height: 104px;
    padding: 11px 13px;
  }

  #goals .aspiration-focus-label {
    grid-area: label;
    justify-self: start;
  }

  #goals .aspiration-goal-focus h4 {
    grid-area: title;
    min-width: 0;
    margin: 0;
    font-size: clamp(17px, 1.35vw, 22px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #goals .aspiration-focus-progress {
    grid-area: progress;
    grid-template-columns: 42px minmax(72px, 1fr);
    gap: 8px;
  }

  #goals .aspiration-focus-progress > strong { font-size: 19px; }

  #goals .aspiration-goal-focus dl {
    grid-area: meta;
    grid-template-columns: minmax(0, 1fr);
    gap: 1px;
    margin: 0;
  }

  #goals .aspiration-goal-focus dl > div {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 7px;
    align-items: center;
    padding: 3px 0;
    border-top: 0;
  }

  #goals .aspiration-goal-focus dt { font-size: 8px; }
  #goals .aspiration-goal-focus dd { font-size: 10px; }

  #goals .aspiration-focus-actions {
    grid-area: actions;
    grid-template-columns: 104px 76px 34px;
    gap: 6px;
    margin: 0;
  }

  #goals .aspiration-focus-actions button {
    min-height: 33px;
    padding: 0 9px;
    font-size: 10px;
  }

  #goals .aspiration-goal-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: 8px;
  }

  #goals .aspiration-goal-compact {
    grid-template-columns: minmax(180px, 1.2fr) minmax(120px, .55fr) minmax(145px, .65fr);
    align-items: center;
    gap: 12px;
    min-height: 62px;
    padding: 9px 12px;
  }

  #goals .aspiration-goal-compact-top { align-items: center; }
  #goals .aspiration-goal-compact-top strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #goals .aspiration-goal-compact-progress { grid-template-columns: 35px minmax(55px, 1fr); }
  #goals .aspiration-goal-compact-progress em { font-size: 15px; }
  #goals .aspiration-goal-compact small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #goals .aspiration-goal-more > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  #goals .aspiration-next-actions {
    display: grid;
    grid-template-columns: 135px minmax(0, 1fr);
    align-items: stretch;
    min-height: 42px;
  }

  #goals .aspiration-next-title {
    display: flex;
    align-items: center;
    padding: 0 11px;
    border-right: 1px solid rgba(132,153,178,.14);
  }

  #goals .aspiration-next-grid button { padding-top: 7px; padding-bottom: 7px; }
}

@media (min-width: 901px) and (max-width: 1180px) {
  #goals .aspiration-goal-layout { grid-template-columns: minmax(0, 1fr); }
  #goals .aspiration-goal-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }
}

/* Goals table: information-first, with all controls behind the row menu. */
#goals .aspiration-goal-layout {
  display: block;
  padding: 0 14px 8px;
}

#goals .aspiration-goals-table {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(132,153,178,.17);
  border-radius: 12px;
  background: rgba(8,15,22,.35);
}

#goals .aspiration-goals-columns,
#goals .aspiration-goal-row {
  display: grid;
  grid-template-columns:
    minmax(210px, 2fr)
    minmax(112px, .95fr)
    minmax(105px, .82fr)
    minmax(92px, .72fr)
    minmax(100px, .8fr)
    minmax(145px, 1.2fr)
    minmax(92px, .72fr)
    32px;
  gap: 12px;
  align-items: center;
}

#goals .aspiration-goals-columns {
  min-height: 32px;
  padding: 0 12px;
  color: var(--muted);
  border-bottom: 1px solid rgba(132,153,178,.14);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

#goals .aspiration-goal-row {
  position: relative;
  min-height: 68px;
  padding: 8px 12px;
  color: var(--muted);
  border-bottom: 1px solid rgba(132,153,178,.12);
  cursor: pointer;
  transition: background .15s ease;
}

#goals .aspiration-goal-row:last-child { border-bottom: 0; }
#goals .aspiration-goal-row:hover { background: rgba(132,153,178,.045); }
#goals .aspiration-goal-row:focus-visible { outline: 2px solid rgba(34,196,223,.5); outline-offset: -2px; }

#goals .aspiration-goal-row.is-focus {
  padding-left: 15px;
  background: linear-gradient(90deg, rgba(216,170,61,.075), rgba(216,170,61,.018) 58%, transparent);
}

#goals .aspiration-goal-row.is-focus::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #e2b441;
}

#goals .aspiration-goal-row-title,
#goals .aspiration-goal-row-value,
#goals .aspiration-goal-row-deadline,
#goals .aspiration-goal-row-project,
#goals .aspiration-goal-row-next {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#goals .aspiration-goal-row-title {
  display: flex;
  align-items: center;
  gap: 7px;
}

#goals .aspiration-goal-row-title strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#goals .aspiration-goal-row-title span {
  flex: 0 0 auto;
  padding: 3px 6px;
  color: #f0c75c;
  border: 1px solid rgba(216,170,61,.44);
  border-radius: 6px;
  background: rgba(216,170,61,.09);
  font-size: 8px;
  font-weight: 850;
}

#goals .aspiration-goal-row-value { font-size: 10px; }
#goals .aspiration-goal-row-value i { color: #516071; font-style: normal; }

#goals .aspiration-goal-row-progress {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(42px, 1fr);
  align-items: center;
  gap: 7px;
}

#goals .aspiration-goal-row-progress b { color: var(--asp-gold); font-size: 13px; }
#goals .aspiration-goal-row-progress i {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #071019;
}
#goals .aspiration-goal-row-progress u {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#bd8627,#efbf49);
  text-decoration: none;
}

#goals .aspiration-goal-row-deadline,
#goals .aspiration-goal-row-project,
#goals .aspiration-goal-row-next { font-size: 10px; }
#goals .aspiration-goal-row-next { color: #b8c4d0; }

#goals .aspiration-goal-row-status .status-badge {
  max-width: 100%;
  min-height: 25px;
  padding: 0 7px;
  overflow: hidden;
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#goals .aspiration-goal-row-menu {
  width: 30px;
  min-width: 30px;
  min-height: 30px;
  padding: 0;
  color: var(--muted);
  border: 0;
  border-radius: 8px;
  background: transparent;
  letter-spacing: .08em;
}
#goals .aspiration-goal-row-menu:hover { color: var(--text); background: rgba(132,153,178,.1); }

#goals .aspiration-next-actions {
  display: grid;
  grid-template-columns: 135px minmax(0, 1fr);
  align-items: stretch;
  min-height: 42px;
}
#goals .aspiration-next-title {
  display: flex;
  align-items: center;
  padding: 0 11px;
  border-right: 1px solid rgba(132,153,178,.14);
}
#goals .aspiration-next-grid { grid-template-columns: minmax(0, 1fr); }
#goals .aspiration-next-grid button { border-left: 0; }

@media (max-width: 1180px) {
  #goals .aspiration-goals-columns,
  #goals .aspiration-goal-row {
    grid-template-columns: minmax(210px, 1.8fr) minmax(105px, .72fr) minmax(95px, .7fr) minmax(150px, 1.15fr) minmax(90px, .65fr) 32px;
  }
  #goals .aspiration-goals-columns > :nth-child(2),
  #goals .aspiration-goals-columns > :nth-child(5),
  #goals .aspiration-goal-row-value,
  #goals .aspiration-goal-row-project { display: none; }
}

@media (max-width: 760px) {
  #goals .aspiration-goals-columns { display: none; }
  #goals .aspiration-goal-row {
    grid-template-columns: minmax(0, 1fr) 86px 80px 30px;
    gap: 8px;
    min-height: 62px;
    padding: 8px 9px;
  }
  #goals .aspiration-goal-row-next,
  #goals .aspiration-goal-row-status { display: none; }
  #goals .aspiration-goal-row-title strong { font-size: 12px; }
  #goals .aspiration-goal-row-title span { display: none; }
  #goals .aspiration-next-actions { grid-template-columns: 1fr; }
  #goals .aspiration-next-title { padding: 6px 10px 2px; border-right: 0; }
  #goals .aspiration-next-grid button { padding: 7px 10px; }
}
