:root{--primary: #4f46e5;--primary-light: #818cf8;--primary-dark: #3730a3;--secondary: #06b6d4;--secondary-light: #67e8f9;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-400);--text-inverse: #ffffff;--bg-primary: #ffffff;--bg-secondary: var(--gray-50);--bg-tertiary: var(--gray-100);--border-color: var(--gray-200);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-base: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background-color:var(--bg-secondary);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh}h1{font-size:var(--font-size-2xl);font-weight:700;line-height:1.2;margin-bottom:var(--space-base)}h2{font-size:var(--font-size-xl);font-weight:600;line-height:1.3;margin-bottom:var(--space-md)}h3{font-size:var(--font-size-lg);font-weight:600;line-height:1.4;margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-base)}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit}.container{width:100%;max-width:100%;margin:0 auto;padding:var(--space-base);padding-top:calc(var(--space-base) + var(--safe-area-inset-top));padding-bottom:calc(var(--space-base) + var(--safe-area-inset-bottom));padding-left:calc(var(--space-base) + var(--safe-area-inset-left));padding-right:calc(var(--space-base) + var(--safe-area-inset-right))}.card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-base);margin-bottom:var(--space-base)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-color)}.card-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-base);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-md);transition:all .2s ease;min-height:44px;min-width:44px}.btn-primary{background:var(--primary);color:var(--text-inverse)}.btn-primary:active{background:var(--primary-dark);transform:scale(.98)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:active{background:var(--gray-200)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);border-top:1px solid var(--border-color);display:flex;justify-content:space-around;padding:var(--space-sm) 0 calc(var(--space-sm) + var(--safe-area-inset-bottom));z-index:100;box-shadow:0 -2px 10px #0000000d}.nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:var(--space-sm);color:var(--text-muted);text-decoration:none;font-size:var(--font-size-xs);min-width:64px}.nav-item.active{color:var(--primary)}.nav-item svg{width:24px;height:24px}.main-content{padding-bottom:80px;min-height:100vh;min-height:100dvh}.react-calendar{width:100%!important;border:none!important;border-radius:var(--radius-lg);font-family:var(--font-sans)!important;background:var(--bg-primary)!important;box-shadow:var(--shadow-sm)}.react-calendar__tile{padding:var(--space-md)!important;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.react-calendar__tile--active{background:var(--primary)!important;color:var(--text-inverse)!important}.react-calendar__tile--now{background:var(--primary-light)!important;color:var(--text-inverse)!important}.react-calendar__month-view__days__day--weekend{color:var(--danger)!important}.react-calendar__navigation__label{font-weight:600;font-size:var(--font-size-base)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-base);margin-bottom:var(--space-lg)}.stat-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-base);box-shadow:var(--shadow-sm)}.stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--primary);margin-bottom:var(--space-xs)}.stat-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.chart-container{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-base);box-shadow:var(--shadow-sm);margin-bottom:var(--space-base);overflow-x:auto}.list-item{display:flex;align-items:center;gap:var(--space-base);padding:var(--space-base);background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.list-item:last-child{border-bottom:none}.list-icon{width:40px;height:40px;border-radius:var(--radius-full);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.list-content{flex:1;min-width:0}.list-title{font-weight:500;color:var(--text-primary);margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary)}.schedule-item{display:flex;gap:var(--space-base);padding:var(--space-base);background:var(--bg-primary);border-radius:var(--radius-lg);margin-bottom:var(--space-base);box-shadow:var(--shadow-sm)}.schedule-time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;padding:var(--space-sm);background:var(--primary-light);color:var(--text-inverse);border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-sm)}.schedule-content{flex:1}.schedule-title{font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs)}.schedule-details{font-size:var(--font-size-sm);color:var(--text-secondary)}.page-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-base);background:var(--bg-primary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:50;padding-top:calc(var(--space-base) + var(--safe-area-inset-top))}.page-title{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);margin:0}@media(min-width:640px){.container{max-width:640px;padding:var(--space-lg)}h1{font-size:var(--font-size-3xl)}.stats-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:768px){.container{max-width:768px}.bottom-nav{position:relative;border-top:none;border-bottom:1px solid var(--border-color);padding-bottom:var(--space-sm);box-shadow:none}.main-content{padding-bottom:var(--space-base)}}@media(min-width:1024px){.container{max-width:1024px}}@media(prefers-color-scheme:dark){:root{--text-primary: var(--gray-100);--text-secondary: var(--gray-400);--bg-primary: var(--gray-900);--bg-secondary: var(--gray-800);--bg-tertiary: var(--gray-700);--border-color: var(--gray-700)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:var(--space-sm)}.mt-2{margin-top:var(--space-base)}.mt-3{margin-top:var(--space-lg)}.mb-1{margin-bottom:var(--space-sm)}.mb-2{margin-bottom:var(--space-base)}.mb-3{margin-bottom:var(--space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-sm)}.gap-2{gap:var(--space-base)}.w-full{width:100%}.h-full{height:100%}.overflow-hidden{overflow:hidden}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}
