:root {
    --v3-primary: #2563eb;
    --v3-primary-dark: #1d4ed8;
    --v3-primary-soft: #eff6ff;
    --v3-navy: #111827;
    --v3-navy-2: #0b1220;
    --v3-text: #111827;
    --v3-muted: #64748b;
    --v3-border: #e2e8f0;
    --v3-canvas: #f6f8fc;
    --v3-surface: #ffffff;
    --v3-success: #059669;
    --v3-danger: #dc2626;
    --v3-warning: #d97706;
    --v3-sidebar: 244px;
    --v3-radius: 16px;
    --v3-shadow: 0 1px 2px rgba(15, 23, 42, .035), 0 4px 16px rgba(15, 23, 42, .035);
}

html { background: var(--v3-canvas); }
body.app-body { background: var(--v3-canvas); color: var(--v3-text); font-family: Inter, "Segoe UI", Arial, sans-serif; }
.app-body button, .app-body input, .app-body select, .app-body textarea { font: inherit; }

/* Shell */
.app-body .sidebar {
    width: var(--v3-sidebar); padding: 0; background: linear-gradient(180deg, var(--v3-navy) 0%, var(--v3-navy-2) 100%);
    border: 0; box-shadow: 12px 0 36px rgba(15, 23, 42, .08); overflow: hidden;
}
.sidebar-header { min-height: 70px; display: flex; align-items: center; justify-content: space-between; padding: 14px 17px; border-bottom: 1px solid rgba(255,255,255,.07); }
.app-body .brand { padding: 0; gap: 12px; font-size: 18px; }
.app-body .brand-mark { width: 38px; height: 38px; border-radius: 11px; background: linear-gradient(145deg,#60a5fa,#2563eb 68%); box-shadow: 0 8px 20px rgba(37,99,235,.3); }
.brand-copy { line-height: 1.05; }
.app-body .brand small { margin-top: 6px; color: #94a3b8; font-size: 9px; letter-spacing: 1.6px; }
.sidebar-close { display: none; width: 34px; height: 34px; border: 0; border-radius: 9px; color: #cbd5e1; background: rgba(255,255,255,.06); font-size: 22px; cursor: pointer; }
.app-body .sidebar-nav { flex: 1; display: block; margin: 0; padding: 11px 10px 20px; overflow: auto; overscroll-behavior: contain; scrollbar-color:#334155 transparent; scrollbar-width:thin; }
.app-body .sidebar-nav::-webkit-scrollbar{width:5px}.app-body .sidebar-nav::-webkit-scrollbar-track{background:transparent}.app-body .sidebar-nav::-webkit-scrollbar-thumb{background:#334155;border-radius:9px}
.app-body .nav-caption { display: block; margin: 17px 11px 6px; color: #64748b; font-size: 8px; font-weight: 800; letter-spacing: 1.45px; text-transform: uppercase; }
.app-body .nav-caption:first-child { margin-top: 4px; }
.app-body .nav-link { min-height: 39px; margin: 1px 0; padding: 9px 10px; gap: 10px; border-radius: 8px; color: #a7b3c6; font-size: 12.5px; font-weight: 600; white-space:nowrap; overflow:hidden; }
.app-body .nav-link>span:last-child { width:auto !important; min-width:0; flex:1 1 auto; overflow:hidden; color:inherit; font-size:12.5px !important; text-align:left !important; text-overflow:ellipsis; white-space:nowrap; }
.app-body .nav-link .nav-icon { display: grid; place-items: center; width: 20px !important; height: 20px; flex: 0 0 20px; color: #7f8da3; font-size: 12px !important; text-align:center !important; }
.app-body .nav-link:hover { color: #f8fafc; background: rgba(255,255,255,.055); transform: none; }
.app-body .nav-link.active { color: #fff; background: linear-gradient(90deg,rgba(99,102,241,.34),rgba(79,70,229,.16)); box-shadow: inset 3px 0 #818cf8; }
.app-body .nav-link.active .nav-icon { color: #c7d2fe; }
.app-body .sidebar-user { margin: 0; padding: 16px 18px; gap: 10px; border-top: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.12); }
.app-body .sidebar-user .avatar { width: 39px; height: 39px; flex: 0 0 39px; border-radius: 11px; color: #fff; background: linear-gradient(145deg,#475569,#334155); }
.sidebar-user-copy { flex: 1; min-width: 0; }
.sidebar-user-copy strong, .sidebar-user-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user-copy strong { color: #f8fafc; font-size: 11.5px; }
.sidebar-user-copy small { margin-top: 4px; color: #94a3b8; font-size: 9.5px; }
.logout-button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 9px; color: #94a3b8; background: transparent; cursor: pointer; }
.logout-button:hover { color: #fff; background: rgba(255,255,255,.08); }

.app-body .main { min-height: 100vh; margin-left: var(--v3-sidebar); }
.app-body .topbar { position: sticky; top: 0; z-index: 8; height: 68px; padding: 0 30px; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--v3-border); backdrop-filter: blur(16px); box-shadow: none; }
.topbar-title, .topbar-actions { display: flex; align-items: center; gap: 14px; }
.app-body .topbar h1 { margin: 2px 0 0; color: var(--v3-text); font-size: 16px; letter-spacing: -.25px; }
.app-body .topbar .eyebrow { color: #94a3b8; font-size: 8.5px; letter-spacing: 1.7px; }
.app-body .environment { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; color: #047857; background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: 999px; font-size: 10px; }
.environment i { width: 7px; height: 7px; border-radius: 50%; background: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,.12); }
.topbar-avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; color: #4338ca; background: #eef2ff; border: 1px solid #e0e7ff; font-size: 12px; font-weight: 800; }
.app-body .content { width: 100%; max-width: 1660px; margin: 0 auto; padding: 30px 24px 56px; }

/* Page composition */
.app-body .welcome, .app-body .page-actions { align-items: center; margin-bottom: 24px; gap: 18px; }
.app-body .welcome h2, .app-body .page-actions h2 { margin: 5px 0 6px; color: var(--v3-text); font-size: clamp(23px,2vw,29px); letter-spacing: -.75px; }
.app-body .welcome p, .app-body .page-actions p { color: var(--v3-muted); line-height: 1.55; }
.app-body .eyebrow { color: var(--v3-primary); }
.app-body .grid, .app-body .finance-grid, .app-body .report-grid, .app-body .progress-layout, .app-body .training-layout, .app-body .booking-detail-grid, .app-body .assignment-grid, .app-body .calendar-layout, .app-body .chat-index-grid { gap: 22px; }

/* Cards */
.app-body .card, .app-body .stats article { border: 1px solid var(--v3-border); border-radius: var(--v3-radius); background: var(--v3-surface); box-shadow: var(--v3-shadow); }
.app-body .card { overflow: hidden; }
.app-body .card:hover { border-color: #d7deea; }
.app-body .card-head { min-height: 72px; padding: 18px 22px; border-bottom: 1px solid #edf1f6; }
.app-body .card-head h3 { color: var(--v3-text); font-size: 14.5px; }
.app-body .card-head p { margin-top: 5px; color: var(--v3-muted); }
.app-body .stats { gap: 16px; margin-bottom: 22px; }
.app-body .stats article { min-height: 104px; padding: 20px; gap: 14px; }
.app-body .stats strong { color: var(--v3-text); font-size: 25px; }
.app-body .stat-icon { width: 45px; height: 45px; border-radius: 13px; }

/* Buttons and inputs */
.app-body .btn { min-height: 40px; padding: 10px 15px; border-radius: 10px; font-size: 11.5px; box-shadow: none; }
.app-body .btn.primary { background: var(--v3-primary); border-color: var(--v3-primary); box-shadow: 0 5px 14px rgba(79,70,229,.18); }
.app-body .btn.primary:hover { background: var(--v3-primary-dark); border-color: var(--v3-primary-dark); }
.app-body .btn.secondary { color: #334155; background: #fff; border-color: #cbd5e1; }
.app-body .btn.secondary:hover { background: #f8fafc; border-color: #94a3b8; }
.app-body .btn.small { min-height: 32px; padding: 7px 10px; border-radius: 8px; font-size: 10px; }
.app-body input:not([type=checkbox]):not([type=radio]), .app-body select, .app-body textarea, .app-body .form-select {
    min-height: 42px; border: 1px solid #cbd5e1; border-radius: 10px; color: #1e293b; background: #fff; box-shadow: 0 1px 2px rgba(15,23,42,.025);
}
.app-body input:focus, .app-body select:focus, .app-body textarea:focus { border-color: #818cf8 !important; outline: 0; box-shadow: 0 0 0 3px rgba(99,102,241,.12) !important; }
.app-body .form-card { padding: 28px; }
.app-body .form-card label, .app-body .mini-form label, .app-body .login-card label { color: #334155; font-size: 11px; }
.app-body .form-actions { border-color: #edf1f6; }
.app-body .management-toolbar { padding: 14px 16px; border-radius: 14px; }

/* Tables */
.app-body .table-wrap { width: 100%; overflow: auto; }
.app-body table { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.app-body th { height: 44px; padding: 11px 17px; color: #64748b; background: #f8fafc; border-color: #e9eef5; font-size: 8.5px; letter-spacing: .8px; text-transform: uppercase; }
.app-body td { height: 58px; padding: 12px 17px; color: #334155; border-color: #edf1f6; }
.app-body tbody tr:hover { background: #f8faff; }
.app-body .company b { background: var(--v3-primary-soft); color: var(--v3-primary); }
.app-body .status { padding: 5px 9px; font-weight: 750; }
.app-body .status.active { color: #047857; background: #ecfdf5; border-color: #a7f3d0; }
.app-body .pagination { border-color: #edf1f6; }

/* Feedback and feature surfaces */
.app-body .alert { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; padding: 13px 15px; border-radius: 12px; }
.app-body .alert > span { display: grid; place-items: center; width: 23px; height: 23px; flex: 0 0 23px; border-radius: 50%; font-weight: 800; }
.app-body .alert.success { color: #047857; background: #ecfdf5; border-color: #a7f3d0; }
.app-body .alert.error { color: #b91c1c; background: #fef2f2; border-color: #fecaca; }
.app-body .message-list { background: #f7f8fc; }
.app-body .message.mine { background: linear-gradient(145deg,#6366f1,#4f46e5); border-color: #4f46e5; }
.app-body .notification-list article.unread { background: #f5f7ff; border-left-color: var(--v3-primary); }
.app-body .invoice-sheet { border-radius: 18px; box-shadow: var(--v3-shadow); }

.app-body .menu-button { display: none; padding: 0; }
.menu-button span { display: block; width: 17px; height: 2px; margin: 2px 0; border-radius: 2px; background: #475569; }
.app-body .sidebar-scrim { display: none; }

@media (max-width: 1280px) {
    :root { --v3-sidebar: 230px; }
    .app-body .content, .app-body .topbar { padding-left: 20px; padding-right: 20px; }
    .app-body .stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1024px) {
    .app-body .sidebar { width: 280px; transform: translateX(-100%); transition: transform .22s ease; }
    .app-body.menu-open { overflow: hidden; }
    .app-body.menu-open .sidebar { transform: translateX(0); }
    .app-body .main { margin-left: 0; }
    .app-body .menu-button { display: grid; place-content: center; width: 40px; height: 40px; border: 1px solid var(--v3-border); border-radius: 11px; background: #fff; }
    .sidebar-close { display: grid; place-items: center; }
    .app-body .sidebar-scrim { display: block; position: fixed; inset: 0; z-index: 9; opacity: 0; pointer-events: none; background: rgba(15,23,42,.52); backdrop-filter: blur(2px); transition: opacity .2s; }
    .app-body.menu-open .sidebar-scrim { opacity: 1; pointer-events: auto; }
}

@media (max-width: 700px) {
    .app-body .topbar { height: 70px; padding: 0 15px; }
    .app-body .content { padding: 20px 13px 42px; }
    .app-body .topbar h1 { max-width: 195px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 17px; }
    .topbar-avatar, .app-body .environment { display: none; }
    .app-body .welcome, .app-body .page-actions { align-items: stretch; flex-direction: column; }
    .app-body .stats { grid-template-columns: 1fr; }
    .app-body .card, .app-body .stats article { border-radius: 13px; }
    .app-body .card-head { padding: 16px; }
    .app-body .form-card { padding: 20px 16px; }
    .app-body .management-toolbar form { align-items: stretch; flex-direction: column; }
    .app-body .management-toolbar select, .app-body .search-box { width: 100%; max-width: none; }
    .app-body .row-actions { width: 100%; flex-wrap: wrap; }
    .app-body th, .app-body td { padding: 11px 13px; }
}

@media print {
    .app-body .sidebar, .app-body .topbar, .app-body .sidebar-scrim { display: none !important; }
    .app-body .main { margin: 0; }
    .app-body .content { max-width: none; padding: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .app-body *, .app-body *::before, .app-body *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Calendar directory */
.calendar-page-heading { align-items:flex-end; }
.calendar-page-heading>div:first-child p { max-width:680px; }
.calendar-count { display:flex; align-items:center; gap:10px; min-width:132px; padding:12px 15px; background:#fff; border:1px solid var(--v3-border); border-radius:12px; box-shadow:var(--v3-shadow); }
.calendar-count strong { color:#2563eb; font-size:25px; line-height:1; }.calendar-count span { color:#64748b; font-size:9px; line-height:1.35; text-transform:uppercase; letter-spacing:.6px; }
.calendar-directory { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:16px; box-shadow:var(--v3-shadow); }
.calendar-directory>header { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 22px; border-bottom:1px solid #edf1f6; }
.calendar-directory>header h3 { margin:0; font-size:15px; }.calendar-directory>header p { margin:6px 0 0; color:#64748b; font-size:11px; }
.calendar-legend { display:flex; align-items:center; gap:7px; color:#64748b; font-size:10px; }.calendar-legend i,.coach-active i { width:7px; height:7px; border-radius:50%; background:#10b981; box-shadow:0 0 0 3px #d1fae5; }
.coach-calendar-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,320px)); gap:15px; padding:22px; }
.coach-calendar-card { min-height:190px; display:flex; flex-direction:column; padding:18px; color:#0f172a; background:linear-gradient(145deg,#fff,#fbfdff); border:1px solid #dfe6ef; border-radius:14px; box-shadow:0 2px 8px rgba(15,23,42,.025); }
.coach-calendar-card:hover { color:#0f172a; border-color:#93c5fd; transform:translateY(-2px); box-shadow:0 12px 26px rgba(37,99,235,.09); }
.coach-card-top { display:flex; align-items:flex-start; justify-content:space-between; }
.coach-avatar { display:grid; place-items:center; width:46px; height:46px; color:#1d4ed8; background:linear-gradient(145deg,#eff6ff,#dbeafe); border:1px solid #dbeafe; border-radius:13px; font-size:12px; font-weight:800; }
.coach-active { display:flex; align-items:center; gap:6px; padding:5px 8px; color:#047857; background:#ecfdf5; border-radius:999px; font-size:8px; font-weight:750; }
.coach-active i { width:5px; height:5px; box-shadow:none; }
.coach-card-copy { flex:1; padding:17px 0 14px; }.coach-card-copy h3 { margin:0; font-size:14px; }.coach-card-copy p { max-width:210px; margin:7px 0 0; color:#8492a6; font-size:10px; line-height:1.5; }
.coach-card-action { display:flex; align-items:center; justify-content:space-between; padding-top:13px; color:#2563eb; border-top:1px solid #edf1f6; font-size:10px; font-weight:750; }.coach-card-action b { display:grid; place-items:center; width:27px; height:27px; background:#eff6ff; border-radius:8px; }
.calendar-empty { min-height:280px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px; text-align:center; }.calendar-empty>span { display:grid; place-items:center; width:48px; height:48px; color:#2563eb; background:#eff6ff; border-radius:14px; }.calendar-empty h3 { margin:14px 0 0; font-size:14px; }.calendar-empty p { margin:7px 0 0; color:#8492a6; font-size:10px; }
@media(max-width:700px){.calendar-page-heading{align-items:stretch}.calendar-count{align-self:flex-start}.calendar-directory>header{align-items:flex-start;flex-direction:column}.coach-calendar-cards{grid-template-columns:1fr;padding:15px}.coach-calendar-card{min-height:170px}}

/* Booking list */
.booking-page-heading p { max-width:680px; }.booking-page-heading .btn span { font-size:15px; }
.booking-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.booking-overview article { display:flex; align-items:center; gap:13px; min-height:82px; padding:16px 18px; background:#fff; border:1px solid var(--v3-border); border-radius:13px; box-shadow:var(--v3-shadow); }
.booking-overview-icon { display:grid; place-items:center; width:39px; height:39px; flex:0 0 39px; border-radius:11px; font-size:13px; font-weight:800; }.booking-overview-icon.all{color:#2563eb;background:#eff6ff}.booking-overview-icon.pending{color:#d97706;background:#fffbeb}.booking-overview-icon.confirmed{color:#7c3aed;background:#f5f3ff}.booking-overview-icon.completed{color:#059669;background:#ecfdf5}
.booking-overview small,.booking-overview strong { display:block; }.booking-overview small { color:#8492a6; font-size:8px; font-weight:800; letter-spacing:.7px; }.booking-overview strong { margin-top:5px; color:#0f172a; font-size:22px; line-height:1; }
.booking-filter-panel { margin-bottom:18px; padding:16px 18px; background:#fff; border:1px solid var(--v3-border); border-radius:14px; box-shadow:var(--v3-shadow); }
.booking-filter-panel form { display:grid; grid-template-columns:170px 170px minmax(190px,260px) auto; align-items:end; gap:11px; }
.booking-filter-field label { display:block; margin:0 0 6px; color:#64748b; font-size:9px; font-weight:750; }.booking-filter-field input,.booking-filter-field select { width:100%; padding:8px 11px; }.booking-filter-actions { display:flex; gap:7px; }
.booking-list-card { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:16px; box-shadow:var(--v3-shadow); }
.booking-list-card>header { min-height:75px; display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid #edf1f6; }.booking-list-card>header h3 { margin:0; font-size:15px; }.booking-list-card>header p { margin:6px 0 0; color:#8492a6; font-size:10px; }.booking-list-card>header>span { padding:6px 9px; color:#475569; background:#f1f5f9; border-radius:999px; font-size:9px; font-weight:700; }
.booking-table th { height:43px; }.booking-table td { height:72px; }.booking-table .action-column { width:110px; text-align:right; }
.booking-date { display:flex; align-items:center; gap:11px; min-width:175px; }.booking-date>span { display:grid; place-items:center; width:43px; height:43px; flex:0 0 43px; color:#1d4ed8; background:#eff6ff; border-radius:10px; }.booking-date>span b { font-size:14px; line-height:1; }.booking-date>span small { margin-top:-3px; font-size:7px; font-weight:800; }.booking-date>div strong,.booking-date>div small { display:block; }.booking-date>div strong { font-size:11px; text-transform:capitalize; }.booking-date>div small { margin-top:5px; color:#64748b; font-size:9px; }
.booking-person { display:flex; align-items:center; gap:10px; min-width:175px; }.booking-person>b { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; color:#2563eb; background:#eff6ff; border-radius:10px; font-size:10px; }.booking-person.coach>b { color:#7c3aed; background:#f5f3ff; }.booking-person span strong,.booking-person span small { display:block; }.booking-person span strong { color:#1e293b; font-size:10.5px; }.booking-person span small { margin-top:4px; color:#94a3b8; font-size:8px; }
.booking-table .status { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }.booking-table .status i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.booking-detail-button { display:inline-flex; align-items:center; gap:8px; padding:7px 9px; color:#334155; background:#fff; border:1px solid #dbe3ed; border-radius:8px; font-size:9px; font-weight:750; }.booking-detail-button span { color:#2563eb; }.booking-detail-button:hover { color:#1d4ed8; border-color:#93c5fd; background:#f8fbff; }
.booking-empty { min-height:240px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.booking-empty>span { display:grid; place-items:center; width:46px; height:46px; color:#2563eb; background:#eff6ff; border-radius:13px; }.booking-empty strong { margin-top:13px; font-size:13px; }.booking-empty p { margin:6px 0 0; color:#8492a6; font-size:10px; }
@media(max-width:900px){.booking-overview{grid-template-columns:repeat(2,1fr)}.booking-filter-panel form{grid-template-columns:repeat(2,1fr)}.booking-filter-actions{grid-column:1/3}.booking-table{min-width:850px}}
@media(max-width:600px){.booking-overview{grid-template-columns:1fr}.booking-filter-panel form{grid-template-columns:1fr}.booking-filter-actions{grid-column:auto}.booking-filter-actions .btn{flex:1}}

/* Recurring plans */
.recurring-heading p { max-width:700px; }.recurring-heading .btn span { font-size:16px; }
.recurring-summary { display:grid; grid-template-columns:repeat(3,minmax(0,220px)); gap:12px; margin-bottom:18px; }
.recurring-summary article { display:flex; align-items:center; gap:12px; min-height:72px; padding:14px 16px; background:#fff; border:1px solid var(--v3-border); border-radius:12px; box-shadow:var(--v3-shadow); }.recurring-summary article>span { display:grid; place-items:center; width:36px; height:36px; color:#2563eb; background:#eff6ff; border-radius:10px; font-size:11px; font-weight:800; }.recurring-summary article>span.active { color:#059669; background:#ecfdf5; }.recurring-summary article>span.attention { color:#d97706; background:#fffbeb; }.recurring-summary small,.recurring-summary strong { display:block; }.recurring-summary small { color:#8492a6; font-size:8px; font-weight:800; letter-spacing:.7px; }.recurring-summary strong { margin-top:5px; font-size:20px; line-height:1; }
.recurring-filter { margin-bottom:20px; padding:15px 17px; background:#fff; border:1px solid var(--v3-border); border-radius:13px; box-shadow:var(--v3-shadow); }.recurring-filter form { display:grid; grid-template-columns:minmax(170px,240px) minmax(170px,240px) minmax(160px,220px) auto; align-items:end; gap:10px; }.recurring-filter label { display:block; margin-bottom:6px; color:#64748b; font-size:9px; font-weight:750; }.recurring-filter select { width:100%; padding:8px 10px; }.recurring-filter-actions { display:flex; gap:7px; }
.recurring-plan-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(500px,1fr)); gap:16px; }
.recurring-plan-card { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.recurring-plan-card.needs-attention { border-color:#fcd34d; }
.recurring-plan-card>header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 19px; border-bottom:1px solid #edf1f6; }.recurring-member { display:flex; align-items:center; gap:11px; }.recurring-member>span { display:grid; place-items:center; width:39px; height:39px; color:#1d4ed8; background:#eff6ff; border-radius:11px; font-size:11px; font-weight:800; }.recurring-member h3 { margin:0; font-size:13px; }.recurring-member p { margin:5px 0 0; color:#64748b; font-size:9px; }.recurring-member p b { color:#475569; }
.recurring-status { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:999px; font-size:8px; font-weight:800; white-space:nowrap; }.recurring-status i { width:5px; height:5px; border-radius:50%; background:currentColor; }.recurring-status.status-active { color:#047857; background:#ecfdf5; }.recurring-status.status-waitingforpackage { color:#b45309; background:#fffbeb; }.recurring-status.status-paused { color:#475569; background:#f1f5f9; }.recurring-status.status-completed { color:#2563eb; background:#eff6ff; }.recurring-status.status-cancelled { color:#b91c1c; background:#fef2f2; }
.recurring-plan-body { padding:18px 19px; }.recurring-schedule>small { color:#8492a6; font-size:8px; font-weight:800; letter-spacing:.7px; }.recurring-schedule>div { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }.recurring-schedule>div>span { display:flex; align-items:center; gap:7px; padding:7px 9px; color:#475569; background:#f8fafc; border:1px solid #e8edf4; border-radius:8px; font-size:9px; }.recurring-schedule>div>span b { color:#1e40af; }
.recurring-meta { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:17px 0 0; padding:14px 0 0; border-top:1px solid #edf1f6; }.recurring-meta div { min-width:0; }.recurring-meta dt { color:#94a3b8; font-size:8px; }.recurring-meta dd { overflow:hidden; margin:5px 0 0; color:#334155; font-size:9px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.recurring-warning { display:flex; align-items:flex-start; gap:10px; margin-top:15px; padding:11px 12px; color:#92400e; background:#fffbeb; border:1px solid #fde68a; border-radius:10px; }.recurring-warning>span { display:grid; place-items:center; width:22px; height:22px; flex:0 0 22px; color:#fff; background:#f59e0b; border-radius:50%; font-size:10px; font-weight:800; }.recurring-warning strong { display:block; font-size:9px; }.recurring-warning p { margin:4px 0 0; font-size:9px; line-height:1.45; }
.recurring-plan-card>footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 19px; background:#fafbfc; border-top:1px solid #edf1f6; }.recurring-actions { display:flex; align-items:center; gap:6px; }.recurring-actions form { margin:0; }
.recurring-empty { min-height:330px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:35px; text-align:center; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.recurring-empty>span { display:grid; place-items:center; width:50px; height:50px; color:#2563eb; background:#eff6ff; border-radius:14px; font-size:18px; }.recurring-empty h3 { margin:15px 0 0; font-size:15px; }.recurring-empty p { margin:7px 0 16px; color:#8492a6; font-size:10px; }
@media(max-width:900px){.recurring-summary{grid-template-columns:repeat(3,1fr)}.recurring-filter form{grid-template-columns:repeat(2,1fr)}.recurring-filter-actions{grid-column:1/3}.recurring-plan-grid{grid-template-columns:1fr}}
@media(max-width:600px){.recurring-summary{grid-template-columns:1fr}.recurring-filter form{grid-template-columns:1fr}.recurring-filter-actions{grid-column:auto}.recurring-plan-card>header,.recurring-plan-card>footer{align-items:flex-start;flex-direction:column}.recurring-meta{grid-template-columns:repeat(2,1fr)}.recurring-actions{width:100%;flex-wrap:wrap}}

/* Recurring occurrences */
.occurrence-heading>div { display:flex; flex-direction:column; align-items:flex-start; }.occurrence-heading .back-link { margin-bottom:13px; }.occurrence-heading h2 { margin-top:6px; }.occurrence-heading p { max-width:720px; }.occurrence-heading .btn span { font-size:15px; }
.occurrence-plan-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:15px; padding:18px 20px; color:#fff; background:linear-gradient(125deg,#0f172a,#1e3a8a); border-radius:15px; box-shadow:0 12px 30px rgba(15,23,42,.12); }.occurrence-plan-main { display:flex; align-items:center; gap:13px; }.occurrence-plan-main>span { display:grid; place-items:center; width:42px; height:42px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.13); border-radius:12px; font-size:17px; }.occurrence-plan-main small { color:#93c5fd; font-size:7px; font-weight:800; letter-spacing:1px; }.occurrence-plan-main h3 { margin:4px 0 0; color:#fff; font-size:14px; }.occurrence-plan-main p { margin:5px 0 0; color:#cbd5e1; font-size:9px; }.occurrence-schedule { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }.occurrence-schedule span { display:flex; gap:6px; padding:7px 9px; color:#dbeafe; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:8px; font-size:8px; }.occurrence-schedule b { color:#fff; }
.occurrence-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }.occurrence-stats article { display:flex; align-items:center; gap:11px; padding:13px 15px; background:#fff; border:1px solid var(--v3-border); border-radius:12px; box-shadow:var(--v3-shadow); }.occurrence-stats article>span { display:grid; place-items:center; width:34px; height:34px; color:#2563eb; background:#eff6ff; border-radius:9px; font-size:10px; font-weight:800; }.occurrence-stats article>span.created { color:#059669; background:#ecfdf5; }.occurrence-stats article>span.waiting { color:#d97706; background:#fffbeb; }.occurrence-stats article>span.skipped { color:#64748b; background:#f1f5f9; }.occurrence-stats small,.occurrence-stats strong { display:block; }.occurrence-stats small { color:#8492a6; font-size:7.5px; font-weight:800; letter-spacing:.65px; }.occurrence-stats strong { margin-top:4px; font-size:19px; }
.occurrence-list-card { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.occurrence-list-card>header { display:flex; align-items:center; justify-content:space-between; padding:17px 20px; border-bottom:1px solid #edf1f6; }.occurrence-list-card>header h3 { margin:0; font-size:14px; }.occurrence-list-card>header p { margin:5px 0 0; color:#8492a6; font-size:9px; }.occurrence-list-card>header>span { padding:5px 8px; color:#475569; background:#f1f5f9; border-radius:999px; font-size:8px; font-weight:750; }
.occurrence-timeline { padding:5px 20px; }.occurrence-row { position:relative; display:grid; grid-template-columns:220px 180px 190px minmax(220px,1fr); align-items:center; gap:14px; min-height:76px; padding:12px 4px 12px 19px; border-bottom:1px solid #edf1f6; }.occurrence-row:last-child { border-bottom:0; }.occurrence-row:before { content:""; position:absolute; left:0; width:7px; height:7px; border-radius:50%; background:#10b981; box-shadow:0 0 0 4px #d1fae5; }.occurrence-row.occurrence-waitingforpackage:before { background:#f59e0b; box-shadow:0 0 0 4px #fef3c7; }.occurrence-row.occurrence-skipped:before { background:#94a3b8; box-shadow:0 0 0 4px #e2e8f0; }
.occurrence-date { display:flex; align-items:center; gap:10px; }.occurrence-date>span { display:grid; place-items:center; width:41px; height:41px; color:#1d4ed8; background:#eff6ff; border-radius:10px; }.occurrence-date>span b { font-size:13px; line-height:1; }.occurrence-date>span small { margin-top:-3px; font-size:7px; font-weight:800; }.occurrence-date>div strong,.occurrence-date>div small { display:block; }.occurrence-date>div strong { font-size:10px; text-transform:capitalize; }.occurrence-date>div small { margin-top:4px; color:#94a3b8; font-size:8px; }.occurrence-time small,.occurrence-time strong { display:block; }.occurrence-time small { color:#94a3b8; font-size:7px; font-weight:800; letter-spacing:.6px; }.occurrence-time strong { margin-top:5px; font-size:10px; }
.occurrence-status { display:inline-flex; align-items:center; gap:6px; padding:6px 8px; color:#047857; background:#ecfdf5; border-radius:999px; font-size:8px; font-weight:800; white-space:nowrap; }.occurrence-status i { width:5px; height:5px; border-radius:50%; background:currentColor; }.occurrence-waitingforpackage .occurrence-status { color:#b45309; background:#fffbeb; }.occurrence-skipped .occurrence-status { color:#475569; background:#f1f5f9; }
.occurrence-result>a { display:inline-flex; align-items:center; gap:9px; color:#2563eb; font-size:9px; font-weight:750; }.occurrence-result>a span { display:grid; place-items:center; width:25px; height:25px; background:#eff6ff; border-radius:7px; }.occurrence-error { padding:9px 11px; color:#92400e; background:#fffbeb; border:1px solid #fde68a; border-radius:9px; }.occurrence-error strong { font-size:8px; }.occurrence-error p { margin:4px 0 0; font-size:8px; line-height:1.4; }.occurrence-no-result { color:#94a3b8; font-size:8px; }.occurrence-empty { min-height:280px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.occurrence-empty>span { display:grid; place-items:center; width:48px; height:48px; color:#2563eb; background:#eff6ff; border-radius:14px; font-size:17px; }.occurrence-empty h3 { margin:14px 0 0; font-size:14px; }.occurrence-empty p { margin:6px 0 0; color:#8492a6; font-size:9px; }
@media(max-width:1100px){.occurrence-row{grid-template-columns:190px 140px 170px minmax(180px,1fr)}}
@media(max-width:850px){.occurrence-plan-summary{align-items:flex-start;flex-direction:column}.occurrence-schedule{justify-content:flex-start}.occurrence-stats{grid-template-columns:repeat(2,1fr)}.occurrence-timeline{padding:8px 15px}.occurrence-row{grid-template-columns:1fr 1fr;padding:15px 5px 15px 20px}.occurrence-result{grid-column:1/3}}
@media(max-width:560px){.occurrence-stats{grid-template-columns:1fr}.occurrence-row{grid-template-columns:1fr}.occurrence-result{grid-column:auto}}

/* Calendar detail workspace */
.calendar-detail-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; }.calendar-detail-heading .back-link { margin-bottom:13px; }.calendar-coach-title { display:flex; align-items:center; gap:14px; }.calendar-coach-title>span { display:grid; place-items:center; width:52px; height:52px; color:#1d4ed8; background:linear-gradient(145deg,#eff6ff,#dbeafe); border:1px solid #dbeafe; border-radius:15px; font-size:13px; font-weight:850; }.calendar-coach-title small { color:#2563eb; font-size:8px; font-weight:850; letter-spacing:1.3px; }.calendar-coach-title h2 { margin:5px 0 4px; font-size:25px; letter-spacing:-.6px; }.calendar-coach-title p { margin:0; color:#64748b; font-size:11px; }.calendar-heading-stats { display:flex; overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:12px; box-shadow:var(--v3-shadow); }.calendar-heading-stats>span { min-width:90px; padding:11px 15px; border-left:1px solid #edf1f6; }.calendar-heading-stats>span:first-child { border-left:0; }.calendar-heading-stats small,.calendar-heading-stats strong { display:block; }.calendar-heading-stats small { color:#94a3b8; font-size:7px; font-weight:800; letter-spacing:.55px; }.calendar-heading-stats strong { margin-top:5px; font-size:17px; }
.calendar-workspace { display:grid; grid-template-columns:minmax(0,1fr) 350px; align-items:start; gap:18px; }.weekly-planner,.calendar-tool-card,.daily-calendar-panel,.calendar-records>section { background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.weekly-planner { overflow:hidden; }.weekly-planner>header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:18px 20px; border-bottom:1px solid #edf1f6; }.weekly-planner>header h3 { margin:0; font-size:15px; }.weekly-planner>header p { margin:6px 0 0; color:#64748b; font-size:10px; }.timezone-badge { padding:6px 9px; color:#1d4ed8; background:#eff6ff; border-radius:999px; font-size:8px; font-weight:750; }.planner-timezone { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 20px; background:#fafbfc; border-bottom:1px solid #edf1f6; }.planner-timezone label { color:#475569; font-size:9px; font-weight:750; }.planner-timezone select { width:190px; min-height:36px; padding:6px 9px; font-size:9px; }.planner-days { padding:5px 20px; }.planner-day { display:grid; grid-template-columns:150px minmax(0,1fr); align-items:center; gap:14px; min-height:92px; padding:12px 0; border-bottom:1px solid #edf1f6; }.planner-day:last-child { border-bottom:0; }.planner-day-name { display:flex; align-items:center; gap:10px; }.planner-day-name>span { display:grid; place-items:center; width:38px; height:38px; color:#64748b; background:#f1f5f9; border-radius:10px; font-size:9px; font-weight:850; }.planner-day.enabled .planner-day-name>span { color:#1d4ed8; background:#eff6ff; }.planner-day-name strong,.planner-day-name small { display:block; }.planner-day-name strong { font-size:10px; }.planner-day-name small { margin-top:4px; color:#94a3b8; font-size:8px; }.planner-ranges { display:grid; gap:7px; }.planner-range { display:grid; grid-template-columns:30px 48px 92px 12px 92px 80px; align-items:center; gap:7px; }.planner-range>small { color:#8492a6; font-size:8px; }.planner-range>i { color:#94a3b8; font-style:normal; text-align:center; }.planner-range input[type=time],.planner-range select { width:100%; min-height:34px; padding:5px 7px; border-radius:8px; font-size:9px; }.range-toggle input { position:absolute; opacity:0; pointer-events:none; }.range-toggle span { position:relative; display:block; width:29px; height:17px; background:#cbd5e1; border-radius:999px; cursor:pointer; }.range-toggle span:after { content:""; position:absolute; top:3px; left:3px; width:11px; height:11px; background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(15,23,42,.25); transition:.16s; }.range-toggle input:checked+span { background:#2563eb; }.range-toggle input:checked+span:after { transform:translateX(12px); }.weekly-planner form>footer { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:14px 20px; background:#fafbfc; border-top:1px solid #edf1f6; }.weekly-planner form>footer>span { color:#8492a6; font-size:8px; }
.calendar-tools { display:grid; gap:16px; }.calendar-tool-card { overflow:hidden; }.calendar-tool-card>header { display:flex; align-items:center; gap:11px; padding:16px 17px; border-bottom:1px solid #edf1f6; }.calendar-tool-card>header>span { display:grid; place-items:center; width:35px; height:35px; flex:0 0 35px; border-radius:10px; font-size:13px; font-weight:800; }.blocked-tool>header>span { color:#dc2626; background:#fef2f2; }.override-tool>header>span { color:#7c3aed; background:#f5f3ff; }.calendar-tool-card h3 { margin:0; font-size:12px; }.calendar-tool-card header p { margin:4px 0 0; color:#8492a6; font-size:8px; }.calendar-tool-card form { padding:15px 17px 17px; }.calendar-tool-card form>label,.override-time-grid label { display:block; margin:0 0 5px; color:#64748b; font-size:8px; font-weight:750; }.calendar-tool-card form>input,.calendar-tool-card form>select { width:100%; margin-bottom:11px; padding:7px 9px; font-size:9px; }.closed-toggle { display:flex !important; align-items:center; gap:8px; min-height:35px; margin:2px 0 10px !important; padding:8px 10px; color:#334155 !important; background:#f8fafc; border-radius:8px; }.closed-toggle input { accent-color:#2563eb; }.override-time-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.override-time-grid input { width:100%; margin-bottom:11px; padding:7px 8px; font-size:9px; }
.daily-calendar-panel { margin-top:18px; overflow:hidden; }.daily-calendar-panel>header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:17px 20px; border-bottom:1px solid #edf1f6; }.daily-calendar-panel>header h3 { margin:0; font-size:14px; }.daily-calendar-panel>header p { margin:5px 0 0; color:#8492a6; font-size:9px; }.daily-calendar-panel>header form { display:flex; gap:7px; }.daily-calendar-panel>header input,.daily-calendar-panel>header select { min-height:34px; padding:5px 8px; font-size:9px; }.slot-legend { display:flex; flex-wrap:wrap; gap:15px; padding:11px 20px; background:#fafbfc; border-bottom:1px solid #edf1f6; }.slot-legend span { display:flex; align-items:center; gap:6px; color:#64748b; font-size:8px; }.slot-legend i { width:7px; height:7px; border-radius:50%; }.slot-legend .available i{background:#10b981}.slot-legend .booked i{background:#3b82f6}.slot-legend .blocked i{background:#ef4444}.slot-legend .unavailable i{background:#94a3b8}.daily-slot-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(105px,1fr)); gap:9px; padding:17px 20px 20px; }.daily-slot { min-height:72px; display:flex; flex-direction:column; justify-content:center; padding:11px 12px; border:1px solid #e2e8f0; border-radius:10px; }.daily-slot strong { font-size:13px; }.daily-slot span { margin-top:5px; font-size:8px; font-weight:750; }.daily-slot small { margin-top:4px; font-size:7px; }.daily-slot.slot-available{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.daily-slot.slot-booked{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.daily-slot.slot-blocked{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.daily-slot.slot-unavailable{color:#64748b;background:#f8fafc}.daily-empty { grid-column:1/-1; min-height:110px; display:grid; place-items:center; color:#8492a6; font-size:9px; }
.calendar-records { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:18px; }.calendar-records>section { overflow:hidden; }.calendar-records>section>header { display:flex; align-items:center; justify-content:space-between; padding:15px 18px; border-bottom:1px solid #edf1f6; }.calendar-records h3 { margin:0; font-size:13px; }.calendar-records header p { margin:4px 0 0; color:#8492a6; font-size:8px; }.calendar-records header>span { padding:5px 8px; color:#475569; background:#f1f5f9; border-radius:999px; font-size:8px; }.calendar-record-list { padding:4px 17px; }.calendar-record-list article { display:grid; grid-template-columns:46px 1fr auto; align-items:center; gap:10px; min-height:64px; padding:9px 0; border-bottom:1px solid #edf1f6; }.calendar-record-list article:last-child { border-bottom:0; }.record-date { display:grid; place-items:center; width:42px; height:38px; color:#1d4ed8; background:#eff6ff; border-radius:9px; font-size:8px; font-weight:800; }.calendar-record-list strong,.calendar-record-list small { display:block; }.calendar-record-list strong { font-size:9px; }.calendar-record-list small { margin-top:5px; color:#8492a6; font-size:8px; }.record-empty { min-height:110px; display:grid; place-items:center; color:#8492a6; font-size:9px; }
@media(max-width:1150px){.calendar-workspace{grid-template-columns:1fr}.calendar-tools{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.calendar-detail-heading{align-items:flex-start;flex-direction:column}.calendar-heading-stats{width:100%}.calendar-heading-stats>span{flex:1}.planner-day{grid-template-columns:1fr}.calendar-records{grid-template-columns:1fr}}
@media(max-width:650px){.calendar-tools{grid-template-columns:1fr}.planner-range{grid-template-columns:30px 1fr 1fr}.planner-range>small{grid-column:2/4}.planner-range>i{display:none}.planner-range select{grid-column:2/4}.weekly-planner form>footer,.daily-calendar-panel>header{align-items:stretch;flex-direction:column}.daily-calendar-panel>header form{flex-wrap:wrap}.daily-calendar-panel>header form>*{flex:1}.calendar-heading-stats{flex-wrap:wrap}.calendar-heading-stats>span{min-width:85px}.calendar-coach-title{align-items:flex-start}}

/* Nutrition management */
.nutrition-heading p { max-width:720px; }.nutrition-heading .btn span { font-size:16px; }.nutrition-member-selector { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:18px; padding:18px 20px; color:#fff; background:linear-gradient(125deg,#0f172a,#164e63); border-radius:15px; box-shadow:0 12px 30px rgba(15,23,42,.1); }.nutrition-selector-copy { display:flex; align-items:center; gap:12px; }.nutrition-selector-copy>span { display:grid; place-items:center; width:40px; height:40px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.13); border-radius:11px; font-size:16px; }.nutrition-selector-copy h3 { margin:0; color:#fff; font-size:13px; }.nutrition-selector-copy p { margin:5px 0 0; color:#bae6fd; font-size:9px; }.nutrition-member-selector form { display:flex; gap:8px; }.nutrition-member-selector select { width:330px; min-height:39px; padding:7px 10px; color:#1e293b; background:#fff; font-size:10px; }.nutrition-member-selector .btn { background:#0ea5e9; border-color:#0ea5e9; }
.nutrition-welcome-empty { min-height:360px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px; text-align:center; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.nutrition-welcome-empty.selected { min-height:300px; }.nutrition-empty-art { position:relative; width:76px; height:76px; display:grid; place-items:center; margin-bottom:6px; color:#0891b2; background:#ecfeff; border-radius:22px; }.nutrition-empty-art>span { font-size:25px; }.nutrition-empty-art i { position:absolute; width:7px; height:7px; background:#67e8f9; border-radius:50%; }.nutrition-empty-art i:nth-child(2){right:-13px;top:9px}.nutrition-empty-art i:nth-child(3){left:-10px;bottom:14px}.nutrition-empty-art i:nth-child(4){right:-5px;bottom:-7px}.nutrition-welcome-empty h3 { margin:15px 0 0; font-size:16px; }.nutrition-welcome-empty p { max-width:430px; margin:7px 0 17px; color:#8492a6; font-size:10px; line-height:1.6; }
.nutrition-member-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; padding:16px 18px; background:#fff; border:1px solid var(--v3-border); border-radius:14px; box-shadow:var(--v3-shadow); }.nutrition-member-profile { display:flex; align-items:center; gap:11px; }.nutrition-member-profile>span { display:grid; place-items:center; width:42px; height:42px; color:#0e7490; background:#ecfeff; border-radius:12px; font-size:12px; font-weight:850; }.nutrition-member-profile small { color:#0891b2; font-size:7px; font-weight:850; letter-spacing:.8px; }.nutrition-member-profile h3 { margin:4px 0 0; font-size:13px; }.nutrition-member-profile p { margin:4px 0 0; color:#8492a6; font-size:8px; }.nutrition-member-stats { display:flex; }.nutrition-member-stats>span { min-width:95px; padding:6px 15px; border-left:1px solid #edf1f6; }.nutrition-member-stats small,.nutrition-member-stats strong { display:block; }.nutrition-member-stats small { color:#94a3b8; font-size:7px; font-weight:800; }.nutrition-member-stats strong { margin-top:5px; font-size:18px; }
.nutrition-plan-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(540px,1fr)); gap:16px; }.nutrition-plan-card { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.nutrition-plan-card>header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 19px; border-bottom:1px solid #edf1f6; }.nutrition-plan-card>header>div { display:flex; align-items:center; gap:11px; }.nutrition-plan-icon { display:grid; place-items:center; width:38px; height:38px; color:#0e7490; background:#ecfeff; border-radius:11px; font-size:14px; }.nutrition-plan-card header h3 { margin:0; font-size:13px; }.nutrition-plan-card header p { margin:5px 0 0; color:#8492a6; font-size:8px; }.nutrition-plan-status { padding:6px 9px; border-radius:999px; font-size:8px; font-weight:800; }.nutrition-plan-status.active { color:#047857; background:#ecfdf5; }.nutrition-plan-status.passive { color:#64748b; background:#f1f5f9; }.nutrition-description { margin:0; padding:13px 19px 0; color:#64748b; font-size:9px; line-height:1.55; }.nutrition-goals { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:15px 19px; }.nutrition-goals>span { display:flex; align-items:center; gap:9px; padding:10px; background:#f8fafc; border:1px solid #edf1f6; border-radius:10px; }.nutrition-goals i { display:grid; place-items:center; width:30px; height:30px; color:#0e7490; background:#cffafe; border-radius:8px; font-size:7px; font-style:normal; font-weight:800; }.nutrition-goals small,.nutrition-goals strong { display:block; }.nutrition-goals small { color:#94a3b8; font-size:6.5px; font-weight:800; }.nutrition-goals strong { margin-top:4px; font-size:11px; }.nutrition-days { padding:0 19px 15px; }.nutrition-day-panel { margin-top:8px; border:1px solid #e5eaf1; border-radius:10px; overflow:hidden; }.nutrition-day-panel summary { display:flex; align-items:center; justify-content:space-between; padding:11px 12px; background:#fafbfc; cursor:pointer; list-style:none; }.nutrition-day-panel summary::-webkit-details-marker { display:none; }.nutrition-day-panel summary>span { display:flex; align-items:center; gap:8px; color:#475569; font-size:8px; }.nutrition-day-panel summary b { display:grid; place-items:center; width:24px; height:24px; color:#0e7490; background:#cffafe; border-radius:7px; font-size:8px; }.nutrition-day-panel summary strong { color:#1e293b; font-size:10px; }.nutrition-day-panel summary i { font-style:normal; }.nutrition-day-panel[open] summary i { transform:rotate(180deg); }.nutrition-day-panel>div { padding:4px 12px; }.meal-row { display:grid; grid-template-columns:48px minmax(0,1fr) 70px; align-items:center; gap:10px; min-height:55px; border-bottom:1px solid #edf1f6; }.meal-row:last-child { border-bottom:0; }.meal-row time { color:#0e7490; font-size:9px; font-weight:800; }.meal-row strong { font-size:9px; }.meal-row p { margin:4px 0 0; color:#8492a6; font-size:8px; }.meal-row>span { color:#64748b; font-size:8px; text-align:right; }.nutrition-plan-card>footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 19px; background:#fafbfc; border-top:1px solid #edf1f6; }.nutrition-plan-card>footer>small { color:#94a3b8; font-size:7px; }.nutrition-plan-card>footer form { display:flex; gap:6px; }

/* Nutrition builder */
.nutrition-create-heading>div { display:flex; flex-direction:column; align-items:flex-start; }.nutrition-create-heading .back-link { margin-bottom:12px; }.nutrition-create-heading h2 { margin-top:6px; }.nutrition-create-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:18px; }.nutrition-create-layout>main { display:grid; gap:18px; }.nutrition-form-section,.nutrition-save-card { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.nutrition-form-section>header { display:flex; align-items:center; gap:11px; padding:16px 18px; border-bottom:1px solid #edf1f6; }.nutrition-form-section>header>span { display:grid; place-items:center; width:34px; height:34px; color:#0e7490; background:#ecfeff; border-radius:10px; font-size:8px; font-weight:850; }.nutrition-form-section header h3 { margin:0; font-size:13px; }.nutrition-form-section header p { margin:5px 0 0; color:#8492a6; font-size:8px; }.nutrition-field-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:13px; padding:18px; }.nutrition-field-grid .wide { grid-column:auto; }.nutrition-field-grid .full { grid-column:1/3; }.nutrition-field-grid label,.meal-editor-body label,.target-section label { display:block; margin-bottom:6px; color:#64748b; font-size:8px; font-weight:750; }.nutrition-field-grid input,.nutrition-field-grid textarea { width:100%; padding:8px 10px; font-size:9px; }.nutrition-field-grid textarea { resize:vertical; }
.meal-editor-list { display:grid; gap:9px; padding:16px 18px 18px; }.meal-editor { border:1px solid #dfe6ef; border-radius:11px; overflow:hidden; }.meal-editor summary { display:grid; grid-template-columns:34px 1fr 25px; align-items:center; gap:10px; padding:12px 13px; background:#fafbfc; cursor:pointer; list-style:none; }.meal-editor summary::-webkit-details-marker { display:none; }.meal-number { display:grid; place-items:center; width:32px; height:32px; color:#0e7490; background:#cffafe; border-radius:9px; font-size:9px; font-weight:850; }.meal-editor summary strong,.meal-editor summary small { display:block; }.meal-editor summary strong { font-size:10px; }.meal-editor summary small { margin-top:4px; color:#94a3b8; font-size:7px; }.meal-expand { color:#64748b; font-size:12px; }.meal-editor[open] .meal-expand { transform:rotate(180deg); }.meal-editor-body { display:grid; gap:13px; padding:15px; border-top:1px solid #edf1f6; }.meal-basic-fields { display:grid; grid-template-columns:180px 120px minmax(0,1fr); gap:10px; }.meal-measure-fields { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }.meal-editor-body input { width:100%; padding:7px 9px; font-size:9px; }
.nutrition-create-side { position:sticky; top:88px; display:grid; gap:14px; }.target-section>div { padding:16px 17px; }.input-suffix { position:relative; margin-bottom:13px; }.input-suffix input { width:100%; padding:8px 48px 8px 9px; font-size:9px; }.input-suffix span { position:absolute; right:10px; top:13px; color:#94a3b8; font-size:8px; }.nutrition-save-card { padding:20px; text-align:center; }.nutrition-save-card>span { display:grid; place-items:center; width:42px; height:42px; margin:0 auto; color:#047857; background:#ecfdf5; border-radius:12px; font-weight:850; }.nutrition-save-card h3 { margin:13px 0 0; font-size:13px; }.nutrition-save-card p { margin:6px 0 15px; color:#8492a6; font-size:8px; line-height:1.5; }.nutrition-save-card .btn { margin-top:7px; }
@media(max-width:1050px){.nutrition-create-layout{grid-template-columns:1fr}.nutrition-create-side{position:static;grid-template-columns:1fr 1fr}.nutrition-plan-grid{grid-template-columns:1fr}}
@media(max-width:800px){.nutrition-member-selector{align-items:flex-start;flex-direction:column}.nutrition-member-selector form{width:100%}.nutrition-member-selector select{flex:1;width:auto}.meal-measure-fields{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.nutrition-member-selector form{flex-direction:column}.nutrition-member-bar{align-items:flex-start;flex-direction:column}.nutrition-member-stats{width:100%}.nutrition-member-stats>span{flex:1}.nutrition-goals{grid-template-columns:1fr}.nutrition-plan-card>footer{align-items:flex-start;flex-direction:column}.nutrition-field-grid,.meal-basic-fields,.meal-measure-fields{grid-template-columns:1fr}.nutrition-field-grid .full{grid-column:auto}.nutrition-create-side{grid-template-columns:1fr}.meal-row{grid-template-columns:42px 1fr}.meal-row>span{grid-column:2;text-align:left}}

/* Training management */
.training-heading p { max-width:690px; }.training-heading .btn span { font-size:15px; }.training-member-selector { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:18px; padding:18px 20px; color:#fff; background:radial-gradient(circle at 85% 20%,rgba(251,146,60,.2),transparent 25%),linear-gradient(125deg,#111827,#312e81); border-radius:15px; box-shadow:0 12px 30px rgba(15,23,42,.11); }.training-member-selector>div { display:flex; align-items:center; gap:12px; }.training-member-selector>div>span { display:grid; place-items:center; width:40px; height:40px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.13); border-radius:11px; font-size:15px; }.training-member-selector h3 { margin:0; color:#fff; font-size:13px; }.training-member-selector p { margin:5px 0 0; color:#c7d2fe; font-size:9px; }.training-member-selector form { display:flex; gap:8px; }.training-member-selector select { width:330px; min-height:39px; padding:7px 10px; color:#1e293b; background:#fff; font-size:10px; }
.training-dashboard-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; align-items:start; gap:18px; }.training-program-area { min-width:0; }.training-start-panel { min-height:430px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px; text-align:center; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.training-start-panel.selected { min-height:330px; }.training-start-art { position:relative; display:grid; place-items:center; width:76px; height:76px; color:#4f46e5; background:#eef2ff; border-radius:22px; }.training-start-art>span { font-size:24px; }.training-start-art i { position:absolute; width:8px; height:8px; background:#a5b4fc; border-radius:50%; }.training-start-art i:nth-child(2){right:-11px;top:10px}.training-start-art i:nth-child(3){left:-9px;bottom:12px}.training-start-panel h3 { margin:17px 0 0; font-size:16px; }.training-start-panel p { max-width:450px; margin:7px 0 17px; color:#8492a6; font-size:10px; line-height:1.6; }
.training-member-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:15px; padding:15px 17px; background:#fff; border:1px solid var(--v3-border); border-radius:13px; box-shadow:var(--v3-shadow); }.training-member-profile { display:flex; align-items:center; gap:10px; }.training-member-profile>span { display:grid; place-items:center; width:40px; height:40px; color:#4338ca; background:#eef2ff; border-radius:11px; font-size:11px; font-weight:850; }.training-member-profile small { color:#4f46e5; font-size:7px; font-weight:850; letter-spacing:.8px; }.training-member-profile h3 { margin:4px 0 0; font-size:12px; }.training-member-profile p { margin:4px 0 0; color:#8492a6; font-size:8px; }.training-member-bar>div:last-child { display:flex; }.training-member-bar>div:last-child>span { min-width:100px; padding:5px 15px; border-left:1px solid #edf1f6; }.training-member-bar>div:last-child small,.training-member-bar>div:last-child strong { display:block; }.training-member-bar>div:last-child small { color:#94a3b8; font-size:7px; font-weight:800; }.training-member-bar>div:last-child strong { margin-top:5px; font-size:17px; }
.training-program-grid { display:grid; gap:15px; }.training-program-card { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.training-program-card>header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 18px; border-bottom:1px solid #edf1f6; }.training-program-card>header>div { display:flex; align-items:center; gap:10px; }.training-program-card>header>div>span { display:grid; place-items:center; width:37px; height:37px; color:#ea580c; background:#fff7ed; border-radius:10px; }.training-program-card header h3 { margin:0; font-size:13px; }.training-program-card header p { margin:5px 0 0; color:#8492a6; font-size:8px; }.training-program-status { padding:6px 9px; border-radius:999px; font-size:8px; font-weight:800; }.training-program-status.active { color:#047857; background:#ecfdf5; }.training-program-status.passive { color:#64748b; background:#f1f5f9; }.training-program-description { margin:0; padding:12px 18px 0; color:#64748b; font-size:9px; line-height:1.55; }.training-program-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:14px 18px; }.training-program-summary>span { padding:10px 11px; background:#f8fafc; border:1px solid #edf1f6; border-radius:9px; }.training-program-summary small,.training-program-summary strong { display:block; }.training-program-summary small { color:#94a3b8; font-size:6.5px; font-weight:800; }.training-program-summary strong { margin-top:5px; font-size:11px; }.training-days-v3 { padding:0 18px 15px; }.training-day-panel { margin-top:8px; overflow:hidden; border:1px solid #e5eaf1; border-radius:10px; }.training-day-panel summary { display:flex; align-items:center; justify-content:space-between; padding:11px 12px; background:#fafbfc; cursor:pointer; list-style:none; }.training-day-panel summary::-webkit-details-marker { display:none; }.training-day-panel summary>span { display:flex; align-items:center; gap:8px; color:#64748b; font-size:8px; }.training-day-panel summary b { display:grid; place-items:center; width:24px; height:24px; color:#4338ca; background:#eef2ff; border-radius:7px; font-size:8px; }.training-day-panel summary strong { color:#1e293b; font-size:10px; }.training-day-panel summary i { font-style:normal; }.training-day-panel[open] summary i { transform:rotate(180deg); }.training-day-panel>div { padding:3px 12px; }.training-exercise-row { display:grid; grid-template-columns:25px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:54px; border-bottom:1px solid #edf1f6; }.training-exercise-row:last-child { border-bottom:0; }.exercise-order { display:grid; place-items:center; width:23px; height:23px; color:#64748b; background:#f1f5f9; border-radius:7px; font-size:8px; font-weight:800; }.training-exercise-row strong { font-size:9px; }.training-exercise-row p { margin:4px 0 0; color:#8492a6; font-size:8px; }.tempo-chip { padding:5px 7px; color:#7c2d12; background:#fff7ed; border-radius:7px; font-size:7px; }.training-program-card>footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; background:#fafbfc; border-top:1px solid #edf1f6; }.training-program-card>footer>small { color:#94a3b8; font-size:7px; }.training-program-card>footer form { display:flex; gap:6px; }
.exercise-library-side { display:grid; gap:15px; }.exercise-create-card,.exercise-library-card { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.exercise-create-card>header { display:flex; align-items:center; gap:10px; padding:15px 17px; border-bottom:1px solid #edf1f6; }.exercise-create-card>header>span { display:grid; place-items:center; width:35px; height:35px; color:#ea580c; background:#fff7ed; border-radius:10px; font-size:14px; }.exercise-create-card h3,.exercise-library-card h3 { margin:0; font-size:12px; }.exercise-create-card header p,.exercise-library-card header p { margin:4px 0 0; color:#8492a6; font-size:8px; }.exercise-create-card form { padding:15px 17px 17px; }.exercise-create-card label { display:block; margin:0 0 5px; color:#64748b; font-size:8px; font-weight:750; }.exercise-create-card input,.exercise-create-card select,.exercise-create-card textarea { width:100%; margin-bottom:10px; padding:7px 9px; font-size:9px; }.exercise-create-card textarea { resize:vertical; }.exercise-two-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.exercise-library-card>header { display:flex; align-items:center; justify-content:space-between; padding:15px 17px; border-bottom:1px solid #edf1f6; }.exercise-library-card>header>span { padding:5px 8px; color:#475569; background:#f1f5f9; border-radius:999px; font-size:8px; font-weight:800; }.exercise-library-list { max-height:390px; overflow:auto; padding:4px 15px; }.exercise-library-list article { display:grid; grid-template-columns:33px 1fr auto; align-items:center; gap:9px; min-height:55px; border-bottom:1px solid #edf1f6; }.exercise-library-list article:last-child { border-bottom:0; }.exercise-library-list article>span { display:grid; place-items:center; width:31px; height:31px; color:#4338ca; background:#eef2ff; border-radius:9px; font-size:9px; font-weight:850; }.exercise-library-list strong { font-size:9px; }.exercise-library-list p { margin:4px 0 0; color:#8492a6; font-size:7.5px; }.exercise-library-list article>small { max-width:75px; overflow:hidden; color:#64748b; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }.exercise-library-empty { min-height:100px; display:grid; place-items:center; color:#8492a6; font-size:8px; }
@media(max-width:1100px){.training-dashboard-layout{grid-template-columns:1fr}.exercise-library-side{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.training-member-selector{align-items:flex-start;flex-direction:column}.training-member-selector form{width:100%}.training-member-selector select{flex:1;width:auto}}
@media(max-width:650px){.training-member-selector form{flex-direction:column}.training-member-bar{align-items:flex-start;flex-direction:column}.training-member-bar>div:last-child{width:100%}.training-member-bar>div:last-child>span{flex:1}.training-program-summary{grid-template-columns:1fr}.training-program-card>footer{align-items:flex-start;flex-direction:column}.exercise-library-side{grid-template-columns:1fr}.exercise-two-fields{grid-template-columns:1fr}}

/* System settings */
.system-heading-v3 p { max-width:700px; }.system-summary-v3 { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:18px; padding:17px 19px; color:#fff; background:radial-gradient(circle at 82% 20%,rgba(96,165,250,.22),transparent 25%),linear-gradient(125deg,#0f172a,#172554); border-radius:15px; box-shadow:0 12px 30px rgba(15,23,42,.12); }.system-identity-v3 { display:flex; align-items:center; gap:12px; }.system-identity-v3>span { display:grid; place-items:center; width:43px; height:43px; background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.15); border-radius:12px; font-size:13px; font-weight:850; }.system-identity-v3 small { color:#93c5fd; font-size:6.5px; font-weight:850; letter-spacing:.8px; }.system-identity-v3 h3 { margin:4px 0 0; color:#fff; font-size:13px; }.system-identity-v3 p { margin:4px 0 0; color:#cbd5e1; font-size:7px; }.system-summary-v3>div:last-child { display:flex; }.system-summary-v3>div:last-child>span { min-width:120px; padding:5px 17px; border-left:1px solid rgba(255,255,255,.13); }.system-summary-v3>div:last-child small,.system-summary-v3>div:last-child strong { display:block; }.system-summary-v3>div:last-child small { color:#93c5fd; font-size:6px; font-weight:850; }.system-summary-v3>div:last-child strong { margin-top:5px; color:#fff; font-size:9px; }.system-settings-layout-v3 { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:18px; }.system-settings-layout-v3>main { display:grid; gap:17px; }.system-settings-card-v3,.system-health-card-v3,.system-warning-card-v3,.audit-shortcut-v3 { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.system-settings-card-v3>header { display:flex; align-items:center; gap:11px; padding:16px 18px; border-bottom:1px solid #edf1f6; }.system-settings-card-v3>header>span { display:grid; place-items:center; width:34px; height:34px; color:#2563eb; background:#eff6ff; border-radius:10px; font-size:8px; font-weight:850; }.system-settings-card-v3 h3 { margin:0; font-size:13px; }.system-settings-card-v3 header p { margin:5px 0 0; color:#8492a6; font-size:8px; }.system-settings-card-v3 header>i { margin-left:auto; padding:5px 8px; color:#64748b; background:#f1f5f9; border-radius:999px; font-size:7px; font-style:normal; }.system-form-grid-v3 { display:grid; grid-template-columns:1fr 1fr; gap:13px; padding:18px; }.system-form-grid-v3 .full { grid-column:1/3; }.system-form-grid-v3 label { display:block; margin-bottom:6px; color:#64748b; font-size:8px; font-weight:750; }.system-form-grid-v3 input,.system-form-grid-v3 select { width:100%; min-height:38px; padding:7px 9px; font-size:9px; }.system-form-grid-v3>div>small { display:block; margin-top:6px; color:#94a3b8; font-size:7px; }.setting-input-v3 { position:relative; }.setting-input-v3>span { position:absolute; left:9px; top:10px; display:grid; place-items:center; width:18px; height:18px; color:#2563eb; background:#eff6ff; border-radius:5px; font-size:7px; font-weight:850; }.setting-input-v3 input { padding-left:34px; }.system-settings-card-v3 form>footer { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 18px; color:#8492a6; background:#fafbfc; border-top:1px solid #edf1f6; font-size:7px; }
.policy-grid-v3 { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:18px; }.policy-grid-v3>label { display:grid; grid-template-columns:36px 1fr 95px; align-items:center; gap:10px; margin:0; padding:12px; background:#fafbfc; border:1px solid #edf1f6; border-radius:10px; }.policy-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; font-size:10px; font-weight:850; }.policy-icon.blue{color:#2563eb;background:#eff6ff}.policy-icon.violet{color:#7c3aed;background:#f5f3ff}.policy-icon.green{color:#059669;background:#ecfdf5}.policy-icon.amber{color:#d97706;background:#fffbeb}.policy-grid-v3 strong,.policy-grid-v3 small { display:block; }.policy-grid-v3 strong { font-size:8px; }.policy-grid-v3 small { margin-top:4px; color:#8492a6; font-size:6.5px; line-height:1.35; }.policy-grid-v3 em { grid-column:2/4; color:#dc2626; font-size:7px; font-style:normal; }.number-suffix-v3 { position:relative; }.number-suffix-v3 input { width:100%; min-height:35px; padding:6px 30px 6px 8px; font-size:8px; }.number-suffix-v3 span { position:absolute; right:7px; top:11px; color:#94a3b8; font-size:6.5px; }.policy-timezone-v3 { display:grid; grid-template-columns:34px 1fr 230px; align-items:center; gap:10px; margin:0 18px 18px; padding:12px; background:#eff6ff; border:1px solid #bfdbfe; border-radius:10px; }.policy-timezone-v3>span { display:grid; place-items:center; width:32px; height:32px; color:#2563eb; background:#fff; border-radius:9px; }.policy-timezone-v3 strong,.policy-timezone-v3 small { display:block; }.policy-timezone-v3 strong { font-size:8px; }.policy-timezone-v3 small { margin-top:4px; color:#64748b; font-size:6.5px; }.policy-timezone-v3 select { width:100%; min-height:35px; padding:6px 8px; background:#fff; font-size:8px; }.system-side-v3 { position:sticky; top:88px; display:grid; gap:14px; }.system-health-card-v3>header { display:flex; align-items:center; gap:10px; padding:15px 16px; border-bottom:1px solid #edf1f6; }.system-health-card-v3>header>span { display:grid; place-items:center; width:34px; height:34px; color:#047857; background:#ecfdf5; border-radius:10px; font-weight:850; }.system-health-card-v3 h3 { margin:0; font-size:11px; }.system-health-card-v3 header p { margin:4px 0 0; color:#8492a6; font-size:7px; }.system-health-card-v3>div { padding:5px 16px; }.system-health-card-v3>div p { display:flex; align-items:center; justify-content:space-between; margin:0; padding:11px 0; color:#64748b; border-bottom:1px solid #edf1f6; font-size:8px; }.system-health-card-v3>div p:last-child { border-bottom:0; }.system-health-card-v3 .ok { padding:4px 6px; color:#047857; background:#ecfdf5; border-radius:6px; font-size:6.5px; }.system-warning-card-v3 { display:flex; align-items:flex-start; gap:10px; padding:14px; }.system-warning-card-v3>span { display:grid; place-items:center; width:29px; height:29px; flex:0 0 29px; color:#d97706; background:#fffbeb; border-radius:9px; font-size:10px; font-weight:850; }.system-warning-card-v3 strong { font-size:8px; }.system-warning-card-v3 p { margin:5px 0 0; color:#8492a6; font-size:7px; line-height:1.5; }.audit-shortcut-v3 { display:grid; grid-template-columns:34px 1fr 20px; align-items:center; gap:9px; padding:14px; color:#1e293b; }.audit-shortcut-v3>span { display:grid; place-items:center; width:33px; height:33px; color:#7c3aed; background:#f5f3ff; border-radius:9px; }.audit-shortcut-v3 strong,.audit-shortcut-v3 small { display:block; }.audit-shortcut-v3 strong { font-size:9px; }.audit-shortcut-v3 small { margin-top:4px; color:#8492a6; font-size:7px; }.audit-shortcut-v3 i { color:#2563eb; font-style:normal; }
@media(max-width:1100px){.system-settings-layout-v3{grid-template-columns:1fr}.system-side-v3{position:static;grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.system-summary-v3{align-items:flex-start;flex-direction:column}.system-summary-v3>div:last-child{width:100%}.system-summary-v3>div:last-child>span{flex:1}.policy-grid-v3{grid-template-columns:1fr}.system-side-v3{grid-template-columns:1fr}.policy-timezone-v3{grid-template-columns:34px 1fr}.policy-timezone-v3 select{grid-column:2}}
@media(max-width:600px){.system-form-grid-v3{grid-template-columns:1fr}.system-form-grid-v3 .full{grid-column:auto}.system-settings-card-v3 form>footer{align-items:flex-start;flex-direction:column}.policy-grid-v3>label{grid-template-columns:34px 1fr}.number-suffix-v3{grid-column:2}.system-summary-v3>div:last-child{flex-direction:column}.system-summary-v3>div:last-child>span{border-left:0;border-top:1px solid rgba(255,255,255,.13)}.system-heading-v3{align-items:flex-start;flex-direction:column}}

/* Notification center */
.notification-heading-v3 p,.notification-settings-heading p,.notification-send-heading p { max-width:700px; }.notification-settings-heading>div,.notification-send-heading>div { display:flex; flex-direction:column; align-items:flex-start; }.notification-settings-heading .back-link,.notification-send-heading .back-link { margin-bottom:12px; }.notification-settings-heading h2,.notification-send-heading h2 { margin-top:6px; }.notification-metrics-v3 { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }.notification-metrics-v3 article { display:flex; align-items:center; gap:12px; padding:15px 17px; background:#fff; border:1px solid var(--v3-border); border-radius:13px; box-shadow:var(--v3-shadow); }.notification-metrics-v3 article>span { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; font-size:12px; font-weight:850; }.notification-metrics-v3 .blue{color:#2563eb;background:#eff6ff}.notification-metrics-v3 .amber{color:#d97706;background:#fffbeb}.notification-metrics-v3 .green{color:#059669;background:#ecfdf5}.notification-metrics-v3 .red{color:#dc2626;background:#fef2f2}.notification-metrics-v3 small,.notification-metrics-v3 strong { display:block; }.notification-metrics-v3 small { color:#94a3b8; font-size:6.5px; font-weight:850; }.notification-metrics-v3 strong { margin-top:5px; font-size:20px; }.notification-metrics-v3 p { margin:4px 0 0; color:#8492a6; font-size:7px; }.notification-center-card-v3,.notification-settings-card,.notification-save-card,.notification-compose-card,.notification-preview-v3,.notification-send-card { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.notification-center-card-v3>header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px; border-bottom:1px solid #edf1f6; }.notification-center-card-v3 h3 { margin:0; font-size:13px; }.notification-center-card-v3 header p { margin:5px 0 0; color:#8492a6; font-size:8px; }.notification-filter-v3 { display:flex; gap:5px; }.notification-filter-v3 button { padding:7px 9px; color:#64748b; background:#f8fafc; border:1px solid #edf1f6; border-radius:7px; font-size:7px; cursor:pointer; }.notification-filter-v3 button.active { color:#1d4ed8; background:#eff6ff; border-color:#bfdbfe; font-weight:800; }.notification-feed-v3 { padding:4px 18px; }.notification-feed-v3>article { display:grid; grid-template-columns:40px minmax(0,1fr); gap:11px; padding:14px 3px; border-bottom:1px solid #edf1f6; }.notification-feed-v3>article:last-child { border-bottom:0; }.notification-feed-v3>article.read { opacity:.7; }.notification-symbol { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; font-size:12px; font-weight:800; }.notification-symbol.announcement{color:#7c3aed;background:#f5f3ff}.notification-symbol.chat{color:#2563eb;background:#eff6ff}.notification-symbol.reminder{color:#d97706;background:#fffbeb}.notification-symbol.booking{color:#059669;background:#ecfdf5}.notification-feed-v3 article header { display:flex; align-items:center; justify-content:space-between; gap:12px; }.notification-feed-v3 article header>span { display:flex; align-items:center; gap:7px; }.notification-feed-v3 article strong { font-size:10px; }.notification-feed-v3 article header small { padding:3px 5px; color:#64748b; background:#f1f5f9; border-radius:5px; font-size:6px; }.notification-feed-v3 time { color:#94a3b8; font-size:6.5px; }.notification-feed-v3 article p { margin:7px 0; color:#64748b; font-size:8px; line-height:1.5; }.notification-feed-v3 article footer { display:flex; align-items:center; justify-content:space-between; }.delivery-state { padding:4px 6px; border-radius:6px; font-size:6.5px; font-weight:800; }.delivery-state.queued{color:#047857;background:#ecfdf5}.delivery-state.failed{color:#dc2626;background:#fef2f2}.notification-feed-v3 article footer button { padding:0; color:#2563eb; background:transparent; border:0; font-size:7px; cursor:pointer; }.notification-empty-v3 { min-height:280px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.notification-empty-v3>span { display:grid; place-items:center; width:50px; height:50px; color:#059669; background:#ecfdf5; border-radius:15px; }.notification-empty-v3 h3 { margin:13px 0 0; font-size:12px; }.notification-empty-v3 p { margin:6px 0 0; color:#94a3b8; font-size:8px; }
.notification-settings-layout,.notification-send-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; align-items:start; gap:18px; }.notification-settings-layout>aside,.notification-send-layout>aside { position:sticky; top:88px; display:grid; gap:14px; }.notification-settings-card>header,.notification-compose-card>header { display:flex; align-items:center; gap:11px; padding:16px 18px; border-bottom:1px solid #edf1f6; }.notification-settings-card>header>span,.notification-compose-card>header>span { display:grid; place-items:center; width:34px; height:34px; color:#2563eb; background:#eff6ff; border-radius:10px; font-size:8px; font-weight:850; }.notification-settings-card h3,.notification-compose-card h3 { margin:0; font-size:13px; }.notification-settings-card header p,.notification-compose-card header p { margin:5px 0 0; color:#8492a6; font-size:8px; }.notification-settings-card>div { padding:4px 17px; }.notification-preference-v3 { display:grid; grid-template-columns:37px 1fr 36px; align-items:center; gap:10px; min-height:72px; margin:0; border-bottom:1px solid #edf1f6; cursor:pointer; }.notification-preference-v3:last-child { border-bottom:0; }.preference-icon { display:grid; place-items:center; width:35px; height:35px; color:#2563eb; background:#eff6ff; border-radius:10px; font-size:9px; font-weight:850; }.notification-preference-v3 strong,.notification-preference-v3 small { display:block; }.notification-preference-v3 strong { font-size:9px; }.notification-preference-v3 small { margin-top:5px; color:#8492a6; font-size:7px; }.notification-preference-v3 input { position:absolute; opacity:0; }.notification-preference-v3>i { position:relative; width:34px; height:19px; background:#cbd5e1; border-radius:999px; }.notification-preference-v3>i:after { content:""; position:absolute; left:3px; top:3px; width:13px; height:13px; background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(15,23,42,.2); transition:.16s; }.notification-preference-v3 input:checked+i { background:#2563eb; }.notification-preference-v3 input:checked+i:after { transform:translateX(15px); }.notification-save-card,.notification-send-card { padding:20px; text-align:center; }.notification-save-card>span,.notification-send-card>span { display:grid; place-items:center; width:43px; height:43px; margin:0 auto; color:#047857; background:#ecfdf5; border-radius:13px; font-size:14px; font-weight:850; }.notification-save-card h3,.notification-send-card h3 { margin:13px 0 0; font-size:13px; }.notification-save-card p,.notification-send-card p { margin:6px 0 14px; color:#8492a6; font-size:8px; line-height:1.55; }.notification-save-card .btn,.notification-send-card .btn { margin-top:7px; }
.notification-send-layout>main { display:grid; min-width:0; gap:17px; }.notification-compose-card>div { padding:17px 18px; }.notification-compose-card label { display:block; margin:0 0 6px; color:#64748b; font-size:8px; font-weight:750; }.notification-compose-card input,.notification-compose-card textarea { width:100%; margin-bottom:12px; padding:8px 10px; font-size:9px; }.recipient-card-v3>header>aside { display:flex; gap:5px; margin-left:auto; }.recipient-card-v3>header button { padding:6px 8px; color:#2563eb; background:#eff6ff; border:0; border-radius:7px; font-size:7px; cursor:pointer; }.recipient-search-v3 { position:relative; margin:14px 18px 0; padding:0 !important; }.recipient-search-v3>span { position:absolute; left:10px; top:9px; color:#94a3b8; }.recipient-search-v3 input { padding-left:29px; }.recipient-grid-v3 { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; padding-top:4px !important; }.recipient-grid-v3>label { display:grid; grid-template-columns:32px 1fr 23px; align-items:center; gap:9px; min-height:56px; margin:0; padding:8px 10px; background:#fafbfc; border:1px solid #edf1f6; border-radius:9px; cursor:pointer; }.recipient-grid-v3>label>input { position:absolute; opacity:0; }.recipient-grid-v3>label>span { display:grid; place-items:center; width:31px; height:31px; color:#1d4ed8; background:#eff6ff; border-radius:9px; font-size:8px; font-weight:850; }.recipient-grid-v3 strong,.recipient-grid-v3 small { display:block; }.recipient-grid-v3 strong { font-size:8px; }.recipient-grid-v3 small { margin-top:4px; overflow:hidden; color:#8492a6; font-size:6.5px; text-overflow:ellipsis; white-space:nowrap; }.recipient-grid-v3>label>i { display:grid; place-items:center; width:20px; height:20px; color:#94a3b8; background:#fff; border:1px solid #dfe6ef; border-radius:6px; font-size:7px; font-style:normal; }.recipient-grid-v3>label:has(input:checked) { background:#eff6ff; border-color:#bfdbfe; }.recipient-grid-v3>label input:checked~i { color:#fff; background:#2563eb; border-color:#2563eb; }.notification-preview-v3>header { display:flex; align-items:center; justify-content:space-between; padding:12px 15px; background:#fafbfc; border-bottom:1px solid #edf1f6; }.notification-preview-v3>header span { color:#64748b; font-size:7px; font-weight:850; }.notification-preview-v3>header small { color:#94a3b8; font-size:6.5px; }.notification-preview-v3>div { display:grid; grid-template-columns:35px 1fr; gap:10px; margin:15px; padding:12px; background:#f1f5f9; border-radius:11px; }.preview-app-icon { display:grid; place-items:center; width:34px; height:34px; color:#fff; background:#2563eb; border-radius:9px; font-size:11px; font-weight:850; }.notification-preview-v3 strong { font-size:8px; }.notification-preview-v3 p { margin:4px 0; color:#64748b; font-size:7px; line-height:1.4; }.notification-preview-v3 small { color:#94a3b8; font-size:6px; }.notification-send-card>strong { display:block; margin-bottom:9px; color:#1d4ed8; font-size:9px; }
@media(max-width:1000px){.notification-settings-layout,.notification-send-layout{grid-template-columns:1fr}.notification-settings-layout>aside,.notification-send-layout>aside{position:static;grid-template-columns:1fr 1fr}.notification-metrics-v3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.notification-heading-v3{align-items:flex-start;flex-direction:column}.notification-metrics-v3{grid-template-columns:1fr}.notification-center-card-v3>header{align-items:flex-start;flex-direction:column}.notification-filter-v3{width:100%}.notification-filter-v3 button{flex:1}.notification-feed-v3 article header,.notification-feed-v3 article footer{align-items:flex-start;flex-direction:column}.notification-settings-layout>aside,.notification-send-layout>aside,.recipient-grid-v3{grid-template-columns:1fr}.recipient-card-v3>header{align-items:flex-start;flex-wrap:wrap}.recipient-card-v3>header>aside{width:100%;margin-left:45px}}

/* Chat center */
.chat-heading-v3 p { max-width:680px; }.chat-unread-summary { display:flex; align-items:center; gap:8px; padding:8px 11px; color:#475569; background:#fff; border:1px solid var(--v3-border); border-radius:999px; font-size:8px; box-shadow:var(--v3-shadow); }.chat-unread-summary b { display:grid; place-items:center; min-width:22px; height:22px; padding:0 6px; color:#fff; background:#2563eb; border-radius:999px; font-size:8px; }.chat-center-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; align-items:start; gap:18px; }.chat-conversations-v3,.chat-targets-v3,.chat-room-v3 { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.chat-conversations-v3>header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 19px; border-bottom:1px solid #edf1f6; }.chat-conversations-v3 h3,.chat-targets-v3 h3 { margin:0; font-size:13px; }.chat-conversations-v3 header p,.chat-targets-v3 header p { margin:5px 0 0; color:#8492a6; font-size:8px; }.chat-search,.target-search-v3 { position:relative; }.chat-search span,.target-search-v3 span { position:absolute; left:10px; top:9px; color:#94a3b8; }.chat-search input { width:210px; min-height:34px; padding:6px 9px 6px 29px; font-size:8px; }.conversation-list-v3 { padding:4px 17px; }.conversation-list-v3>a { display:grid; grid-template-columns:42px minmax(0,1fr) 80px; align-items:center; gap:11px; min-height:78px; padding:11px 4px; color:#1e293b; border-bottom:1px solid #edf1f6; }.conversation-list-v3>a:last-child { border-bottom:0; }.conversation-list-v3>a:hover { padding-left:9px; padding-right:9px; background:#f8fafc; border-radius:10px; }.chat-avatar-v3 { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:12px; font-size:11px; font-weight:850; }.chat-avatar-v3.member { color:#2563eb; background:#eff6ff; }.chat-avatar-v3.coach { color:#7c3aed; background:#f5f3ff; }.conversation-list-v3>a>div>span { display:flex; align-items:center; gap:7px; }.conversation-list-v3 strong { font-size:10px; }.conversation-list-v3>a>div small { padding:3px 5px; color:#64748b; background:#f1f5f9; border-radius:5px; font-size:6px; }.conversation-list-v3 p { max-width:620px; margin:6px 0 0; overflow:hidden; color:#8492a6; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.conversation-list-v3 aside { display:flex; align-items:flex-end; flex-direction:column; gap:7px; }.conversation-list-v3 time { color:#94a3b8; font-size:6.5px; }.conversation-list-v3 aside b { display:grid; place-items:center; min-width:20px; height:20px; padding:0 6px; color:#fff; background:#2563eb; border-radius:999px; font-size:7px; }.conversation-list-v3 aside i { color:#94a3b8; font-size:6px; font-style:normal; }
.chat-targets-v3 { position:sticky; top:88px; }.chat-targets-v3>header { display:flex; align-items:center; gap:10px; padding:16px 17px; border-bottom:1px solid #edf1f6; }.chat-targets-v3>header>span { display:grid; place-items:center; width:35px; height:35px; color:#047857; background:#ecfdf5; border-radius:10px; font-size:14px; }.target-tabs { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:11px 15px 8px; }.target-tabs button { min-height:32px; color:#64748b; background:#f8fafc; border:1px solid #edf1f6; border-radius:8px; font-size:8px; cursor:pointer; }.target-tabs button.active { color:#1d4ed8; background:#eff6ff; border-color:#bfdbfe; font-weight:800; }.target-tabs b { margin-left:4px; }.target-search-v3 { margin:0 15px 7px; }.target-search-v3 input { width:100%; min-height:34px; padding:6px 9px 6px 29px; font-size:8px; }.target-group-v3 { display:none; max-height:430px; overflow:auto; padding:3px 15px; }.target-group-v3.active { display:block; }.target-group-v3 form { border-bottom:1px solid #edf1f6; }.target-group-v3 form:last-child { border-bottom:0; }.target-group-v3 button { width:100%; display:grid; grid-template-columns:32px 1fr 20px; align-items:center; gap:9px; min-height:57px; padding:8px 2px; text-align:left; background:transparent; border:0; cursor:pointer; }.target-group-v3 button:hover { padding-left:7px; padding-right:7px; background:#f8fafc; border-radius:9px; }.target-group-v3 button>span { display:grid; place-items:center; width:31px; height:31px; color:#1d4ed8; background:#eff6ff; border-radius:9px; font-size:8px; font-weight:850; }.target-group-v3 strong,.target-group-v3 small { display:block; }.target-group-v3 strong { font-size:9px; }.target-group-v3 small { margin-top:4px; overflow:hidden; color:#8492a6; font-size:6.5px; text-overflow:ellipsis; white-space:nowrap; }.target-group-v3 button>i { color:#2563eb; font-style:normal; }.target-empty { min-height:100px; display:grid; place-items:center; color:#94a3b8; font-size:8px; }.chat-targets-v3>footer { padding:11px 15px; color:#8492a6; background:#fafbfc; border-top:1px solid #edf1f6; font-size:7px; line-height:1.45; }.chat-empty-v3 { min-height:300px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.chat-empty-v3>span { display:grid; place-items:center; width:52px; height:52px; color:#2563eb; background:#eff6ff; border-radius:15px; font-size:18px; }.chat-empty-v3 h3 { margin:13px 0 0; font-size:12px; }.chat-empty-v3 p { max-width:330px; margin:6px 0 0; color:#94a3b8; font-size:8px; }
.chat-room-v3 { height:calc(100vh - 125px); min-height:570px; display:grid; grid-template-rows:auto 1fr auto; }.chat-room-header-v3 { display:grid; grid-template-columns:34px 40px 1fr auto; align-items:center; gap:11px; padding:14px 18px; border-bottom:1px solid #edf1f6; }.chat-back-v3 { display:grid; place-items:center; width:32px; height:32px; color:#475569; background:#f8fafc; border:1px solid #e2e8f0; border-radius:9px; }.chat-room-header-v3 h2 { margin:0; font-size:13px; }.chat-room-header-v3 p { display:flex; align-items:center; gap:6px; margin:5px 0 0; color:#8492a6; font-size:7px; }.chat-room-header-v3 p i { width:6px; height:6px; background:#10b981; border-radius:50%; }.message-stream-v3 { padding:20px max(18px,8%); overflow:auto; background:linear-gradient(rgba(248,250,252,.92),rgba(248,250,252,.92)),radial-gradient(circle at 20% 20%,#dbeafe 1px,transparent 1px); background-size:auto,18px 18px; }.message-stream-v3 .chat-empty-v3 { height:100%; min-height:0; }.message-v3 { display:flex; flex-direction:column; align-items:flex-start; margin:9px 0; }.message-v3.mine { align-items:flex-end; }.message-v3>small { margin:0 8px 4px; color:#94a3b8; font-size:6.5px; }.message-v3>div { max-width:min(620px,72%); padding:10px 12px 7px; background:#fff; border:1px solid #e2e8f0; border-radius:4px 13px 13px 13px; box-shadow:0 2px 8px rgba(15,23,42,.04); }.message-v3.mine>div { color:#fff; background:#2563eb; border-color:#2563eb; border-radius:13px 4px 13px 13px; }.message-v3 p { margin:0; font-size:9px; line-height:1.55; white-space:pre-wrap; }.message-v3 time { display:block; margin-top:6px; color:#94a3b8; font-size:6px; text-align:right; }.message-v3.mine time { color:#bfdbfe; }.message-v3 time em { font-style:normal; }.message-v3 section { display:grid; gap:4px; margin-top:7px; }.message-v3 section a { padding:6px 8px; color:#1d4ed8; background:#eff6ff; border-radius:7px; font-size:7px; }.message-composer-v3 { display:grid; grid-template-columns:1fr auto; align-items:end; gap:9px; padding:13px 16px; background:#fff; border-top:1px solid #edf1f6; }.message-composer-v3 textarea { min-height:42px; max-height:110px; padding:10px 12px; font-size:9px; resize:vertical; }.message-composer-v3 button { min-height:42px; }.message-composer-v3 button span { margin-left:6px; }
@media(max-width:1000px){.chat-center-layout{grid-template-columns:1fr}.chat-targets-v3{position:static}.target-group-v3{max-height:280px}}
@media(max-width:650px){.chat-heading-v3{align-items:flex-start;flex-direction:column}.chat-conversations-v3>header{align-items:flex-start;flex-direction:column}.chat-search,.chat-search input{width:100%}.conversation-list-v3>a{grid-template-columns:40px 1fr}.conversation-list-v3 aside{grid-column:2;align-items:center;flex-direction:row}.chat-room-v3{height:calc(100vh - 105px);border-radius:0}.chat-room-header-v3{grid-template-columns:32px 36px 1fr}.chat-room-header-v3 form{grid-column:3}.message-v3>div{max-width:88%}.message-composer-v3{grid-template-columns:1fr}.message-composer-v3 button{width:100%}}

/* Progress center */
.progress-heading-v3 p { max-width:680px; }.progress-member-selector { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:18px; padding:18px 20px; color:#fff; background:radial-gradient(circle at 82% 20%,rgba(45,212,191,.18),transparent 25%),linear-gradient(125deg,#0f172a,#134e4a); border-radius:15px; box-shadow:0 12px 30px rgba(15,23,42,.1); }.progress-member-selector>div { display:flex; align-items:center; gap:12px; }.progress-member-selector>div>span { display:grid; place-items:center; width:40px; height:40px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.14); border-radius:11px; }.progress-member-selector h3 { margin:0; color:#fff; font-size:13px; }.progress-member-selector p { margin:5px 0 0; color:#99f6e4; font-size:9px; }.progress-member-selector form { display:flex; gap:8px; }.progress-member-selector select { width:340px; min-height:39px; padding:7px 10px; color:#1e293b; background:#fff; font-size:9px; }.progress-start-empty { min-height:380px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.progress-start-empty>span { display:grid; place-items:center; width:70px; height:70px; color:#0f766e; background:#f0fdfa; border-radius:21px; font-size:24px; }.progress-start-empty h3 { margin:16px 0 0; font-size:16px; }.progress-start-empty p { max-width:420px; margin:7px 0 0; color:#8492a6; font-size:10px; }
.progress-profile-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:15px; padding:15px 17px; background:#fff; border:1px solid var(--v3-border); border-radius:14px; box-shadow:var(--v3-shadow); }.progress-profile-bar>div:first-child { display:flex; align-items:center; gap:11px; }.progress-profile-bar>div:first-child>span { display:grid; place-items:center; width:42px; height:42px; color:#0f766e; background:#f0fdfa; border-radius:12px; font-size:12px; font-weight:850; }.progress-profile-bar small { color:#0f766e; font-size:7px; font-weight:850; letter-spacing:.7px; }.progress-profile-bar h3 { margin:4px 0 0; font-size:13px; }.progress-profile-bar p { margin:4px 0 0; color:#8492a6; font-size:8px; }.progress-profile-bar>div:last-child { display:flex; }.progress-profile-bar>div:last-child>span { min-width:90px; padding:5px 15px; border-left:1px solid #edf1f6; }.progress-profile-bar>div:last-child small,.progress-profile-bar>div:last-child strong { display:block; }.progress-profile-bar>div:last-child small { color:#94a3b8; }.progress-profile-bar>div:last-child strong { margin-top:5px; font-size:17px; }.progress-metrics-v3 { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }.progress-metrics-v3 article { display:flex; align-items:center; gap:12px; padding:15px 16px; background:#fff; border:1px solid var(--v3-border); border-radius:13px; box-shadow:var(--v3-shadow); }.progress-metrics-v3 article>span { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border-radius:11px; font-size:9px; font-weight:850; }.progress-metrics-v3 .blue{color:#2563eb;background:#eff6ff}.progress-metrics-v3 .violet{color:#7c3aed;background:#f5f3ff}.progress-metrics-v3 .green{color:#059669;background:#ecfdf5}.progress-metrics-v3 .amber{color:#d97706;background:#fffbeb}.progress-metrics-v3 small,.progress-metrics-v3 strong { display:block; }.progress-metrics-v3 small { color:#94a3b8; font-size:6.5px; font-weight:850; }.progress-metrics-v3 strong { margin-top:5px; font-size:20px; }.progress-metrics-v3 p { margin:4px 0 0; color:#8492a6; font-size:7px; }
.progress-dashboard-v3 { display:grid; grid-template-columns:minmax(0,1fr) 330px; align-items:start; gap:18px; }.progress-dashboard-v3>main { display:grid; min-width:0; gap:17px; }.progress-card-v3,.progress-tool-card { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.progress-card-v3>header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 18px; border-bottom:1px solid #edf1f6; }.progress-card-v3 h3 { margin:4px 0 0; font-size:13px; }.progress-card-v3 header p { margin:5px 0 0; color:#8492a6; font-size:8px; }.progress-card-v3>header>span { padding:5px 8px; color:#64748b; background:#f1f5f9; border-radius:999px; font-size:7px; font-weight:800; }.weight-progress-card>header>strong { font-size:22px; }.weight-progress-card>header>strong small { color:#8492a6; font-size:8px; }.weight-chart-v3 { min-height:210px; display:flex; align-items:flex-end; gap:10px; padding:20px 18px 17px; overflow:auto; }.weight-point { min-width:44px; flex:1; text-align:center; }.weight-point>strong { display:block; margin-bottom:7px; color:#0f766e; font-size:7px; }.weight-point>div { height:125px; display:flex; align-items:flex-end; justify-content:center; border-bottom:1px solid #dfe6ef; }.weight-point i { width:16px; max-height:120px; background:linear-gradient(#2dd4bf,#0f766e); border-radius:6px 6px 2px 2px; }.weight-point>span { display:block; margin-top:7px; color:#94a3b8; font-size:6.5px; }.progress-empty-small { min-height:120px; display:flex; align-items:center; justify-content:center; color:#94a3b8; font-size:8px; }.progress-table-wrap { overflow:auto; }.measurement-history-v3 table { min-width:760px; }.measurement-history-v3 th { padding:10px 12px; font-size:6.5px; }.measurement-history-v3 td { padding:11px 12px; font-size:8px; }.measurement-history-v3 td>strong,.measurement-history-v3 td>small { display:block; }.measurement-history-v3 td>small { margin-top:3px; color:#94a3b8; font-size:6.5px; }.measurement-note { max-width:130px; overflow:hidden; color:#64748b; text-overflow:ellipsis; white-space:nowrap; }.icon-danger { width:25px; height:25px; color:#dc2626; background:#fef2f2; border:0; border-radius:7px; cursor:pointer; }
.progress-goals-v3>div { padding:4px 17px; }.progress-goals-v3 article { display:grid; grid-template-columns:34px minmax(150px,1fr) 75px 210px; align-items:center; gap:10px; min-height:68px; border-bottom:1px solid #edf1f6; }.progress-goals-v3 article:last-child { border-bottom:0; }.progress-goals-v3 article>span { display:grid; place-items:center; width:32px; height:32px; color:#7c3aed; background:#f5f3ff; border-radius:9px; font-size:9px; font-weight:850; }.progress-goals-v3 article strong,.progress-goals-v3 article small { display:block; }.progress-goals-v3 article strong { font-size:9px; }.progress-goals-v3 article small { margin-top:4px; color:#8492a6; font-size:7px; }.goal-progress { width:100%; height:4px; margin-top:7px; overflow:hidden; background:#e2e8f0; border-radius:999px; }.goal-progress i { display:block; height:100%; background:#8b5cf6; border-radius:999px; }.progress-goals-v3 time { color:#64748b; font-size:7px; }.progress-goals-v3 form { display:grid; grid-template-columns:1fr 57px 27px; gap:5px; }.progress-goals-v3 input,.progress-goals-v3 button { min-height:28px; padding:4px 6px; font-size:7px; }.progress-goals-v3 button { color:#2563eb; background:#eff6ff; border:0; border-radius:7px; cursor:pointer; }.progress-goals-v3 button.complete { color:#047857; background:#ecfdf5; }.progress-photo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:11px; padding:16px 18px 18px; }.progress-photo-grid article { overflow:hidden; background:#f8fafc; border:1px solid #e2e8f0; border-radius:11px; }.progress-photo-grid img { width:100%; height:125px; display:block; object-fit:cover; }.progress-photo-grid article>div { position:relative; padding:10px; }.progress-photo-grid strong,.progress-photo-grid small { display:block; }.progress-photo-grid strong { font-size:8px; }.progress-photo-grid small { margin-top:4px; overflow:hidden; color:#8492a6; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }.progress-photo-grid form { position:absolute; right:8px; top:7px; }.progress-photo-grid button { padding:3px 5px; color:#dc2626; background:#fef2f2; border:0; border-radius:5px; font-size:6px; cursor:pointer; }
.progress-tools-v3 { position:sticky; top:88px; display:grid; gap:13px; }.progress-tool-card summary { display:grid; grid-template-columns:34px 1fr 18px; align-items:center; gap:10px; padding:14px 15px; cursor:pointer; list-style:none; }.progress-tool-card summary::-webkit-details-marker { display:none; }.progress-tool-card summary>span { display:grid; place-items:center; width:32px; height:32px; color:#0f766e; background:#f0fdfa; border-radius:9px; font-size:11px; font-weight:850; }.progress-tool-card summary strong,.progress-tool-card summary small { display:block; }.progress-tool-card summary strong { font-size:10px; }.progress-tool-card summary small { margin-top:4px; color:#8492a6; font-size:7px; }.progress-tool-card summary i { color:#64748b; font-style:normal; }.progress-tool-card[open] summary { border-bottom:1px solid #edf1f6; }.progress-tool-card[open] summary i { transform:rotate(180deg); }.progress-tool-card form { padding:14px 15px 16px; }.progress-tool-card label { display:block; margin:0 0 5px; color:#64748b; font-size:7.5px; font-weight:750; }.progress-tool-card input,.progress-tool-card textarea { width:100%; margin-bottom:10px; padding:7px 8px; font-size:8px; }.measurement-grid-v3 { display:grid; grid-template-columns:1fr 1fr; gap:0 8px; }.measurement-grid-v3 label>div { position:relative; }.measurement-grid-v3 label span { position:absolute; right:7px; top:9px; color:#94a3b8; font-size:6.5px; }.measurement-grid-v3 input { padding-right:25px; }.two-field-v3 { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
@media(max-width:1150px){.progress-dashboard-v3{grid-template-columns:1fr}.progress-tools-v3{position:static;grid-template-columns:repeat(3,1fr)}.progress-metrics-v3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.progress-member-selector{align-items:flex-start;flex-direction:column}.progress-member-selector form{width:100%}.progress-member-selector select{flex:1;width:auto}.progress-goals-v3 article{grid-template-columns:34px 1fr}.progress-goals-v3 time,.progress-goals-v3 form{grid-column:2}.progress-tools-v3{grid-template-columns:1fr}.progress-profile-bar{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.progress-member-selector form{flex-direction:column}.progress-metrics-v3{grid-template-columns:1fr}.progress-profile-bar>div:last-child{width:100%}.progress-profile-bar>div:last-child>span{flex:1}.progress-heading-v3{align-items:flex-start;flex-direction:column}.progress-heading-v3 .row-actions{width:100%;flex-wrap:wrap}}

/* Training program builder */
.program-builder-heading>div { display:flex; flex-direction:column; align-items:flex-start; }.program-builder-heading .back-link { margin-bottom:12px; }.program-builder-heading h2 { margin-top:6px; }.program-builder-heading p { max-width:720px; }.program-builder-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:start; gap:18px; }.program-builder-layout>main { display:grid; gap:17px; }.program-builder-card,.program-summary-card,.program-tip-card { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.program-builder-card>header { display:flex; align-items:center; gap:11px; padding:16px 18px; border-bottom:1px solid #edf1f6; }.program-builder-card>header>span { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; color:#4338ca; background:#eef2ff; border-radius:10px; font-size:8px; font-weight:850; }.program-builder-card h3 { margin:0; font-size:13px; }.program-builder-card header p { margin:5px 0 0; color:#8492a6; font-size:8px; }.program-builder-card>header>strong { margin-left:auto; padding:5px 8px; color:#64748b; background:#f1f5f9; border-radius:999px; font-size:7px; }.program-info-grid { display:grid; grid-template-columns:1fr 180px 180px; gap:13px; padding:18px; }.program-info-grid .wide { grid-column:auto; }.program-info-grid .full { grid-column:1/4; }.program-info-grid label { display:block; margin-bottom:6px; color:#64748b; font-size:8px; font-weight:750; }.program-info-grid label small { color:#94a3b8; font-weight:500; }.program-info-grid input,.program-info-grid textarea { width:100%; padding:8px 10px; font-size:9px; }.program-info-grid textarea { resize:vertical; }
.exercise-plan-labels,.exercise-plan-row { display:grid; grid-template-columns:34px minmax(190px,1.4fr) 55px 75px 85px minmax(145px,1fr); align-items:center; gap:8px; }.exercise-plan-labels { padding:10px 18px; color:#94a3b8; background:#fafbfc; border-bottom:1px solid #edf1f6; font-size:6.5px; font-weight:850; letter-spacing:.4px; }.exercise-plan-rows { padding:4px 18px; }.exercise-plan-row { min-height:58px; padding:9px 0; border-bottom:1px solid #edf1f6; }.exercise-plan-row:last-child { border-bottom:0; }.exercise-plan-row>b { display:grid; place-items:center; width:28px; height:28px; color:#4338ca; background:#eef2ff; border-radius:8px; font-size:8px; }.exercise-plan-row input,.exercise-plan-row select { width:100%; min-height:35px; padding:6px 8px; font-size:8px; }.rest-input { position:relative; }.rest-input input { padding-right:27px; }.rest-input span { position:absolute; right:8px; top:12px; color:#94a3b8; font-size:7px; }.exercise-plan-card>footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; color:#8492a6; background:#fafbfc; border-top:1px solid #edf1f6; font-size:7px; }.exercise-plan-card>footer a { color:#2563eb; font-weight:750; }
.program-builder-side { position:sticky; top:88px; display:grid; gap:14px; }.program-summary-card { padding:20px; text-align:center; }.summary-mark { display:grid; place-items:center; width:44px; height:44px; margin:0 auto; color:#047857; background:#ecfdf5; border-radius:13px; font-size:15px; font-weight:850; }.program-summary-card h3 { margin:13px 0 0; font-size:13px; }.program-summary-card>p { margin:6px 0 15px; color:#8492a6; font-size:8px; line-height:1.55; }.program-summary-card>div { display:grid; grid-template-columns:1fr 1fr; margin-bottom:15px; padding:11px 0; background:#f8fafc; border-radius:10px; }.program-summary-card>div>span+span { border-left:1px solid #e2e8f0; }.program-summary-card small,.program-summary-card strong { display:block; }.program-summary-card small { color:#94a3b8; font-size:6px; font-weight:850; }.program-summary-card strong { margin-top:5px; font-size:10px; }.program-summary-card>.btn { margin-top:7px; }.program-tip-card { display:flex; align-items:flex-start; gap:10px; padding:15px; }.program-tip-card>span { display:grid; place-items:center; width:29px; height:29px; flex:0 0 29px; color:#d97706; background:#fffbeb; border-radius:9px; font-size:10px; font-weight:850; }.program-tip-card strong { font-size:9px; }.program-tip-card p { margin:5px 0 0; color:#8492a6; font-size:7.5px; line-height:1.5; }
@media(max-width:1100px){.program-builder-layout{grid-template-columns:1fr}.program-builder-side{position:static;grid-template-columns:1fr 1fr}.program-info-grid{grid-template-columns:1fr 1fr}.program-info-grid .wide,.program-info-grid .full{grid-column:1/3}.exercise-plan-labels,.exercise-plan-row{grid-template-columns:30px minmax(170px,1.2fr) 50px 70px 80px minmax(130px,1fr)}}
@media(max-width:750px){.exercise-plan-labels{display:none}.exercise-plan-row{grid-template-columns:30px 1fr 1fr}.exercise-plan-row select{grid-column:2/4}.exercise-plan-row>input:last-child{grid-column:2/4}.exercise-plan-card>footer{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.program-info-grid{grid-template-columns:1fr}.program-info-grid .wide,.program-info-grid .full{grid-column:auto}.program-builder-side{grid-template-columns:1fr}}

/* Attendance workspace */
.attendance-heading { align-items:flex-end; }.attendance-heading p { max-width:690px; }.attendance-live { display:inline-flex; align-items:center; gap:7px; padding:8px 11px; color:#047857; background:#ecfdf5; border:1px solid #a7f3d0; border-radius:999px; font-size:8px; font-weight:800; }.attendance-live i,.inside-badge i,.attendance-code-result i,.attendance-inside-panel footer i { width:6px; height:6px; background:#10b981; border-radius:50%; box-shadow:0 0 0 3px rgba(16,185,129,.12); }
.attendance-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }.attendance-overview article { display:flex; align-items:center; gap:13px; min-height:96px; padding:17px 18px; background:#fff; border:1px solid var(--v3-border); border-radius:14px; box-shadow:var(--v3-shadow); }.attendance-overview article>span { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:11px; font-size:14px; font-weight:800; }.attendance-overview .blue{color:#2563eb;background:#eff6ff}.attendance-overview .green{color:#059669;background:#ecfdf5}.attendance-overview .violet{color:#7c3aed;background:#f5f3ff}.attendance-overview .amber{color:#d97706;background:#fffbeb}.attendance-overview small,.attendance-overview strong,.attendance-overview p { display:block; }.attendance-overview small { color:#94a3b8; font-size:7px; font-weight:850; letter-spacing:.55px; }.attendance-overview strong { margin-top:5px; color:#0f172a; font-size:22px; line-height:1; }.attendance-overview strong em { color:#64748b; font-size:9px; font-style:normal; font-weight:700; }.attendance-overview p { margin:6px 0 0; color:#8492a6; font-size:8px; }
.attendance-workspace { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:18px; }.attendance-workspace>main { min-width:0; }.attendance-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:18px; }.attendance-action-card,.attendance-history,.attendance-inside-panel { overflow:hidden; background:#fff; border:1px solid var(--v3-border); border-radius:15px; box-shadow:var(--v3-shadow); }.attendance-action-card>header { display:flex; align-items:flex-start; gap:12px; padding:17px 18px 13px; }.attendance-action-card>header>span { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border-radius:11px; font-size:16px; font-weight:800; }.qr-card>header>span { color:#2563eb; background:#eff6ff; }.manual-card>header>span { color:#047857; background:#ecfdf5; }.attendance-action-card header small { color:#94a3b8; font-size:6.5px; font-weight:850; letter-spacing:.9px; }.attendance-action-card h3 { margin:4px 0 0; font-size:13px; }.attendance-action-card header p { margin:5px 0 0; color:#8492a6; font-size:8px; line-height:1.45; }.attendance-action-card form { padding:3px 18px 18px; }.attendance-action-card label { display:block; margin:0 0 5px; color:#64748b; font-size:8px; font-weight:750; }.attendance-action-card label small { color:#94a3b8; font-weight:500; }.attendance-action-card input,.attendance-action-card select { width:100%; min-height:37px; padding:7px 9px; font-size:9px; }.attendance-inline-field { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }.attendance-inline-field .btn { min-width:90px; }.attendance-form-row { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:10px; }.manual-card form>.btn { margin-top:11px; }.btn.dark { color:#fff; background:#0f172a; border-color:#0f172a; }.btn.dark:hover { background:#1e293b; }.attendance-code-result { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 18px 18px; padding:12px 14px; color:#1e3a8a; background:#eff6ff; border:1px dashed #93c5fd; border-radius:10px; }.attendance-code-result small,.attendance-code-result code { display:block; }.attendance-code-result small { font-size:6px; font-weight:850; letter-spacing:.7px; }.attendance-code-result code { margin-top:4px; color:#1d4ed8; font-size:15px; font-weight:850; }.attendance-code-result strong { display:flex; align-items:center; gap:6px; font-size:7px; font-weight:750; }
.attendance-history>header { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; padding:16px 18px; border-bottom:1px solid #edf1f6; }.attendance-history h3 { margin:5px 0 0; font-size:13px; }.attendance-history header p { margin:5px 0 0; color:#8492a6; font-size:8px; }.attendance-filters { display:flex; align-items:center; gap:6px; }.attendance-filters select { width:140px; }.attendance-filters input { width:112px; }.attendance-filters select,.attendance-filters input { min-height:34px; padding:5px 7px; font-size:8px; }.attendance-filters>span { color:#94a3b8; }.attendance-table-wrap { overflow:auto; }.attendance-table { min-width:820px; }.attendance-table th { padding:12px 14px; font-size:7px; }.attendance-table td { padding:12px 14px; font-size:8px; vertical-align:middle; }.attendance-table td>strong,.attendance-table td>small { display:block; }.attendance-table td>small { margin-top:4px; color:#94a3b8; font-size:7px; }.attendance-person { display:flex; align-items:center; gap:9px; }.attendance-person>b { display:grid; place-items:center; width:31px; height:31px; flex:0 0 31px; color:#1d4ed8; background:#eff6ff; border-radius:9px; font-size:9px; }.attendance-person strong,.attendance-person small { display:block; }.attendance-person strong { font-size:9px; }.attendance-person small { margin-top:3px; color:#94a3b8; font-size:6.5px; }.inside-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; color:#047857; background:#ecfdf5; border-radius:999px; font-size:7px; font-weight:800; }.source-badge { display:inline-flex; padding:5px 7px; border-radius:7px; font-size:7px; font-weight:800; }.source-badge.qr { color:#1d4ed8; background:#eff6ff; }.source-badge.manual { color:#7c3aed; background:#f5f3ff; }.attendance-empty { min-height:165px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.attendance-empty>span { display:grid; place-items:center; width:40px; height:40px; color:#2563eb; background:#eff6ff; border-radius:12px; font-size:15px; }.attendance-empty strong { margin-top:11px; font-size:10px; }.attendance-empty p { margin:5px 0 0; color:#94a3b8; font-size:8px; }
.attendance-inside-panel { position:sticky; top:88px; }.attendance-inside-panel>header { display:flex; align-items:center; justify-content:space-between; padding:17px 18px; border-bottom:1px solid #edf1f6; }.attendance-inside-panel h3 { margin:5px 0 0; font-size:13px; }.attendance-inside-panel>header>strong { display:grid; place-items:center; width:32px; height:32px; color:#047857; background:#ecfdf5; border-radius:10px; font-size:13px; }.inside-list { padding:4px 16px; }.inside-list article { display:grid; grid-template-columns:35px minmax(0,1fr) 28px; align-items:center; gap:9px; min-height:64px; border-bottom:1px solid #edf1f6; }.inside-list article:last-child { border-bottom:0; }.inside-list article>span { display:grid; place-items:center; width:34px; height:34px; color:#047857; background:#ecfdf5; border-radius:10px; font-size:9px; font-weight:850; }.inside-list article strong,.inside-list article small { display:block; }.inside-list article strong { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.inside-list article small { margin-top:4px; color:#8492a6; font-size:7px; }.inside-list button { width:27px; height:27px; padding:0; color:#64748b; background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; cursor:pointer; }.inside-list button:hover { color:#fff; background:#ef4444; border-color:#ef4444; }.inside-empty { min-height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.inside-empty>span { display:grid; place-items:center; width:42px; height:42px; color:#059669; background:#ecfdf5; border-radius:13px; }.inside-empty strong { margin-top:12px; font-size:10px; }.inside-empty p { margin:5px 0 0; color:#94a3b8; font-size:8px; }.attendance-inside-panel>footer { padding:11px 16px; background:#fafbfc; border-top:1px solid #edf1f6; }.attendance-inside-panel>footer span { display:flex; align-items:center; gap:7px; color:#8492a6; font-size:7px; }
@media(max-width:1200px){.attendance-workspace{grid-template-columns:1fr}.attendance-inside-panel{position:static}.inside-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.attendance-overview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.attendance-action-grid{grid-template-columns:1fr}.attendance-history>header{align-items:flex-start;flex-direction:column}.attendance-filters{width:100%;flex-wrap:wrap}.attendance-filters select{flex:1}.attendance-overview{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.attendance-overview{grid-template-columns:1fr}.attendance-form-row{grid-template-columns:1fr}.attendance-code-result{align-items:flex-start;flex-direction:column}.inside-list{grid-template-columns:1fr}.attendance-filters input{flex:1}.attendance-heading{align-items:flex-start;flex-direction:column}}

/* Dashboard */
.dashboard-hero { position:relative; min-height:205px; display:flex; align-items:flex-start; justify-content:space-between; gap:30px; margin:0 0 0; padding:38px 40px 76px; overflow:hidden; color:#fff; background:radial-gradient(circle at 86% 18%,rgba(96,165,250,.32),transparent 26%),linear-gradient(125deg,#0f172a 0%,#172554 55%,#1d4ed8 145%); border-radius:22px; box-shadow:0 18px 45px rgba(15,23,42,.14); }
.dashboard-hero:after { content:""; position:absolute; right:-70px; bottom:-150px; width:360px; height:360px; border:1px solid rgba(255,255,255,.09); border-radius:50%; box-shadow:0 0 0 60px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.02); }
.dashboard-hero>div { position:relative; z-index:1; }
.dashboard-hero .eyebrow { color:#93c5fd; font-size:9px; letter-spacing:1.8px; }
.dashboard-hero h2 { margin:10px 0 9px; color:#fff; font-size:34px; line-height:1.1; letter-spacing:-1.1px; }
.dashboard-hero p { max-width:610px; margin:0; color:#cbd5e1; font-size:13px; line-height:1.6; }
.dashboard-hero-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.dashboard-hero .btn.secondary { color:#0f172a; background:#fff; border-color:#fff; }
.today-chip { display:flex; min-width:124px; min-height:47px; flex-direction:column; justify-content:center; padding:0 15px; color:#e2e8f0; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:11px; font-size:11px; backdrop-filter:blur(8px); }
.today-chip small { margin-bottom:3px; color:#93c5fd; font-size:7px; font-weight:800; letter-spacing:1.2px; }
.dashboard-metrics { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:-51px 24px 24px; }
.metric-card { min-width:0; padding:20px 21px; background:#fff; border:1px solid #e2e8f0; border-radius:15px; box-shadow:0 10px 28px rgba(15,23,42,.09); }
.metric-head { display:flex; align-items:center; gap:10px; margin-bottom:15px; }
.metric-head small { color:#64748b; font-size:9px; font-weight:800; letter-spacing:.7px; }
.metric-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; font-size:12px; font-weight:800; }
.metric-icon.blue { color:#2563eb; background:#eff6ff; }.metric-icon.green { color:#059669; background:#ecfdf5; }.metric-icon.violet { color:#7c3aed; background:#f5f3ff; }.metric-icon.red { color:#dc2626; background:#fef2f2; }.metric-icon.amber { color:#d97706; background:#fffbeb; }
.metric-card>strong { display:block; color:#0f172a; font-size:29px; line-height:1; letter-spacing:-.8px; }
.metric-card>strong.metric-text { overflow:hidden; font-size:18px; line-height:1.6; text-overflow:ellipsis; white-space:nowrap; }
.metric-card>p { margin:9px 0 0; color:#8492a6; font-size:10px; }
.dashboard-layout { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(300px,.65fr); gap:22px; }
.empty-dashboard { min-height:240px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px; text-align:center; }
.empty-dashboard>span { display:grid; place-items:center; width:46px; height:46px; margin-bottom:13px; color:#2563eb; background:#eff6ff; border-radius:13px; }
.empty-dashboard strong { font-size:13px; }.empty-dashboard p { margin:7px 0 0; color:#94a3b8; font-size:11px; }
.health-list { padding:7px 20px; }
.health-list>div { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:11px; padding:16px 0; border-bottom:1px solid #edf1f6; }
.health-list>div:last-child { border-bottom:0; }
.service-mark { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; font-size:9px; font-weight:850; }
.service-mark.api { color:#2563eb; background:#eff6ff; }.service-mark.worker { color:#7c3aed; background:#f5f3ff; }.service-mark.mongo { color:#059669; background:#ecfdf5; }
.health-list span strong,.health-list span small { display:block; }.health-list span strong { font-size:11px; }.health-list span small { margin-top:4px; color:#94a3b8; font-size:9px; }
.health-state { padding:5px 8px; border-radius:999px; font-size:8px; }.health-state.online { color:#047857; background:#ecfdf5; }.health-state.offline { color:#b91c1c; background:#fef2f2; }.health-state.neutral { color:#64748b; background:#f1f5f9; }
.quick-access { margin:0 0 24px; }
.quick-access header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:12px; }
.quick-access header h3 { margin:0; font-size:15px; }.quick-access header p { margin:5px 0 0; color:#8492a6; font-size:10px; }
.quick-access>div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.quick-access a { display:grid; grid-template-columns:39px 1fr; grid-template-rows:auto auto; column-gap:12px; padding:15px; color:#334155; background:#fff; border:1px solid var(--v3-border); border-radius:12px; box-shadow:0 2px 8px rgba(15,23,42,.025); }
.quick-access a>span { grid-row:1/3; display:grid; place-items:center; width:39px; height:39px; color:#2563eb; background:#eff6ff; border-radius:10px; font-size:9px; font-weight:800; }
.quick-access a strong { align-self:end; font-size:12px; }.quick-access a small { align-self:start; margin-top:4px; color:#8492a6; font-size:9px; }.quick-access a:hover { border-color:#93c5fd; transform:translateY(-1px); box-shadow:0 8px 18px rgba(37,99,235,.08); }.quick-access a:hover strong { color:#2563eb; }
@media(max-width:1200px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-44px}.dashboard-layout{grid-template-columns:1fr}}
@media(max-width:900px){.quick-access{grid-template-columns:1fr}.quick-access>div{grid-template-columns:repeat(2,1fr)}.quick-access a:nth-child(odd){border-left:0}}
@media(max-width:700px){.dashboard-hero{min-height:0;align-items:stretch;flex-direction:column;padding:28px 22px 68px;border-radius:16px}.dashboard-hero-actions{align-items:stretch;justify-content:flex-start;flex-wrap:wrap}.dashboard-metrics{grid-template-columns:1fr;margin:-42px 12px 22px}.dashboard-hero h2{font-size:27px}.quick-access>div{grid-template-columns:1fr}.quick-access a{padding:13px}.today-chip{flex:1}.dashboard-hero .btn{flex:1}}
