:root{--cc-bg: #ffffff;--cc-bg-surface: #f8fafc;--cc-panel: #ffffff;--cc-panel-muted: #f8fafc;--cc-line: #f1f5f9;--cc-line-strong: #e2e8f0;--cc-text: #0f172a;--cc-muted: #64748b;--cc-subtle: #94a3b8;--cc-accent: #0f172a;--cc-accent-soft: #f8fafc;--cc-positive: #166534;--cc-warning: #9a3412;--cc-danger: #b91c1c;--cc-radius-xl: 28px;--cc-radius-lg: 20px;--cc-radius-md: 16px;--cc-radius-sm: 12px;--cc-max: 1240px;--cc-font: "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{margin:0;padding:0;width:100%;min-height:100%}body{font-family:var(--cc-font);color:var(--cc-text);background:#fff;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.cc-glass-card,.cc-glass{background:#fff;border:1px solid var(--cc-line);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}html,body,#root{width:100%;min-height:100dvh}html{overflow-x:hidden;overflow-y:auto;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden;overflow-y:auto;background:#fff}#root{overflow:visible}input,textarea,select,button{font-size:16px;appearance:none;-webkit-appearance:none}:root{--cc-page-padding: 24px;--cc-card-radius: 20px;--cc-section-gap: 24px}.portal-app{width:100%;min-height:100dvh;color:var(--cc-text);background:#fff;overflow-x:hidden}.cc-mesh-bg{display:none}.portal-shell--desktop,.portal-shell--private{display:flex;height:100dvh;min-height:100dvh;background:#fff}.portal-shell__desktop-main,.portal-main-private{flex:1;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;background:#fff}.portal-shell--mobile{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100dvh;min-height:100dvh;background:#fff}.portal-shell__mobile-main{min-height:0;overflow-x:hidden;overflow-y:auto;background:#fff}.portal-shell__mobile-nav{position:fixed;bottom:0;z-index:1100;background:#fff;border-top:1px solid var(--cc-line)}.portal-main-public{width:100%;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;background:#fff}.portal-content-centered,.portal-content-private{width:min(100%,var(--cc-max));margin:0 auto;padding:0 var(--cc-page-padding)}.portal-header{position:sticky;top:0;z-index:1000;width:100%;background:#fff;border-bottom:1px solid var(--cc-line)}.portal-header-inner{width:min(100%,var(--cc-max));min-height:72px;margin:0 auto;padding:0 var(--cc-page-padding);display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-header-nav{display:flex;align-items:center;gap:20px}.portal-header-link{font-size:.82rem;font-weight:800;color:var(--cc-subtle)}.portal-header-link.is-active{color:var(--cc-text)}.portal-home-button,.portal-home-inline-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--cc-line-strong);background:#fff;color:var(--cc-text);font-size:.8rem;font-weight:900}.portal-home-button--primary{background:#0f172a;border-color:#0f172a;color:#fff}.portal-home-page,.portal-surface-page,.portal-benefits-shell,.portal-dining-page{display:grid;gap:20px}.portal-home-hero,.portal-surface-hero,.portal-benefits-hero,.portal-home-panel,.portal-benefits-panel,.portal-dining-hero,.portal-dining-notice-panel,.portal-dining-menu-panel{background:#fff;border:1px solid var(--cc-line);border-radius:20px;padding:24px;box-shadow:none}.portal-home-hero,.portal-surface-hero,.portal-benefits-hero__grid,.portal-home-columns,.portal-benefits-columns{display:grid;gap:20px}.portal-home-hero{grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr)}.portal-surface-hero{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.portal-benefits-hero__grid,.portal-benefits-columns{grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr)}.portal-home-columns{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr)}.portal-home-hero__copy,.portal-home-hero__status,.portal-surface-hero__copy,.portal-surface-hero__status,.portal-surface-hero__actions,.portal-benefits-statboard,.portal-benefits-rail,.portal-home-card-list,.portal-home-stream-list{display:grid;gap:12px}.portal-home-chip,.portal-benefits-list-card__kicker,.portal-dining-chip{display:inline-flex;width:fit-content;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--cc-line);background:#fff;color:var(--cc-text);font-size:.72rem;font-weight:900}.portal-home-hero__copy h1,.portal-surface-hero__copy h1,.portal-benefits-hero h1{margin:0;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:950;letter-spacing:-.04em;line-height:1.12}.portal-home-hero__copy p,.portal-surface-hero__copy p,.portal-benefits-hero p,.portal-home-section-header p,.portal-home-content-card p,.portal-home-stream-item p,.portal-surface-card p,.portal-benefits-list-card p,.portal-benefits-rail__item p,.portal-dining-hero__copy p,.portal-dining-notice-card p,.portal-dining-notice-list__item p{margin:0;color:var(--cc-muted);font-size:.85rem;line-height:1.6;font-weight:600}.portal-home-status-card,.portal-home-stat,.portal-home-quick-link,.portal-home-content-card,.portal-home-stream-item,.portal-surface-card,.portal-benefits-stat,.portal-benefits-track__item,.portal-benefits-category,.portal-benefits-list-card,.portal-benefits-rail__item,.portal-dining-notice-card,.portal-dining-notice-list__item,.portal-dining-day-card,.portal-dining-meal-card{display:grid;gap:8px;background:#fff;border:1px solid var(--cc-line);border-radius:18px;padding:18px;box-shadow:none}.portal-home-status-grid,.portal-home-quick-links,.portal-surface-grid,.portal-benefits-track,.portal-benefits-category-grid,.portal-dining-day-grid{display:grid;gap:12px}.portal-home-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-home-quick-links{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-surface-grid,.portal-dining-day-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.portal-benefits-track{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-benefits-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-home-status-card>span,.portal-home-section-header span,.portal-home-content-card__kicker,.portal-home-stream-item__meta span,.portal-surface-card span,.portal-benefits-category__meta,.portal-benefits-list-card__head span,.portal-benefits-list-card__meta span,.portal-dining-section-title span,.portal-dining-notice-card__meta span,.portal-dining-notice-list__side time{color:var(--cc-subtle);font-size:.72rem;font-weight:800}.portal-home-status-card strong,.portal-home-stat strong,.portal-home-section-header strong,.portal-home-quick-link strong,.portal-home-content-card strong,.portal-home-stream-item strong,.portal-surface-card strong,.portal-benefits-stat strong,.portal-benefits-track__item strong,.portal-benefits-category strong,.portal-benefits-list-card h3,.portal-benefits-rail__item strong,.portal-dining-hero__copy strong,.portal-dining-section-title strong,.portal-dining-notice-card h2,.portal-dining-notice-list__item strong{margin:0;color:var(--cc-text);font-weight:900;letter-spacing:-.03em}.portal-home-content-card__meta,.portal-home-stream-item__meta,.portal-benefits-list-card__head,.portal-benefits-list-card__meta,.portal-dining-notice-card__meta,.portal-dining-notice-list__side,.portal-dining-day-card>header,.portal-dining-meal-card__header,.portal-dining-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-dining-week-nav{display:inline-flex;align-items:center;gap:8px}.portal-dining-week-nav button,.portal-dining-toggle,.portal-dining-inline-link,.portal-dining-notice-list__side a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--cc-line-strong);background:#fff;color:var(--cc-text);font-size:.78rem;font-weight:800}.portal-dining-meal-card ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:.8rem;line-height:1.45}.portal-benefits-list,.portal-dining-layout,.portal-dining-notice-list,.portal-dining-meal-list{display:grid;gap:12px}.portal-benefits-link{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:900}.portal-updates-item,.portal-feed-item,.portal-grid-board>*,.portal-info-row{background:#fff;border:1px solid var(--cc-line);box-shadow:none}.portal-grid-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:24px}.portal-info-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px}.portal-page-section-header{margin-bottom:24px}.portal-page-section-header h1{margin:0;font-size:1.4rem;font-weight:950;letter-spacing:-.04em;line-height:1.2}.portal-page-section-header p{margin:6px 0 0;color:var(--cc-muted);font-size:.85rem;line-height:1.55}.cc-layout__sidebar{width:240px;flex-shrink:0}@media(max-width:960px){:root{--cc-page-padding: 16px;--cc-card-radius: 18px}html,body,#root,.portal-app{min-height:100dvh}.portal-home-hero,.portal-home-columns,.portal-surface-hero,.portal-benefits-hero__grid,.portal-benefits-columns{grid-template-columns:1fr}.portal-home-quick-links{grid-template-columns:repeat(6,1fr);gap:6px}.portal-home-status-grid,.portal-benefits-track,.portal-benefits-category-grid{grid-template-columns:1fr}.portal-home-hero,.portal-surface-hero,.portal-benefits-hero,.portal-home-panel,.portal-benefits-panel,.portal-dining-hero,.portal-dining-notice-panel,.portal-dining-menu-panel{padding:18px;border-radius:18px}.portal-header-nav{display:none}.portal-content-private{padding-top:10px}}
