/* パパしゅく2 お子さんの学習のようす（ダッシュボード） v1.1 */
.sl-entry--dashboard{background:linear-gradient(135deg,#eef5ff,#f7f2ff);color:#185ad8;font-weight:800}
.sl-entry--dashboard:hover{background:#e5efff}
.dashboard-shell{--db-blue:#2563eb;--db-green:#16855b;--db-orange:#e57a17;--db-border:#dbe2ea;max-width:1440px;margin:0 auto;padding:18px 20px 84px;color:#202631;font-family:inherit}
.dashboard-loading,.dashboard-page-error{padding:64px 20px;text-align:center;color:#64748b}
.dashboard-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.dashboard-back{width:40px;height:40px;display:inline-grid;place-items:center;flex:0 0 40px;border:1px solid #cbd4dc;border-radius:6px;padding:0;background:#fff;color:#27313f;font:inherit;font-size:1.25rem;cursor:pointer}
.dashboard-retry{margin-top:12px;border:1px solid var(--db-border);background:#fff;border-radius:10px;padding:9px 13px;font:inherit;font-weight:700;cursor:pointer}
.dashboard-title{font-size:clamp(1.25rem,2vw,1.7rem);margin:0;flex:1}
.dashboard-range{display:inline-flex;border:1px solid var(--db-border);border-radius:9px;overflow:hidden;background:#fff}
.dashboard-range button{min-height:38px;padding:7px 18px;border:0;background:#fff;color:#475569;font:inherit;font-weight:800;cursor:pointer}
.dashboard-range button[aria-pressed="true"]{background:var(--db-blue);color:#fff}
.dashboard-section{background:#fff;border:1px solid var(--db-border);border-radius:14px;padding:16px;box-shadow:0 1px 4px rgba(15,23,42,.05);min-width:0}
.dashboard-section h2,.dashboard-section h3{margin:0 0 12px;font-size:1rem}
.dashboard-section h2{font-size:1.15rem}
.dashboard-summary{margin-bottom:12px}
.dashboard-summary-copy{padding:15px 18px;border:1px solid #cfe0ff;border-radius:11px;background:linear-gradient(135deg,#f8fbff,#fff);line-height:1.85}
.dashboard-summary-copy h3{color:#185fd6;font-size:1.06rem;margin-bottom:5px}
.dashboard-summary-copy p{margin:0}
.dashboard-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:12px}
.dashboard-metric{display:flex;gap:12px;align-items:center;border:1px solid var(--db-border);border-radius:11px;padding:13px;background:#fff;min-width:0}
.dashboard-metric-button{position:relative;width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer}.dashboard-metric-button:hover{border-color:#8bb2ff;background:#f7faff}.dashboard-metric-button>span:nth-child(2){display:block;min-width:0}.dashboard-metric-button .dashboard-metric-label,.dashboard-metric-button .dashboard-metric-value{display:block}.dashboard-metric-arrow{position:absolute;right:10px;top:50%;translate:0 -50%;color:var(--db-blue);font-size:1.35rem;font-weight:900}
.dashboard-metric-icon{font-size:1.7rem;color:var(--db-blue)}
.dashboard-metric-label{font-size:.78rem;font-weight:800;color:#475569}
.dashboard-metric-value{font-size:1.6rem;font-weight:900;line-height:1.1;margin-top:3px}
.dashboard-metric-unit{font-size:.82rem;margin-left:3px;color:#475569}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;margin-top:12px}
.dashboard-span-3{grid-column:span 3}.dashboard-span-4{grid-column:span 4}.dashboard-span-5{grid-column:span 5}.dashboard-span-6{grid-column:span 6}.dashboard-span-7{grid-column:span 7}.dashboard-span-12{grid-column:1/-1}
.dashboard-card-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dashboard-card-head h2{flex:1;margin:0}
.dashboard-fid{display:inline-grid;place-items:center;width:27px;height:27px;border:1.5px solid #78a5ff;border-radius:50%;font-size:.7rem;color:#2164df;font-weight:900}
.dashboard-chart{display:flex;align-items:end;gap:8px;min-height:170px;padding:12px 4px 0;border-bottom:1px solid var(--db-border)}
.dashboard-bar-wrap{display:flex;flex:1;min-width:0;height:150px;flex-direction:column;justify-content:end;align-items:center;gap:5px}
.dashboard-bar{width:min(32px,70%);min-height:2px;background:linear-gradient(#6fa0ff,#2563eb);border-radius:6px 6px 0 0}
.dashboard-bar-value{font-size:.72rem;font-weight:800}.dashboard-bar-label{font-size:.68rem;color:#64748b;white-space:nowrap}
.dashboard-line{width:100%;height:170px;overflow:visible}.dashboard-line-grid{stroke:#e5e7eb;stroke-width:1}.dashboard-line-path{fill:none;stroke:#3675eb;stroke-width:3}.dashboard-line-dot{fill:#3675eb}
.dashboard-table-wrap{overflow:auto}.dashboard-table{width:100%;border-collapse:collapse;font-size:.82rem}.dashboard-table th,.dashboard-table td{padding:8px;border-bottom:1px solid #e8edf3;text-align:left;white-space:nowrap}.dashboard-table th{background:#f8fafc;font-weight:800}.dashboard-table a,.dashboard-link-button{color:#155fd7;font-weight:800;text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.dashboard-tags-title{font-weight:900;margin:8px 0;color:var(--db-green)}.dashboard-tags-title.growth{color:var(--db-orange)}
.dashboard-tags{display:grid;gap:6px}.dashboard-tag{border-radius:7px;padding:8px 10px;background:#eff8f3;font-size:.84rem}.dashboard-tag.growth{background:#fff4e5}
.dashboard-growth-list{display:grid;gap:8px}.dashboard-growth-row{border:1px solid #f3c98e;border-radius:9px;background:#fffaf2;padding:10px}.dashboard-growth-row dl{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 0}.dashboard-growth-row dl div{min-width:0}.dashboard-growth-row dt{font-size:.68rem;color:#64748b}.dashboard-growth-row dd{margin:2px 0 0;font-size:.8rem;font-weight:900}
.dashboard-event,.dashboard-support{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4}.dashboard-event:last-child,.dashboard-support:last-child{border-bottom:0}.dashboard-event-icon,.dashboard-support-icon{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#e9f7ef}.dashboard-event p,.dashboard-support p{margin:0;font-size:.86rem;line-height:1.55}
.dashboard-report-copy{font-size:.86rem;line-height:1.65;color:#475569}.dashboard-primary{display:block;width:100%;border:0;border-radius:8px;padding:12px 14px;background:var(--db-blue);color:#fff;font:inherit;font-weight:900;cursor:pointer}.dashboard-primary:disabled{opacity:.6;cursor:wait}.dashboard-report-result{white-space:pre-wrap;margin-top:12px;padding:12px;border-radius:8px;background:#f5f8ff;font-size:.86rem;line-height:1.7}
.dashboard-ai-explanation{margin-top:14px;padding:14px 16px;border:1px solid #bfd2fb;border-left:4px solid var(--db-blue);border-radius:10px;background:#f2f6ff;color:#344054}.dashboard-ai-explanation-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.dashboard-ai-explanation-icon{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:#dce8ff;color:#2457c5;font-weight:900}.dashboard-ai-explanation h4{margin:0;color:#1f3f7f;font-size:.92rem}.dashboard-ai-explanation p{margin:8px 0 0;font-size:.8rem;line-height:1.75}.dashboard-ai-explanation p:first-of-type{margin-top:0}
.dashboard-detailed-report>h3{margin:20px 0 9px;padding-top:14px;border-top:1px solid #e7ebf0;font-size:1rem}.dashboard-deepen-note{margin:0 0 10px;padding:10px;border-radius:8px;background:#eef8f3;color:#22664e}.dashboard-recommendations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dashboard-recommendation{display:flex;gap:10px;border:1px solid #d8c7f1;border-radius:10px;background:#faf7ff;padding:12px}.dashboard-recommendation-rank{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#7c3aed;color:#fff;font-weight:900}.dashboard-recommendation-body{min-width:0}.dashboard-recommendation h4{margin:2px 0 4px;font-size:.9rem}.dashboard-recommendation p{margin:0 0 9px;color:#596273;font-size:.78rem;line-height:1.55}.dashboard-unit-start{min-height:36px;border:0;border-radius:7px;background:#2467df;color:#fff;padding:7px 11px;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer}.dashboard-history-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.dashboard-history-summary div{border-radius:8px;background:#f5f7fa;padding:10px}.dashboard-history-summary dt{font-size:.72rem;color:#64748b}.dashboard-history-summary dd{margin:3px 0 0;font-size:1.05rem;font-weight:900}
.dashboard-more{display:block;margin:12px auto 0;border:0;background:none;color:#1763df;font:inherit;font-weight:900;cursor:pointer}
.dashboard-empty,.dashboard-error{padding:24px 10px;text-align:center;color:#64748b}.dashboard-error{color:#b42318}.dashboard-footnote{margin-top:14px;padding:10px 14px;border:1px solid #cfe0ff;border-radius:9px;background:#f7fbff;color:#475569;font-size:.8rem}
.dashboard-a11y-details{margin-top:10px;font-size:.78rem;color:#475569}.dashboard-a11y-details summary{cursor:pointer;font-weight:800}
.dashboard-shell :focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
@media(max-width:1050px){.dashboard-metrics{grid-template-columns:repeat(3,1fr)}.dashboard-span-3,.dashboard-span-4,.dashboard-span-5,.dashboard-span-6,.dashboard-span-7{grid-column:span 6}}
@media(max-width:640px){.dashboard-shell{padding:12px 10px 84px}.dashboard-toolbar{flex-wrap:wrap}.dashboard-title{order:1;flex-basis:calc(100% - 70px)}.dashboard-back{order:0}.dashboard-range{order:2;width:100%}.dashboard-range button{flex:1}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-metric{padding:10px;gap:8px}.dashboard-metric-value{font-size:1.35rem}.dashboard-grid{display:block}.dashboard-grid>.dashboard-section{margin-top:10px}.dashboard-section{padding:13px}.dashboard-table{font-size:.75rem}.dashboard-chart{gap:3px}.dashboard-bar-label{font-size:.6rem}.dashboard-summary-copy{padding:13px;line-height:1.7}.dashboard-recommendations{grid-template-columns:1fr}.dashboard-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.dashboard-metrics{grid-template-columns:1fr}.dashboard-metric:last-child{grid-column:auto}.dashboard-table th,.dashboard-table td{padding:7px 5px}.dashboard-shell{padding-left:7px;padding-right:7px}}
@media(prefers-reduced-motion:reduce){.dashboard-shell *{scroll-behavior:auto!important;transition:none!important}}
