#page-container,#main-container{background:var(--ff-bg, #f5f6f8)}.dash-hero{background:var(--ff-bg-tool);border-bottom:1px solid var(--ff-bg-tool-border);width:100%}.dash-hero__body{width:100%;padding:20px 32px 22px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.dash-hero__breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:0 4px;padding:0;margin:0 0 8px;font-size:.775rem}.dash-hero__breadcrumb li{color:var(--ff-text-sub)}.dash-hero__breadcrumb li+li:before{content:"›";margin-right:4px;color:var(--ff-text-muted)}.dash-hero__breadcrumb li:last-child{color:var(--ff-blue, #00A6E8);font-weight:500}.dash-hero__breadcrumb a{color:var(--ff-text-sub);text-decoration:none}.dash-hero__breadcrumb a:hover{color:var(--ff-blue)}.dash-hero__title{font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:700;color:var(--ff-text, #1a1f2e);margin:0 0 4px;line-height:1.2}.dash-hero__sub{font-size:.88rem;color:var(--ff-text-sub, #6b7280);margin:0;line-height:1.45}.dash-hero__meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.dash-hero__badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:var(--ff-type-label);font-weight:600;color:var(--ff-blue-dark);background:var(--ff-blue-pale);border:1px solid rgba(0,166,232,.22);border-radius:var(--ff-radius-pill);white-space:nowrap}.dash-hero__badge--neutral{color:var(--ff-text-sub);background:var(--ff-white);border-color:var(--ff-border)}@media(max-width:768px){.dash-hero__body{padding:16px 16px 18px;flex-direction:column}.dash-hero__meta{align-items:flex-start}}.dash-page{width:100%;max-width:1700px;margin:0 auto;padding:24px 32px 56px;display:flex;flex-direction:column;gap:20px}@media(max-width:1100px){.dash-page{padding:18px 18px 40px}}@media(max-width:768px){.dash-page{padding:12px 12px 32px}}.dash-kpi-strip{display:grid;gap:14px;grid-template-columns:repeat(var(--dash-kpi-cols, 4),1fr)}@media(max-width:900px){.dash-kpi-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.dash-kpi-strip{grid-template-columns:1fr}}.dash-kpi{background:#fff;border:1px solid var(--ff-border, #e3e6ec);border-radius:var(--ff-radius-lg, 12px);padding:16px 18px 14px;display:flex;align-items:flex-start;gap:14px;box-shadow:var(--ff-shadow, 0 1px 4px rgba(0,0,0,.07));position:relative;overflow:hidden}.dash-kpi__bar{position:absolute;top:0;left:0;width:100%;height:3px;border-radius:var(--ff-radius-lg) var(--ff-radius-lg) 0 0}.dash-kpi__bar--blue{background:var(--ff-blue, #00A6E8)}.dash-kpi__bar--green{background:var(--ff-green, #22c55e)}.dash-kpi__bar--teal{background:var(--ff-teal, #14b8a6)}.dash-kpi__bar--yellow{background:var(--ff-yellow, #eab308)}.dash-kpi__bar--purple{background:var(--ff-purple)}.dash-kpi__icon{width:40px;height:40px;min-width:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-left:auto;flex-shrink:0}.dash-kpi__icon--blue{background:var(--ff-blue-pale);color:var(--ff-blue)}.dash-kpi__icon--green{background:var(--ff-green-pale);color:var(--ff-green-dark)}.dash-kpi__icon--teal{background:var(--ff-teal-pale);color:var(--ff-teal)}.dash-kpi__icon--yellow{background:var(--ff-yellow-pale);color:var(--ff-yellow)}.dash-kpi__icon--purple{background:var(--ff-purple-pale);color:var(--ff-purple)}.dash-kpi__content{flex:1;min-width:0;padding-top:6px}.dash-kpi__label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ff-text-muted, #9ca3af);margin-bottom:4px;line-height:1.3}.dash-kpi__value{font-size:clamp(1.4rem,2.5vw,1.75rem);font-weight:700;color:var(--ff-text, #1a1f2e);line-height:1;letter-spacing:-.02em}.dash-kpi__delta{display:inline-flex;align-items:center;gap:2px;font-size:.72rem;font-weight:600;margin-top:5px}.dash-kpi__delta--up{color:var(--ff-green, #22c55e)}.dash-kpi__delta--down{color:var(--ff-red, #ef4444)}.dash-kpi__sub{font-size:.7rem;color:var(--ff-text-muted, #9ca3af);margin-top:3px;display:block;line-height:1.35}.dash-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:20px;align-items:start}@media(max-width:1100px){.dash-grid{grid-template-columns:1fr 1fr}.dash-grid__portal{order:-1;grid-column:span 2}}@media(max-width:700px){.dash-grid{grid-template-columns:1fr}.dash-grid__portal{grid-column:span 1}}.dash-chart-col{display:flex;flex-direction:column;gap:16px}.dash-card{background:#fff;border:1px solid var(--ff-border, #e3e6ec);border-radius:var(--ff-radius-lg, 12px);overflow:hidden;box-shadow:var(--ff-shadow, 0 1px 4px rgba(0,0,0,.07))}.dash-card__header{padding:14px 18px 0;display:flex;align-items:center;justify-content:space-between;gap:8px}.dash-card__title{font-size:.82rem;font-weight:700;color:var(--ff-text, #1a1f2e);margin:0;line-height:1.3;letter-spacing:-.01em}.dash-card__meta{font-size:.68rem;color:var(--ff-text-muted, #9ca3af);white-space:nowrap}.dash-card__body{padding:12px 18px 18px}.dash-chart-wrap{padding:10px 14px 14px;height:200px;position:relative}.dash-chart-wrap--tall{height:240px}.dash-chart-wrap--sm{height:160px}.dash-portal__intro{padding:20px 22px 16px;border-bottom:1px solid var(--ff-border-light, #eef0f4)}.dash-portal__intro h2{font-size:1.1rem;font-weight:700;color:var(--ff-text);margin:0 0 8px}.dash-portal__intro p{font-size:.85rem;color:var(--ff-text-sub, #6b7280);line-height:1.55;margin:0}.dash-portal__sbi{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:.68rem;font-weight:700;color:var(--ff-blue-dark);background:var(--ff-blue-pale, #e8f0fd);border-radius:var(--ff-radius-pill);margin-bottom:8px}.dash-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ff-border-light, #eef0f4)}.dash-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 12px 16px;background:#fff;text-decoration:none!important;color:var(--ff-text, #1a1f2e);text-align:center;transition:background var(--ff-trans, .18s ease),color var(--ff-trans);cursor:pointer}.dash-action:hover{background:var(--ff-blue-pale);color:var(--ff-blue);text-decoration:none!important}.dash-action__icon{width:44px;height:44px;border-radius:12px;background:var(--ff-blue-pale, #e8f0fd);color:var(--ff-blue, #00A6E8);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;transition:background var(--ff-trans),color var(--ff-trans),transform var(--ff-trans)}.dash-action:hover .dash-action__icon{background:var(--ff-blue, #00A6E8);color:#fff;transform:scale(1.06)}.dash-action__icon--teal{background:var(--ff-teal-pale);color:var(--ff-teal)}.dash-action__icon--green{background:var(--ff-green-pale);color:var(--ff-green-dark)}.dash-action__icon--yellow{background:var(--ff-yellow-pale);color:var(--ff-yellow)}.dash-action__icon--purple{background:var(--ff-purple-pale);color:var(--ff-purple)}.dash-action__icon--red{background:var(--ff-red-pale);color:var(--ff-red)}.dash-action:hover .dash-action__icon--teal{background:var(--ff-teal);color:#fff}.dash-action:hover .dash-action__icon--green{background:var(--ff-green);color:#fff}.dash-action:hover .dash-action__icon--yellow{background:var(--ff-yellow);color:#fff}.dash-action:hover .dash-action__icon--purple{background:var(--ff-purple);color:#fff}.dash-action:hover .dash-action__icon--red{background:var(--ff-red);color:#fff}.dash-action__label{font-size:.75rem;font-weight:600;line-height:1.3;color:inherit}.dash-page .ff-cta-banner{margin:0}.dash-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}@media(max-width:900px){.dash-links{grid-template-columns:1fr 1fr}}@media(max-width:600px){.dash-links{grid-template-columns:1fr}}.dash-link-card{background:#fff;border:1px solid var(--ff-border, #e3e6ec);border-radius:var(--ff-radius-lg, 12px);overflow:hidden;box-shadow:var(--ff-shadow, 0 1px 4px rgba(0,0,0,.07))}.dash-link-card__header{padding:10px 14px;font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ff-text-muted, #9ca3af);background:var(--ff-bg-light, #f8fafc);border-bottom:1px solid var(--ff-border-light, #eef0f4)}.dash-link-item{display:flex;align-items:center;gap:10px;padding:10px 14px;color:var(--ff-text, #374151);text-decoration:none;font-size:.82rem;font-weight:500;border-bottom:1px solid var(--ff-border-light, #f1f5f9);transition:background var(--ff-trans, .18s ease),color var(--ff-trans)}.dash-link-item:last-child{border-bottom:none}.dash-link-item:hover{background:var(--ff-blue-pale);color:var(--ff-blue);text-decoration:none}.dash-link-item i{font-size:.85rem;color:var(--ff-text-muted, #9ca3af);width:16px;text-align:center;flex-shrink:0;transition:color var(--ff-trans)}.dash-link-item:hover i{color:var(--ff-blue, #00A6E8)}.dash-link-item__text{flex:1;min-width:0}.dash-link-item__chevron{font-size:.85rem;color:var(--ff-border, #e3e6ec);flex-shrink:0;transition:color var(--ff-trans)}.dash-link-item:hover .dash-link-item__chevron{color:var(--ff-blue, #00A6E8)}.dash-link-item--external .dash-link-item__chevron:after{content:"↗";font-size:.7rem}@media print{.dash-hero{background:none;border-bottom:1px solid #ccc;padding:8px 0}.dash-kpi-strip{grid-template-columns:repeat(4,1fr)}.dash-grid{grid-template-columns:1fr 1fr}.dash-links{grid-template-columns:1fr 1fr 1fr}.ff-cta-banner{display:none}.dash-card{box-shadow:none;border:1px solid #ccc}}
