/* ============================================================
   PIM X — EIOS | dashboard.css | Dashboard | v4.2
   Bug 5 Fix v2: sidebar-nav min-height:0 agar logout tampil
   ============================================================ */

/* ── LAYOUT ─────────────────────────────────────────────────── */
.page-dashboard { background:var(--bg-page); min-height:100vh; }
.dashboard-wrapper { display:flex; min-height:100vh; }
.dashboard-main { flex:1; min-width:0; padding:1.75rem; margin-left:240px; transition:margin-left .3s ease; }

/* ── SIDEBAR ────────────────────────────────────────────────── */
.sidebar {
    width:240px; height:100vh; background:var(--bg-white);
    position:fixed; top:0; left:0; z-index:var(--z-sidebar);
    display:flex; flex-direction:column;
    overflow:hidden;                        /* sidebar wrapper tidak scroll */
    border-right:1px solid var(--border);
    transition:transform .3s ease; box-shadow:var(--shadow-sm);
}
.sidebar::-webkit-scrollbar { width:4px; }
.sidebar::-webkit-scrollbar-track { background:transparent; }
.sidebar::-webkit-scrollbar-thumb { background:var(--border); border-radius:2px; }
.sidebar-brand { display:flex; align-items:center; justify-content:space-between; padding:1.25rem 1.25rem 1rem; border-bottom:1px solid var(--border); flex-shrink:0; }
.sidebar-brand-link { display:flex; align-items:center; gap:.5rem; text-decoration:none; }
.sidebar-brand-logo { height:28px; width:auto; }
.sidebar-brand-text { display:flex; flex-direction:column; }
.sidebar-brand-name { font-size:1rem; font-weight:800; color:var(--navy); letter-spacing:.08em; line-height:1; }
.sidebar-brand-sub  { font-size:.6rem; color:var(--text-light); letter-spacing:.12em; text-transform:uppercase; margin-top:.15rem; }
.sidebar-close { color:var(--text-light); font-size:1rem; padding:.25rem; display:none; cursor:pointer; transition:var(--transition); background:none; border:none; line-height:1; }
.sidebar-close:hover { color:var(--red); }
.sidebar-user { display:flex; align-items:center; gap:.75rem; padding:1rem 1.25rem; border-bottom:1px solid var(--border); flex-shrink:0; }
.sidebar-user-avatar { width:36px; height:36px; min-width:36px; background:var(--gold); color:var(--navy); border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.875rem; }
.sidebar-user-info { min-width:0; }
.sidebar-user-name { font-size:.85rem; font-weight:600; color:var(--text-primary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sidebar-user-role { font-size:.65rem; color:var(--gold-dark); font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
/* Bug 5 Fix v2: sidebar-nav flex:1 min-height:0 agar bisa scroll dan logout tampil */
.sidebar-nav {
    flex:1;
    min-height:0;          /* penting! tanpa ini flex child tidak bisa scroll */
    padding:.75rem 0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
}
.sidebar-menu { list-style:none; }
.sidebar-section-label { padding:.875rem 1.25rem .3rem; font-size:10px; font-weight:600; color:var(--text-light); letter-spacing:.12em; text-transform:uppercase; }
.sidebar-item { margin:1px .625rem; }
.sidebar-link { display:flex; align-items:center; gap:.625rem; padding:.5625rem .875rem; color:var(--text-muted); border-radius:var(--radius-md); font-size:.85rem; font-weight:400; transition:var(--transition); text-decoration:none; white-space:nowrap; }
.sidebar-link:hover { background:var(--bg-page); color:var(--text-dark); }
.sidebar-link.active { background:var(--gold-light); color:var(--navy); font-weight:500; border-left:3px solid var(--gold); padding-left:calc(.875rem - 3px); }
.sidebar-icon { font-size:1rem; flex-shrink:0; width:1.25rem; text-align:center; line-height:1; }
.sidebar-text { flex:1; }
.sidebar-logout { color:var(--red)!important; }
.sidebar-logout:hover { background:#FEF2F2!important; color:var(--red)!important; }
.sidebar-divider-item { height:1px; background:var(--border); margin:.625rem 1.25rem; }
.sidebar-viewer-note { padding:.75rem 1.25rem; font-size:.72rem; color:var(--text-light); text-align:center; border-top:1px solid var(--border); flex-shrink:0; }
.sidebar-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.3); z-index:var(--z-overlay); }
.sidebar-overlay.overlay-show { display:block; }
.sidebar-toggle { display:none; position:fixed; top:1rem; left:1rem; z-index:calc(var(--z-sidebar) + 1); background:var(--bg-white); color:var(--navy); border:1px solid var(--border); border-radius:var(--radius-md); padding:.5rem .625rem; font-size:1.1rem; cursor:pointer; transition:var(--transition); box-shadow:var(--shadow-md); align-items:center; justify-content:center; line-height:1; }
.sidebar-toggle:hover { background:var(--gold); color:var(--navy); border-color:var(--gold); }

/* ── TOPBAR ─────────────────────────────────────────────────── */
.dashboard-topbar { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:1.75rem; gap:1rem; flex-wrap:wrap; }
.topbar-left  { flex:1; min-width:0; }
.topbar-right { display:flex; align-items:center; gap:.625rem; flex-wrap:wrap; flex-shrink:0; }
.dashboard-title    { font-size:1.375rem; font-weight:700; color:var(--text-primary); line-height:1.25; display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.dashboard-subtitle { font-size:.8125rem; color:var(--text-muted); margin-top:.25rem; }

/* ── SECTIONS ───────────────────────────────────────────────── */
.dashboard-section { background:var(--bg-white); border-radius:var(--radius-lg); padding:1.5rem; margin-bottom:1.25rem; border:1px solid var(--border); box-shadow:var(--shadow-xs); }
.dashboard-section-title { font-size:.9rem; font-weight:600; color:var(--text-dark); margin-bottom:1.25rem; padding-bottom:.75rem; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:.5rem; }

/* ── STAT CARDS ─────────────────────────────────────────────── */
.stats-grid   { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; }
.stats-grid-2 { grid-template-columns:repeat(2,1fr); }
.stats-grid-3 { grid-template-columns:repeat(3,1fr); }
.stats-grid-4 { grid-template-columns:repeat(4,1fr); }
.stats-grid-5 { grid-template-columns:repeat(5,1fr); }
.stat-card { background:var(--bg-white); border-radius:var(--radius-lg); padding:1.25rem; border:1px solid var(--border); display:flex; gap:1rem; align-items:flex-start; transition:all .3s ease; position:relative; overflow:hidden; }
.stat-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--border); }
.stat-card:hover { border-color:var(--border-md); box-shadow:var(--shadow-md); transform:translateY(-1px); }
.stat-icon  { font-size:1.25rem; flex-shrink:0; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:var(--radius-md); background:var(--bg-surface); }
.stat-body  { flex:1; min-width:0; }
.stat-label { font-size:11px; font-weight:500; color:var(--text-light); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.375rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.stat-value { font-size:1.375rem; font-weight:600; color:var(--text-primary); line-height:1.2; }
.stat-sub   { font-size:.72rem; color:var(--text-light); margin-top:.25rem; line-height:1.4; }
.stat-positive::before { background:var(--emerald); }
.stat-negative::before { background:var(--red); }
.stat-warning::before  { background:var(--orange); }
.stat-danger::before   { background:var(--red); }
.stat-info::before     { background:var(--blue); }
.stat-gold::before     { background:var(--gold); }
.stat-neutral::before  { background:var(--border-md); }
.stat-positive .stat-icon { background:#F0FDF4; }
.stat-negative .stat-icon { background:#FEF2F2; }
.stat-warning .stat-icon  { background:#FFF7ED; }
.stat-danger .stat-icon   { background:#FEF2F2; }
.stat-info .stat-icon     { background:#EFF6FF; }
.stat-gold .stat-icon     { background:var(--gold-light); }
.stat-positive .stat-value { color:#065F46; }
.stat-negative .stat-value { color:#991B1B; }
.stat-warning .stat-value  { color:#9A3412; }
.stat-danger .stat-value   { color:#991B1B; }
.stat-info .stat-value     { color:#1E40AF; }
.stat-gold .stat-value     { color:var(--gold-dark); }

/* ── VENTURE CARDS ──────────────────────────────────────────── */
.venture-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.25rem; }
.venture-card { background:var(--bg-white); border-radius:var(--radius-lg); border:1px solid var(--border); padding:1.5rem; transition:all .3s ease; display:flex; flex-direction:column; gap:1rem; }
.venture-card:hover { border-color:var(--gold); box-shadow:var(--shadow-md); transform:translateY(-2px); }
.venture-card-top { display:flex; justify-content:space-between; align-items:flex-start; gap:.75rem; }
.venture-card-name { font-size:1rem; font-weight:700; color:var(--text-primary); margin-top:.375rem; line-height:1.3; }
.venture-card-meta { font-size:.78rem; color:var(--text-muted); margin-top:.25rem; }
.venture-card-scores { display:flex; gap:.5rem; flex-wrap:wrap; }
.score-mini { display:inline-flex; padding:.15rem .5rem; background:var(--bg-surface); color:var(--text-dark); border-radius:4px; font-size:.7rem; font-weight:700; }
.score-mini.vs { background:#EFF6FF; color:#1E40AF; }
.score-mini.rs { background:#FEF2F2; color:#991B1B; }
.score-mini.es { background:#F0FDF4; color:#065F46; }
.venture-card-footer { display:flex; justify-content:space-between; align-items:center; gap:.5rem; flex-wrap:wrap; padding-top:.75rem; border-top:1px solid var(--border); }

/* ── SCORING ────────────────────────────────────────────────── */
.scoring-preview { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; background:var(--navy); border-radius:var(--radius-lg); padding:1.5rem; margin-bottom:1.5rem; }
.scoring-preview-label { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.45); margin-bottom:.375rem; }
.scoring-preview-value { font-size:1.5rem; font-weight:700; color:rgba(255,255,255,.9); }
.preview-go           { color:#34D399!important; }
.preview-conditional  { color:#FCD34D!important; }
.preview-nogo         { color:#F87171!important; }
.score-input-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:1rem; margin-top:.75rem; }
.score-input-item { display:flex; flex-direction:column; gap:.35rem; }
.score-input-label { font-size:11px; font-weight:500; color:var(--text-muted); text-transform:uppercase; letter-spacing:.06em; }
.score-detail-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1rem; }
.score-detail-card { background:var(--bg-page); border-radius:var(--radius-md); padding:1rem; border:1px solid var(--border); text-align:center; }
.score-detail-label { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--text-light); margin-bottom:.375rem; }
.score-detail-value { font-size:1.5rem; font-weight:700; color:var(--text-primary); line-height:1.2; }
.score-detail-value.vs { color:var(--blue); }
.score-detail-value.rs { color:var(--red); }
.score-detail-value.es { color:var(--emerald); }

/* ── DNA ────────────────────────────────────────────────────── */
.dna-cards-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1rem; }
.dna-item-card { padding:1.125rem; border-radius:var(--radius-md); border:1px solid var(--border); background:var(--bg-white); transition:var(--transition); }
.dna-item-card.dna-filled { border-color:rgba(16,185,129,.25); background:#FAFFFE; }
.dna-item-card.dna-empty  { opacity:.65; }
.dna-item-header { display:flex; align-items:center; gap:.5rem; margin-bottom:.625rem; }
.dna-item-icon  { font-size:1rem; }
.dna-item-label { font-size:.8rem; font-weight:600; color:var(--text-dark); flex:1; }
.dna-item-dot-ok{ color:var(--emerald); font-size:.875rem; }
.dna-item-dot-no{ color:var(--text-light); font-size:.875rem; }
.dna-item-value { font-size:.82rem; color:var(--text-muted); line-height:1.5; }
.dna-progress-card { background:var(--gold-light); border:1px solid rgba(245,158,11,.2); border-radius:var(--radius-md); padding:1rem 1.25rem; margin-bottom:1.25rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.dna-progress-label { font-size:.875rem; font-weight:600; color:var(--navy); flex:1; }
.dna-progress-pct   { font-size:1.25rem; font-weight:700; color:var(--gold-dark); }
.dna-form-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.25rem; }
.dna-form-card { border:1px solid var(--border); border-radius:var(--radius-md); padding:1.125rem; background:var(--bg-white); transition:var(--transition); }
.dna-form-card:focus-within { border-color:var(--gold); box-shadow:0 0 0 3px rgba(245,158,11,.08); }
.dna-form-header { display:flex; align-items:center; gap:.5rem; margin-bottom:.75rem; }
.dna-form-icon  { font-size:1rem; }
.dna-form-label { font-size:.8rem; font-weight:600; color:var(--text-dark); flex:1; }

/* ── MEETING & TASK ─────────────────────────────────────────── */
.meeting-list { display:flex; flex-direction:column; gap:1rem; }
.meeting-card { background:var(--bg-white); border-radius:var(--radius-lg); border:1px solid var(--border); padding:1.25rem; transition:all .3s ease; }
.meeting-card:hover { border-color:var(--gold); box-shadow:var(--shadow-sm); }
.meeting-card-header { display:flex; gap:1.25rem; flex-wrap:wrap; }
.meeting-card-date { display:flex; flex-direction:column; align-items:center; min-width:52px; padding:.625rem .75rem; background:var(--navy); border-radius:var(--radius-md); color:#fff; flex-shrink:0; }
.meeting-date-day   { font-size:1.375rem; font-weight:700; color:var(--gold); line-height:1; }
.meeting-date-month { font-size:.6rem; text-transform:uppercase; letter-spacing:.1em; opacity:.6; }
.meeting-date-year  { font-size:.6rem; opacity:.4; }
.meeting-card-info    { flex:1; min-width:0; }
.meeting-card-title   { font-size:.95rem; font-weight:700; color:var(--text-primary); margin-bottom:.3rem; }
.meeting-card-summary { font-size:.82rem; color:var(--text-muted); line-height:1.5; margin-bottom:.3rem; }
.meeting-card-actions { display:flex; gap:.5rem; align-items:flex-start; flex-shrink:0; }
.meeting-task-progress { display:flex; align-items:center; gap:.75rem; margin-top:.875rem; padding-top:.875rem; border-top:1px solid var(--border); flex-wrap:wrap; }
.meeting-task-label { font-size:.78rem; color:var(--text-muted); white-space:nowrap; }
.meeting-task-pct   { font-size:.78rem; font-weight:600; color:var(--text-dark); white-space:nowrap; }
.meeting-task-progress .progress-bar-wrap { flex:1; min-width:80px; }
.meeting-summary-body { background:var(--bg-page); border-left:3px solid var(--gold); border-radius:0 var(--radius-md) var(--radius-md) 0; padding:1rem 1.25rem; font-size:.875rem; line-height:1.7; color:var(--text-primary); }
.task-progress-overview { background:var(--bg-page); border-radius:var(--radius-md); padding:1rem 1.25rem; margin-bottom:1.25rem; border:1px solid var(--border); }
.task-progress-stats { display:flex; gap:1.5rem; flex-wrap:wrap; margin-bottom:.75rem; }
.task-stat        { font-size:.875rem; color:var(--text-muted); }
.task-stat-danger { color:var(--red); font-weight:600; }

/* ── INTERNAL PROGRESS ──────────────────────────────────────── */
.division-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1rem; }
.division-card { background:var(--bg-white); border-radius:var(--radius-md); border:1px solid var(--border); padding:1.125rem; transition:all .3s ease; }
.division-card:hover { border-color:var(--gold); box-shadow:var(--shadow-sm); }
.division-card-warning { border-color:rgba(239,68,68,.2); }
.division-card-header  { display:flex; justify-content:space-between; align-items:flex-start; gap:.5rem; margin-bottom:.75rem; }
.division-name         { font-size:.875rem; font-weight:700; color:var(--text-dark); }
.division-card-footer  { display:flex; justify-content:space-between; align-items:center; margin-top:.5rem; }
.division-pct          { font-size:.875rem; font-weight:700; color:var(--gold-dark); }
.division-filter-link  { font-size:.72rem; color:var(--gold-dark); display:block; margin-top:.625rem; }
.division-filter-link:hover { color:var(--gold); }

/* ── MILESTONE TIMELINE ─────────────────────────────────────── */
.milestone-timeline { position:relative; padding-left:2rem; }
.milestone-timeline::before { content:''; position:absolute; left:.5rem; top:0; bottom:0; width:2px; background:var(--border); }
.milestone-item { position:relative; margin-bottom:1.25rem; }
.milestone-dot  { position:absolute; left:-1.625rem; top:.875rem; width:12px; height:12px; border-radius:50%; background:var(--border-md); border:2px solid var(--bg-white); box-shadow:0 0 0 2px var(--border); }
.milestone-completed .milestone-dot { background:var(--emerald); box-shadow:0 0 0 2px rgba(16,185,129,.15); }
.milestone-in_progress .milestone-dot { background:var(--gold); box-shadow:0 0 0 2px rgba(245,158,11,.15); }
.milestone-delayed .milestone-dot     { background:var(--red); box-shadow:0 0 0 2px rgba(239,68,68,.15); }
.milestone-content { background:var(--bg-white); border-radius:var(--radius-md); border:1px solid var(--border); padding:1rem 1.25rem; transition:var(--transition); }
.milestone-content:hover { border-color:var(--gold); }
.milestone-header { display:flex; justify-content:space-between; align-items:center; gap:.75rem; margin-bottom:.5rem; flex-wrap:wrap; }
.milestone-title { font-size:.9rem; font-weight:600; color:var(--text-primary); }
.milestone-meta  { display:flex; gap:1rem; font-size:.78rem; color:var(--text-muted); flex-wrap:wrap; }

/* ── LOGIN ──────────────────────────────────────────────────── */
.page-login { min-height:100vh; background:var(--bg-page); display:flex; align-items:center; justify-content:center; }
.login-wrapper { display:flex; min-height:100vh; width:100%; }
.login-branding { flex:1; background:var(--navy); display:flex; align-items:center; justify-content:center; padding:3rem 2.5rem; position:relative; overflow:hidden; }
.login-branding::before { content:''; position:absolute; width:400px; height:400px; border-radius:50%; background:rgba(245,158,11,.06); top:-150px; right:-100px; }
.login-branding::after  { content:''; position:absolute; width:250px; height:250px; border-radius:50%; background:rgba(245,158,11,.04); bottom:-80px; left:-60px; }
.login-branding-inner { position:relative; z-index:1; text-align:center; max-width:380px; }
.login-brand-logo { max-width:200px; margin:0 auto 1.75rem; }
.login-brand-divider { height:1px; background:rgba(255,255,255,.1); margin:1.25rem 0; }
.login-domain-title { font-size:.65rem; font-weight:600; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.3); margin-bottom:.875rem; }
.login-domain-list { list-style:none; text-align:left; display:inline-block; }
.login-domain-list li { font-size:.8rem; color:rgba(255,255,255,.4); padding:.3rem 0; border-bottom:1px solid rgba(255,255,255,.05); display:flex; align-items:center; gap:.5rem; }
.login-domain-list li:last-child { border-bottom:none; }
.login-domain-list li::before { content:'◆'; color:rgba(245,158,11,.4); font-size:.5rem; flex-shrink:0; }
.login-form-panel { width:460px; flex-shrink:0; display:flex; align-items:center; justify-content:center; padding:2.5rem; background:var(--bg-white); border-left:1px solid var(--border); }
.login-form-inner  { width:100%; max-width:360px; }
.login-form-header { margin-bottom:2rem; }
.login-form-title  { font-size:1.375rem; font-weight:700; color:var(--text-primary); margin-bottom:.375rem; }
.login-form-subtitle { font-size:.875rem; color:var(--text-muted); }
.btn-login { width:100%; padding:.75rem; background:var(--gold); color:var(--navy); font-weight:700; font-size:.95rem; border:none; border-radius:var(--radius-md); cursor:pointer; transition:var(--transition); position:relative; overflow:hidden; }
.btn-login::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.05) 100%); pointer-events:none; }
.btn-login:hover:not(:disabled) { background:var(--gold-dark); color:#fff; transform:translateY(-1px); box-shadow:var(--shadow-gold); }
.btn-login:disabled { opacity:.65; cursor:not-allowed; }
.login-form-footer { display:flex; justify-content:space-between; align-items:center; margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--border); flex-wrap:wrap; gap:.75rem; }
.login-back-link { font-size:.82rem; color:var(--text-muted); }
.login-back-link:hover { color:var(--gold); }
.login-lang { display:flex; align-items:center; gap:.375rem; font-size:.82rem; }
.lang-active { color:var(--gold); font-weight:600; }

/* ── FOOTER DASHBOARD ───────────────────────────────────────── */
.footer-dashboard { background:var(--bg-white); border-top:1px solid var(--border); padding:1rem 1.75rem; margin-left:240px; transition:margin-left .3s ease; }
.footer-dashboard-inner { display:flex; justify-content:space-between; align-items:center; font-size:.78rem; color:var(--text-light); }
.footer-version { font-size:.72rem; color:var(--border-md); font-weight:600; }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width:1024px) {
    .stats-grid-4 { grid-template-columns:repeat(2,1fr); }
    .stats-grid-5 { grid-template-columns:repeat(3,1fr); }
    .scoring-preview { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
    .sidebar { transform:translateX(-100%); }
    .sidebar.sidebar-open { transform:translateX(0); }
    .sidebar-close  { display:flex; }
    .sidebar-toggle { display:flex; }
    .dashboard-main   { margin-left:0; padding:1rem; padding-top:4rem; }
    .footer-dashboard { margin-left:0; }
    .login-wrapper    { flex-direction:column; }
    .login-branding   { display:none; }
    .login-form-panel { width:100%; padding:2rem 1.5rem; border-left:none; }
    .stats-grid-3 { grid-template-columns:repeat(2,1fr); }
    .stats-grid-4 { grid-template-columns:repeat(2,1fr); }
    .stats-grid-5 { grid-template-columns:repeat(2,1fr); }
    .dna-cards-grid  { grid-template-columns:1fr; }
    .dna-form-grid   { grid-template-columns:1fr; }
    .score-input-grid{ grid-template-columns:repeat(2,1fr); }
    .scoring-preview { grid-template-columns:repeat(2,1fr); }
    .division-grid   { grid-template-columns:repeat(2,1fr); }
    .venture-grid    { grid-template-columns:1fr; }
    .dashboard-topbar{ flex-direction:column; align-items:flex-start; }
    .topbar-right    { width:100%; justify-content:flex-end; }
    .meeting-card-header { flex-direction:column; }
}
@media (max-width:480px) {
    .stats-grid-3,.stats-grid-4,.stats-grid-5 { grid-template-columns:1fr; }
    .scoring-preview { grid-template-columns:1fr; }
    .score-input-grid{ grid-template-columns:1fr; }
    .division-grid   { grid-template-columns:1fr; }
    .dashboard-main  { padding:.875rem; padding-top:3.5rem; }
    .dashboard-section { padding:1.125rem; }
    .login-form-panel  { padding:1.5rem 1rem; }
}