:root{--font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 40px;--spacing-3xl: 48px;--elevation-1: 0 1px 2px rgba(0, 0, 0, .05);--elevation-2: 0 2px 8px rgba(0, 0, 0, .08);--elevation-3: 0 4px 16px rgba(0, 0, 0, .12);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}:root,[data-theme=light]{--color-primary: #6750A4;--color-on-primary: #FFFFFF;--color-primary-container: #EADDFF;--color-on-primary-container: #21005D;--color-secondary: #625B71;--color-on-secondary: #FFFFFF;--color-secondary-container: #E8DEF8;--color-on-secondary-container: #1D192B;--color-background: #F6F6F6;--color-on-background: #1C1B1F;--color-surface: #FFFFFF;--color-on-surface: #1C1B1F;--color-surface-variant: #E7E0EC;--color-on-surface-variant: #49454F;--color-surface-container: #F3EDF7;--color-surface-container-high: #ECE6F0;--color-surface-container-highest: #E6E0E9;--color-outline: #79747E;--color-outline-variant: #CAC4D0;--color-error: #B3261E;--color-on-error: #FFFFFF;--scaffold-background: #F6F6F6;--card-background: #FFFFFF;--card-shadow: 0 2px 8px rgba(0, 0, 0, .08);--appbar-background: #FFFFFF;--appbar-foreground: #1C1B1F}[data-theme=dark]{--color-primary: #D0BCFF;--color-on-primary: #381E72;--color-primary-container: #4F378B;--color-on-primary-container: #EADDFF;--color-secondary: #CCC2DC;--color-on-secondary: #332D41;--color-secondary-container: #4A4458;--color-on-secondary-container: #E8DEF8;--color-background: #1C1B1F;--color-on-background: #E6E1E5;--color-surface: #1C1B1F;--color-on-surface: #E6E1E5;--color-surface-variant: #49454F;--color-on-surface-variant: #CAC4D0;--color-surface-container: #211F26;--color-surface-container-high: #2B2930;--color-surface-container-highest: #36343B;--color-outline: #938F99;--color-outline-variant: #49454F;--color-error: #F2B8B5;--color-on-error: #601410;--scaffold-background: #1C1B1F;--card-background: #2B2930;--card-shadow: none;--appbar-background: #1C1B1F;--appbar-foreground: #E6E1E5}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background-color:var(--scaffold-background);color:var(--color-on-background);line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--color-on-surface)}h1{font-size:2rem;font-weight:800}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem;font-weight:600}h5{font-size:1.125rem;font-weight:600}h6{font-size:1rem;font-weight:600}p{margin-bottom:1rem}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-on-primary-container)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface-container)}::-webkit-scrollbar-thumb{background:var(--color-outline-variant);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-outline)}::selection{background-color:var(--color-primary-container);color:var(--color-on-primary-container)}#app{min-height:100vh;display:flex;flex-direction:column}.screen{flex:1;display:flex;flex-direction:column;background-color:var(--scaffold-background)}.safe-area{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.app-bar{background-color:var(--appbar-background);color:var(--appbar-foreground);height:64px;display:flex;align-items:center;padding:0 16px;box-shadow:var(--elevation-1);position:sticky;top:0;z-index:100}.app-bar__title{flex:1;font-size:20px;font-weight:700;text-align:center;margin:0}.app-bar__action{background:none;border:none;color:var(--appbar-foreground);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.app-bar__action:hover{background-color:var(--color-surface-container)}.app-bar__action .material-icons{font-size:24px}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:200;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.drawer-overlay.active{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:80vw;background-color:var(--color-surface);z-index:201;transform:translate(-100%);transition:transform var(--transition-base);display:flex;flex-direction:column;box-shadow:var(--elevation-3)}.drawer.active{transform:translate(0)}.drawer__header{background-color:var(--color-primary);color:var(--color-on-primary);padding:var(--spacing-lg);min-height:140px;display:flex;flex-direction:column;justify-content:flex-end}.drawer__title{font-size:24px;font-weight:700;margin-bottom:4px}.drawer__subtitle{font-size:14px;opacity:.8}.drawer__content{flex:1;overflow-y:auto;padding:8px 0}.drawer__item{display:flex;align-items:center;padding:12px 16px;color:var(--color-on-surface);cursor:pointer;transition:background-color var(--transition-fast);border:none;background:none;width:100%;text-align:left;font-family:var(--font-family);font-size:16px}.drawer__item:hover{background-color:var(--color-surface-container)}.drawer__item .material-icons{margin-right:16px;font-size:24px;color:var(--color-on-surface-variant)}.drawer__divider{height:1px;background-color:var(--color-outline-variant);margin:8px 0}.card{background-color:var(--card-background);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);padding:var(--spacing-lg);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.card:hover{transform:translateY(-2px);box-shadow:var(--elevation-3)}.card--clickable{cursor:pointer}.card__title{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--color-on-surface)}.card__description{font-size:14px;color:var(--color-on-surface-variant);line-height:1.5}.btn{font-family:var(--font-family);font-size:14px;font-weight:600;padding:12px 24px;border-radius:var(--radius-sm);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition-fast);text-transform:none;letter-spacing:.5px}.btn:disabled{opacity:.38;cursor:not-allowed}.btn--filled{background-color:var(--color-primary);color:var(--color-on-primary)}.btn--filled:hover:not(:disabled){box-shadow:var(--elevation-2);background-color:var(--color-primary-container);color:var(--color-on-primary-container)}.btn--outlined{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-outline)}.btn--outlined:hover:not(:disabled){background-color:var(--color-surface-container)}.btn--tonal{background-color:var(--color-secondary-container);color:var(--color-on-secondary-container)}.btn--tonal:hover:not(:disabled){box-shadow:var(--elevation-1)}.btn--icon{padding:12px;border-radius:50%;background-color:transparent}.btn--icon:hover:not(:disabled){background-color:var(--color-surface-container)}.btn .material-icons{font-size:20px}.text-field{position:relative;margin-bottom:var(--spacing-md)}.text-field__input{width:100%;padding:16px;font-family:var(--font-family);font-size:16px;border:1px solid var(--color-outline);border-radius:var(--radius-sm);background-color:var(--color-surface-container);color:var(--color-on-surface);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.text-field__input:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-surface)}.text-field__input::placeholder{color:var(--color-on-surface-variant);opacity:.6}.text-field__label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--color-on-surface)}textarea.text-field__input{resize:vertical;min-height:80px}.select{position:relative;margin-bottom:var(--spacing-md)}.select__control{width:100%;padding:16px 40px 16px 16px;font-family:var(--font-family);font-size:16px;border:1px solid var(--color-outline);border-radius:var(--radius-sm);background-color:var(--color-surface-container);color:var(--color-on-surface);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%2349454F' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.select__control:focus{outline:none;border-color:var(--color-primary)}.switch{display:flex;align-items:center;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.switch__label{flex:1;margin-right:16px}.switch__title{font-size:16px;font-weight:500;color:var(--color-on-surface)}.switch__subtitle{font-size:14px;color:var(--color-on-surface-variant);margin-top:2px}.switch__control{position:relative;width:52px;height:32px;background-color:var(--color-surface-variant);border-radius:16px;transition:background-color var(--transition-fast)}.switch__control:after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;background-color:var(--color-outline);border-radius:50%;transition:transform var(--transition-fast),background-color var(--transition-fast)}.switch input{display:none}.switch input:checked+.switch__control{background-color:var(--color-primary)}.switch input:checked+.switch__control:after{transform:translate(20px);background-color:var(--color-on-primary)}.badge{display:inline-block;padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;background-color:var(--color-secondary-container);color:var(--color-on-secondary-container)}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.dialog-overlay.active{opacity:1;pointer-events:auto}.dialog{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);max-width:500px;width:90%;max-height:80vh;overflow-y:auto;transform:scale(.9);transition:transform var(--transition-base)}.dialog-overlay.active .dialog{transform:scale(1)}.dialog__title{font-size:24px;font-weight:700;margin-bottom:var(--spacing-md);color:var(--color-on-surface)}.dialog__content{color:var(--color-on-surface-variant);margin-bottom:var(--spacing-lg);line-height:1.6}.dialog__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.spinner{display:inline-block;width:40px;height:40px;border:4px solid var(--color-surface-variant);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-container{display:flex;align-items:center;justify-content:center;min-height:200px}@keyframes spin{to{transform:rotate(360deg)}}.snackbar{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(100px);background-color:var(--color-surface-container-highest);color:var(--color-on-surface);padding:16px 24px;border-radius:var(--radius-md);box-shadow:var(--elevation-3);z-index:400;opacity:0;transition:transform var(--transition-base),opacity var(--transition-base);max-width:90%}.snackbar.active{transform:translate(-50%) translateY(0);opacity:1}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.text-center{text-align:center}.hidden{display:none!important}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-lg{margin-top:var(--spacing-lg)}.p-lg,.content-wrapper{padding:var(--spacing-lg)}.grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}@media (min-width: 600px){.content-wrapper{padding:var(--spacing-xl)}.grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.container{padding:0 var(--spacing-xl)}.drawer{width:320px}.dialog{max-width:600px}}@media (min-width: 1200px){.content-wrapper{padding:var(--spacing-2xl)}.grid{grid-template-columns:repeat(4,1fr);gap:var(--spacing-xl)}.container--max,.screen-content{max-width:1400px;margin:0 auto}}@media (min-width: 1600px){.grid{grid-template-columns:repeat(6,1fr)}}@media (min-width: 600px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}}@media (min-width: 1200px){h1{font-size:3rem}h2{font-size:2.25rem}}@media (max-width: 599px){.hide-mobile{display:none!important}}@media (min-width: 600px) and (max-width: 1199px){.hide-tablet{display:none!important}}@media (min-width: 1200px){.hide-desktop{display:none!important}}.show-mobile{display:block}@media (min-width: 600px){.show-mobile{display:none!important}}.show-tablet{display:none}@media (min-width: 600px) and (max-width: 1199px){.show-tablet{display:block!important}}.show-desktop{display:none}@media (min-width: 1200px){.show-desktop{display:block!important}}@media (min-width: 600px){.p-responsive{padding:var(--spacing-xl)}.px-responsive{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.py-responsive{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}}@media (min-width: 1200px){.p-responsive{padding:var(--spacing-2xl)}.px-responsive{padding-left:var(--spacing-2xl);padding-right:var(--spacing-2xl)}.py-responsive{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl)}}.flex-responsive{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (min-width: 600px){.flex-responsive{flex-direction:row;gap:var(--spacing-lg)}}@media (max-width: 599px){.btn,.app-bar__action,.drawer__item{min-height:48px;min-width:48px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fade-in{animation:fadeIn var(--transition-base) ease-out}.fade-out{animation:fadeOut var(--transition-base) ease-out}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.slide-in-up{animation:slideInUp var(--transition-base) ease-out}.slide-in-down{animation:slideInDown var(--transition-base) ease-out}.slide-in-left{animation:slideInLeft var(--transition-base) ease-out}.slide-in-right{animation:slideInRight var(--transition-base) ease-out}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}.scale-in{animation:scaleIn .6s cubic-bezier(.34,1.56,.64,1)}.scale-out{animation:scaleOut var(--transition-base) ease-out}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.bounce{animation:bounce 1s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.shake{animation:shake .5s ease-in-out}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.hover-lift{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--elevation-3)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow var(--transition-fast)}.hover-glow:hover{box-shadow:0 0 20px var(--color-primary)}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background-color:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,var(--color-surface-variant) 0%,var(--color-surface-container) 50%,var(--color-surface-variant) 100%);background-size:1000px 100%;animation:shimmer 2s infinite linear}.page-enter{animation:slideInRight var(--transition-slow) ease-out}.page-exit{animation:slideInLeft var(--transition-slow) ease-out reverse}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
