*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #000000;--secondary: #ffffff;--accent: #f5f5f5;--border: #e5e5e5;--text-primary: #000000;--text-secondary: #666666;--text-muted: #999999;--transition: all .2s ease}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;color:var(--text-primary);background:var(--secondary);min-height:100vh;font-size:16px;font-weight:400}.container{max-width:1200px;margin:0 auto;padding:40px 20px}header{text-align:center;margin-bottom:80px}.logo-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.logo-container i{font-size:24px;color:var(--text-primary)}header h1{font-size:32px;font-weight:600;letter-spacing:-.5px;color:var(--text-primary);margin:0}header p{font-size:16px;color:var(--text-secondary);font-weight:400;margin-top:8px}.hero{background:var(--secondary);padding:60px 40px;border:1px solid var(--border);text-align:center;margin-bottom:80px;border-radius:0}.hero h2{color:var(--text-primary);margin-bottom:16px;font-size:28px;font-weight:500;letter-spacing:-.3px}.hero p{font-size:16px;margin-bottom:40px;color:var(--text-secondary);max-width:500px;margin-left:auto;margin-right:auto;line-height:1.6}.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn{padding:12px 24px;text-decoration:none;font-weight:500;font-size:14px;transition:var(--transition);display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--secondary);color:var(--text-primary);cursor:pointer}.btn:hover{background:var(--accent)}.btn-primary{background:var(--primary);color:var(--secondary);border-color:var(--primary)}.btn-primary:hover{background:var(--text-primary)}.btn-secondary{background:var(--secondary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--accent)}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:80px}.feature{padding:40px 0;text-align:center;border-top:1px solid var(--border)}.feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.feature-icon i{font-size:24px;color:var(--text-primary)}.feature h3{color:var(--text-primary);margin-bottom:12px;font-size:18px;font-weight:500}.feature p{color:var(--text-secondary);line-height:1.6;font-size:14px}.form-container{background:var(--secondary);padding:60px 40px;border:1px solid var(--border);max-width:400px;margin:0 auto}.form-container h2{color:var(--text-primary);margin-bottom:40px;font-size:24px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:12px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:500;font-size:14px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:1px solid var(--border);font-size:14px;background:var(--secondary);color:var(--text-primary);transition:var(--transition)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--text-primary)}.form-group textarea{resize:vertical;min-height:100px}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{width:100%;padding-right:45px}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:14px;padding:4px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.password-toggle:hover{color:var(--text-primary)}.tab-navigation{display:flex;gap:0;margin-bottom:40px;border-bottom:1px solid var(--border)}.tab-btn{padding:16px 24px;background:var(--secondary);border:1px solid var(--border);border-bottom:none;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:var(--transition)}.tab-btn:hover{background:var(--accent);color:var(--text-primary)}.tab-btn.active{background:var(--secondary);color:var(--text-primary);border-bottom:2px solid var(--primary);position:relative;z-index:1}.tab-btn i{font-size:12px}.tab-content{display:none}.tab-content.active{display:block}.tasks-layout{display:grid;grid-template-columns:200px 1fr;gap:24px;min-height:400px}.date-list{border:1px solid var(--border);background:var(--secondary)}.date-list-title{padding:16px;border-bottom:1px solid var(--border);font-size:14px;font-weight:500;color:var(--text-primary);margin:0}.dates-container{max-height:400px;overflow-y:auto}.date-item{padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:var(--transition);display:flex;justify-content:space-between;align-items:center}.date-item:last-child{border-bottom:none}.date-item:hover{background:var(--accent)}.date-item.active{background:var(--primary);color:var(--secondary)}.date-item.active .task-count-badge{background:var(--secondary);color:var(--primary)}.date-text{font-size:14px;font-weight:400}.task-count-badge{background:var(--accent);color:var(--text-primary);padding:2px 6px;font-size:11px;font-weight:500;border:1px solid var(--border)}.tasks-content{border:1px solid var(--border);background:var(--secondary)}.selected-date-header{padding:16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.selected-date-header h3{font-size:14px;font-weight:500;color:var(--text-primary);margin:0}.task-count{font-size:12px;color:var(--text-muted);font-weight:400}.btn-full{width:100%;padding:16px;background:var(--primary);color:var(--secondary);border:1px solid var(--primary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition)}.btn-full:hover{background:var(--text-primary)}.text-center{text-align:center}.mt-20{margin-top:24px}.error{color:#dc2626;background:#fef2f2;padding:12px 16px;border:1px solid #fecaca;margin-bottom:24px;font-size:14px}.success{color:#059669;background:#f0fdf4;padding:12px 16px;border:1px solid #bbf7d0;margin-bottom:24px;font-size:14px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.dashboard-header h1{color:var(--primary);font-size:16px;font-weight:500;margin:0;padding:8px 12px;border:1px solid var(--primary);background:var(--secondary)}.nav-links{display:flex;gap:12px;align-items:center}.nav-links a,.nav-links .nav-link{color:var(--primary);text-decoration:none;font-weight:400;font-size:14px;transition:var(--transition);padding:8px 12px;border:1px solid var(--primary);background:var(--secondary)}.nav-links a:hover,.nav-links .nav-link:hover,.nav-links .nav-link.active{background:var(--primary);color:var(--secondary)}.nav-links a i{display:none}.nav-links .btn{color:var(--primary);text-decoration:none;font-weight:400;font-size:14px;transition:var(--transition);padding:8px 12px;border:1px solid var(--primary);background:var(--secondary);cursor:default}.dashboard-content{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:48px}.task-form-section,.tasks-section{padding:0}.task-form{background:var(--secondary);padding:0;border:none;margin-bottom:0}.section-title{color:var(--text-primary);font-size:16px;font-weight:500;margin-bottom:24px;display:flex;align-items:center;gap:8px}.section-title i{color:var(--text-secondary);font-size:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row.three-columns{grid-template-columns:1fr 1fr 1fr}.tasks-container{background:var(--secondary);padding:0;border:1px solid var(--border);max-width:100%}.task-item{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--secondary)}.task-item:last-child{border-bottom:none}.task-item.completed{opacity:.6}.task-item.completed .task-btn{opacity:1}.task-title{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.task-meta{font-size:14px;color:var(--text-secondary);margin-bottom:6px}.task-description{font-size:14px;color:var(--text-secondary);margin-bottom:8px;line-height:1.5}.task-timing{font-size:12px;color:var(--text-muted);font-family:monospace;margin-bottom:12px;line-height:1.4}.task-actions{display:flex;gap:8px}.task-btn{padding:8px 16px;font-size:12px;border:1px solid var(--primary);background:var(--secondary);color:var(--primary);cursor:pointer;transition:none;font-weight:500}.task-btn:hover{background:var(--primary);color:var(--secondary)}.task-btn.complete{background:var(--primary);color:var(--secondary);border-color:var(--primary)}.task-btn.complete:hover{background:var(--text-primary)}.task-btn.delete{border-color:var(--border)}.task-btn.delete:hover{background:var(--primary);color:var(--secondary)}.user-info{font-size:14px;color:var(--primary);font-weight:400;padding:8px 12px;border:1px solid var(--primary);background:var(--secondary)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary);background:var(--secondary)}.empty-state i{font-size:24px;margin-bottom:8px;color:var(--text-secondary)}.empty-state p{font-size:14px;color:var(--text-secondary)}.btn-delete{border-color:var(--primary);color:var(--primary);background:var(--secondary)}.btn-delete:hover{background:var(--primary);color:var(--secondary)}.loading{display:flex;justify-content:center;align-items:center;padding:60px;color:var(--text-muted);font-size:14px}.loading:after{content:"";width:16px;height:16px;border:1px solid var(--border);border-top:1px solid var(--text-primary);border-radius:50%;animation:spin 1s linear infinite;margin-left:12px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1024px){.dashboard-content{grid-template-columns:1fr;gap:40px}.tasks-layout{grid-template-columns:1fr;gap:24px}.date-list{max-height:200px}}@media (max-width: 768px){.container{padding:20px 16px}.form-row,.form-row.three-columns{grid-template-columns:1fr}.dashboard-header{flex-direction:column;gap:20px}.nav-links{flex-wrap:wrap;justify-content:center}.cta-buttons{flex-direction:column;align-items:center}.features{grid-template-columns:1fr;gap:60px}header h1{font-size:28px}.hero h2{font-size:24px}.hero,.form-container{padding:40px 24px}}@media (max-width: 480px){.dashboard-content{gap:32px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--secondary);border:1px solid var(--border);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 0;border-bottom:1px solid var(--border);margin-bottom:20px}.modal-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:10px}.modal-title i{color:var(--primary)}.modal-close{background:none;border:1px solid var(--border);padding:8px 10px;cursor:pointer;color:var(--text-primary);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--primary);color:var(--secondary);border-color:var(--primary)}.modal-body{padding:0 20px 20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.btn-primary{background:var(--primary);color:var(--secondary);border:1px solid var(--primary);padding:10px 20px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:8px}.btn-primary:hover:not(:disabled){background:var(--text-primary);border-color:var(--text-primary)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background:var(--secondary);color:var(--text-primary);border:1px solid var(--border);padding:10px 20px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-cancel:hover:not(:disabled){background:var(--accent);border-color:var(--primary)}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.create-activity-btn{background:var(--primary);color:var(--secondary);border:1px solid var(--primary)}.create-activity-btn:hover{background:var(--text-primary);border-color:var(--text-primary)}@media (max-width: 768px){.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header{padding:15px 15px 0}.modal-body{padding:0 15px 15px}.modal-actions{flex-direction:column}.form-row,.form-row.three-columns{grid-template-columns:1fr}}.profiles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.profile-card{padding:24px 16px;border:1px solid var(--border);background:var(--secondary);cursor:pointer;transition:var(--transition);text-align:center}.profile-card:hover{background:var(--accent)}.profile-card.selected{background:var(--primary);color:var(--secondary);border-color:var(--primary)}.profile-name{font-size:14px;font-weight:500;margin-bottom:4px}.profile-email{font-size:12px;color:var(--text-secondary)}.profile-card.selected .profile-email{color:var(--secondary)}.profile-status{font-size:11px;margin-top:8px;padding:2px 6px;border:1px solid var(--border);background:var(--accent);display:inline-block}.profile-card.selected .profile-status{background:var(--secondary);color:var(--primary);border-color:var(--secondary)}.profile-info{padding:16px;border:1px solid var(--border);background:var(--accent);margin-bottom:24px;text-align:center}.profile-info .name{font-size:18px;font-weight:500;color:var(--text-primary)}.profile-info .username{font-size:14px;color:var(--text-secondary);margin-top:4px}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.activities-section{margin:20px 0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:20px}.section-title{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.section-title i{color:var(--primary)}.filter-tabs{display:flex;gap:10px;flex-wrap:wrap}.filter-tab{padding:8px 16px;border:1px solid var(--border);background:var(--secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:14px}.filter-tab:hover{background:var(--accent);color:var(--text-primary)}.filter-tab.active{background:var(--primary);color:var(--secondary);border-color:var(--primary)}.activity-form{max-width:100%}.char-count{display:block;text-align:right;color:var(--text-secondary);font-size:12px;margin-top:5px}.activities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.activity-card{background:var(--secondary);border:1px solid var(--border);padding:0;transition:all .2s ease;position:relative;display:flex;flex-direction:column;min-height:400px}.activity-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.activity-card.participating{border-color:var(--primary);background:var(--accent)}.activity-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;gap:15px;padding:20px 20px 0}.activity-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3;flex:1}.activity-actions{display:flex;gap:8px;flex-shrink:0}.btn-edit,.btn-delete{padding:6px 8px;border:1px solid var(--border);cursor:pointer;font-size:12px;transition:all .2s ease;background:var(--secondary);color:var(--text-primary)}.btn-edit:hover,.btn-delete:hover{background:var(--primary);color:var(--secondary)}.activity-datetime{background:var(--primary);color:var(--secondary);padding:16px 20px;margin:0;font-size:18px;font-weight:600;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}.activity-datetime i{color:var(--secondary);font-size:16px}.activity-meta{padding:15px 20px 0;margin-bottom:15px}.activity-creator{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px;margin-bottom:4px;font-weight:500}.activity-creator i{color:var(--primary);width:16px}.activity-created-at{color:var(--text-muted);font-size:12px;margin-left:24px}.activity-description{color:var(--text-primary);line-height:1.5;margin-bottom:15px;font-size:14px;padding:0 20px;flex-grow:1}.activity-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px;padding:0 20px}.participants-count{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px}.participants-count i{color:var(--primary)}.activity-status{font-size:12px}.status-upcoming{color:var(--text-primary);display:flex;align-items:center;gap:4px}.status-past{color:var(--text-secondary);display:flex;align-items:center;gap:4px}.activity-participation-buttons{display:flex;gap:0;width:100%;border-top:1px solid var(--border);margin-top:auto}.btn-participating,.btn-not-participating{flex:1;padding:12px 16px;border:none;border-right:1px solid var(--border);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--secondary);color:var(--text-primary)}.btn-not-participating{border-right:none;background:var(--primary);color:var(--secondary)}.btn-participating.active,.btn-not-participating.active{background:var(--primary);color:var(--secondary)}.btn-participating:hover:not(.active):not(:disabled){background:var(--accent);border-color:var(--primary)}.btn-not-participating:hover:not(.active):not(:disabled){background:#333;color:var(--secondary)}.btn-participating:disabled,.btn-not-participating:disabled{opacity:.5;cursor:not-allowed}.edit-form{display:flex;flex-direction:column;gap:15px;padding:20px}.edit-title{font-size:16px;font-weight:600;padding:8px 12px;border:1px solid var(--border);background:var(--secondary)}.edit-datetime{display:flex;gap:10px}.edit-datetime input{flex:1;padding:8px 12px;border:1px solid var(--border);background:var(--secondary)}.edit-form textarea{padding:8px 12px;border:1px solid var(--border);background:var(--secondary);resize:vertical;min-height:80px}.edit-actions{display:flex;gap:10px}.btn-save,.btn-cancel{flex:1;padding:8px 16px;border:1px solid var(--border);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--secondary);color:var(--text-primary)}.btn-save:hover,.btn-cancel:hover{background:var(--primary);color:var(--secondary);border-color:var(--primary)}@media (max-width: 768px){.activities-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:stretch}.filter-tabs{justify-content:center}.activity-header{flex-direction:column;align-items:stretch;gap:10px}.activity-actions{justify-content:flex-end}.activity-stats{flex-direction:column;align-items:stretch;gap:8px}.edit-datetime,.edit-actions,.activity-participation-buttons{flex-direction:column}}.activity-leader-badge{background:var(--primary);color:var(--secondary);padding:12px 16px;text-align:center;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;border-top:1px solid var(--border);margin-top:auto}.activity-leader-badge i{color:var(--secondary);font-size:16px}.activity-participants{padding:15px 20px;border-top:1px solid var(--border);background:var(--accent);margin-bottom:0}.participants-dropdown{margin-bottom:12px}.participants-dropdown:last-child{margin-bottom:0}.participants-dropdown-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid var(--border);background:var(--secondary);cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:600;color:var(--text-primary)}.participants-dropdown-header:hover{background:var(--accent)}.participants-dropdown-header.participating{border-left:3px solid var(--primary)}.participants-dropdown-header.not-participating{border-left:3px solid var(--text-secondary)}.participants-header-content{display:flex;align-items:center;gap:8px}.participants-dropdown-header.participating .participants-header-content{color:var(--text-primary)}.participants-dropdown-header.not-participating .participants-header-content{color:var(--text-secondary)}.participants-dropdown-header i.dropdown-arrow{transition:transform .2s ease;color:var(--text-secondary);font-size:12px}.participants-dropdown-content{border:1px solid var(--border);border-top:none;background:var(--secondary);padding:12px 16px}.participants-section{margin-bottom:15px}.participants-section:last-child{margin-bottom:0}.participants-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:600;color:var(--text-primary)}.participants-header.participating{color:var(--text-primary)}.participants-header.not-participating{color:var(--text-secondary)}.participants-header i{font-size:12px}.participants-header.participating i{color:var(--primary)}.participants-header.not-participating i{color:var(--text-secondary)}.participants-list{line-height:1.6;font-size:14px;padding-left:20px}.participant-name{color:var(--text-primary);font-weight:500;display:inline}.participant-name.participating{color:var(--text-primary)}.participant-name.not-participating{color:var(--text-secondary);font-style:italic}.participant-name:not(:last-child):after{content:", ";color:var(--text-secondary);font-weight:400}.welcome-popup,.warning-popup{max-width:500px}.welcome-content,.warning-content{text-align:left}.welcome-content p,.warning-content p{margin-bottom:16px;line-height:1.6;color:var(--text-primary)}.welcome-features{list-style:none;padding:0;margin:20px 0}.welcome-features li{display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--text-primary)}.welcome-features i{color:var(--primary);width:16px;text-align:center}.welcome-note{background:var(--accent);padding:16px;border:1px solid var(--border);margin:20px 0;display:flex;align-items:flex-start;gap:12px}.welcome-note i{color:var(--primary);margin-top:2px;flex-shrink:0}.warning-question{font-weight:600;color:var(--text-primary);margin:20px 0 16px}.warning-note{background:var(--accent);padding:16px;border:1px solid var(--border);margin:20px 0;display:flex;align-items:flex-start;gap:12px}.warning-note i{color:var(--primary);margin-top:2px;flex-shrink:0}.guidelines-list{margin:20px 0;padding:0}.guideline-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.guideline-item:last-child{border-bottom:none}.guideline-item i{color:var(--primary);margin-top:2px;flex-shrink:0;width:16px}.guideline-item.warning-consequence i,.guideline-item.warning-consequence span{color:var(--text-primary)}@media (max-width: 768px){.welcome-popup,.warning-popup{max-width:90vw;margin:20px}.welcome-features li{padding:6px 0}.welcome-note,.warning-note{padding:12px;flex-direction:column;gap:8px}.welcome-note i,.warning-note i{margin-top:0}}.presence-section{margin:20px 0}.guidelines-summary{background:var(--secondary);border:1px solid var(--border);padding:24px;margin-bottom:32px}.guidelines-summary h3{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.guidelines-options{display:grid;grid-template-columns:1fr 1fr;gap:24px}.attendance-status,.presence-status{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.status-item{padding:16px;border:1px solid var(--border);background:var(--accent)}.status-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.status-header i{color:var(--primary)}.status-header span{font-weight:600;color:var(--text-primary);font-size:14px}.guideline-option{padding:20px;border:1px solid var(--border);background:var(--accent)}.option-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.option-header i{color:var(--primary)}.option-header span{font-weight:600;color:var(--text-primary)}.guideline-option p{margin:0 0 12px;color:var(--text-secondary);font-size:14px}.status{font-weight:600;display:flex;align-items:center;gap:8px}.calendar-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 0}.nav-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border:1px solid var(--border);background:var(--secondary);color:var(--text-primary);cursor:pointer;transition:var(--transition);font-size:14px;min-height:40px}.nav-btn:hover:not(:disabled){background:var(--primary);color:var(--secondary)}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.nav-btn-text{font-weight:500}.current-month{font-size:20px;font-weight:600;color:var(--text-primary);margin:0;text-align:center;flex:1;max-width:200px}.calendar-container{border:1px solid var(--border);background:var(--secondary);margin-bottom:24px}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--accent);border-bottom:1px solid var(--border)}.day-header{padding:12px 8px;text-align:center;font-weight:600;color:var(--text-primary);font-size:14px;border-right:1px solid var(--border)}.day-header:last-child{border-right:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:60px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:flex-start;transition:var(--transition)}.calendar-day:last-child{border-right:none}.calendar-day.empty{cursor:default;background:var(--accent)}.calendar-day:hover:not(.empty):not(.past){background:var(--accent)}.activity-day-indicator{position:absolute;bottom:2px;left:2px;right:2px;font-size:8px;color:#2563eb;font-weight:600;text-align:center;background:#2563eb1a;padding:1px}.calendar-day.today{border:2px solid var(--primary)}.calendar-day.past{opacity:.6;cursor:default}.day-number{font-weight:600;color:var(--text-primary);font-size:14px}.saturday-indicator{position:absolute;bottom:4px;right:4px;font-size:10px;color:#2563eb;font-weight:600}.calendar-legend{display:flex;gap:24px;margin-bottom:24px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.legend-color{width:16px;height:16px;border:1px solid var(--border)}.legend-color.present,.legend-color.saturday,.legend-color.activity-day{background:var(--accent);border-color:var(--primary)}.legend-color.today{background:var(--secondary);border:2px solid var(--primary)}.presence-instructions{background:var(--accent);padding:20px;border:1px solid var(--border)}.presence-instructions h4{margin:0 0 12px;color:var(--text-primary);font-size:16px}.presence-instructions ul{margin:0;padding-left:20px;color:var(--text-secondary)}.presence-instructions li{margin-bottom:4px;font-size:14px}.presence-guidelines-container{display:flex;justify-content:center;width:100%}.attendance-guidelines,.presence-guidelines{background:var(--accent);padding:24px;border:1px solid var(--border);max-width:800px;width:100%}.attendance-guidelines h4,.presence-guidelines h4{margin:0 0 16px;color:var(--text-primary);font-size:18px;font-weight:600;text-align:center}.guidelines-content p{margin-bottom:12px;color:var(--text-primary);line-height:1.6}.guidelines-content ul{margin:8px 0 16px 20px;color:var(--text-secondary)}.guidelines-content li{margin-bottom:6px;line-height:1.5}.guidelines-note{background:var(--secondary);padding:16px;border:1px solid var(--border);margin-top:20px;display:flex;align-items:flex-start;gap:12px}.guidelines-note i{color:var(--primary);margin-top:2px;flex-shrink:0}@media (max-width: 768px){.guidelines-options{grid-template-columns:1fr}.attendance-status,.presence-status{grid-template-columns:1fr;gap:12px}.status-item{padding:12px}.calendar-navigation{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px;padding:12px 0}.nav-btn{padding:8px 12px;min-height:40px;font-size:14px}.nav-btn-text{display:none}.current-month{font-size:16px;text-align:center;flex:1;margin:0 8px}.calendar-day{min-height:50px;padding:4px}.day-number{font-size:12px}.presence-check{font-size:10px}.activity-day-indicator{font-size:7px}.calendar-legend{justify-content:center}.guidelines-note{flex-direction:column;gap:8px}.guidelines-note i{margin-top:0}}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state i{font-size:48px;margin-bottom:20px;color:var(--text-secondary)}.empty-state h3{margin:0 0 10px;color:var(--text-primary)}.empty-state p{margin:0 0 20px;font-size:16px}.notification-setup.denied{background:#fff3cd;border-color:#ffeaa7}.notification-setup.denied .notification-status{display:block}.notification-setup.denied .notification-status>div{margin-left:0}.notification-setup.denied strong{color:#333}.notification-setup.denied>div>div{line-height:1.4}.notification-setup.denied>div>div>div{margin:2px 0;padding-left:10px}.notification-setup.denied button:hover{opacity:.9;transform:translateY(-1px)}.notification-setup{background:#fff;border-radius:8px;padding:20px;margin:20px 0;border:1px solid #e0e0e0;box-shadow:0 2px 4px #0000001a}.notification-setup.not-supported,.notification-setup.denied{background:#fff3cd;border-color:#ffeaa7}.notification-header{display:flex;align-items:center;gap:10px;margin-bottom:15px}.notification-header i{color:#007bff;font-size:1.2em}.notification-header h4{margin:0;color:#333;font-size:1.1em}.notification-content p{margin:10px 0;color:#666;line-height:1.5}.notification-content ul{margin:10px 0;padding-left:20px}.notification-content li{color:#666;margin:5px 0}.status-indicator{display:flex;align-items:center;gap:8px;margin-bottom:15px;padding:10px;border-radius:6px;font-weight:500}.notification-actions{display:flex;gap:10px;margin-top:15px}.notification-actions button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:.9em;display:flex;align-items:center;gap:6px;transition:all .2s ease}.btn-enable{background:var(--primary);color:var(--secondary);border:1px solid var(--primary)}.btn-enable:hover:not(:disabled){background:var(--text-primary);border-color:var(--text-primary)}.btn-test{background:#007bff;color:#fff}.btn-test:hover:not(:disabled){background:#0056b3}.btn-disable{background:#6c757d;color:#fff}.btn-disable:hover:not(:disabled){background:#545b62}.notification-actions button:disabled{opacity:.6;cursor:not-allowed}.notification-status{display:flex;align-items:center;gap:10px;color:#856404}.notification-status i{font-size:1.1em}@media (max-width: 768px){.notification-setup{margin:15px 0;padding:15px}.notification-actions{flex-direction:column}.notification-actions button{width:100%;justify-content:center}}.presence-section .status.met{color:#22c55e!important}.presence-section .status.not-met{color:#ef4444!important}.presence-section .status i{color:#22c55e!important}.presence-section .calendar-day.present{background:#22c55e!important;color:#fff!important;border-color:#16a34a!important}.presence-section .calendar-day.saturday,.presence-section .calendar-day.activity-day{background:#3b82f6!important;color:#fff!important;border-color:#2563eb!important}.presence-section .calendar-day.saturday.present,.presence-section .calendar-day.activity-day.present{background:#22c55e!important;color:#fff!important;border-color:#16a34a!important}.presence-section .calendar-day.today{border:2px solid #f59e0b!important}.presence-section .presence-check{color:#fff!important}.presence-section .activity-day-indicator{background:#fff3!important;color:#fff!important;font-size:8px;font-weight:600;text-align:center;padding:1px;position:absolute;bottom:2px;left:2px;right:2px}.presence-section .saturday-indicator{color:#fff!important}.presence-section .legend-color.present{background:#22c55e!important;border-color:#16a34a!important}.presence-section .legend-color.saturday,.presence-section .legend-color.activity-day{background:#3b82f6!important;border-color:#2563eb!important}.presence-section .legend-color.today{background:var(--secondary)!important;border:2px solid #f59e0b!important}@media (max-width: 768px){.presence-section .calendar-day.present{background:#22c55e!important;color:#fff!important;border:1px solid #16a34a!important}.presence-section .calendar-day.saturday,.presence-section .calendar-day.activity-day{background:#3b82f6!important;color:#fff!important;border:1px solid #2563eb!important}.presence-section .calendar-day.saturday.present,.presence-section .calendar-day.activity-day.present{background:#22c55e!important;color:#fff!important;border:1px solid #16a34a!important}.presence-section .calendar-day.today{border:2px solid #f59e0b!important}.presence-section .status.met{color:#22c55e!important}.presence-section .status.not-met{color:#ef4444!important}.presence-section .status i{color:#22c55e!important}}*{border-radius:0!important}.task-btn.complete{background:var(--primary)!important;color:var(--secondary)!important;border-color:var(--primary)!important}.task-btn.delete{background:var(--secondary)!important;color:var(--text-primary)!important;border-color:var(--border)!important}.btn-test,.btn-disable{background:var(--primary)!important;color:var(--secondary)!important;border:1px solid var(--primary)!important}.btn-test:hover:not(:disabled),.btn-disable:hover:not(:disabled){background:var(--text-primary)!important;border-color:var(--text-primary)!important}.notification-setup{background:var(--secondary)!important;border:1px solid var(--border)!important}.notification-setup.not-supported,.notification-setup.denied{background:var(--accent)!important;border-color:var(--border)!important}.activity-day-indicator{background:var(--accent)!important;color:var(--text-primary)!important}.saturday-indicator{color:var(--text-primary)!important}.notification-header i{color:var(--primary)!important}.notification-header h4{color:var(--text-primary)!important}.notification-content p,.notification-content li,.notification-status{color:var(--text-secondary)!important}@media (max-width: 768px){.task-actions{display:flex!important;flex-direction:column!important;gap:8px!important;margin-top:12px!important}.task-actions button{width:100%!important;min-height:44px!important}.activity-participation-buttons{display:flex!important;flex-direction:column!important;gap:8px!important;margin-top:16px!important}.btn-participating,.btn-not-participating{width:100%!important;padding:14px 20px!important;min-height:48px!important;border:1px solid var(--border)!important;background:var(--secondary)!important;color:var(--text-primary)!important;font-size:16px!important;font-weight:500!important}.btn-not-participating{background:var(--primary)!important;color:var(--secondary)!important;border-color:var(--primary)!important}.btn-participating:hover,.btn-not-participating:hover{background:var(--accent)!important;border-color:var(--primary)!important}.btn-not-participating:hover{background:#333!important;color:var(--secondary)!important}.btn-participating.active,.btn-not-participating.active{background:var(--primary)!important;color:var(--secondary)!important;border-color:var(--primary)!important}.notification-actions button{background:var(--primary)!important;color:var(--secondary)!important;border:1px solid var(--primary)!important}.notification-actions button:hover:not(:disabled){background:var(--text-primary)!important;border-color:var(--text-primary)!important}}.error,.success{color:var(--text-primary);background:var(--accent);padding:12px 16px;border:1px solid var(--border);margin-bottom:24px;font-size:14px}.task-btn.complete{background:var(--primary)!important;color:var(--secondary)!important;border-color:var(--primary)!important;border-radius:0!important}.task-btn.complete:hover{background:var(--text-primary)!important;border-color:var(--text-primary)!important}.task-btn.delete{background:var(--secondary)!important;color:var(--text-primary)!important;border-color:var(--border)!important;border-radius:0!important}.task-btn.delete:hover{background:var(--primary)!important;color:var(--secondary)!important;border-color:var(--primary)!important}.task-btn,.btn,.btn-primary,.btn-secondary,.btn-full,.btn-participating,.btn-not-participating,.btn-save,.btn-cancel,.btn-edit,.btn-delete,.btn-enable,.btn-test,.btn-disable,.create-activity-btn,.nav-btn,.presence-btn,.mobile-menu-toggle,.mobile-menu-close,.mobile-menu-logout,.password-toggle,.modal-close{border-radius:0!important}.status.met,.status.not-met,.status i{color:var(--text-primary)}.calendar-day.present{background:var(--accent);border-color:var(--primary)}.calendar-day.saturday{background:var(--accent)}.calendar-day.activity-day{background:var(--accent);border-color:var(--primary)}.calendar-day.saturday.present,.calendar-day.activity-day.present{background:var(--primary);color:var(--secondary);border-color:var(--primary)}.presence-check{position:absolute;top:8px;right:8px;color:var(--text-primary);font-size:12px}.legend-color.present{background:var(--accent);border-color:var(--primary)}.notification-setup{background:var(--secondary);border:1px solid var(--border);padding:20px;margin:20px 0}.notification-setup.not-supported,.notification-setup.denied{background:var(--accent);border-color:var(--border)}.status-indicator.enabled,.status-indicator.disabled{background:var(--accent);color:var(--text-primary);border:1px solid var(--border)}.btn-enable,.btn-test,.btn-disable{background:var(--primary);color:var(--secondary);border:1px solid var(--primary)}.btn-enable:hover:not(:disabled),.btn-test:hover:not(:disabled),.btn-disable:hover:not(:disabled){background:var(--text-primary);border-color:var(--text-primary)}.guideline-item.warning-consequence i{color:var(--text-primary)}.warning-confirm{background:var(--primary);border-color:var(--primary);color:var(--secondary)}.warning-confirm:hover:not(:disabled){background:var(--text-primary);border-color:var(--text-primary)}.notification-setup,.status-indicator,.notification-actions button,.hero,.btn,.nav-link,.filter-tab,.activity-card,.modal,.calendar-container,.presence-guidelines,.participants-dropdown-content,.status-item,.alert,.popup,.task-details,.task-item,.form-group input,.form-group textarea,.form-group select,.legend-color,.stat-card,.toast,.loading:after{border-radius:0!important}@media (max-width: 768px){body{font-size:14px;line-height:1.4;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.container{max-width:100%;padding:16px;margin:0}header{margin-bottom:32px;padding:16px 0}header h1{font-size:24px;font-weight:600;line-height:1.2}header p{font-size:14px;margin-top:8px}.logo-container i{font-size:20px}.hero{padding:32px 20px;margin-bottom:32px}.hero h2{font-size:20px;margin-bottom:12px;line-height:1.3}.hero p{font-size:14px;margin-bottom:24px;line-height:1.5}.cta-buttons{flex-direction:column;gap:12px;align-items:stretch}.btn{width:100%;padding:16px 24px;font-size:16px;font-weight:500;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:var(--secondary);color:var(--text-primary);border:1px solid var(--border)}.btn:active{transform:scale(.98)}.btn:hover{background:var(--primary);color:var(--secondary);border-color:var(--primary)}.dashboard-header{padding:16px;flex-direction:column;gap:16px;position:sticky;top:0;z-index:100;background:var(--secondary);border-bottom:1px solid var(--border)}.user-info{font-size:18px;font-weight:600;text-align:center;padding:8px 0}.nav-links{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:0 4px 8px}.nav-links::-webkit-scrollbar{display:none}.nav-link{flex-shrink:0;padding:12px 20px;background:var(--accent);color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;min-height:44px;display:flex;align-items:center;justify-content:center;transition:var(--transition);white-space:nowrap;border:1px solid var(--border)}.nav-link:hover,.nav-link:focus{background:var(--border);transform:none}.nav-link.active{background:var(--primary);color:var(--secondary);border-color:var(--primary)}main{padding:16px 0}.activities-section,.responsibilities-section,.presence-section{background:var(--secondary);padding:20px;margin-bottom:20px;border:1px solid var(--border)}.section-header{margin-bottom:20px}.section-title{font-size:20px;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:16px;line-height:1.3}.section-title i{font-size:18px}.filter-tabs{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{flex-shrink:0;padding:10px 16px;background:var(--accent);color:var(--text-secondary);border:1px solid var(--border);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);white-space:nowrap;min-height:40px;display:flex;align-items:center}.filter-tab.active{background:var(--primary);color:var(--secondary);border-color:var(--primary)}.activity-card{background:var(--secondary);padding:0;margin-bottom:16px;border:1px solid var(--border)}.activity-header{margin-bottom:0;padding:16px 20px}.activity-title{font-size:18px;font-weight:600;line-height:1.3;margin:0;color:var(--secondary)}.activity-meta{display:flex;flex-direction:column;gap:6px}.activity-date,.activity-time,.activity-creator{font-size:14px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.activity-date{font-weight:600;color:var(--text-primary);font-size:16px}.activity-description{font-size:14px;color:var(--text-secondary);line-height:1.4;margin:12px 0}.activity-participation-buttons{display:flex;flex-direction:column;gap:8px;margin-top:16px}.btn-participating,.btn-not-participating{width:100%;padding:14px 20px;min-height:48px;border:1px solid var(--border);background:var(--secondary);color:var(--text-primary);font-size:16px;font-weight:500;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px;touch-action:manipulation}.btn-not-participating{background:var(--primary);color:var(--secondary);border-color:var(--primary)}.btn-participating.active,.btn-not-participating.active{background:var(--primary);border-color:var(--primary);color:var(--secondary)}.btn-participating:active,.btn-not-participating:active{transform:scale(.98)}.participants-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.participants-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:14px;font-weight:600}.participants-header.participating{color:var(--text-primary)}.participants-header.not-participating{color:var(--text-secondary)}.participants-list{display:flex;flex-wrap:wrap;gap:6px}.participant-name{padding:4px 8px;border-radius:0;font-size:12px;font-weight:500;border:1px solid var(--border)}.participant-name.participating{background:var(--accent);color:var(--text-primary);border-color:var(--primary)}.participant-name.not-participating{background:var(--accent);color:var(--text-secondary);border-color:var(--text-secondary)}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.form-input,.form-select,.form-textarea{width:100%;min-height:48px;padding:14px 16px;border:1px solid var(--border);border-radius:0;font-size:16px;background:var(--secondary);transition:border-color .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary)}.form-textarea{min-height:120px;resize:vertical}.form-row{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.form-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0}.modal{background:var(--secondary);border-radius:0;width:100%;max-width:100vw;max-height:90vh;overflow-y:auto;padding:24px 20px;animation:slideUp .3s ease-out;border-top:1px solid var(--border)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.modal-title{font-size:20px;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:1px solid var(--border);font-size:18px;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:0;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.calendar-container{background:var(--secondary);border-radius:0;padding:16px;margin-bottom:20px;border:1px solid var(--border)}.calendar-navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:12px 0;gap:8px}.calendar-navigation .nav-btn{padding:8px 12px;background:var(--primary);color:var(--secondary);border:1px solid var(--primary);border-radius:0;cursor:pointer;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;font-size:16px;touch-action:manipulation}.calendar-navigation .nav-btn:hover:not(:disabled){background:var(--text-primary);border-color:var(--text-primary)}.calendar-navigation .nav-btn:active{transform:scale(.95)}.calendar-navigation .nav-btn-text{display:none}.current-month{font-size:16px;font-weight:600;color:var(--text-primary);text-align:center;flex:1;margin:0 8px}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:8px}.day-header{padding:8px 4px;text-align:center;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--accent);border:1px solid var(--border)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border-radius:0;overflow:hidden;border:1px solid var(--border)}.calendar-day{aspect-ratio:1;background:var(--secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);position:relative;min-height:44px;font-size:14px;font-weight:500;touch-action:manipulation;border:none}.calendar-day:active{transform:scale(.95)}.calendar-day.present{background:#28a745;color:var(--secondary)}.calendar-day.saturday{background:#007bff;color:var(--secondary)}.calendar-day.today{border:2px solid #ffc107}.activity-day-indicator{font-size:8px;font-weight:600;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.presence-guidelines-container{display:flex;justify-content:center;width:100%}.presence-guidelines{background:var(--accent);border-radius:0;padding:20px;margin-top:20px;border:1px solid var(--border);max-width:100%;width:100%}.presence-guidelines h4{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:16px;text-align:center}.participants-dropdown-header{padding:12px 16px;font-size:14px;border-radius:0}.participants-dropdown-content{padding:12px 16px;border-radius:0}.participants-list{padding-left:0;line-height:1.5}.participant-name{display:inline-block;margin:2px 4px 2px 0;padding:2px 6px;background:var(--accent);border:1px solid var(--border);border-radius:0;font-size:12px}.participant-name.participating{background:var(--accent);border-color:var(--primary);color:var(--text-primary)}.participant-name.not-participating{background:var(--accent);border-color:var(--text-secondary);color:var(--text-secondary)}.participant-name:not(:last-child):after{content:""}.guidelines-content{font-size:14px;line-height:1.5;color:var(--text-secondary)}.guidelines-content p{margin-bottom:12px}.guidelines-content ul{margin:12px 0;padding-left:20px}.guidelines-content li{margin-bottom:8px}.presence-status{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.status-item{background:var(--secondary);border-radius:0;padding:16px;border:1px solid var(--border)}.status-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--text-secondary)}.status{font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.status.met{color:#28a745}.status.not-met{color:#dc3545}.loading{display:flex;align-items:center;justify-content:center;padding:40px 20px;font-size:16px;color:var(--text-secondary)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state i{font-size:48px;margin-bottom:16px;color:var(--text-muted)}.alert{padding:16px;border-radius:0;margin-bottom:16px;font-size:14px;line-height:1.4;border:1px solid var(--border)}.alert-success{background:#28a7451a;color:#28a745;border-color:#28a74533}.alert-danger{background:#dc35451a;color:#dc3545;border-color:#dc354533}.alert-warning{background:#ffc1071a;color:#856404;border-color:#ffc10733}.popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.popup{background:var(--secondary);border-radius:0;padding:24px;max-width:90vw;width:100%;max-height:80vh;overflow-y:auto;animation:popIn .3s ease-out;border:1px solid var(--border)}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.popup-header{margin-bottom:20px}.popup-title{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.popup-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.mobile-only{display:block}.desktop-only{display:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}}@media (min-width: 768px) and (max-width: 1024px){.container{padding:32px 24px}.dashboard-header{padding:20px 24px}.nav-links{justify-content:center;flex-wrap:wrap}.form-row{flex-direction:row;gap:20px}.form-row .form-group{flex:1}.activity-participation-buttons{flex-direction:row;gap:12px}.btn-participating,.btn-not-participating{flex:1}.modal{border-radius:16px;max-width:600px;margin:auto}.modal-overlay{align-items:center;padding:20px}.mobile-only{display:none}.desktop-only{display:block}}@media (min-width: 1024px){.mobile-only{display:none}.desktop-only{display:block}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.calendar-day,.btn,.nav-link,.filter-tab{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (max-width: 768px) and (orientation: landscape){.modal{max-height:85vh}.calendar-day{min-height:36px;font-size:12px}.dashboard-header{position:relative}}@media (max-width: 480px){.container{padding:12px}.hero{padding:24px 16px}.hero h2,.section-title{font-size:18px}.activity-title{font-size:16px}.modal{padding:20px 16px}.calendar-navigation .nav-btn{min-height:40px;min-width:40px;padding:8px}.current-month{font-size:16px}.calendar-day{min-height:40px;font-size:12px}}@media (hover: none) and (pointer: coarse){.btn:hover,.nav-link:hover,.filter-tab:hover,.calendar-day:hover{transform:none;background-color:initial}.btn:active,.nav-link:active,.filter-tab:active{transform:scale(.98);transition:transform .1s ease}}.mobile-header{display:none}@media (max-width: 768px){.mobile-header{display:block;position:sticky;top:0;z-index:100;background:var(--secondary);border-bottom:1px solid var(--border)}.mobile-header-content{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.mobile-user-info{display:flex;flex-direction:column;gap:2px}.mobile-user-name{font-size:16px;font-weight:600;color:var(--text-primary);line-height:1.2}.mobile-user-type{font-size:12px;color:var(--text-secondary);text-transform:capitalize}.mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background:none;border:1px solid var(--border);cursor:pointer;padding:8px;border-radius:0;transition:background-color .2s ease}.mobile-menu-toggle:hover{background:var(--accent)}.mobile-menu-toggle span{display:block;width:20px;height:2px;background:var(--text-primary);margin:2px 0;transition:all .3s ease;border-radius:0}.mobile-menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle.active span:nth-child(2){opacity:0}.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu{position:fixed;top:0;right:0;width:50vw;max-width:280px;height:100vh;background:var(--secondary);border-left:1px solid var(--border);display:flex;flex-direction:column;animation:slideInRight .3s ease-out;overflow-y:auto}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:24px 20px;border-bottom:1px solid var(--border);background:var(--accent)}.mobile-menu-user{display:flex;align-items:center;gap:12px}.mobile-menu-avatar{width:40px;height:40px;background:var(--primary);border-radius:0;display:flex;align-items:center;justify-content:center;color:var(--secondary);font-size:16px}.mobile-menu-user-info{display:flex;flex-direction:column;gap:2px}.mobile-menu-user-name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.2}.mobile-menu-user-type{font-size:12px;color:var(--text-secondary)}.mobile-menu-close{width:36px;height:36px;background:none;border:1px solid var(--border);cursor:pointer;border-radius:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:16px;transition:background-color .2s ease}.mobile-menu-close:hover{background:var(--border)}.mobile-menu-nav{flex:1;padding:20px 0}.mobile-menu-item{display:flex;align-items:center;gap:16px;padding:16px 20px;color:var(--text-secondary);text-decoration:none;font-size:16px;font-weight:500;transition:all .2s ease;border-left:3px solid transparent}.mobile-menu-item:hover{background:var(--accent);color:var(--text-primary)}.mobile-menu-item.active{background:var(--accent);color:var(--text-primary);border-left-color:var(--primary)}.mobile-menu-item i{width:20px;text-align:center;font-size:16px}.mobile-menu-footer{padding:20px;border-top:1px solid var(--border)}.mobile-menu-logout{display:flex;align-items:center;gap:16px;width:100%;padding:16px 20px;background:none;border:1px solid var(--border);border-radius:0;color:#dc3545;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.mobile-menu-logout:hover{background:var(--accent);border-color:#dc3545}.mobile-menu-logout i{width:20px;text-align:center;font-size:16px}.dashboard-header{display:none}}@media (max-width: 480px){.mobile-menu{width:60vw}.mobile-header-content{padding:12px 16px}.mobile-menu-header{padding:20px 16px}.mobile-menu-item{padding:14px 16px}.mobile-menu-footer{padding:16px}}@media (min-width: 768px) and (max-width: 1024px){.mobile-header{display:none}.dashboard-header{display:flex}}@media (min-width: 1024px){.mobile-header{display:none}.dashboard-header{display:flex}}@media (max-width: 768px){.tab-navigation{display:flex;gap:8px;margin:16px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.tab-navigation::-webkit-scrollbar{display:none}.tab-btn{flex-shrink:0;padding:12px 20px;background:#f5f5f5;color:#666;border:1px solid #e5e5e5;border-radius:24px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:44px;display:flex;align-items:center;gap:8px;touch-action:manipulation}.tab-btn.active{background:#000;color:#fff;border-color:#000}.tab-btn:active{transform:scale(.98)}.dashboard-content{display:flex;flex-direction:column;gap:20px}.task-form-section,.tasks-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border:1px solid #f0f0f0}.tasks-layout{display:flex;flex-direction:column;gap:20px}.date-list,.task-details{background:#f8f9fa;border-radius:8px;padding:16px}.date-list-title{font-size:16px;font-weight:600;margin-bottom:12px;color:#000}.dates-container{max-height:200px;overflow-y:auto}.date-item{padding:12px 16px;background:#fff;border:1px solid #e5e5e5;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s ease;font-size:14px;touch-action:manipulation}.date-item:active{transform:scale(.98)}.date-item.selected{background:#000;color:#fff;border-color:#000}.task-item{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:16px;margin-bottom:12px}.task-header{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.task-title{font-size:16px;font-weight:600;color:#000;line-height:1.3}.task-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#666}.task-description{font-size:14px;color:#666;line-height:1.4;margin-bottom:12px}.task-actions{display:flex;flex-direction:column;gap:8px}.task-actions button{padding:10px 16px;border:1px solid #e5e5e5;border-radius:6px;background:#fff;color:#666;font-size:14px;cursor:pointer;transition:all .2s ease;min-height:40px;touch-action:manipulation}.task-actions button:active{transform:scale(.98)}.task-actions button.complete{background:#28a745;color:#fff;border-color:#28a745}.task-actions button.delete{background:#dc3545;color:#fff;border-color:#dc3545}.form-row.three-column{display:flex;flex-direction:column;gap:16px}.form-row.three-column .form-group{flex:1}.success,.error{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;line-height:1.4}.success{background:#28a7451a;color:#28a745;border:1px solid rgba(40,167,69,.2)}.error{background:#dc35451a;color:#dc3545;border:1px solid rgba(220,53,69,.2)}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding:16px;background:#f8f9fa;border-radius:8px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#666}.legend-color{width:16px;height:16px;border-radius:4px;border:1px solid #e5e5e5}.legend-color.present{background:#28a745}.legend-color.activity-day{background:#007bff}.legend-color.today{background:#fff;border:2px solid #ffc107}.statistics-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:20px}.stat-card{background:#fff;border-radius:8px;padding:20px;text-align:center;border:1px solid #f0f0f0;box-shadow:0 1px 3px #0000000d}.stat-number{font-size:24px;font-weight:700;color:#000;margin-bottom:4px}.stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.activity-management-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.activity-management-actions button{padding:10px 16px;border:1px solid #e5e5e5;border-radius:6px;background:#fff;color:#666;font-size:14px;cursor:pointer;transition:all .2s ease;min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;touch-action:manipulation}.activity-management-actions button:active{transform:scale(.98)}.activity-management-actions button.edit{background:#007bff;color:#fff;border-color:#007bff}.activity-management-actions button.delete{background:#dc3545;color:#fff;border-color:#dc3545}.mobile-fab{position:fixed;bottom:20px;right:20px;width:56px;height:56px;background:#000;color:#fff;border:none;border-radius:50%;font-size:20px;cursor:pointer;box-shadow:0 4px 12px #0000004d;z-index:50;display:flex;align-items:center;justify-content:center;transition:all .2s ease;touch-action:manipulation}.mobile-fab:active{transform:scale(.95)}.mobile-fab:hover{background:#333;box-shadow:0 6px 16px #0006}.desktop-create-btn{display:none}.section-title,.section-header{margin-bottom:16px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:12px 20px;border-radius:24px;font-size:14px;z-index:1000;animation:toastSlideUp .3s ease-out}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast.success{background:#28a745}.toast.error{background:#dc3545}.pull-to-refresh{text-align:center;padding:20px;color:#666;font-size:14px}.mobile-spinner{display:inline-block;width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #000;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}@media (min-width: 768px) and (max-width: 1024px){.tasks-layout{display:grid;grid-template-columns:1fr 2fr;gap:24px}.form-row.three-column{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.activity-participation-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.statistics-grid{grid-template-columns:repeat(2,1fr)}.mobile-fab{display:none}.desktop-create-btn{display:inline-flex}}@media (min-width: 1024px){.mobile-fab{display:none}.desktop-create-btn{display:inline-flex}.statistics-grid{grid-template-columns:repeat(4,1fr)}}.calendar-grid{width:100%;max-width:100%}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:8px}.calendar-header>div{text-align:center;font-weight:600;padding:8px 4px;font-size:.875rem;color:var(--text-secondary)}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background-color:var(--border)}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background-color:#fff;font-size:.875rem;font-weight:500;position:relative;min-height:40px}.calendar-day.empty{background-color:var(--background)}.calendar-day.present{background-color:#22c55e;color:#fff}.calendar-day.saturday{background-color:#3b82f6;color:#fff}.calendar-day.present.saturday{background-color:#059669;color:#fff}.calendar-day.today{border:2px solid #f59e0b;font-weight:700}.calendar-day.today.present{border-color:#fbbf24}@media (max-width: 640px){.calendar-day{min-height:35px;font-size:.75rem}.calendar-header>div{font-size:.75rem;padding:6px 2px}}
