:root{--primary-bg:#f0f2f5;--secondary-bg:#fff;--text-color:#333;--text-color-light:#555;--border-color:#e0e0e0;--accent-color1:#4a9b8e;--accent-color2:#3a7b6e;--accent-gradient:linear-gradient(135deg,var(--accent-color1)0%,var(--accent-color2)100%);--header-bg:#fff;--link-color:var(--accent-color1);--shadow-sm:rgba(0,0,0,.05);--shadow-md:rgba(0,0,0,.08);--shadow-lg:rgba(0,0,0,.1);--weekend-bg:#fafafa;--weekend-text:#a0a0a0;--modal-bg:var(--secondary-bg);--input-bg:var(--secondary-bg);--input-border:#ccc;--button-primary-bg:var(--accent-color1);--button-primary-hover-bg:#3a7b6e;--positive-saldo-bg:#4a9b8e;--negative-saldo-bg:#ff7e5f;--zero-saldo-bg:#d0d0d0;--zero-saldo-text:#555;--today-highlight-bg:var(--accent-color1);--today-highlight-text:#fff;--hero-gradient-start:#1a2332;--hero-gradient-end:#0f1419;--brand-blue:#2563eb;--brand-lime:#d4ff00;--success-green:#10b981;--warning-orange:#f59e0b;--text-dark:#1f2937;--text-light-on-dark:#f9fafb;--text-gray:#6b7280;--bg-light:#f8f9fa}body.dark-mode{--primary-bg:#121212;--secondary-bg:#1e1e1e;--text-color:#e0e0e0;--text-color-light:#b0b0b0;--border-color:#333;--accent-color1:#5bb5a5;--accent-color2:#4a9b8e;--accent-gradient:linear-gradient(135deg,var(--accent-color1)0%,var(--accent-color2)100%);--header-bg:#1e1e1e;--link-color:var(--accent-color1);--shadow-sm:rgba(255,255,255,.05);--shadow-md:rgba(255,255,255,.08);--shadow-lg:rgba(255,255,255,.1);--weekend-bg:#2a2a2a;--weekend-text:#777;--modal-bg:#2c2c2c;--input-bg:#2c2c2c;--input-border:#555;--button-primary-bg:var(--accent-color1);--button-primary-hover-bg:#4a9b8e;--positive-saldo-bg:#5bb5a5;--negative-saldo-bg:#ff8f73;--zero-saldo-bg:#505050;--zero-saldo-text:#b0b0b0;--today-highlight-bg:var(--accent-color1);--today-highlight-text:#1e1e1e}body{background-color:var(--primary-bg);color:var(--text-color);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;transition:background-color .3s,color .3s}.app-container{flex-direction:column;width:100%;height:100vh;display:flex}body.impersonation-active .app-container{padding-top:60px}@media (max-width:768px){body.impersonation-active .app-container{padding-top:90px}}.main-nav{background:var(--accent-gradient);color:#fff;height:60px;box-shadow:0 2px 4px var(--shadow-sm);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.nav-logo .logo-text{font-size:1.8em;font-weight:900;font-family:var(--font-poppins),"Poppins",sans-serif}.nav-links{align-items:center;gap:16px;margin:0;padding:0;list-style:none;display:flex}.nav-links li{margin:0;padding:0}.nav-actions{align-items:center;gap:12px;margin-right:16px;display:flex}.nav-link{color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:25px;align-items:center;gap:8px;margin:0;padding:12px 24px;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.nav-link:hover,.nav-link.active{background-color:rgba(255,255,255,.1)}body.dark-mode .nav-link:hover,body.dark-mode .nav-link.active{background-color:rgba(0,0,0,.2)}.user-profile-menu{position:relative}.user-profile-btn{color:#fff;cursor:pointer;background-color:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:4px;align-items:center;gap:8px;padding:8px 15px;font-weight:500;transition:background-color .2s;display:flex}.user-profile-btn:hover{background-color:rgba(255,255,255,.25)}body.dark-mode .user-profile-btn{background-color:rgba(0,0,0,.2);border:1px solid rgba(0,0,0,.4)}body.dark-mode .user-profile-btn:hover{background-color:rgba(0,0,0,.3)}.user-profile-dropdown{background-color:var(--secondary-bg);box-shadow:0 5px 15px var(--shadow-lg);z-index:100;border-radius:6px;flex-direction:column;min-width:200px;display:flex;position:absolute;top:110%;right:0;overflow:hidden}.dropdown-item{text-align:left;width:100%;color:var(--text-color);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:12px 15px;font-size:.95em;transition:background-color .2s;display:flex}.dropdown-item:hover{background-color:var(--primary-bg)}.dropdown-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown-item.user-info{cursor:default;flex-direction:column;align-items:flex-start}.dropdown-item.user-info:hover{background-color:transparent}.user-name{font-weight:600}.user-role{color:var(--text-color-light);text-transform:capitalize;font-size:.85em}.app-header{background-color:var(--header-bg);border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px var(--shadow-sm);flex-shrink:0;justify-content:space-between;align-items:center;padding:15px 30px;display:flex}.user-info span{display:block}.user-info .user-name{color:var(--text-color);font-size:1.3em;font-weight:600}.user-info .user-role{color:var(--text-color-light);font-size:.9em}.total-flex-balance{background:linear-gradient(135deg,var(--positive-saldo-bg)0%,#00c6fb 100%);color:#fff;text-align:right;box-shadow:0 2px 5px var(--shadow-lg);border-radius:8px;padding:10px 20px}body.dark-mode .total-flex-balance{background:linear-gradient(135deg,var(--positive-saldo-bg)0%,#0096c7 100%)}.total-flex-balance span{display:block}.total-flex-balance .period-label{opacity:.9;font-size:.8em}.total-flex-balance .saldo-value{font-size:1.6em;font-weight:700}.app-main-content{flex-grow:1;padding:25px;overflow-y:auto}.dashboard{border-radius:8px;max-width:1400px;margin:0 auto;padding:20px}.welcome-section{text-align:center;margin-bottom:32px}.welcome-title{color:var(--text-color);background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;border-bottom:none;margin:0 0 8px;padding-bottom:0;font-size:2.2em;font-weight:700;line-height:1.2}.welcome-subtitle{color:var(--text-color-light);opacity:.9;margin:0;font-size:1.1em}.clock-hero-card{border:2px solid rgba(74,155,142,.2)}.clock-hero-card:hover{border-color:rgba(74,155,142,.4)}.clock-hero-content{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:180px;display:flex}.clock-hero-button{background:var(--accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:1.5rem 2rem;font-size:1.3rem;font-weight:600;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(74,155,142,.3)}.clock-hero-button:before{content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.clock-hero-button:hover:before{left:100%}.clock-hero-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(74,155,142,.4)}.clock-hero-button:active{transform:translateY(0)}.clock-hero-icon{width:32px;height:32px;animation:2s ease-in-out infinite pulse-glow}.clock-hero-text{letter-spacing:.3px;font-size:1.3rem;font-weight:600}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}.clock-status-hero{flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;display:flex}.clock-status-indicator-hero{background-color:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;display:flex}.pulse-dot-hero{background-color:#22c55e;border-radius:50%;width:12px;height:12px;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-hero}@keyframes pulse-hero{0%,to{opacity:1}50%{opacity:.6}}.clock-status-text-hero{color:#22c55e;font-size:1rem;font-weight:600}.session-time-hero{color:var(--text-color);text-align:center;font-size:1.5rem;font-weight:700}.clock-in-time-hero{color:var(--text-color-light);text-align:center;font-size:.9rem}.clock-out-button-hero{background-color:var(--accent-color2);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 2px 8px rgba(0,0,0,.1)}.clock-out-button-hero:hover{background-color:var(--accent-color1);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.clock-out-button-hero:active{transform:translateY(0)}.clock-out-icon-hero{width:20px;height:20px}@media (max-width:768px){.clock-hero-content{min-height:160px}.clock-hero-button{padding:1.25rem 1.5rem;font-size:1.2rem}.clock-hero-icon{width:28px;height:28px}.clock-hero-text{font-size:1.2rem}.session-time-hero{font-size:1.3rem}}@media (max-width:480px){.clock-hero-content{min-height:140px}.clock-hero-button{padding:1rem 1.25rem;font-size:1.1rem}.clock-hero-icon{width:24px;height:24px}.clock-hero-text{font-size:1.1rem}.session-time-hero{font-size:1.2rem}}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-bottom:20px;display:grid}.dashboard-card{background-color:var(--secondary-bg);box-shadow:0 4px 12px var(--shadow-md);border:1px solid transparent;border-radius:12px;padding:20px;transition:transform .3s,box-shadow .3s,background-color .3s;position:relative;overflow:hidden}.dashboard-card:before{content:"";z-index:1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.dashboard-card:hover:before{left:100%}.dashboard-card:hover{box-shadow:0 6px 16px var(--shadow-lg);transform:translateY(-4px)}.status-card .card-content{justify-content:space-between;align-items:center;gap:16px;display:flex}.status-info{flex-direction:column;gap:4px;display:flex}.status-text.positive{color:var(--positive-saldo-bg)}.status-text.negative{color:var(--negative-saldo-bg)}.status-text.neutral{color:var(--zero-saldo-text)}body.dark-mode .status-text.positive{color:var(--positive-saldo-bg)}body.dark-mode .status-text.negative{color:var(--negative-saldo-bg)}body.dark-mode .status-text.neutral{color:var(--zero-saldo-text)}.status-detail{color:var(--text-color-light);text-transform:capitalize;font-size:.9em}.week-card .card-content{text-align:center}.week-card .week-summary{flex-direction:column;align-items:center;gap:8px;display:flex}.week-card .week-hours{color:var(--accent-color1);font-size:2.5em;font-weight:700;line-height:1}.week-card .week-label{color:var(--text-color-light);font-size:.9em;font-weight:500}.team-card{background:var(--secondary-bg);color:var(--text-color)}.team-card .card-header .card-icon,.team-card .card-header h3{color:var(--text-color)}.team-card .card-content{text-align:center}.team-card .action-button{background-color:var(--primary-bg);border-color:var(--border-color);color:var(--text-color)}.team-card .action-button:hover{background-color:var(--accent-color1);border-color:var(--accent-color1);color:#fff}.activity-card .card-content{text-align:center}.activity-card .activity-list{flex-direction:column;align-items:center;gap:12px;display:flex}.activity-card .activity-item{align-items:center;gap:12px;padding:8px 0;display:flex}.activity-card .activity-item:not(:last-child){border-bottom:1px solid var(--border-color);padding-bottom:12px}.activity-card .activity-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.activity-card .activity-dot.in{background-color:var(--positive-saldo-bg);box-shadow:0 0 0 3px rgba(34,197,94,.2)}.activity-card .activity-dot.out{background-color:var(--negative-saldo-bg);box-shadow:0 0 0 3px rgba(239,68,68,.2)}.activity-card .activity-details{flex-direction:column;gap:2px;display:flex}.activity-card .activity-action{color:var(--text-color);font-size:.9em;font-weight:500}.activity-card .activity-time{color:var(--text-color-light);font-size:.8em}.card-header{color:var(--text-color);z-index:2;align-items:center;gap:12px;margin-bottom:15px;display:flex;position:relative}.clock-card .card-header,.quick-actions-card .card-header,.activity-card .card-header{justify-content:center}.card-icon{color:var(--accent-color1);width:28px;height:28px;transition:transform .3s,color .3s}.dashboard-card:hover .card-icon{transform:scale(1.1)}@keyframes pulse-icon{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.flex-saldo-card .card-icon,.status-card .card-icon{animation:3s ease-in-out infinite pulse-icon}.card-header h3{margin:0;font-size:1.2em;font-weight:600}.card-content{color:var(--text-color-light);z-index:2;position:relative}.flex-saldo-card{background:var(--secondary-bg);color:var(--text-color)}.flex-saldo-card .card-header .card-icon,.flex-saldo-card .card-header h3{color:var(--text-color)}.flex-saldo-card .card-content{text-align:center}.flex-saldo-card .saldo-value{font-size:3em;font-weight:700;line-height:1;display:block}.flex-saldo-card .saldo-period{opacity:.9;font-size:.9em}.status-card .card-content{text-align:center;flex-direction:column;align-items:center;gap:15px;display:flex}.status-info{flex-direction:column;align-items:center;display:flex}.status-text{margin-bottom:5px;font-size:1.5em;font-weight:700}.status-detail{color:var(--text-color-light);font-size:.9em}.status-time{color:var(--accent-color1);flex-direction:column;align-items:center;gap:8px;font-weight:500;display:flex}.week-summary{flex-direction:column;align-items:center;display:flex}.week-hours{color:var(--text-color);font-size:2em;font-weight:700}.week-label{color:var(--text-color-light);font-size:.9em}.clock-card .card-content{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.clock-content{flex-direction:column;align-items:center;gap:12px;display:flex}.clock-time{color:var(--accent-color1);font-variant-numeric:tabular-nums;letter-spacing:2px;font-size:3em;font-weight:700;line-height:1}.clock-date{color:var(--text-color-light);text-transform:capitalize;font-size:1em}.quick-actions-card .card-content{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.action-button{background-color:var(--primary-bg);border:1px solid var(--border-color);text-align:center;cursor:pointer;width:auto;color:var(--text-color);white-space:nowrap;border-radius:25px;align-items:center;gap:10px;padding:12px 20px;font-size:1em;transition:background-color .2s,color .2s;display:inline-flex}.action-button:hover{background-color:var(--accent-color1);color:#fff;border-color:var(--accent-color1)}.action-icon{width:20px;height:20px;transition:color .2s}.action-button:hover .action-icon{color:#fff}.action-button.primary-action{background:linear-gradient(135deg,var(--accent-color1)0%,var(--accent-color2)100%);color:#fff;border:1px solid var(--accent-color1);font-weight:600;transition:all .3s;transform:translateY(0);box-shadow:0 4px 12px rgba(0,0,0,.15)}.action-button.primary-action:hover{background:linear-gradient(135deg,var(--accent-color2)0%,var(--accent-color1)100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.25)}.action-button.primary-action .action-icon{color:#fff}.action-button.primary-action:hover .action-icon{color:#fff;transform:scale(1.1)}.activity-list{flex-direction:column;gap:12px;display:flex}.activity-item{align-items:center;gap:12px;display:flex}.activity-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.activity-dot.in{background-color:var(--positive-saldo-bg)}.activity-dot.out{background-color:var(--negative-saldo-bg)}.activity-details{flex-direction:column;display:flex}.activity-action{color:var(--text-color);font-weight:500}.activity-time{color:var(--text-color-light);font-size:.9em}.loading-state,.empty-state{text-align:center;color:var(--text-color-light);padding:20px}.settings-page{background-color:var(--secondary-bg);box-shadow:0 4px 12px var(--shadow-md);border-radius:8px;padding:20px}.settings-page h2{color:var(--text-color);border-bottom:1px solid var(--border-color);margin-top:0;margin-bottom:30px;padding-bottom:10px;font-size:1.8em}.settings-form{flex-direction:column;gap:20px;display:flex}.settings-card{background-color:var(--primary-bg);border-radius:8px;padding:20px}body.dark-mode .settings-card{background-color:#282828}.profile-info{flex-direction:column;gap:15px;display:flex}.info-item{border-bottom:1px solid var(--border-color);justify-content:flex-start;align-items:center;gap:12px;padding:10px 0;display:flex}.info-item:last-child{border-bottom:none}.info-item label{color:var(--text-color);font-weight:500}.info-item span{color:var(--text-color-light)}.setting-item{margin-bottom:20px}.setting-item label{color:var(--text-color);margin-bottom:8px;font-weight:500;display:block}.input-field,.select-field{border:1px solid var(--input-border);background-color:var(--input-bg);color:var(--text-color);border-radius:4px;padding:8px 12px;font-size:1em;transition:border-color .2s}.input-field:focus,.select-field:focus{border-color:var(--accent-color1);outline:none}.input-field{width:80px}.select-field{min-width:200px}.theme-switcher{justify-content:flex-start;align-items:center;gap:12px;display:flex}.toggle-switch{position:relative}.toggle-input{opacity:0;width:0;height:0}.toggle-label{cursor:pointer;width:50px;height:28px;display:inline-block;position:relative}.toggle-slider{cursor:pointer;background-color:#ccc;border-radius:28px;transition:all .4s;position:absolute;top:0;bottom:0;left:0;right:0}body.dark-mode .toggle-slider{background-color:#555}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .4s;position:absolute;bottom:4px;left:4px}.toggle-input:checked+.toggle-label .toggle-slider{background-color:var(--accent-color1)}.toggle-input:checked+.toggle-label .toggle-slider:before{transform:translate(22px)}.form-actions{align-items:center;gap:15px;padding-top:20px;display:flex}.save-btn{background-color:var(--button-primary-bg);color:#fff;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:8px;padding:12px 20px;font-size:1em;transition:background-color .2s;display:flex}.save-btn:hover:not(:disabled){background-color:var(--button-primary-hover-bg)}.save-btn:disabled{opacity:.6;cursor:not-allowed}.btn-icon{width:18px;height:18px}.save-success{color:var(--positive-saldo-bg);font-weight:500;animation:.3s ease-in fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay{z-index:1000;background-color:rgba(0,0,0,.6);justify-content:center;align-items:center;width:100%;height:100%;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}body.dark-mode .modal-overlay{background-color:rgba(0,0,0,.7)}.modal-content{background-color:var(--secondary-bg);box-shadow:0 10px 30px var(--shadow-lg);border-radius:12px;width:90%;max-width:600px;max-height:90vh;animation:.3s ease-out modalSlideIn;position:relative;overflow-y:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.modal-header h3{color:var(--text-color);margin:0;font-size:1.5em;font-weight:600}.modal-close-btn{color:var(--text-color-light);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px;transition:background-color .2s,color .2s}.modal-close-btn:hover{background-color:var(--primary-bg);color:var(--text-color)}.modal-body{flex-direction:column;flex:1;padding:16px;display:flex;overflow-y:auto}.date-display{background-color:var(--primary-bg);color:var(--text-color);border-radius:8px;align-items:center;gap:15px;margin-bottom:25px;padding:15px;font-weight:500;display:flex}.week-info{flex-shrink:0;align-items:center;display:flex}.week-number{background:var(--accent-color1);color:#fff;text-align:center;border-radius:20px;min-width:50px;padding:6px 12px;font-size:.85rem;font-weight:600;box-shadow:0 2px 4px rgba(0,0,0,.1)}.date-info{flex:1;align-items:center;gap:10px;display:flex}.date-display svg{color:var(--accent-color1)}.time-entry-form{flex-direction:column;flex:1;align-items:center;gap:0;display:flex}.time-entry-form>.form-section{width:100%;max-width:550px;margin-bottom:10px;padding:10px!important}.time-entry-form>.form-section:last-child{margin-bottom:0}.time-entry-form .section-header{margin-bottom:6px!important;padding:4px 8px!important}.time-entry-form .form-section{gap:0!important}.time-entry-form .time-inputs-grid,.time-entry-form .time-input-group{margin-top:0!important}.time-entry-form .time-label{margin-bottom:4px!important}.form-section{background-color:var(--primary-bg);border-radius:8px;padding:20px}body.dark-mode .form-section{background-color:#282828}.form-section h4{color:var(--text-color);margin:0 0 15px;font-size:1.1em;font-weight:600}.form-row{gap:15px;display:flex}.form-group{flex-direction:column;flex:1;display:flex}.form-group label{color:var(--text-color);margin-bottom:6px;font-size:.95em;font-weight:500}.form-input,.form-textarea{border:1px solid var(--input-border);background-color:var(--input-bg);color:var(--text-color);border-radius:6px;padding:10px 12px;font-size:1em;transition:border-color .2s,box-shadow .2s}.form-textarea{resize:vertical;min-height:80px;font-family:inherit}.modal-actions{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;display:flex}.action-buttons{gap:12px;display:flex}.save-btn,.cancel-btn,.delete-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:1em;font-weight:500;transition:all .2s;display:flex}.save-btn{background-color:var(--accent-color1);color:#fff}.save-btn:hover:not(:disabled){background-color:var(--button-primary-hover-bg);transform:translateY(-1px);box-shadow:0 4px 8px rgba(103,126,234,.3)}.cancel-btn{color:var(--text-color-light);border:1px solid var(--border-color);background-color:transparent}.cancel-btn:hover:not(:disabled){background-color:var(--primary-bg);color:var(--text-color)}.delete-btn{background-color:var(--negative-saldo-bg);color:#fff}.delete-btn:hover:not(:disabled){background-color:#e66a4f;transform:translateY(-1px);box-shadow:0 4px 8px rgba(255,126,95,.3)}@media (max-width:768px){.modal-content{width:95%;max-height:95vh;margin:10px}.modal-header,.modal-body{padding:20px}.form-row{flex-direction:column;gap:15px}.modal-actions{flex-direction:column;align-items:stretch;gap:15px}.action-buttons{justify-content:stretch;gap:10px}.save-btn,.cancel-btn{flex:1;justify-content:center}.delete-btn{justify-content:center;align-self:stretch}.date-display{flex-direction:column;align-items:flex-start;gap:10px}.week-info{align-self:flex-start}.week-number{min-width:45px;padding:5px 10px;font-size:.8rem}}.myflex-page{background-color:var(--secondary-bg);box-shadow:0 4px 12px var(--shadow-md);border-radius:8px;padding:20px}.month-navigation{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.month-nav-controls{align-items:center;gap:10px;display:flex}.month-navigation h2{color:var(--text-color);text-transform:capitalize;border-bottom:none;margin:0;padding-bottom:0;font-size:1.5em}.nav-btn{color:var(--link-color);cursor:pointer;background:0 0;border:1px solid transparent;border-radius:50%;justify-content:center;align-items:center;padding:5px;transition:background-color .2s;display:flex}.nav-btn:hover{background-color:var(--primary-bg)}.view-mode-toggle{background-color:var(--primary-bg);border-radius:6px;padding:4px;display:flex}.toggle-btn{color:var(--text-color-light);cursor:pointer;background-color:transparent;border:none;border-radius:4px;justify-content:center;align-items:center;padding:8px 12px;transition:all .2s;display:flex}.toggle-btn.active{background-color:var(--secondary-bg);color:var(--link-color);box-shadow:0 1px 3px var(--shadow-sm)}.toggle-btn:not(.active):hover{color:var(--text-color)}.myflex-content{margin-top:20px}.calendar-view{width:100%}.calendar-grid-header{text-align:center;color:var(--text-color-light);border-bottom:1px solid var(--border-color);grid-template-columns:60px repeat(7,1fr);margin-bottom:10px;padding-bottom:10px;font-weight:700;display:grid}.week-header{background:var(--accent-color1);color:#fff;border-radius:4px;padding:8px 4px;font-size:.9rem;font-weight:600}.calendar-grid{grid-template-columns:60px repeat(7,1fr);gap:8px;min-height:300px;display:grid}.calendar-placeholder,.list-placeholder{text-align:center;color:var(--text-color-light);background-color:var(--primary-bg);border:2px dashed var(--border-color);border-radius:8px;grid-column:1/-1;padding:40px}.calendar-day{border:1px solid var(--border-color);cursor:pointer;background-color:var(--secondary-bg);border-radius:6px;flex-direction:column;justify-content:space-between;min-height:90px;padding:8px;transition:background-color .2s,box-shadow .2s;display:flex}.calendar-day:hover{background-color:var(--primary-bg);box-shadow:0 2px 5px var(--shadow-sm)}.calendar-day.empty{background-color:var(--primary-bg);opacity:.7;cursor:default}body.dark-mode .calendar-day.empty{background-color:#222}.calendar-day .day-number{color:var(--text-color);text-align:center;border-radius:4px;align-self:flex-start;min-width:1.5em;padding:2px 4px;font-size:1.1em;font-weight:700}.calendar-day.is-today .day-number{background-color:var(--today-highlight-bg);color:var(--today-highlight-text);border-radius:50%}.calendar-day.weekend .day-number{color:var(--weekend-text)}.calendar-day.is-today.weekend .day-number{color:var(--today-highlight-text)}.calendar-day.weekend{background-color:var(--weekend-bg)}.calendar-day .flex-saldo{color:#fff;text-align:center;border-radius:4px;margin-top:5px;padding:3px 6px;font-size:.9em;font-weight:700}.calendar-day .flex-saldo.positive{background-color:var(--positive-saldo-bg)}.calendar-day .flex-saldo.negative{background-color:var(--negative-saldo-bg)}.calendar-day .flex-saldo.zero{background-color:var(--zero-saldo-bg);color:var(--zero-saldo-text)}.calendar-day .flex-saldo.flex-leave{color:#fff;background-color:#f59e0b}.calendar-week-number{background:var(--primary-bg);border:1px solid var(--border-color);color:var(--accent-color1);min-height:90px;box-shadow:0 1px 3px var(--shadow-sm);border-radius:6px;justify-content:center;align-items:center;padding:8px 4px;font-size:.8rem;font-weight:600;transition:background-color .2s,box-shadow .2s;display:flex}.calendar-week-number:hover{background-color:var(--secondary-bg);box-shadow:0 2px 5px var(--shadow-sm)}body.dark-mode .calendar-week-number{background:#2a2a2a;border-color:#444}.list-view-container{flex-direction:column;gap:12px;display:flex}.list-item-card{background-color:var(--primary-bg);border-left:5px solid var(--accent-color1);box-shadow:0 2px 4px var(--shadow-sm);border-radius:8px;align-items:center;padding:15px;transition:box-shadow .2s;display:flex}.list-item-card:hover{box-shadow:0 4px 8px var(--shadow-md)}.list-item-date{border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;margin-right:20px;padding-right:20px;display:flex}.list-item-date .day{color:var(--text-color);font-size:2em;font-weight:700}.list-item-date .weekday{color:var(--text-color-light);text-transform:capitalize;font-size:.9em}.list-item-details{flex-grow:1;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;display:grid}.list-item-details .detail-item{font-size:.9em}.list-item-details .detail-item strong{color:var(--text-color-light);font-weight:500;display:block}.list-item-details .detail-item span{color:var(--text-color);font-size:1.1em;font-weight:700}.list-item-saldo{color:#fff;text-align:center;border-radius:6px;min-width:70px;margin:0 15px;padding:5px 10px;font-size:1.2em;font-weight:700}.list-item-saldo.positive{background-color:var(--positive-saldo-bg)}.list-item-saldo.negative{background-color:var(--negative-saldo-bg)}.list-item-saldo.zero{background-color:var(--zero-saldo-bg);color:var(--zero-saldo-text)}.list-item-actions button{border:1px solid var(--border-color);cursor:pointer;color:var(--link-color);background:0 0;border-radius:4px;padding:8px 12px;transition:background-color .2s,border-color .2s}.list-item-actions button:hover{background-color:var(--accent-color1);border-color:var(--accent-color1);color:#fff}.list-empty-message{text-align:center;color:var(--text-color-light);padding:40px;font-size:1.1em}.auth-page-container{background-color:var(--primary-bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-page-content{width:100%;max-width:500px}.auth-form-wrapper{width:100%}.auth-header{text-align:center;margin-bottom:32px}.auth-title{color:var(--text-color);letter-spacing:-.03em;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;box-sizing:border-box;max-width:100%;margin-bottom:28px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,SF Pro Display,Inter,system-ui,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:max(52px,min(7vw,80px));font-weight:900;line-height:1.1}.gradient-text{background:linear-gradient(135deg,#1e6b4a 0%,#2d8659 30%,#4a9b8e 70%,#5bb5a5 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:inline-block}.auth-subtitle{color:var(--text-color-light);margin-bottom:0;font-size:max(16px,min(4vw,20px))}.auth-form-card{background-color:var(--secondary-bg);box-shadow:0 4px 12px var(--shadow-md);border:1px solid var(--border-color);border-radius:12px;padding:max(24px,min(5vw,32px))}.mobile-nav-toggle{color:#fff;cursor:pointer;z-index:100;background:0 0;border:none;padding:8px;display:none}.mobile-nav-menu{display:none}.mobile-nav-links{margin:0;padding:0;list-style:none}.mobile-nav-link{width:100%;color:var(--text-color);border:none;border-bottom:1px solid var(--border-color);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:12px;padding:16px 20px;font-size:16px;font-weight:500;transition:background-color .2s;display:flex}.mobile-nav-link:hover,.mobile-nav-link.active{background-color:var(--primary-bg);color:var(--accent-color1)}.mobile-nav-footer{border-top:1px solid var(--border-color);margin-top:auto;padding:20px}.mobile-user-info{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;display:flex}.mobile-user-name{color:var(--text-color);font-size:16px;font-weight:600}.mobile-user-role{color:var(--text-color-light);text-transform:capitalize;font-size:14px}.mobile-logout-btn{background-color:var(--negative-saldo-bg);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-weight:600;transition:opacity .2s;display:flex}.mobile-logout-btn:hover{opacity:.9}.user-profile-name{display:inline}@media (max-width:768px){.main-nav{height:60px;padding:0 16px;position:relative}.nav-logo{flex:1}.nav-links,.nav-actions,.user-profile-menu{display:none}.mobile-nav-toggle{display:block}.mobile-nav-menu{background-color:var(--secondary-bg);z-index:999;flex-direction:column;transition:transform .3s;display:flex;position:fixed;top:60px;bottom:0;left:0;right:0;overflow-y:auto;transform:translate(-100%);box-shadow:2px 0 10px rgba(0,0,0,.1)}.mobile-nav-menu.open{transform:translate(0)}.app-header{flex-direction:column;align-items:flex-start;gap:16px;padding:16px}.user-info{width:100%}.user-info .user-name{font-size:max(18px,min(5vw,24px))}.user-info .user-role{font-size:max(14px,min(3.5vw,16px))}.total-flex-balance{box-sizing:border-box;text-align:center;width:100%;padding:16px}.total-flex-balance .period-label{font-size:max(12px,min(3vw,14px))}.total-flex-balance .saldo-value{font-size:max(24px,min(6vw,32px))}.app-main-content{padding:16px}.dashboard-grid{grid-template-columns:1fr;gap:16px}.dashboard-card{padding:16px}.welcome-title{font-size:max(24px,min(6vw,32px))}.welcome-subtitle{font-size:max(14px,min(3.5vw,18px))}.auth-page-container{align-items:flex-start;padding:40px 16px 16px}.auth-form-card{padding:24px 20px}.status-card .card-content{flex-direction:column;align-items:flex-start;gap:15px}.status-time{flex-direction:row;align-self:flex-end;gap:6px}.week-summary{align-items:flex-start}.week-hours{font-size:max(24px,min(6vw,32px))}}@media (max-width:480px){.main-nav{padding:0 12px}.nav-logo .logo-text{font-size:1.5em}.dashboard{padding:12px}.welcome-section{margin-bottom:24px}.welcome-title{font-size:max(20px,min(7vw,28px))}.welcome-subtitle{font-size:max(13px,min(3.5vw,16px))}.dashboard-grid{grid-template-columns:1fr;gap:12px}.dashboard-card{padding:14px}.card-header h3{font-size:max(16px,min(4vw,18px))}.card-icon{width:24px;height:24px}.status-text{font-size:max(14px,min(3.5vw,16px))}.week-hours{font-size:max(24px,min(6vw,32px))}.saldo-value{font-size:max(28px,min(7vw,36px))}.action-button{padding:10px;font-size:max(14px,min(3.5vw,16px))}.activity-card .activity-action{font-size:max(13px,min(3vw,15px))}.activity-card .activity-time{font-size:max(11px,min(2.5vw,13px))}.settings-card{padding:15px}.info-item{flex-direction:column;align-items:flex-start;gap:5px}.theme-switcher{flex-direction:column;align-items:flex-start;gap:10px}.form-actions{flex-direction:column;align-items:flex-start}.month-navigation{flex-direction:column;gap:15px}.month-navigation h2{font-size:max(18px,min(4.5vw,22px))}.nav-btn{padding:8px}.app-main-content{padding:12px}.auth-page-container{padding:32px 12px 12px}.auth-form-card{padding:20px 16px}.calendar-grid-header{grid-template-columns:50px repeat(7,1fr)}.calendar-grid{grid-template-columns:50px repeat(7,1fr);gap:4px}.calendar-day{min-height:70px;padding:5px;font-size:.9em}.calendar-day .day-number{font-size:1em}.calendar-day .flex-saldo{font-size:.8em}.calendar-week-number{min-height:70px;padding:4px 2px;font-size:.7rem}.week-header{padding:6px 2px;font-size:.8rem}.list-item-card{flex-direction:column;align-items:stretch;gap:10px}.list-item-date{border-right:none;border-bottom:1px solid var(--border-color);flex-direction:row;gap:10px;margin:0;padding:0 0 10px}.list-item-details{grid-template-columns:1fr 1fr}.list-item-actions{align-self:flex-end}}.user-management-container{background-color:var(--primary-bg);max-width:1400px;min-height:100vh;margin:0 auto;padding:24px}.page-header{margin-bottom:32px}.header-content{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.page-icon{width:32px;height:32px;color:var(--accent-color1)}.page-header h1{color:var(--text-color);margin:0;font-size:2rem;font-weight:600}.page-header p{color:var(--text-color-light);margin:4px 0 0;font-size:1rem}.stats-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:32px;display:grid}.stat-card{background:var(--secondary-bg);border:1px solid var(--border-color);text-align:center;box-shadow:0 2px 4px var(--shadow-sm);border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s}.stat-number{color:var(--accent-color1);margin-bottom:4px;font-size:2rem;font-weight:700}.stat-label{color:var(--text-color-light);font-size:.875rem;font-weight:500}.filter-bar{background:var(--secondary-bg);border:1px solid var(--border-color);box-shadow:0 2px 4px var(--shadow-sm);border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;padding:20px;display:flex}.search-box{flex:1;min-width:280px;position:relative}.search-icon{width:18px;height:18px;color:var(--text-color-light);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.filter-controls{flex-wrap:wrap;gap:12px;display:flex}.filter-select{border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-color);cursor:pointer;border-radius:8px;min-width:120px;padding:10px 12px;font-size:.875rem;transition:border-color .2s}.bulk-actions{background:var(--accent-color1);color:#fff;box-shadow:0 2px 4px var(--shadow-md);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 20px;display:flex}.bulk-info{font-weight:500}.bulk-buttons{gap:8px;display:flex}.bulk-btn{color:#fff;cursor:pointer;background:rgba(255,255,255,.2);border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:.875rem;transition:background-color .2s;display:flex}.bulk-btn:hover{background:rgba(255,255,255,.3)}.bulk-dropdown{display:inline-block;position:relative}.bulk-dropdown-content{background:var(--secondary-bg);border:1px solid var(--border-color);box-shadow:0 4px 8px var(--shadow-md);z-index:1001;border-radius:6px;min-width:140px;margin-top:4px;display:none;position:absolute;top:100%;left:0}.bulk-dropdown:hover .bulk-dropdown-content{display:block}.bulk-dropdown-content button{width:100%;color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 12px;font-size:.875rem;transition:background-color .2s}.bulk-dropdown-content button:hover{background:var(--primary-bg)}.bulk-dropdown-content button:first-child{border-radius:6px 6px 0 0}.bulk-dropdown-content button:last-child{border-radius:0 0 6px 6px}.user-table-container{background:var(--secondary-bg);border:1px solid var(--border-color);box-shadow:0 2px 4px var(--shadow-sm);border-radius:12px;overflow:hidden}.user-table{border-collapse:collapse;width:100%;font-size:.875rem}.user-table th{background:var(--primary-bg);color:var(--text-color);text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:16px 12px;font-weight:600}.user-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:16px 12px}.user-table tbody tr{transition:background-color .2s}.user-table tbody tr:hover{background:var(--primary-bg)}.user-row-inactive{opacity:.6}.table-checkbox{width:16px;height:16px;accent-color:var(--accent-color1);cursor:pointer}.user-cell{align-items:center;gap:12px;display:flex}.user-avatar{background:var(--accent-gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:.875rem;font-weight:600;display:flex}.user-info{flex-direction:column;gap:2px;display:flex}.user-name{color:var(--text-color);font-weight:500}.user-email{color:var(--text-color-light);font-size:.8rem}.role-badge{text-transform:uppercase;letter-spacing:.5px;cursor:pointer;border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:600;transition:transform .2s;display:inline-block}.role-badge:hover{transform:scale(1.05)}.role-badge-admin{color:var(--negative-saldo-bg);background-color:#fee2e2}.role-badge-org-admin{color:#d97706;background-color:#fef3c7}.role-badge-manager{color:#2563eb;background-color:#dbeafe}.role-badge-employee{color:var(--positive-saldo-bg);background-color:#d1fae5}body.dark-mode .role-badge-admin{color:#fca5a5;background-color:rgba(220,38,38,.2)}body.dark-mode .role-badge-org-admin{color:#fbbf24;background-color:rgba(217,119,6,.2)}body.dark-mode .role-badge-manager{color:#93c5fd;background-color:rgba(37,99,235,.2)}body.dark-mode .role-badge-employee{color:#6ee7b7;background-color:rgba(5,150,105,.2)}.role-editor{display:inline-block;position:relative}.role-select{background:var(--secondary-bg);border:2px solid var(--accent-color1);text-transform:uppercase;letter-spacing:.5px;color:var(--text-color);cursor:pointer;border-radius:20px;outline:none;min-width:120px;padding:4px 12px;font-size:.75rem;font-weight:600}.role-badge-locked{opacity:.7;cursor:not-allowed!important}.role-badge-locked:hover{transform:none!important}.manager-cell{align-items:center;gap:6px;display:flex}.manager-name{color:var(--text-color);font-size:.875rem;font-weight:500}.manager-name.manager-none{color:var(--text-color-light);font-weight:400}.manager-icon{color:var(--accent-color1);flex-shrink:0}.manager-selection-preview{color:#10b981;background-color:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);border-radius:6px;align-items:center;gap:6px;margin-top:8px;padding:8px 12px;font-size:.875rem;display:flex}.manager-selection-preview svg{color:#10b981;flex-shrink:0}.manager-selection-preview strong{color:var(--text-color);font-weight:600}.success-banner{color:#fff;background-color:#10b981;border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;animation:.3s ease-out slideIn;display:flex;box-shadow:0 2px 8px rgba(16,185,129,.2)}.success-banner svg{flex-shrink:0}.success-banner span{flex:1;font-weight:500}.success-banner-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background-color .2s;display:flex}.success-banner-close:hover{background-color:rgba(255,255,255,.2)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.date-text{color:var(--text-color-light);font-size:.875rem}.status-cell{align-items:center;gap:8px;display:flex}.status-toggle{width:44px;height:24px;display:inline-block;position:relative}.status-input{opacity:0;width:0;height:0}.status-slider{cursor:pointer;background-color:#ccc;border-radius:24px;transition:all .3s;position:absolute;top:0;bottom:0;left:0;right:0}.status-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.status-input:checked+.status-slider{background-color:var(--accent-color1)}.status-input:checked+.status-slider:before{transform:translate(20px)}.status-text{font-size:.8rem;font-weight:500}.status-active{color:var(--positive-saldo-bg)}.status-inactive{color:var(--negative-saldo-bg)}.action-cell{gap:4px;display:flex}.action-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-color-light);background:0 0;border-radius:6px;padding:8px;transition:all .2s}.action-btn:hover{background:var(--primary-bg);color:var(--text-color)}.edit-btn:hover{border-color:var(--accent-color1);color:var(--accent-color1)}.empty-state{text-align:center;color:var(--text-color-light);padding:60px 20px}.empty-icon{opacity:.5;width:48px;height:48px;margin:0 auto 16px}.empty-state h3{color:var(--text-color);margin:0 0 8px}.loading-state,.error-state,.access-denied{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.loading-spinner{border:3px solid var(--border-color);border-top:3px solid var(--accent-color1);border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-icon,.alert-icon{width:48px;height:48px;color:var(--negative-saldo-bg);margin-bottom:16px}.retry-btn{background:var(--accent-color1);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:16px;padding:12px 24px;font-weight:500;transition:background-color .2s}.retry-btn:hover{background:var(--button-primary-hover-bg)}@media (max-width:768px){.user-management-container{padding:16px}.stats-cards{grid-template-columns:repeat(2,1fr);gap:12px}.filter-bar{flex-direction:column;align-items:stretch}.search-box{min-width:auto}.filter-controls{justify-content:space-between}.bulk-actions{flex-direction:column;align-items:stretch;gap:12px}.bulk-buttons{justify-content:center}.user-table-container{overflow-x:auto}.user-table{min-width:800px}.user-cell{min-width:200px}}@media (max-width:480px){.stats-cards{grid-template-columns:1fr}.page-header h1{font-size:1.5rem}.user-table{font-size:.8rem}.user-table th,.user-table td{padding:12px 8px}}.audit-sidebar{background:var(--secondary-bg);border-left:1px solid var(--border-color);width:400px;height:calc(100vh - 60px);box-shadow:-4px 0 8px var(--shadow-md);z-index:1000;flex-direction:column;transition:transform .3s;display:flex;position:fixed;top:60px;right:0;transform:translate(100%)}.audit-sidebar-open{transform:translate(0)}.audit-header{border-bottom:1px solid var(--border-color);background:var(--primary-bg);justify-content:space-between;align-items:center;padding:20px;display:flex}.audit-title{align-items:center;gap:8px;display:flex}.audit-title h3{color:var(--text-color);margin:0;font-size:1.1rem;font-weight:600}.audit-toggle{border:1px solid var(--border-color);cursor:pointer;color:var(--text-color-light);background:0 0;border-radius:6px;padding:8px;transition:all .2s}.audit-toggle:hover{background:var(--primary-bg);color:var(--text-color)}.audit-chevron-open{transform:rotate(180deg)}.audit-content{flex:1;padding:0;overflow-y:auto}.audit-list{flex-direction:column;gap:0;display:flex}.audit-item{border-bottom:1px solid var(--border-color);padding:16px 20px;transition:background-color .2s}.audit-item:hover{background:var(--primary-bg)}.audit-message{color:var(--text-color);margin-bottom:8px;font-size:.875rem;line-height:1.4}.audit-time{color:var(--text-color-light);align-items:center;gap:4px;font-size:.75rem;display:flex}.audit-empty{text-align:center;color:var(--text-color-light);flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.audit-empty p{margin:8px 0 0;font-size:.875rem}.audit-fab{background:var(--accent-color1);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:0 4px 12px var(--shadow-lg);z-index:999;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;bottom:24px;right:24px}.audit-fab:hover{background:var(--button-primary-hover-bg);box-shadow:0 6px 16px var(--shadow-lg);transform:scale(1.1)}@media (max-width:768px){.audit-sidebar{width:100%;top:60px}.audit-fab{width:48px;height:48px;bottom:16px;right:16px}}@media (max-width:480px){.audit-header{padding:16px}.audit-item{padding:12px 16px}.audit-title h3{font-size:1rem}}.modal-overlay{z-index:2000;background:rgba(0,0,0,.5);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.edit-modal{background:var(--secondary-bg);box-shadow:0 8px 24px var(--shadow-lg);border-radius:12px;flex-direction:column;width:100%;max-width:800px;max-height:90vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);background:var(--primary-bg);justify-content:space-between;align-items:center;padding:24px;display:flex}.modal-title{align-items:center;gap:12px;display:flex}.modal-title h2{color:var(--text-color);margin:0 0 4px;font-size:1.25rem;font-weight:600}.modal-title p{color:var(--text-color-light);margin:0;font-size:.875rem}.modal-close{border:1px solid var(--border-color);cursor:pointer;color:var(--text-color-light);background:0 0;border-radius:6px;padding:8px;transition:all .2s}.modal-close:hover{background:var(--primary-bg);color:var(--text-color)}.modal-content{flex-direction:column;flex:1;padding:0;display:flex;overflow-y:auto}.form-sections{flex-direction:column;flex:1;gap:32px;padding:24px;display:flex}.form-section{flex-direction:column;gap:4px;display:flex}.form-section h3{color:var(--text-color);border-bottom:1px solid var(--border-color);margin:0;padding-bottom:8px;font-size:1.1rem;font-weight:600}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-color);align-items:center;gap:6px;font-size:.875rem;font-weight:500;display:flex}.form-input,.form-textarea{border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-color);border-radius:8px;padding:12px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus{border-color:var(--accent-color1);outline:none;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.form-input-error{border-color:#dc2626!important}.form-input-readonly{background:var(--primary-bg);color:var(--text-color-light);cursor:not-allowed}.form-textarea{resize:vertical;min-height:80px}.form-error{color:var(--negative-saldo-bg);align-items:center;gap:4px;font-size:.75rem;display:flex}.form-hint{color:var(--text-color-light);font-size:.75rem;font-style:italic}.form-checkbox-label{cursor:pointer;align-items:center;gap:8px;display:flex}.form-checkbox{width:16px;height:16px;accent-color:var(--accent-color1)}.form-checkbox-text{color:var(--text-color);font-size:.875rem}.metadata-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.metadata-item{background:var(--primary-bg);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:4px;padding:12px;display:flex}.metadata-label{color:var(--text-color-light);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:500}.metadata-value{color:var(--text-color);font-size:.875rem;font-weight:500}.modal-actions{border-top:1px solid var(--border-color);background:var(--primary-bg);justify-content:space-between;align-items:center;padding:24px;display:flex}.action-group{align-items:center;gap:12px;display:flex}.btn{cursor:pointer;border:1px solid transparent;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent-color1);color:#fff;border-color:var(--accent-color1)}.btn-primary:hover:not(:disabled){background:var(--button-primary-hover-bg)}.btn-secondary{background:var(--primary-bg);color:var(--text-color);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--border-color)}.btn-outline{color:var(--text-color-light);border-color:var(--border-color);background:0 0}.btn-outline:hover:not(:disabled){background:var(--primary-bg);color:var(--text-color)}@media (max-width:768px){.modal-overlay{padding:16px}.edit-modal{max-height:95vh}.modal-header{padding:20px}.form-sections{gap:24px;padding:20px}.form-row{grid-template-columns:1fr;gap:16px}.modal-actions{flex-direction:column;align-items:stretch;gap:16px;padding:20px}.action-group{justify-content:center}.metadata-grid{grid-template-columns:1fr}}@media (max-width:480px){.modal-overlay{padding:8px}.modal-header{padding:16px}.form-sections{gap:20px;padding:16px}.modal-actions{padding:16px}.btn{justify-content:center;padding:12px 16px}}.manager-overview{background-color:var(--secondary-bg);box-shadow:0 4px 12px var(--shadow-md);border-radius:8px;padding:20px}.manager-overview h2{color:var(--text-color);border-bottom:1px solid var(--border-color);margin-top:0;margin-bottom:30px;padding-bottom:10px;font-size:1.8em}.stats-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px;display:grid}.stat-card{background:#fff;border-radius:8px;padding:20px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 4px rgba(0,0,0,.1)}body.dark-mode .stat-card{background:var(--secondary-bg);border:1px solid var(--border-color)}.stat-card:hover{box-shadow:0 4px 8px var(--shadow-md);transform:translateY(-2px)}.stat-label{color:#666;margin-bottom:8px;font-size:.9em;font-weight:500;display:block}body.dark-mode .stat-label{color:var(--text-color-light)}.stat-value{color:#333;font-size:1.8em;font-weight:700;line-height:1.2;display:block}body.dark-mode .stat-value{color:var(--text-color)}.stat-value.positive{color:var(--positive-saldo-bg)}.stat-value.negative{color:var(--negative-saldo-bg)}.stat-value.neutral{color:var(--zero-saldo-text)}body.dark-mode .stat-value.positive{color:var(--positive-saldo-bg)}body.dark-mode .stat-value.negative{color:var(--negative-saldo-bg)}body.dark-mode .stat-value.neutral{color:var(--zero-saldo-text)}.employee-table-container{margin-top:20px}.employee-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.1)}body.dark-mode .employee-table{background:var(--secondary-bg);border:1px solid var(--border-color)}.employee-table th{text-align:left;color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px;font-size:.875rem;font-weight:600}body.dark-mode .employee-table th{background:var(--primary-bg);color:var(--text-color);border-bottom:1px solid var(--border-color)}.employee-table td{vertical-align:middle;border-top:1px solid #e5e7eb;padding:12px;font-size:.875rem}body.dark-mode .employee-table td{border-top:1px solid var(--border-color)}.employee-table tbody tr:hover{background:#f8fafc}body.dark-mode .employee-table tbody tr:hover{background:var(--primary-bg)}.employee-info{flex-direction:column;gap:2px;display:flex}.employee-name{color:var(--text-color);font-weight:500}.employee-email{color:var(--text-color-light);font-size:.8rem}.flex-positive{color:var(--positive-saldo-bg);font-weight:600}.flex-negative{color:var(--negative-saldo-bg);font-weight:600}.flex-neutral{color:var(--zero-saldo-text);font-weight:600}body.dark-mode .flex-positive{color:var(--positive-saldo-bg)}body.dark-mode .flex-negative{color:var(--negative-saldo-bg)}body.dark-mode .flex-neutral{color:var(--zero-saldo-text)}.trend-cell{text-align:center}.trend-arrow{font-size:1.2em;display:inline-block}.no-employees{text-align:center;color:var(--text-color-light);background:var(--primary-bg);border:2px dashed var(--border-color);border-radius:8px;padding:40px}.loading-spinner{text-align:center;color:var(--text-color-light);padding:40px}.error-message{text-align:center;color:var(--negative-saldo-bg);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:20px}body.dark-mode .error-message{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3)}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:15px}.stat-card{padding:15px}.stat-value{font-size:1.5em}.employee-table-container{overflow-x:auto}.employee-table{min-width:600px}.employee-table th,.employee-table td{padding:8px;font-size:.8rem}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.manager-overview{padding:15px}.manager-overview h2{margin-bottom:20px;font-size:1.5em}.stat-card{padding:12px}.stat-value{font-size:1.3em}.employee-table{min-width:500px;font-size:.75rem}.employee-info{min-width:120px}}.employee-filter-bar{background:var(--secondary-bg);border:1px solid var(--border-color);box-shadow:0 2px 4px var(--shadow-sm);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:20px;margin-bottom:20px;padding:20px;display:flex}.filter-section{flex-direction:column;gap:8px;min-width:200px;display:flex}.filter-section:first-child{flex:2;min-width:250px}.filter-label{color:var(--text-color);align-items:center;gap:6px;margin-bottom:4px;font-size:.875rem;font-weight:500;display:flex}.search-box{flex:1;position:relative}.search-icon{color:var(--text-color-light);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{border:1px solid var(--border-color);background:var(--input-bg);width:100%;color:var(--text-color);border-radius:6px;padding:10px 12px 10px 40px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:var(--accent-color1);outline:none;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.search-input::placeholder{color:var(--text-color-light)}.filter-select{border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-color);cursor:pointer;border-radius:6px;padding:10px 12px;font-size:.875rem;transition:border-color .2s}.filter-select:focus{border-color:var(--accent-color1);outline:none}.sort-controls{align-items:stretch;gap:8px;display:flex}.sort-controls .filter-select{flex:1}.sort-direction-btn{background:var(--primary-bg);border:1px solid var(--border-color);cursor:pointer;color:var(--text-color);border-radius:6px;min-width:40px;padding:8px 12px;font-size:1.2em;font-weight:700;transition:background-color .2s,color .2s}.sort-direction-btn:hover{background:var(--accent-color1);color:#fff;border-color:var(--accent-color1)}.filter-results{flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:4px;min-width:150px;margin-left:auto;display:flex}.results-count{color:var(--text-color);font-size:.875rem;font-weight:600}.filter-description{color:var(--text-color-light);text-align:right;font-size:.75rem;font-style:italic}@media (max-width:768px){.employee-filter-bar{flex-direction:column;align-items:stretch;gap:16px;padding:16px}.filter-section,.filter-section:first-child{min-width:auto}.sort-controls{flex-direction:column;gap:8px}.filter-results{align-items:flex-start;margin-left:0}.filter-description{text-align:left}}@media (max-width:480px){.employee-filter-bar{gap:12px;padding:12px}.search-input{padding:8px 10px 8px 36px}.filter-select{padding:8px 10px}.sort-direction-btn{min-width:36px;padding:6px 10px}}.date-navigation{min-width:300px}.date-controls{background:var(--primary-bg);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:8px;padding:4px;display:flex}.date-nav-btn{cursor:pointer;color:var(--text-color-light);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.date-nav-btn:hover{background:var(--accent-color1);color:#fff}.date-display{flex-direction:column;flex:1;align-items:center;padding:4px 12px;display:flex}.date-range{color:var(--text-color);font-size:.875rem;font-weight:600;line-height:1.2}.date-month{color:var(--text-color-light);font-size:.75rem;line-height:1.2}.current-week-btn{background:var(--accent-color1);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-left:4px;padding:4px 8px;font-size:.75rem;font-weight:500;transition:background-color .2s}.current-week-btn:hover{background:var(--button-primary-hover-bg)}@media (max-width:768px){.date-navigation{min-width:auto}.date-controls{flex-direction:column;gap:8px;padding:8px}.date-display{order:-1;padding:4px 8px}.date-range{font-size:.8rem}.date-month{font-size:.7rem}.current-week-btn{padding:3px 6px;font-size:.7rem}}@media (max-width:480px){.date-controls{gap:6px;padding:6px}.date-nav-btn{padding:4px}.date-display{padding:2px 6px}}.period-selector{width:100%}.period-section{flex:2;min-width:400px}.period-tabs{background:var(--primary-bg);border:1px solid var(--border-color);border-bottom:none;border-radius:8px 8px 0 0;display:flex;overflow:hidden}.period-tab{color:var(--text-color-light);cursor:pointer;border:none;border-right:1px solid var(--border-color);background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 16px;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.period-tab:last-child{border-right:none}.period-tab:hover{background:var(--secondary-bg);color:var(--text-color)}.period-tab.active{background:var(--accent-color1);color:#fff}.period-tab.active:hover{background:var(--button-primary-hover-bg)}.period-content{background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:0 0 8px 8px;padding:16px}.period-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.custom-controls{flex-direction:column;align-items:flex-start;gap:16px}.date-range-inputs{align-items:flex-end;gap:16px;display:flex}.date-input-group{flex-direction:column;gap:6px;display:flex}.period-label{color:var(--text-color);white-space:nowrap;font-size:.875rem;font-weight:500}.period-input{border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-color);border-radius:6px;min-width:140px;padding:8px 12px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.period-input:focus{border-color:var(--accent-color1);outline:none;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.period-display{color:var(--accent-color1);background:var(--primary-bg);border:1px solid rgba(102,126,234,.2);border-radius:6px;padding:8px 12px;font-size:.875rem;font-weight:600}@media (max-width:768px){.period-section{min-width:auto}.period-tabs{flex-direction:column}.period-tab{border-right:none;border-bottom:1px solid var(--border-color);padding:10px 12px}.period-tab:last-child{border-bottom:none}.period-controls{flex-direction:column;align-items:stretch;gap:12px}.date-range-inputs{flex-direction:column;gap:12px}.period-input{width:100%;min-width:auto}.period-display{text-align:center}}@media (max-width:480px){.period-content{padding:12px}.period-tab{padding:8px 10px;font-size:.8rem}.period-input{padding:6px 8px;font-size:.8rem}.period-label{font-size:.8rem}.period-display{padding:6px 8px;font-size:.8rem}}.manager-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:10px;display:flex}.manager-header h2{color:var(--text-color);margin:0;font-size:1.8em}.connection-status{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.status-indicator{border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .3s;display:flex}.status-indicator.connected{color:var(--positive-saldo-bg);background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3)}.status-indicator.disconnected{color:var(--negative-saldo-bg);background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3)}body.dark-mode .status-indicator.connected{color:var(--positive-saldo-bg);background:rgba(34,197,94,.2)}body.dark-mode .status-indicator.disconnected{color:var(--negative-saldo-bg);background:rgba(239,68,68,.2)}.status-text{font-weight:500}.last-update{color:var(--text-color-light);align-items:center;gap:4px;font-size:.75rem;display:flex}.update-time{font-weight:400}.status-indicator.connected{animation:2s infinite pulse-green}@keyframes pulse-green{0%{box-shadow:0 0 rgba(34,197,94,.4)}70%{box-shadow:0 0 0 4px rgba(34,197,94,0)}to{box-shadow:0 0 rgba(34,197,94,0)}}@media (max-width:768px){.manager-header{flex-direction:column;align-items:flex-start;gap:10px}.connection-status{align-items:flex-start;width:100%}.status-indicator{padding:5px 10px;font-size:.75rem}.last-update{font-size:.7rem}}@media (max-width:480px){.manager-header h2{font-size:1.5em}.connection-status{flex-direction:row;justify-content:space-between;align-items:center}.status-indicator{padding:4px 8px;font-size:.7rem}}.debug-components{flex-direction:column;gap:20px;margin-top:30px;display:flex}.supabase-test{background:var(--secondary-bg);border:2px solid #3b82f6;border-radius:8px;overflow:hidden}.test-header{color:#fff;background:#3b82f6;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.test-header h3{align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;display:flex}.test-run-btn{color:#fff;cursor:pointer;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:6px 12px;font-size:.75rem;transition:background-color .2s}.test-run-btn:hover:not(:disabled){background:rgba(255,255,255,.3)}.test-run-btn:disabled{opacity:.7;cursor:not-allowed}.test-results{max-height:400px;padding:16px;overflow-y:auto}.test-result{border-left:4px solid;border-radius:6px;margin-bottom:8px;padding:12px}.test-result.success{background:#f0fdf4;border-left-color:#22c55e}.test-result.error{background:#fef2f2;border-left-color:#ef4444}.test-result.warning{background:#fffbeb;border-left-color:#f59e0b}body.dark-mode .test-result.success{background:rgba(34,197,94,.1)}body.dark-mode .test-result.error{background:rgba(239,68,68,.1)}body.dark-mode .test-result.warning{background:rgba(245,158,11,.1)}.test-info{align-items:center;gap:8px;display:flex}.test-name{font-size:.85rem;font-weight:600}.test-message{color:var(--text-color-light);font-size:.8rem}.test-details{margin-top:8px}.test-details summary{cursor:pointer;color:var(--text-color-light);margin-bottom:8px;font-size:.75rem}.test-details pre{background:var(--primary-bg);border:1px solid var(--border-color);border-radius:4px;max-height:150px;padding:8px;font-size:.7rem;overflow:auto}.modern-time-modal{background:var(--secondary-bg);border-radius:16px;flex-direction:column;width:95%;max-width:700px;max-height:90vh;animation:.3s ease-out modalSlideIn;display:flex;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.15)}.modern-time-header{background:linear-gradient(135deg,var(--primary-bg)0%,rgba(102,126,234,.05) 100%);border-bottom:1px solid var(--border-color);padding:20px 28px;position:relative;overflow:visible}.modern-time-header:before{content:"";background:linear-gradient(90deg,var(--accent-color1)0%,var(--accent-color2)100%);z-index:0;height:3px;position:absolute;top:0;left:0;right:0}.header-content{z-index:2;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;display:grid;position:relative}.header-title{text-align:center;justify-self:center}.header-title h3{color:var(--text-color);letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:700;line-height:1.2}.header-right-info{flex-shrink:0;align-items:center;gap:12px;display:flex}.header-right-info .week-info{background:linear-gradient(135deg,var(--accent-color1)0%,var(--accent-color2)100%);white-space:nowrap;border-radius:8px;align-items:center;padding:6px 12px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px rgba(102,126,234,.25)}.header-right-info .week-info:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,.3)}.header-right-info .week-number{color:#fff;text-align:center;white-space:nowrap;font-size:.8rem;font-weight:700}.header-right-info .date-info{background:var(--secondary-bg);border:1px solid var(--border-color);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;transition:all .2s;display:flex}.header-right-info .date-info:hover{border-color:var(--accent-color1);box-shadow:0 2px 8px rgba(102,126,234,.1)}.header-right-info .date-info svg{color:var(--accent-color1);flex-shrink:0}.header-right-info .date-text{color:var(--text-color);letter-spacing:-.01em;white-space:nowrap;font-size:.85rem;font-weight:600}.modern-time-header .modal-close-btn.modern-close-btn,.modern-close-btn{cursor:pointer;z-index:10;border-radius:10px;flex-shrink:0;order:-1;justify-content:center;align-items:center;width:40px;height:40px;padding:10px;transition:all .2s;position:relative;background:var(--secondary-bg)!important;border:1px solid var(--border-color)!important;color:var(--text-color-light)!important;display:flex!important}.modern-time-header .modal-close-btn.modern-close-btn:hover,.modern-close-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(102,126,234,.15);background:var(--primary-bg)!important;color:var(--text-color)!important;border-color:var(--accent-color1)!important}.modern-time-header .modal-close-btn.modern-close-btn:active,.modern-close-btn:active{transform:scale(.95)}.work-hours-summary{margin-bottom:16px}.summary-card{background:linear-gradient(135deg,var(--accent-color1)0%,var(--accent-color2)100%);color:#fff;border-radius:10px;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:0 4px 12px rgba(102,126,234,.3)}.summary-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(255,255,255,.2);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.summary-content{flex:1}.summary-label{opacity:.9;margin-bottom:4px;font-size:.9rem}.summary-value{font-size:1.5rem;font-weight:700;line-height:1}.form-section{background:var(--primary-bg);box-shadow:0 2px 8px var(--shadow-sm);border:1px solid transparent;border-radius:8px;margin-bottom:10px;padding:10px;transition:all .3s;display:block;position:relative;overflow:hidden}.form-section:before{content:"";background:linear-gradient(90deg,var(--accent-color1),var(--accent-color2));opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.form-section:hover:before{opacity:1}.form-section:hover{box-shadow:0 4px 12px var(--shadow-md);border-color:rgba(102,126,234,.1);transform:translateY(-2px)}.form-section.work-section{border-left:4px solid var(--accent-color1)}.form-section.work-section:before{background:linear-gradient(90deg,var(--accent-color1),var(--accent-color2))}.form-section.lunch-section{border-left:4px solid var(--accent-color1)}.form-section.lunch-section:before{background:linear-gradient(90deg,var(--accent-color1),var(--accent-color2))}.form-section.notes-section{border-left:4px solid #8b5cf6}.form-section.notes-section:before{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.entry-type-select-wrapper{border:1px solid var(--border-color);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;transition:all .2s;display:flex}.entry-type-select-wrapper:hover{border-color:#f59e0b;box-shadow:0 2px 8px rgba(245,158,11,.1)}.entry-type-icon{color:#f59e0b;flex-shrink:0;width:18px;height:18px}.entry-type-select{color:var(--text-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3,4 6,7 9,4'/%3E%3C/svg%3E") 100% no-repeat;border:none;outline:none;flex:1;padding-right:24px;font-size:.9rem;font-weight:500}body.dark-mode .entry-type-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3,4 6,7 9,4'/%3E%3C/svg%3E")}body.dark-mode .entry-type-select-wrapper{background:var(--secondary-bg)}.lunch-buttons-container{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;display:flex}.lunch-preset-btn{border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;background:#fff;border-radius:8px;min-width:80px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .2s}.lunch-preset-btn:hover{border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 2px 8px rgba(245,158,11,.2)}.lunch-preset-btn.active{color:#fff;background:#f59e0b;border-color:#f59e0b;box-shadow:0 2px 8px rgba(245,158,11,.3)}body.dark-mode .lunch-preset-btn{background:var(--secondary-bg);color:var(--text-color)}body.dark-mode .lunch-preset-btn.active{color:#fff;background:#f59e0b}.notes-section-inline{border-top:1px solid var(--border-color);margin-top:16px;padding-top:16px}.section-header{background:linear-gradient(135deg,rgba(102,126,234,.05) 0%,rgba(102,126,234,.02) 100%);border:1px solid rgba(102,126,234,.1);border-radius:8px;align-items:center;gap:8px;margin-bottom:0;padding:4px 8px;display:flex;position:relative;overflow:hidden}.section-header:before{content:"";background:linear-gradient(90deg,var(--accent-color1),var(--accent-color2));height:3px;position:absolute;top:0;left:0;right:0}.section-header h4{color:var(--text-color);text-shadow:0 1px 2px rgba(0,0,0,.1);margin:0;font-size:.95em;font-weight:600}.section-header svg{color:var(--accent-color1);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));flex-shrink:0;width:16px;height:16px}.time-inputs-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.time-input-group{flex-direction:column;gap:6px;display:flex}.time-label{color:var(--text-color);background:rgba(102,126,234,.05);border:1px solid rgba(102,126,234,.1);border-radius:5px;align-items:center;gap:5px;margin-bottom:3px;padding:3px 6px;font-size:.8rem;font-weight:600;transition:all .3s;display:flex}.time-label:hover{background:rgba(102,126,234,.1);border-color:rgba(102,126,234,.2);transform:translateY(-1px)}.time-label svg{color:var(--accent-color1);opacity:1;flex-shrink:0;width:12px;height:12px}.time-input-wrapper{background:var(--secondary-bg);border:2px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-sm);border-radius:8px;padding:2px;transition:all .3s;position:relative}.time-input-wrapper:hover{border-color:var(--accent-color1);box-shadow:0 4px 12px var(--shadow-md);transform:translateY(-1px)}.time-input-wrapper:focus-within{border-color:var(--accent-color1);box-shadow:0 0 0 4px rgba(102,126,234,.15),0 4px 12px var(--shadow-md);background:var(--secondary-bg);transform:translateY(-2px)}.time-input{background:var(--secondary-bg);width:100%;color:var(--text-color);text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;border:none;border-radius:5px;outline:none;padding:8px 12px;font-size:.95rem;font-weight:600;transition:all .3s;box-shadow:inset 0 1px 3px rgba(0,0,0,.1)}.time-input::-webkit-datetime-edit-ampm-field{display:none!important}.time-input::-webkit-datetime-edit-hour-field{padding:0}.time-input::-webkit-datetime-edit-minute-field{padding:0}.time-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;display:none}.time-input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;display:none}.time-input::-moz-datetime-edit-ampm-field{display:none!important}.time-input::-ms-clear{display:none}.time-input::-ms-reveal{display:none}.time-input:hover{background:var(--primary-bg);box-shadow:inset 0 1px 3px rgba(0,0,0,.1),0 0 0 2px rgba(102,126,234,.1)}.time-input:focus{background:var(--primary-bg);box-shadow:inset 0 1px 3px rgba(0,0,0,.1),0 0 0 3px var(--accent-color1);color:var(--accent-color1);font-weight:700}.time-input::-webkit-calendar-picker-indicator{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12,6 12,12 16,14'/%3E%3C/svg%3E") 50% no-repeat;background-color:var(--accent-color1);color:#fff;cursor:pointer;border-radius:6px;width:24px;height:24px;margin-left:8px;padding:8px;transition:all .2s}.time-input::-webkit-calendar-picker-indicator:hover{background-color:var(--accent-color2);transform:scale(1.1);box-shadow:0 2px 8px rgba(102,126,234,.3)}.notes-wrapper{background:var(--primary-bg);box-shadow:inset 0 2px 4px var(--shadow-sm);border-radius:8px;margin-top:8px;padding:2px;transition:all .3s}.notes-wrapper:focus-within{box-shadow:inset 0 2px 4px var(--shadow-sm),0 0 0 3px rgba(102,126,234,.1);background:var(--secondary-bg)}.notes-textarea{width:100%;color:var(--text-color);resize:vertical;background:0 0;border:none;border-radius:6px;outline:none;min-height:60px;padding:8px 12px;font-family:inherit;font-size:.9rem;line-height:1.4;transition:all .3s}.notes-textarea:focus{background:var(--secondary-bg);box-shadow:0 0 0 2px var(--accent-color1)}.notes-textarea::placeholder{color:var(--text-color-light);font-style:italic}.modal-actions{border-top:1px solid var(--border-color);background:var(--primary-bg);border-radius:24px;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:12px 16px;display:flex}.action-buttons{gap:12px;margin-left:auto;display:flex}.save-btn,.cancel-btn,.delete-btn{cursor:pointer;border:none;border-radius:24px;align-items:center;gap:6px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .3s;display:flex;position:relative;overflow:hidden}.save-btn{background:linear-gradient(135deg,var(--accent-color1)0%,var(--accent-color2)100%);color:#fff;box-shadow:0 4px 12px rgba(102,126,234,.3)}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4)}.cancel-btn{color:#374151;background:#e5e7eb;border:1px solid #d1d5db}.cancel-btn:hover:not(:disabled){background:#d1d5db;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.delete-btn{background:linear-gradient(135deg,var(--negative-saldo-bg)0%,#e66a4f 100%);color:#fff;box-shadow:0 4px 12px rgba(255,126,95,.3)}.delete-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,126,95,.4)}.save-btn:disabled,.cancel-btn:disabled,.delete-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}@media (max-width:768px){.modern-time-modal{width:98%;max-height:95vh;margin:10px}.modern-time-header{padding:20px 24px}.header-content{grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:12px}.modern-close-btn{grid-area:1/1}.header-title{text-align:left;grid-area:1/2;justify-self:start}.header-right-info{flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:flex-end}.header-right-info .week-info,.header-right-info .date-info{padding:5px 10px;font-size:.75rem}.time-inputs-grid{grid-template-columns:1fr;gap:20px}.time-input{padding:12px 16px;font-size:1rem}.time-label{padding:5px 8px;font-size:.85rem}.section-header{margin-bottom:12px;padding:10px 12px}.section-header h4{font-size:1.1em}.modal-actions{flex-direction:column;align-items:stretch;gap:16px}.action-buttons{justify-content:stretch;margin-left:0}.save-btn,.cancel-btn,.delete-btn{flex:1;justify-content:center;padding:14px 20px}}@media (max-width:480px){.modern-time-modal{border-radius:0;width:100%;height:100vh;max-height:100vh;margin:0}.modern-time-header{padding:16px 20px}.header-content{grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:10px}.header-title h3{font-size:1.3em}.modern-close-btn{width:36px;height:36px;padding:8px}.header-right-info{gap:8px}.header-right-info .week-info,.header-right-info .date-info{padding:4px 8px;font-size:.7rem}.header-right-info .week-number{font-size:.7rem}.header-right-info .date-text{font-size:.75rem}.header-right-info .date-info svg{width:14px;height:14px}.summary-card{gap:12px;padding:16px}.summary-icon{width:40px;height:40px}.summary-value{font-size:1.5rem}.time-input{padding:10px 14px;font-size:.95rem}.time-label{padding:4px 6px;font-size:.8rem}.section-header{margin-bottom:10px;padding:8px 10px}.section-header h4{font-size:1em}.notes-textarea{min-height:80px;padding:10px 12px}}body.dark-mode .modern-time-modal{box-shadow:0 20px 40px rgba(0,0,0,.3)}body.dark-mode .time-input-wrapper{background:#2a2a2a;border-color:#444}body.dark-mode .time-input-wrapper:hover,body.dark-mode .time-input-wrapper:focus-within{border-color:var(--accent-color1);background:#333}body.dark-mode .time-input{color:var(--text-color);background:#2a2a2a}body.dark-mode .time-input:hover{background:#333}body.dark-mode .time-input:focus{color:var(--accent-color1);background:#333}body.dark-mode .time-label{background:rgba(102,126,234,.1);border-color:rgba(102,126,234,.2)}body.dark-mode .time-label:hover{background:rgba(102,126,234,.15);border-color:rgba(102,126,234,.3)}body.dark-mode .section-header{background:linear-gradient(135deg,rgba(102,126,234,.1) 0%,rgba(102,126,234,.05) 100%);border-color:rgba(102,126,234,.2)}body.dark-mode .notes-wrapper{background:#2a2a2a}body.dark-mode .notes-wrapper:focus-within{background:var(--secondary-bg)}.realtime-debugger{background:var(--secondary-bg);border:2px solid #f59e0b;border-radius:8px;margin-top:30px;overflow:hidden}.debugger-header{color:#fff;background:#f59e0b;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.debugger-header h3{align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;display:flex}.debugger-controls{align-items:center;gap:12px;display:flex}.debugger-controls .connection-status{background:rgba(255,255,255,.2);border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;display:flex}.test-btn,.clear-btn{color:#fff;cursor:pointer;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:4px;align-items:center;gap:4px;padding:6px 12px;font-size:.75rem;transition:background-color .2s;display:flex}.test-btn:hover,.clear-btn:hover{background:rgba(255,255,255,.3)}.events-list{max-height:400px;padding:16px;overflow-y:auto}.no-events{text-align:center;color:var(--text-color-light);padding:20px}.no-events p{margin:4px 0}.event-item{background:var(--primary-bg);border:1px solid var(--border-color);border-radius:6px;margin-bottom:12px;padding:12px}.event-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.event-type{text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.event-type.insert{color:#166534;background:#dcfce7}.event-type.update{color:#1d4ed8;background:#dbeafe}.event-type.delete{color:var(--negative-saldo-bg);background:#fee2e2}body.dark-mode .event-type.insert{color:#4ade80;background:rgba(22,101,52,.3)}body.dark-mode .event-type.update{color:#60a5fa;background:rgba(29,78,216,.3)}body.dark-mode .event-type.delete{color:var(--negative-saldo-bg);background:rgba(220,38,38,.3)}.event-time{color:var(--text-color-light);font-family:monospace;font-size:.75rem}.event-details{color:var(--text-color-light);gap:16px;margin-bottom:8px;font-size:.8rem;display:flex}.event-data{background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:4px;max-height:200px;padding:8px;font-size:.7rem;overflow:auto}body.dark-mode .event-data{background:#1a1a1a}@media (max-width:768px){.debugger-header{flex-direction:column;align-items:stretch;gap:8px}.debugger-controls{justify-content:space-between}.event-header{flex-direction:column;align-items:flex-start;gap:4px}.event-details{flex-direction:column;gap:4px}}.debug-section{background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:8px;margin-top:2rem;padding:1rem}.database-test h3{color:var(--text-color);margin-bottom:1rem}.test-button{background:var(--accent-color1);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-bottom:1rem;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .2s}.test-button:hover:not(:disabled){background:var(--button-primary-hover-bg)}.test-button:disabled{cursor:not-allowed;background:#ccc}.test-results{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;max-height:400px;padding:1rem;font-family:Courier New,monospace;font-size:.9rem;overflow-y:auto}.test-result{margin-bottom:.5rem;line-height:1.4}.test-button{background:var(--accent-color1);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-bottom:8px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:background-color .2s}.test-button:hover{background:var(--button-primary-hover-bg)}.debug-card{background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:8px;margin-top:1rem;padding:1rem}.debug-card h4{color:var(--text-color);margin:0 0 12px;font-size:1rem}.debug-info{color:var(--text-color-light);margin:0;font-size:.8rem;font-style:italic}.test-btn{color:#fff;cursor:pointer;background:#f59e0b;border:none;border-radius:6px;margin-left:8px;padding:8px 12px;font-size:.8rem;font-weight:500;transition:background-color .2s}.test-btn:hover{background:#d97706}.info-button{color:#fff;cursor:pointer;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:8px;transition:all .2s;display:flex}.info-button:hover{background:rgba(255,255,255,.25);transform:scale(1.05);box-shadow:0 2px 8px rgba(0,0,0,.2)}body.dark-mode .info-button{background:rgba(0,0,0,.2);border:1px solid rgba(0,0,0,.4)}body.dark-mode .info-button:hover{background:rgba(0,0,0,.3)}.info-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:rgba(0,0,0,.6)}.info-modal-content{background-color:var(--secondary-bg);box-shadow:0 20px 40px var(--shadow-lg);border-radius:16px;flex-direction:column;width:90%;max-width:800px;max-height:90vh;animation:.3s ease-out modalSlideIn;display:flex;overflow:hidden}.info-modal-header{border-bottom:1px solid var(--border-color);background:var(--primary-bg);justify-content:space-between;align-items:center;padding:24px;display:flex}.info-modal-title{color:var(--text-color);background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.8em;font-weight:700}.info-modal-close{border:1px solid var(--border-color);cursor:pointer;color:var(--text-color-light);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.info-modal-close:hover{background:var(--primary-bg);color:var(--text-color);border-color:var(--accent-color1)}.info-role-tabs{background:var(--primary-bg);border-bottom:1px solid var(--border-color);padding:0 24px;display:flex}.info-role-tab{color:var(--text-color-light);cursor:pointer;background:0 0;border:none;border-bottom:3px solid transparent;flex:1;padding:16px 20px;font-size:1rem;font-weight:500;transition:all .2s;position:relative}.info-role-tab:hover{color:var(--text-color);background:var(--secondary-bg)}.info-role-tab-active{color:var(--accent-color1);border-bottom-color:var(--accent-color1);background:var(--secondary-bg)}.info-role-tab-active:before{content:"";background:var(--accent-gradient);height:3px;position:absolute;top:0;left:0;right:0}.info-modal-body{flex:1;padding:0;overflow-y:auto}.info-sections-container{flex-direction:column;gap:24px;padding:24px;display:flex}.info-section{background:var(--primary-bg);border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-sm);border-radius:12px;gap:20px;padding:24px;transition:all .3s;display:flex;position:relative;overflow:hidden}.info-section:before{content:"";z-index:1;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.info-section:hover:before{left:100%}.info-section:hover{box-shadow:0 8px 24px var(--shadow-md);border-color:rgba(102,126,234,.2);transform:translateY(-2px)}.info-section-icon{background:var(--accent-gradient);color:#fff;z-index:2;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex;position:relative;box-shadow:0 4px 12px rgba(102,126,234,.3)}.info-section-content{z-index:2;flex:1;position:relative}.info-section-title{color:var(--text-color);margin:0 0 12px;font-size:1.4em;font-weight:600;line-height:1.3}.info-section-description{color:var(--text-color-light);max-width:70ch;margin:0 0 16px;font-size:1rem;line-height:1.5}.info-section-points{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.info-section-point{color:var(--text-color);align-items:flex-start;gap:12px;padding-left:20px;font-size:.95rem;line-height:1.4;display:flex;position:relative}.info-section-point:before{content:"•";color:var(--accent-color1);font-size:1.2em;font-weight:700;position:absolute;top:0;left:0}.info-modal-footer{border-top:1px solid var(--border-color);background:var(--primary-bg);text-align:center;padding:20px 24px}.info-support-text{color:var(--text-color-light);margin:0;font-size:.9rem;font-style:italic}@media (max-width:768px){.info-modal-content{width:95%;max-height:95vh;margin:10px}.info-modal-header{padding:20px}.info-modal-title{font-size:1.5em}.info-role-tabs{flex-direction:column;padding:0 20px}.info-role-tab{border-bottom:1px solid var(--border-color);border-right:none;padding:12px 16px}.info-role-tab:last-child{border-bottom:none}.info-sections-container{gap:20px;padding:20px}.info-section{flex-direction:column;gap:16px;padding:20px}.info-section-icon{align-self:flex-start;width:50px;height:50px}.info-section-title{font-size:1.2em}.info-section-description{max-width:none;font-size:.95rem}.info-section-point{font-size:.9rem}}@media (max-width:480px){.info-modal-content{border-radius:0;width:100%;height:100vh;max-height:100vh;margin:0}.info-modal-header{padding:16px}.info-modal-title{font-size:1.3em}.info-role-tabs{padding:0 16px}.info-role-tab{padding:10px 12px;font-size:.9rem}.info-sections-container{gap:16px;padding:16px}.info-section{gap:12px;padding:16px}.info-section-icon{width:40px;height:40px}.info-section-title{font-size:1.1em}.info-section-description{font-size:.9rem}.info-section-point{padding-left:16px;font-size:.85rem}.info-modal-footer{padding:16px}.info-support-text{font-size:.8rem}}body.dark-mode .info-modal-content{box-shadow:0 20px 40px rgba(0,0,0,.3)}body.dark-mode .info-section{background:#2a2a2a;border-color:#444}body.dark-mode .info-section:hover{border-color:rgba(102,126,234,.3)}body.dark-mode .info-section-icon{box-shadow:0 4px 12px rgba(102,126,234,.4)}.welcome-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:rgba(0,0,0,.6)}.welcome-modal-content{background-color:var(--secondary-bg);box-shadow:0 20px 40px var(--shadow-lg);border-radius:16px;flex-direction:column;width:90%;max-width:600px;max-height:90vh;animation:.3s ease-out modalSlideIn;display:flex;overflow:hidden}.welcome-modal-header{border-bottom:1px solid var(--border-color);background:var(--primary-bg);flex-direction:column;align-items:center;padding:32px 24px 24px;display:flex;position:relative}.welcome-icon-container{margin-bottom:16px}.welcome-icon{color:var(--accent-color1);animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.welcome-modal-title{color:var(--text-color);background:var(--accent-gradient);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2em;font-weight:700}.welcome-modal-close{border:1px solid var(--border-color);cursor:pointer;color:var(--text-color-light);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.welcome-modal-close:hover{background:var(--primary-bg);color:var(--text-color);border-color:var(--accent-color1)}.welcome-modal-body{flex:1;padding:24px;overflow-y:auto}.welcome-content{flex-direction:column;gap:24px;display:flex}.welcome-greeting{color:var(--text-color);text-align:center;margin:0;font-size:1.3em;font-weight:600}.welcome-text{color:var(--text-color-light);text-align:center;margin:0;font-size:1.1em;line-height:1.6}.welcome-section{background:var(--primary-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px}.welcome-section-title{color:var(--text-color);margin:0 0 12px;font-size:1.2em;font-weight:600}.welcome-section-text{color:var(--text-color-light);margin:0;font-size:1rem;line-height:1.6}.welcome-list{margin:12px 0 0;padding:0 0 0 24px;list-style:none}.welcome-list li{color:var(--text-color-light);margin:0 0 12px;font-size:1rem;line-height:1.6;position:relative}.welcome-list li:before{content:"→";color:var(--accent-color1);font-weight:700;position:absolute;left:-20px}.welcome-list li:last-child{margin-bottom:0}.welcome-modal-footer{border-top:1px solid var(--border-color);background:var(--primary-bg);justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.welcome-feedback-btn{align-items:center;gap:8px;display:flex}.welcome-start-btn{min-width:120px}@media (max-width:768px){.welcome-modal-content{width:95%;max-height:95vh;margin:10px}.welcome-modal-header{padding:28px 20px 20px}.welcome-modal-title{font-size:1.6em}.welcome-modal-body{padding:20px}.welcome-section{padding:16px}.welcome-modal-footer{flex-direction:column;padding:16px 20px}.welcome-feedback-btn,.welcome-start-btn{width:100%}}@media (max-width:480px){.welcome-modal-content{border-radius:0;width:100%;height:100vh;max-height:100vh;margin:0}.welcome-modal-header{padding:24px 16px 16px}.welcome-modal-title{font-size:1.4em}.welcome-modal-body{padding:16px}.welcome-section{padding:14px}}body.dark-mode .welcome-modal-content{box-shadow:0 20px 40px rgba(0,0,0,.3)}body.dark-mode .welcome-section{background:#2a2a2a;border-color:#444}.dashboard-announcements-wrapper{margin-top:32px}.announcements-section{background-color:var(--secondary-bg);box-shadow:0 4px 12px var(--shadow-md);border-radius:12px;margin-bottom:24px;padding:24px}.announcements-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.announcements-section-title{color:var(--text-color);margin:0;font-size:1.5em;font-weight:600}.announcements-section-actions{align-items:center;gap:12px;display:flex}.announcements-expand-button,.announcements-archive-button{background-color:var(--accent-color1);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.9em;transition:background-color .2s,transform .2s;display:flex}.announcements-expand-button:hover,.announcements-archive-button:hover{background-color:var(--accent-color2);transform:translateY(-1px)}.announcements-list{flex-direction:column;gap:16px;transition:max-height .3s;display:flex}.announcements-list.expanded{max-height:none}.announcements-loading,.announcements-empty{text-align:center;color:var(--text-color-light);padding:40px 20px}.announcements-loading p,.announcements-empty p{margin-top:12px;font-size:.95em}.announcement-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.08)}.announcement-card:before{content:"";width:4px;height:100%;transition:width .3s;position:absolute;top:0;left:0}.announcement-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.12)}.announcement-card:hover:before{width:6px}.announcement-type-new-feature{border-left-color:#10b981}.announcement-type-new-feature:before{background:linear-gradient(#10b981 0%,#059669 100%)}.announcement-type-maintenance{border-left-color:#f59e0b}.announcement-type-maintenance:before{background:linear-gradient(#f59e0b 0%,#d97706 100%)}.announcement-type-general{border-left-color:#3b82f6}.announcement-type-general:before{background:linear-gradient(#3b82f6 0%,#2563eb 100%)}.announcement-type-important{border-left-color:#ef4444}.announcement-type-important:before{background:linear-gradient(#ef4444 0%,#dc2626 100%)}.announcement-card-header{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.announcement-icon{flex-shrink:0;font-size:1.8em;line-height:1}.announcement-header-content{flex:1}.announcement-title{color:var(--text-color);margin:0 0 6px;font-size:1.2em;font-weight:600}.announcement-meta{flex-wrap:wrap;gap:12px;display:flex}.announcement-date{color:var(--text-color-light);font-size:.85em}.announcement-card-body{margin-top:12px}.announcement-content{color:var(--text-color);margin:0;line-height:1.6}.announcement-read-more{color:var(--accent-color1);border:1px solid var(--accent-color1);cursor:pointer;background-color:transparent;border-radius:6px;margin-top:12px;padding:6px 12px;font-size:.9em;transition:all .2s}.announcement-read-more:hover{background-color:var(--accent-color1);color:#fff}.announcement-detail-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:rgba(0,0,0,.5);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.announcement-detail-modal{background:var(--secondary-bg);border-radius:16px;width:100%;max-width:700px;max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 20px 40px rgba(0,0,0,.2)}.announcement-detail-header{border-bottom:1px solid var(--border-color);align-items:flex-start;gap:16px;padding:24px;display:flex}.announcement-detail-icon{flex-shrink:0;font-size:2em;line-height:1}.announcement-detail-title-section{flex:1}.announcement-detail-title{color:var(--text-color);margin:0 0 8px;font-size:1.5em;font-weight:600}.announcement-detail-meta{color:var(--text-color-light);flex-direction:column;gap:4px;font-size:.85em;display:flex}.announcement-detail-close{color:var(--text-color-light);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:background-color .2s}.announcement-detail-close:hover{background-color:var(--border-color)}.announcement-detail-body{padding:24px}.announcement-detail-content{color:var(--text-color);line-height:1.8}.announcement-detail-content p{margin:0 0 16px}.announcement-detail-content p:last-child{margin-bottom:0}.announcement-archive-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:rgba(0,0,0,.5);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.announcement-archive-modal{background:var(--secondary-bg);border-radius:16px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px rgba(0,0,0,.2)}.announcement-archive-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:24px;display:flex}.announcement-archive-title{color:var(--text-color);margin:0;font-size:1.5em;font-weight:600}.announcement-archive-close{color:var(--text-color-light);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:background-color .2s}.announcement-archive-close:hover{background-color:var(--border-color)}.announcement-archive-body{padding:24px}.announcement-archive-loading,.announcement-archive-empty{text-align:center;color:var(--text-color-light);padding:40px 20px}.announcement-archive-list{flex-direction:column;gap:24px;display:flex}.announcement-archive-month-group{border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.announcement-archive-month-header{background-color:var(--primary-bg);cursor:pointer;width:100%;color:var(--text-color);border:none;justify-content:space-between;align-items:center;padding:16px 20px;font-weight:500;transition:background-color .2s;display:flex}.announcement-archive-month-header:hover{background-color:var(--border-color)}.announcement-archive-month-label{font-size:1.1em}.announcement-archive-month-count{color:var(--text-color-light);font-weight:400}.announcement-archive-month-content{flex-direction:column;gap:12px;padding:16px;display:flex}.admin-tabs{border-bottom:2px solid var(--border-color);gap:8px;margin-bottom:24px;display:flex}.admin-tab{color:var(--text-color-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid transparent;align-items:center;gap:8px;margin-bottom:-2px;padding:12px 20px;font-size:.95em;font-weight:500;transition:all .2s;display:flex}.admin-tab:hover{color:var(--accent-color1)}.admin-tab.active{color:var(--accent-color1);border-bottom-color:var(--accent-color1)}.announcement-management-container{padding:20px}.announcement-management-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.announcement-management-title{color:var(--text-color);margin:0;font-size:1.8em;font-weight:600}.announcement-management-create-button{background-color:var(--accent-color1);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.95em;font-weight:500;transition:background-color .2s,transform .2s;display:flex}.announcement-management-create-button:hover{background-color:var(--accent-color2);transform:translateY(-1px)}.announcement-management-filters{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.announcement-management-filter{background-color:var(--primary-bg);color:var(--text-color);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:.9em;transition:all .2s}.announcement-management-filter:hover{background-color:var(--border-color)}.announcement-management-filter.active{background-color:var(--accent-color1);color:#fff;border-color:var(--accent-color1)}.announcement-management-loading,.announcement-management-empty{text-align:center;color:var(--text-color-light);padding:60px 20px}.announcement-management-list{flex-direction:column;gap:16px;display:flex}.announcement-management-item{background-color:var(--secondary-bg);border:1px solid var(--border-color);border-radius:12px;justify-content:space-between;gap:20px;padding:20px;transition:box-shadow .2s;display:flex}.announcement-management-item:hover{box-shadow:0 4px 12px var(--shadow-md)}.announcement-management-item-content{flex:1}.announcement-management-item-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.announcement-management-item-title{color:var(--text-color);margin:0;font-size:1.2em;font-weight:600}.announcement-management-item-badges{flex-wrap:wrap;gap:8px;display:flex}.announcement-management-badge{border-radius:6px;padding:4px 12px;font-size:.85em;font-weight:500}.announcement-management-badge.type{background-color:var(--primary-bg);color:var(--text-color)}.announcement-management-badge.status{background-color:var(--accent-color1);color:#fff}.announcement-management-badge.status.draft{background-color:#6b7280}.announcement-management-badge.status.archived{background-color:#9ca3af}.announcement-management-item-meta{color:var(--text-color-light);flex-wrap:wrap;gap:16px;margin-bottom:8px;font-size:.85em;display:flex}.announcement-management-item-preview{color:var(--text-color);margin:0;line-height:1.6}.announcement-management-item-actions{align-items:flex-start;gap:8px;display:flex}.announcement-management-action-button{border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.announcement-management-action-button:hover{background-color:var(--primary-bg);border-color:var(--accent-color1);color:var(--accent-color1)}.announcement-management-action-button.danger:hover{color:#ef4444;background-color:#fee2e2;border-color:#ef4444}.announcement-form-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:rgba(0,0,0,.5);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.announcement-form-modal{background:var(--secondary-bg);border-radius:16px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px rgba(0,0,0,.2)}.announcement-form-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:24px;display:flex}.announcement-form-title{color:var(--text-color);margin:0;font-size:1.5em;font-weight:600}.announcement-form-close{color:var(--text-color-light);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:background-color .2s}.announcement-form-close:hover{background-color:var(--border-color)}.announcement-form{padding:24px}.announcement-form-error{color:#dc2626;background-color:#fee2e2;border-radius:8px;margin-bottom:20px;padding:12px 16px;font-size:.9em}.announcement-form-field{margin-bottom:20px}.announcement-form-label{color:var(--text-color);margin-bottom:8px;font-size:.95em;font-weight:500;display:block}.announcement-form-label .required{color:#ef4444}.announcement-form-input,.announcement-form-select,.announcement-form-textarea{background-color:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-color);border-radius:8px;padding:10px 14px;font-family:inherit;font-size:.95em;transition:border-color .2s}.announcement-form-input:focus,.announcement-form-select:focus,.announcement-form-textarea:focus{border-color:var(--accent-color1);outline:none}.announcement-form-textarea{resize:vertical;min-height:150px}.announcement-form-char-count{color:var(--text-color-light);text-align:right;margin-top:4px;font-size:.85em;display:block}.announcement-form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;display:flex}.announcement-form-button{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:.95em;font-weight:500;transition:all .2s}.announcement-form-button.primary{background-color:var(--accent-color1);color:#fff}.announcement-form-button.primary:hover:not(:disabled){background-color:var(--accent-color2);transform:translateY(-1px)}.announcement-form-button.secondary{background-color:var(--primary-bg);color:var(--text-color);border:1px solid var(--border-color)}.announcement-form-button.secondary:hover:not(:disabled){background-color:var(--border-color)}.announcement-form-button:disabled{opacity:.6;cursor:not-allowed}.announcement-preview-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:rgba(0,0,0,.5);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.announcement-preview-modal{background:var(--secondary-bg);border-radius:16px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px rgba(0,0,0,.2)}.announcement-preview-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:24px;display:flex}.announcement-preview-title{color:var(--text-color);margin:0;font-size:1.5em;font-weight:600}.announcement-preview-close{color:var(--text-color-light);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:background-color .2s}.announcement-preview-close:hover{background-color:var(--border-color)}.announcement-preview-content{padding:24px}.announcement-preview-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;padding:24px;display:flex}.announcement-preview-button{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:.95em;font-weight:500;transition:all .2s}.announcement-preview-button.primary{background-color:var(--accent-color1);color:#fff}.announcement-preview-button.primary:hover{background-color:var(--accent-color2);transform:translateY(-1px)}.announcement-preview-button.secondary{background-color:var(--primary-bg);color:var(--text-color);border:1px solid var(--border-color)}.announcement-preview-button.secondary:hover{background-color:var(--border-color)}body.dark-mode .announcement-card{background:rgba(30,30,30,.7);border-color:rgba(255,255,255,.1)}body.dark-mode .announcement-management-item{background-color:var(--secondary-bg);border-color:var(--border-color)}@media (max-width:768px){.announcements-section{padding:16px}.announcements-section-header{flex-direction:column;align-items:flex-start}.announcements-section-actions{flex-direction:column;width:100%}.announcements-expand-button,.announcements-archive-button{justify-content:center;width:100%}.announcement-card{padding:16px}.announcement-detail-modal,.announcement-archive-modal,.announcement-form-modal,.announcement-preview-modal{border-radius:0;max-width:100%;max-height:100vh;margin:0}.announcement-management-header{flex-direction:column;align-items:flex-start}.announcement-management-create-button{justify-content:center;width:100%}.announcement-management-item{flex-direction:column}.announcement-management-item-actions{justify-content:flex-end}.admin-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-tab{white-space:nowrap}}
