/* dashboard.html — master cabinet dashboard section */
        /* ── Dashboard hero ── */
        .dash-hero {
          margin: 0 0 14px;
          border-radius: 24px;
          background: linear-gradient(135deg, #1e1b4b 0%, #312e81 30%, #4338ca 65%, #6366f1 100%);
          padding: 22px 20px 20px;
          position: relative;
          overflow: hidden;
        }
        .dash-hero::before {
          content: '';
          position: absolute;
          top: -60px; right: -40px;
          width: 200px; height: 200px;
          border-radius: 50%;
          background: rgba(255,255,255,.06);
          pointer-events: none;
        }
        .dash-hero::after {
          content: '';
          position: absolute;
          bottom: -50px; left: -30px;
          width: 160px; height: 160px;
          border-radius: 50%;
          background: rgba(255,255,255,.04);
          pointer-events: none;
        }
        @media (max-width: 480px) {
          .dash-hero { padding: 18px 14px 16px; border-radius: 16px; }
          #dash-card-fio { font-size: 15px !important; }
          #dash-card-avatar { width: 54px !important; height: 54px !important; border-radius: 14px !important; }
        }
        @media (max-width: 360px) {
          .dash-hero { padding: 14px 12px 14px; }
          #dash-card-fio { font-size: 14px !important; }
          #dash-card-avatar { width: 48px !important; height: 48px !important; }
        }
        /* ── Stats grid 2×2 ── */
        .dash-stats-grid {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          gap: 10px;
          margin-bottom: 14px;
        }
        @media (max-width: 360px) { .dash-stats-grid { gap: 8px; } }
        .dash-stat-tile {
          background: #fff;
          border: 1px solid #e8ecf4;
          border-radius: 18px;
          padding: 16px 14px 14px;
          cursor: pointer;
          transition: border-color .2s, box-shadow .2s, transform .15s;
          box-shadow: 0 2px 8px rgba(15,23,42,.06);
          display: flex;
          align-items: center;
          gap: 12px;
        }
        .dash-stat-tile:hover { box-shadow: 0 4px 16px rgba(15,23,42,.1); transform: translateY(-2px); }
        .dash-stat-tile:active { transform: scale(.97); }
        .dash-stat-icon {
          width: 42px; height: 42px;
          border-radius: 13px;
          display: flex; align-items: center; justify-content: center;
          flex-shrink: 0;
          font-size: 16px;
        }
        .dash-stat-tile .dsv { font: 800 24px/1 'Manrope', sans-serif; display: block; margin-bottom: 3px; }
        .dash-stat-tile .dsl { font-size: 11px; font-weight: 600; color: #94a3b8; display: block; }
        /* ── Feature cards ── */
        .dash-card {
          background: #fff;
          border: 1px solid #e8ecf4;
          border-radius: 16px;
          box-shadow: 0 1px 4px rgba(15,23,42,.06);
          overflow: hidden;
          margin-bottom: 12px;
        }
        .dash-card-head {
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding: 14px 16px 12px;
          border-bottom: 1px solid #f1f5f9;
        }
        .dash-card-head-left { display: flex; align-items: center; gap: 8px; }
        .dash-card-title { font: 700 15px/1 'Manrope', sans-serif; color: #1e293b; }
        .dash-section-label {
          font-size: 10px; font-weight: 700; color: #94a3b8;
          text-transform: uppercase; letter-spacing: .06em;
          display: flex; align-items: center; gap: 5px;
          margin-bottom: 10px;
        }
        /* ── Skeleton shimmer ── */
        @keyframes dash-shimmer {
          0% { background-position: -200% 0; }
          100% { background-position: 200% 0; }
        }
        .dash-info-val.loading {
          color: transparent; border-radius: 6px;
          background: linear-gradient(90deg, #e2e8f0 25%, #f1f5f9 50%, #e2e8f0 75%);
          background-size: 200% 100%;
          animation: dash-shimmer 1.4s ease infinite;
          min-width: 48px; display: inline-block;
        }
        /* ── Profile form grid ── */
        .profile-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
        @media (max-width: 600px) { .profile-form-grid { grid-template-columns: 1fr; } }
        #profileFormSection { display: block; }
        #dash-card-avatar:hover .dash-av-overlay { opacity: 1 !important; }
        /* ── Profile hero responsive ── */
        .prof-hero-overlay { display:flex; align-items:flex-end; gap:16px; flex-wrap:wrap; }
        .prof-hero-info { padding-bottom:10px; min-width:0; flex:1; }
        @media (max-width: 480px) {
          .prof-hero-overlay { flex-direction:row; align-items:center; gap:12px; flex-wrap:nowrap; }
          .prof-hero-info h1 { font-size:16px; }
          #avatarBtn { padding:6px 10px; font-size:11px; flex-shrink:0; }
          #sec-profile .pg-gradient-header { padding:20px 16px 24px; }
          #docBlockRF > div,
          #docBlockForeign > div:first-child { grid-template-columns: 1fr !important; }
          .doc-item { flex-wrap: wrap; gap: 8px; }
          .doc-item .btn-secondary { font-size:11px !important; padding:4px 8px !important; }
          .doc-item .badge { font-size:10px; }
        }
        /* ── Live pulse dot ── */
        .dash-live-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex-shrink: 0; }
        /* ── Беру заказы ── */
        .toc-inline-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:14px;border:1.5px solid var(--border,#e2e8f0);background:var(--card,#fff);box-shadow:0 1px 4px rgba(0,0,0,.05);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);overflow:hidden;}
        .toc-inline-bar.active{border-color:#6ee7b7;background:linear-gradient(135deg,#ecfdf5,#d1fae5);box-shadow:0 2px 12px rgba(16,185,129,.15);}
        .toc-inline-bar.active .toc-icon-wrap{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px rgba(16,185,129,.35);}
        .toc-inline-bar.active .toc-icon-wrap i{color:#fff;animation:dtb-bounce .4s ease;}
        .toc-inline-bar.active .toc-title{color:#065f46;}
        .toc-icon-wrap{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s;}
        .toc-icon-wrap i{font-size:15px;color:#94a3b8;transition:all .25s;}
        .toc-title{font-size:13.5px;font-weight:700;color:var(--text);font-family:'Manrope',sans-serif;line-height:1.2;transition:color .25s;}
        .toc-timer-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:8px;background:rgba(16,185,129,.12);color:#059669;font-size:11px;font-weight:700;border:1px solid rgba(16,185,129,.2);}
        .toc-switch{position:relative;width:44px;height:24px;flex-shrink:0;border-radius:999px;overflow:hidden;}
        .toc-switch-track{position:absolute;inset:0;background:#cbd5e1;border-radius:999px;transition:.25s;}
        .toc-switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.25s;}
        .toc-switch.on .toc-switch-track{background:#10b981;}
        .toc-switch.on .toc-switch-thumb{transform:translateX(20px);}
        @keyframes dtb-bounce{0%{transform:scale(1)}40%{transform:scale(1.25)}70%{transform:scale(.92)}100%{transform:scale(1)}}
        /* ── Quick actions ── */
        .dash-quick-grid {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          gap: 10px;
          margin-bottom: 14px;
        }
        .dash-quick-btn {
          display: flex;
          align-items: center;
          gap: 10px;
          padding: 13px 14px;
          border-radius: 16px;
          border: 1.5px solid #e8ecf4;
          background: #fff;
          cursor: pointer;
          transition: all .2s;
          box-shadow: 0 2px 8px rgba(15,23,42,.05);
          font-family: 'Manrope', sans-serif;
          text-align: left;
        }
        .dash-quick-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(15,23,42,.1); border-color: #c7d2fe; }
        .dash-quick-btn:active { transform: scale(.97); }
        .dash-quick-icon {
          width: 40px; height: 40px;
          border-radius: 12px;
          display: flex; align-items: center; justify-content: center;
          flex-shrink: 0; font-size: 16px;
        }
        .dash-quick-label { font-size: 12px; font-weight: 700; color: #1e293b; line-height: 1.35; }
        /* ── Money card ── */
        .dash-money-grid {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
        }
        .dash-money-cell { padding: 16px 10px 14px; text-align: center; }
        .dash-money-cell + .dash-money-cell { border-left: 1px solid #f1f5f9; }
        .dash-money-val {
          font: 800 17px/1 'Manrope', sans-serif;
          display: block; margin-bottom: 5px;
          overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
        }
        .dash-money-lbl { font-size: 10px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .04em; }
        @media (max-width: 340px) {
          .dash-money-grid { grid-template-columns: 1fr 1fr; }
          .dash-money-grid .dash-money-cell:last-child { display: none; }
        }
        /* ── Reputation strip ── */
        .dash-rep-strip {
          display: flex; align-items: center; gap: 12px;
          padding: 14px 16px;
        }
        .dash-rep-icon {
          width: 44px; height: 44px;
          border-radius: 13px;
          background: linear-gradient(135deg, #fef3c7, #fde68a);
          display: flex; align-items: center; justify-content: center;
          font-size: 20px; flex-shrink: 0;
          border: 1px solid rgba(251,191,36,.3);
        }
        /* ── Analytics grid ── */
        .dash-analytics-grid {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
        }
        .dash-analytics-cell { padding: 16px 8px 14px; text-align: center; }
        .dash-analytics-cell + .dash-analytics-cell { border-left: 1px solid #f1f5f9; }
        .dash-analytics-val { font: 800 20px/1 'Manrope', sans-serif; display: block; margin-bottom: 5px; }
        .dash-analytics-lbl { font-size: 10px; font-weight: 600; color: #94a3b8; line-height: 1.4; }
        /* ── Profile nav grid ── */
        .profile-nav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px;}
        @media(max-width:480px){.profile-nav-grid{grid-template-columns:repeat(2,1fr);}}
        .profile-nav-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 6px;border-radius:14px;border:1.5px solid var(--border);background:var(--card,#fff);cursor:pointer;font-family:inherit;transition:all .2s;position:relative;}
        .profile-nav-card:hover{border-color:#a5b4fc;background:#fafafe;transform:translateY(-1px);box-shadow:0 4px 12px rgba(99,102,241,.1);}
        .pnc-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);font-size:17px;color:#64748b;transition:all .2s;}
        .pnc-label{font-size:11px;font-weight:700;color:var(--muted);text-align:center;white-space:nowrap;}
        .profile-nav-card.active{border-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#ede9fe);box-shadow:0 4px 14px rgba(99,102,241,.18);}
        .profile-nav-card.active .pnc-icon{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 10px rgba(99,102,241,.35);}
        .profile-nav-card.active .pnc-label{color:#4f46e5;}
        /* Pull-to-refresh */
        #ptr-indicator{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:13px;font-weight:700;padding:10px;transform:translateY(-100%);transition:transform .25s ease;pointer-events:none;box-shadow:0 2px 12px rgba(99,102,241,.4);}
        #ptr-indicator.ptr-pulling{transform:translateY(0);}
        #ptr-indicator i{font-size:15px;}
        #ptr-indicator.ptr-loading i{animation:fa-spin 1s linear infinite;}
        /* ── Info mini-cells (hidden on dash, used in profile) ── */
        .dash-info-row { display:flex; gap:8px; margin-bottom:8px; }
        .dash-info-row:last-child { margin-bottom:0; }
        .dash-info-cell { flex:1; display:flex; align-items:center; gap:9px; padding:10px 11px; border-radius:12px; background:#f8fafc; border:1px solid #f1f5f9; min-width:0; cursor:pointer; transition:background .15s,box-shadow .15s,transform .12s; }
        .dash-info-cell:hover { background:#f1f5f9 !important; }
        .dash-info-icon { width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px; }
        .dash-info-lbl { font-size:10px;font-weight:600;color:#64748b;line-height:1.2; }
        .dash-info-val { font-size:13px;font-weight:700;color:#1e293b;line-height:1.3;word-break:break-word; }

        /* Hero: предотвращаем наезд ФИО на аватар при длинных именах / узкой колонке */
        .dash-hero-inner { min-width: 0; }
        .dash-hero-row {
          display: flex;
          align-items: center;
          gap: 16px;
          flex-wrap: nowrap;
          min-width: 0;
        }
        .dash-hero-row > div:last-child {
          flex: 1;
          min-width: 0;
        }
        #dash-card-fio {
          word-wrap: break-word;
          overflow-wrap: anywhere;
        }
        @media (max-width: 520px) {
          .dash-hero-row { flex-wrap: wrap; align-items: flex-start; }
        }

        /* Широкий main: не растягивать карточки на всю ширину 2K+ */
        @media (min-width: 960px) {
          body.cabinet-role-master #sec-dashboard {
            max-width: 1040px;
            margin-left: auto;
            margin-right: auto;
            width: 100%;
          }
          body.cabinet-role-master .dash-stats-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 12px;
          }
          body.cabinet-role-master .dash-stat-tile {
            flex-direction: column;
            align-items: flex-start;
            padding: 14px 12px 12px;
            min-height: 118px;
            box-sizing: border-box;
          }
          body.cabinet-role-master .dash-stat-tile > div:last-child {
            width: 100%;
            min-width: 0;
          }
          body.cabinet-role-master .dash-quick-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 12px;
          }
        }