.app-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-sm);padding-top:env(safe-area-inset-top,0px);z-index:100;border-radius:0;border-top:none;border-left:none;border-right:none;border-bottom:1px solid var(--border-glass)}.app-header__left,.app-header__right{width:40px;display:flex;align-items:center}.app-header__right{justify-content:flex-end}.app-header__title{flex:1;text-align:center;font-size:16px;font-weight:700;color:var(--color-text-main);letter-spacing:.02em}.app-header__back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:color var(--transition-fast),background var(--transition-fast)}.app-header__back-btn:active{color:var(--color-primary);background:var(--color-primary-dim)}.app-header__logo{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--color-primary-dim);color:var(--color-primary)}.container{width:100%;min-height:100%;padding-top:var(--header-height);padding-bottom:var(--spacing-page-bottom);display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);height:48px;border-radius:var(--radius-md);font-size:16px;font-weight:600;transition:all var(--transition-fast);width:100%}.btn:active{transform:scale(.96)}.btn--primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-glow-sm)}.btn--primary:active{background:var(--color-primary-hover)}.btn--secondary{background:var(--color-bg-tertiary);color:var(--color-text-main);border:1px solid var(--border-glass)}.btn--secondary:active{background:var(--color-bg-secondary)}.btn--danger{background:var(--color-error-dim);color:var(--color-error)}.btn--danger:active{background:var(--color-error);color:#fff}.btn:disabled{opacity:.5;pointer-events:none}.spinner{width:24px;height:24px;border:2px solid var(--color-primary-dim);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.spinner--sm{width:16px;height:16px;border-width:2px}.btn .spinner{border-color:#ffffff4d;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;line-height:1}.badge.active{background:var(--color-success-dim);color:var(--color-success)}.badge.vacation{background:var(--color-warning-dim);color:var(--color-warning)}.badge.sick{background:var(--color-info-dim);color:var(--color-info)}.badge.fired{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end}.bottom-sheet{background:var(--color-bg-secondary);width:100%;border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);padding:var(--spacing-md);padding-bottom:var(--spacing-page-bottom);animation:bottomSheetIn var(--transition-fast);box-shadow:0 -10px 40px #00000080;border-top:1px solid var(--border-glass)}:root{--color-primary: #FF6600;--color-primary-hover: #FF8533;--color-primary-glow: rgba(255, 102, 0, .5);--color-primary-dim: rgba(255, 102, 0, .15);--color-bg: #0F0F11;--color-bg-secondary: #18181C;--color-bg-tertiary: #2A2A2E;--color-bg-glass: rgba(24, 24, 28, .75);--color-bg-card: rgba(255, 255, 255, .03);--color-text-main: #FFFFFF;--color-text-secondary: #A0A0A5;--color-text-muted: #66666E;--color-success: #00FF94;--color-success-dim: rgba(0, 255, 148, .15);--color-error: #FF3333;--color-error-dim: rgba(255, 51, 51, .15);--color-warning: #FFD700;--color-warning-dim: rgba(255, 215, 0, .15);--color-info: #4D94FF;--color-info-dim: rgba(77, 148, 255, .15);--color-status-active: #00FF94;--color-status-vacation: #FFD700;--color-status-sick: #4D94FF;--color-status-fired: #66666E;--border-color: rgba(255, 255, 255, .08);--border-glass: rgba(255, 255, 255, .12);--border-accent: rgba(255, 102, 0, .3);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 9999px;--header-height: 64px;--bottom-nav-height: 0px;--spacing-xs: 8px;--spacing-sm: 16px;--spacing-md: 24px;--spacing-lg: 32px;--spacing-xl: 48px;--spacing-page-bottom: calc(env(safe-area-inset-bottom, 0px) + 24px) ;--spacing-page-bottom-large: calc(env(safe-area-inset-bottom, 0px) + 96px) ;--shadow-sm: 0 4px 12px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(255, 102, 0, .3);--shadow-glow-sm: 0 0 12px rgba(255, 102, 0, .2);--shadow-card: 0 10px 30px rgba(0, 0, 0, .3);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}body{background-color:var(--color-bg);color:var(--color-text-main)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch}html,body{height:100%;width:100%;overflow:hidden}#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background:var(--color-bg);background-image:radial-gradient(circle at 50% 0%,#1e1e24 0%,transparent 50%),radial-gradient(circle at 100% 0%,rgba(255,102,0,.08) 0%,transparent 30%);background-attachment:fixed;color:var(--color-text-main);font-smoothing:antialiased;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}a{text-decoration:none;color:inherit}button{border:none;outline:none;background:none;font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;outline:none}.glass-panel{background:var(--color-bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-md)}.layout{display:flex;flex-direction:column;height:100dvh;width:100%;overflow:hidden;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 10px #f603}50%{box-shadow:0 0 25px #ff660080}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes bottomSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.animate-fade-in{animation:fadeIn .35s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .4s ease-out forwards}.animate-slide-right{animation:slideInRight .35s ease-out forwards}.animate-scale-in{animation:scaleIn .3s ease-out forwards}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200px 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius-sm)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.status-dot.active{background:var(--color-status-active);box-shadow:0 0 6px var(--color-status-active)}.status-dot.vacation{background:var(--color-status-vacation);box-shadow:0 0 6px var(--color-status-vacation)}.status-dot.sick{background:var(--color-status-sick);box-shadow:0 0 6px var(--color-status-sick)}.status-dot.fired{background:var(--color-status-fired)}
