:root{--bgPrimary: #FFFFFF;--bgSecondary: #F9FAFB;--bgTertiary: #F3F4F6;--bgHover: #F3F4F6;--textPrimary: #111827;--textSecondary: #374151;--textTertiary: #6B7280;--textInverse: #FFFFFF;--borderPrimary: #E5E7EB;--borderSecondary: #D1D5DB;--accentPrimary: #3B82F6;--accentPrimaryHover: #2563EB;--accentSecondary: #8B5CF6;--success: #10B981;--successBg: #ECFDF5;--error: #EF4444;--errorBg: #FEF2F2;--warning: #F59E0B;--warningBg: #FFFBEB;--transition-fast: .15s;--transition-normal: .25s;--transition-slow: .4s}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bgSecondary);color:var(--textPrimary);transition:background-color .2s ease,color .2s ease}input,select,textarea{font-family:inherit;background-color:var(--bgPrimary);color:var(--textPrimary);border-color:var(--borderSecondary)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accentPrimary);box-shadow:0 0 0 3px #3b82f61a}input::placeholder,textarea::placeholder{color:var(--textTertiary)}button{font-family:inherit;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}a{color:var(--accentPrimary);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bgSecondary)}::-webkit-scrollbar-thumb{background:var(--borderSecondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--textTertiary)}::selection{background-color:var(--accentPrimary);color:var(--textInverse)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-normal) ease-out forwards}.animate-fade-in-down{animation:fadeInDown var(--transition-normal) ease-out forwards}.animate-scale-in{animation:scaleIn var(--transition-normal) ease-out forwards}.animate-slide-in-right{animation:slideInRight var(--transition-normal) ease-out forwards}.stagger-1{animation-delay:.05s;opacity:0}.stagger-2{animation-delay:.1s;opacity:0}.stagger-3{animation-delay:.15s;opacity:0}.stagger-4{animation-delay:.2s;opacity:0}.stagger-5{animation-delay:.25s;opacity:0}button{transition:background-color var(--transition-fast) ease,border-color var(--transition-fast) ease,color var(--transition-fast) ease,transform var(--transition-fast) ease,box-shadow var(--transition-fast) ease}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}.card-hover{transition:transform var(--transition-normal) ease,box-shadow var(--transition-normal) ease}.card-hover:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}a{transition:color var(--transition-fast) ease}input,select,textarea{transition:border-color var(--transition-fast) ease,box-shadow var(--transition-fast) ease,background-color var(--transition-fast) ease}.skeleton{background:linear-gradient(90deg,var(--bgTertiary) 25%,var(--bgSecondary) 50%,var(--bgTertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.spinner{width:20px;height:20px;border:2px solid var(--borderPrimary);border-top-color:var(--accentPrimary);border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.hide-desktop{display:none!important}}.responsive-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.responsive-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.responsive-grid{grid-template-columns:repeat(3,1fr)}}.responsive-padding{padding:1rem}@media(min-width:640px){.responsive-padding{padding:1.5rem}}@media(min-width:1024px){.responsive-padding{padding:2rem}}.mobile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:40;opacity:0;visibility:hidden;transition:opacity var(--transition-normal) ease,visibility var(--transition-normal) ease}.mobile-menu-overlay.open{opacity:1;visibility:visible}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:280px;max-width:85vw;background-color:var(--bgPrimary);z-index:50;transform:translate(100%);transition:transform var(--transition-normal) ease;overflow-y:auto;box-shadow:-4px 0 20px #00000026}.mobile-menu.open{transform:translate(0)}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:24px;height:24px;background:none;border:none;cursor:pointer;padding:0}.hamburger span{display:block;width:100%;height:2px;background-color:var(--textPrimary);transition:transform var(--transition-fast) ease,opacity var(--transition-fast) ease}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}:focus-visible{outline:2px solid var(--accentPrimary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(hover:none){button:hover{transform:none}.card-hover:hover{transform:none;box-shadow:none}}@media(max-width:768px){button,a,input,select,textarea{min-height:44px}input[type=checkbox],input[type=radio]{min-height:auto;width:20px;height:20px}}@media(max-width:768px){.calendar-toolbar{flex-direction:column;gap:.75rem;align-items:stretch!important}.calendar-toolbar .week-nav,.calendar-toolbar .toolbar-right{justify-content:center}.calendar-stats-panel{padding:.75rem!important}.calendar-stats-panel .stats-summary{flex-wrap:wrap;gap:1rem!important}.calendar-stats-panel .stats-grid{grid-template-columns:1fr 1fr!important}}@media(max-width:768px){.week-view-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.week-view-grid{min-width:700px}}@media(max-width:1024px){.lifegrid-main-content{flex-direction:column!important}.lifegrid-side-panel{width:100%!important;position:static!important;order:-1;margin-bottom:1rem}.lifegrid-controls-row{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}.lifegrid-zoom-controls,.lifegrid-nav-controls{justify-content:center}}@media(max-width:768px){.projects-title-row{flex-direction:column!important;gap:.75rem!important;align-items:stretch!important}.projects-title-row button{width:100%}.projects-filters{flex-wrap:wrap;justify-content:center}.projects-grid{grid-template-columns:1fr!important}}@media(max-width:640px){.modal-overlay>div{margin:.5rem;max-height:calc(100vh - 1rem);width:calc(100% - 1rem)!important;max-width:none!important}}@media(max-width:768px){.reviews-layout{grid-template-columns:1fr!important}}@media(max-width:768px){.purpose-grid{grid-template-columns:1fr!important}}@media(max-width:640px){.card-grid-2,.card-grid-3{grid-template-columns:1fr!important}}@media(min-width:641px)and (max-width:1023px){.card-grid-3{grid-template-columns:repeat(2,1fr)!important}}
