:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f0f9f0;--bg-card: #ffffff;--bg-input: #ffffff;--bg-modal: #ffffff;--bg-hover: #f5f5f5;--bg-gradient-start: #f0fff4;--bg-gradient-end: #e8f5e9;--bg-quote: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);--text-primary: #2c3e50;--text-secondary: #555;--text-muted: #666;--text-light: #888;--text-placeholder: #999;--border-color: #ddd;--border-light: #e0e0e0;--border-card: #c8e6c9;--accent-green: #27ae60;--accent-green-light: #f0fff4;--accent-green-border: #81c784;--accent-green-hover: #229954;--success-bg: #d4edda;--success-text: #155724;--success-border: #c3e6cb;--error-bg: #f8d7da;--error-text: #721c24;--error-border: #f5c6cb;--warning-border: #ffc107;--shadow-light: rgba(0, 0, 0, .05);--shadow-medium: rgba(0, 0, 0, .08);--shadow-strong: rgba(0, 0, 0, .1);--button-secondary-bg: #ecf0f1;--button-cancel-bg: #f0f0f0;--button-cancel-hover: #e0e0e0;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root{--bg-primary: #1a1a2e;--bg-secondary: #252540;--bg-tertiary: #1e3a2f;--bg-card: #252540;--bg-input: #2a2a45;--bg-modal: #252540;--bg-hover: #303050;--bg-gradient-start: #1e3a2f;--bg-gradient-end: #1a3025;--bg-quote: linear-gradient(135deg, #252540 0%, #2a2a45 100%);--text-primary: #e8e8e8;--text-secondary: #c0c0c0;--text-muted: #a0a0a0;--text-light: #888;--text-placeholder: #707070;--border-color: #404060;--border-light: #353555;--border-card: #2e5a3f;--accent-green: #4caf50;--accent-green-light: #1e3a2f;--accent-green-border: #4caf50;--accent-green-hover: #66bb6a;--success-bg: #1e3a2f;--success-text: #81c784;--success-border: #2e5a3f;--error-bg: #3a1e1e;--error-text: #ef9a9a;--error-border: #5a2e2e;--warning-border: #ffc107;--shadow-light: rgba(0, 0, 0, .2);--shadow-medium: rgba(0, 0, 0, .3);--shadow-strong: rgba(0, 0, 0, .4);--button-secondary-bg: #353555;--button-cancel-bg: #353555;--button-cancel-hover: #404060;color:var(--text-primary);background-color:var(--bg-primary)}}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}html{overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--button-secondary-bg);color:var(--text-primary);cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.oversikt-container{max-width:800px;margin:0 auto;padding:20px}.oversikt-loading{display:flex;justify-content:center;align-items:center;min-height:50vh;padding:40px;text-align:center;font-size:1.1rem;color:var(--text-muted)}.greeting-section{text-align:center;padding:30px 20px;background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);border-radius:16px;margin-bottom:24px}.greeting-section h1{margin:0;font-size:2rem;color:var(--text-primary);font-weight:700}.greeting-subtitle{margin:10px 0 0;font-size:1.1rem;color:var(--text-secondary)}.chuck-quote{display:flex;align-items:flex-start;gap:12px;margin-bottom:24px;padding:15px;background:var(--bg-quote);border-radius:10px;border-left:4px solid var(--warning-border)}.chuck-quote-icon{font-size:1.5rem;flex-shrink:0}.chuck-quote-text{margin:0;font-size:.9rem;color:var(--text-secondary);font-style:italic;line-height:1.5}.app-info-section{background:var(--bg-card);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px var(--shadow-medium);border:1px solid var(--border-light)}.app-info-section h2{margin:0 0 12px;font-size:1.2rem;color:var(--text-primary)}.app-info-section p{margin:0;color:var(--text-secondary);line-height:1.6}.stats-section{margin-bottom:24px}.stats-section h2{margin:0 0 16px;font-size:1.2rem;color:var(--text-primary)}.stats-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-card{background:var(--bg-card);border-radius:12px;padding:24px 16px;text-align:center;box-shadow:0 2px 8px var(--shadow-medium);border:1px solid var(--border-light);transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-strong)}.stat-number{display:block;font-size:2.5rem;font-weight:700;color:var(--accent-green);line-height:1}.stat-label{display:block;margin-top:8px;font-size:.9rem;color:var(--text-muted);font-weight:500}.activity-chart-section{background:var(--bg-card);border-radius:12px;padding:24px;box-shadow:0 2px 8px var(--shadow-medium);border:1px solid var(--border-light)}.activity-chart-section h2{margin:0 0 20px;font-size:1.2rem;color:var(--text-primary)}.bar-chart{display:flex;justify-content:space-between;align-items:flex-end;height:150px;padding:0 10px;gap:8px}.bar-column{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bar-wrapper{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.bar{width:100%;max-width:40px;background:linear-gradient(180deg,#27ae60,#2ecc71);border-radius:6px 6px 0 0;min-height:4px;position:relative;transition:height .3s ease}.bar-value{position:absolute;top:-24px;left:50%;transform:translate(-50%);font-size:.85rem;font-weight:600;color:var(--accent-green)}.bar-label{margin-top:8px;font-size:.8rem;color:var(--text-muted);font-weight:500}.chart-description{text-align:center;margin:16px 0 0;font-size:.85rem;color:var(--text-light)}@media(max-width:768px){.oversikt-container{padding:16px}.greeting-section{padding:24px 16px}.greeting-section h1{font-size:1.6rem}.stats-cards{grid-template-columns:1fr;gap:12px}.stat-card{padding:20px 16px}.stat-number{font-size:2rem}.bar-chart{height:120px;gap:4px}.bar{max-width:30px}.bar-value{font-size:.75rem;top:-20px}.bar-label{font-size:.7rem}}.dashboard-container,.dashboard-content{box-sizing:border-box}.dashboard-loading{display:flex;justify-content:center;align-items:center;min-height:50vh;padding:40px;text-align:center;font-size:1.1rem;color:var(--text-muted)}.tabs-container{display:flex;gap:10px;margin:10px 20px 20px;padding:0 20px;overflow-x:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;flex-wrap:wrap}.tab-button{padding:10px 20px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);font-size:.95rem;font-weight:400;cursor:pointer;transition:all .2s ease;white-space:nowrap;border-radius:8px}.tab-button:hover{background:var(--bg-hover);border-color:var(--border-light)}.tab-button.active{background:var(--accent-green-light);border:2px solid var(--accent-green);color:var(--accent-green);font-weight:700}.tab-button.completed{background:var(--accent-green-light);color:var(--accent-green);border-color:var(--accent-green)}.tab-button.completed.active{background:var(--accent-green-light);border:2px solid var(--accent-green);color:var(--accent-green)}.tab-name{font-weight:inherit;line-height:1.2}.tab-counter{font-size:.85rem;font-weight:500;opacity:.7;letter-spacing:-.5px;margin-left:4px}.exercises-wrapper{margin:0 20px 20px;padding:20px;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;border:solid 0px #b0afaf}.exercise-card{background:var(--bg-tertiary);border-radius:12px;padding:20px;box-shadow:0 2px 4px var(--shadow-light);border:1px solid var(--border-card);box-sizing:border-box;width:100%;Max-width:600px;margin:0 auto 15px}.exercise-card.completed{background:var(--bg-tertiary);border:1px solid var(--accent-green-border)}.exercise-card-content{display:flex;gap:20px;align-items:flex-start}.exercise-images-container{flex-shrink:0;display:flex;flex-direction:column;gap:8px;width:120px;min-width:120px}.exercise-image-thumbnail{width:100%;height:auto;min-height:80px;border-radius:6px;overflow:hidden;border:1px solid var(--border-color);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.exercise-image-thumbnail:hover{border-color:#3498db;transform:scale(1.05);box-shadow:0 2px 8px #3498db4d}.exercise-thumbnail-img{width:100%;height:auto;object-fit:contain;display:block}.image-modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;box-sizing:border-box}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.image-modal-close{position:absolute;top:-40px;right:0;background:#fff3;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10001}.image-modal-close:hover{background:#ffffff4d;transform:scale(1.1)}.image-modal-img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #00000080}.exercise-card-main{flex:1;min-width:0}.exercise-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;position:relative}.exercise-title{font-weight:700;font-size:1.1rem;color:var(--text-primary);margin:0;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;flex:1;text-decoration:none;padding-right:10px}.exercise-checkmark-icon{color:#fff;font-weight:700;font-size:1rem;margin-right:6px;display:inline-block}.exercise-description{font-size:.95rem;color:var(--text-secondary);margin:8px 0 0;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;line-height:1.6}.exercise-stats{display:flex;gap:10px;margin-top:10px}.exercise-stat-box{display:flex;flex-direction:column;align-items:center;padding:8px 14px;background:var(--bg-secondary);border-radius:6px}.stat-label{font-size:.7rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.stat-value{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.exercise-last-weights{margin-top:10px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;border-left:3px solid var(--accent-green);font-size:.9rem}.last-weights-label{font-weight:600;color:var(--text-primary);margin-right:8px}.last-weights-values{color:var(--text-muted)}.last-weight-number{font-weight:700;color:#4caf50}.last-weight-item{display:inline}.exercise-button{width:auto;min-width:100px;padding:8px 16px;border-radius:8px;border:none;background:var(--button-secondary-bg);color:var(--text-primary);font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s;box-sizing:border-box;white-space:nowrap;position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center}.exercise-button:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:8px 12px;background:#2c3e50;color:#fff;border-radius:6px;font-size:.85rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease;margin-bottom:8px;z-index:1000;box-shadow:0 2px 8px #0003}.exercise-button.completed:hover:before{opacity:1}.exercise-button.completed:hover:after{opacity:1}.exercise-button.completed{background:#4caf50;color:#fff;cursor:pointer}.exercise-button.completed:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.exercise-button:disabled:not(.completed){cursor:not-allowed}.no-exercises{text-align:center;color:var(--text-placeholder);padding:40px 20px;font-size:1rem}.workout-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;box-sizing:border-box}.workout-modal-content{position:relative;background:var(--bg-modal);border-radius:12px;padding:30px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px var(--shadow-strong)}.workout-modal-close{position:absolute;top:15px;right:15px;background:var(--button-cancel-bg);color:var(--text-primary);border:none;width:32px;height:32px;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.workout-modal-close:hover{background:var(--button-cancel-hover);transform:scale(1.1)}.workout-modal-content h2{margin:0 0 20px;color:var(--text-primary);font-size:1.5rem}.workout-modal-section{margin-bottom:25px}.workout-modal-section h3{margin:0 0 15px;color:var(--text-primary);font-size:1.1rem;font-weight:600}.workout-weight-input-group{margin-bottom:15px}.workout-weight-input-group label{display:block;margin-bottom:5px;color:var(--text-secondary);font-weight:500}.workout-weight-input-group input{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;font-size:16px;box-sizing:border-box;background:var(--bg-input);color:var(--text-primary)}.workout-weight-input-group input:focus{outline:none;border-color:var(--accent-green);box-shadow:0 0 0 2px #4caf501a}.last-workout-weights{background:var(--bg-secondary);padding:15px;border-radius:6px;margin-bottom:15px}.last-weight-item{padding:5px 0;color:var(--text-secondary)}.copy-weights-btn{background:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.copy-weights-btn:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.workout-modal-info{color:var(--text-muted);font-style:italic;margin:20px 0}.workout-modal-actions{display:flex;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid var(--border-light)}.workout-save-btn{flex:1;background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.workout-save-btn:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.workout-cancel-btn{flex:1;background:var(--button-cancel-bg);color:var(--text-primary);border:none;padding:12px 24px;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.workout-cancel-btn:hover{background:var(--button-cancel-hover);transform:translateY(-1px)}@media(max-width:768px){.dashboard-container{padding-top:80px}.tabs-container{margin-top:10px;margin-bottom:15px;gap:8px}.tab-button{padding:8px 14px;font-size:.9rem}.exercise-card{padding:16px;margin-bottom:12px;border-radius:8px}.exercise-card-content{flex-direction:column;gap:15px}.exercise-images-container{max-width:100%;justify-content:center}.exercise-image-thumbnail{width:70px;height:70px}.exercise-card-header{flex-direction:column;align-items:flex-start;gap:10px}.exercise-button{width:100%;min-width:auto}.exercise-title{font-size:1rem}.exercise-description{font-size:.9rem}.workout-modal-content{padding:20px;max-width:90%}.workout-modal-actions{flex-direction:column}.workout-save-btn,.workout-cancel-btn{width:100%}}.admin-container{max-width:1000px;margin:0 auto;padding:20px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--border-light)}.admin-header h1{margin:0;color:var(--text-primary)}.back-btn{padding:10px 20px;background:#7f8c8d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.back-btn:hover{background:#95a5a6}.admin-actions{margin-bottom:20px}.add-btn{padding:12px 24px;background:#27ae60;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:700;transition:background .2s}.add-btn:hover{background:#229954}.form-card{background:var(--bg-card);border-radius:12px;padding:24px;margin-bottom:30px;box-shadow:0 2px 8px var(--shadow-strong)}.form-card h2{margin-top:0;color:var(--text-primary)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:700;color:var(--text-primary)}.form-group input[type=text],.form-group input[type=number],.form-group textarea{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-family:inherit;background:var(--bg-input);color:var(--text-primary)}.form-group textarea{resize:vertical}.form-group input[type=checkbox]{margin-right:8px}.form-actions{display:flex;gap:10px;margin-top:24px}.save-btn{padding:12px 24px;background:#27ae60;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:background .2s}.save-btn:hover{background:#229954}.cancel-btn{padding:12px 24px;background:#95a5a6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:background .2s}.cancel-btn:hover{background:#7f8c8d}.exercises-list h2{color:var(--text-primary);margin-bottom:20px}.exercise-item{background:var(--bg-card);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 2px 6px var(--shadow-medium);border-left:4px solid var(--accent-green);transition:transform .2s,box-shadow .2s}.exercise-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-strong)}.exercise-item.inactive{opacity:.6;border-left-color:#95a5a6}.exercise-info{margin-bottom:16px}.exercise-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.exercise-order{background:#27ae60;color:#fff;padding:4px 10px;border-radius:4px;font-weight:700;font-size:12px}.exercise-item.inactive .exercise-order{background:#95a5a6}.exercise-header h3{margin:0;flex:1;color:var(--text-primary)}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700}.status-badge.active{background:var(--success-bg);color:var(--success-text)}.status-badge.inactive{background:var(--error-bg);color:var(--error-text)}.exercise-description{color:var(--text-secondary);margin:0}.exercise-actions{display:flex;gap:8px;flex-wrap:wrap}.action-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s}.move-btn{background:#3498db;color:#fff}.move-btn:hover{background:#2980b9}.edit-btn{background:#f39c12;color:#fff}.edit-btn:hover{background:#e67e22}.delete-btn{background:#e74c3c;color:#fff}.delete-btn:hover{background:#c0392b}.activate-btn{background:#27ae60;color:#fff}.activate-btn:hover{background:#229954}.deactivate-btn{background:#95a5a6;color:#fff}.deactivate-btn:hover{background:#7f8c8d}@media(max-width:768px){.admin-header{flex-direction:column;align-items:flex-start;gap:16px}.exercise-header{flex-direction:column;align-items:flex-start}.exercise-description{margin-left:0;margin-top:8px}.exercise-actions{flex-direction:column}.action-btn{width:100%}}.user-admin-container{max-width:800px;margin:0 auto;padding:20px}.user-admin-header{margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--border-light)}.user-admin-header h1{margin:0;color:var(--text-primary)}.message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:500}.message.success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.message.error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border)}.profile-form{background:var(--bg-card);border-radius:12px;padding:30px;box-shadow:0 2px 8px var(--shadow-strong)}.profile-image-section{text-align:center;margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid var(--border-light)}.profile-image-section h3{margin:0 0 20px;color:var(--text-primary)}.avatar-container{margin-bottom:20px}.avatar-preview{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #27ae60;box-shadow:0 4px 12px #00000026}.avatar-placeholder{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#27ae60,#229954);color:#fff;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;margin:0 auto;border:4px solid #27ae60;box-shadow:0 4px 12px #00000026}.image-actions{display:flex;gap:10px;justify-content:center}.upload-btn{padding:10px 20px;background:#27ae60;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:background .2s;display:inline-block}.upload-btn:hover{background:#229954}.upload-btn:disabled{background:#95a5a6;cursor:not-allowed}.remove-btn{padding:10px 20px;background:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:background .2s}.remove-btn:hover{background:#c0392b}.profile-info-section{display:flex;flex-direction:column;gap:20px}.form-group label{font-weight:700;color:var(--text-primary)}.form-group input{padding:12px;border:1px solid var(--border-color);border-radius:6px;font-size:16px;font-family:inherit;background:var(--bg-input);color:var(--text-primary)}.form-group input.disabled-input{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.form-group small{margin-top:-4px}.form-actions{margin-top:20px}.save-btn{padding:12px 32px;background:#27ae60;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:700;transition:background .2s}.save-btn:hover:not(:disabled){background:#229954}.save-btn:disabled{background:#95a5a6;cursor:not-allowed}@media(max-width:768px){.user-admin-container{padding:15px}.profile-form{padding:20px}.image-actions{flex-direction:column}.upload-btn,.remove-btn{width:100%}}.app-header{position:fixed;top:0;left:0;right:0;height:60px;background:#2c3e50;display:none;align-items:center;justify-content:space-between;padding:0 20px;z-index:1002;box-shadow:0 2px 8px #0000001a}.header-title{position:absolute;left:50%;transform:translate(-50%);margin:0;font-size:1.2rem;font-weight:700;color:#27ae60}.header-spacer{width:44px}.sidebar-toggle{background:#27ae60;border:none;border-radius:8px;padding:12px;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:background .2s;display:flex;align-items:center;justify-content:center;width:44px;height:44px}.sidebar-toggle:hover{background:#229954}.hamburger{display:flex;flex-direction:column;gap:4px;width:24px;height:20px}.hamburger span{display:block;width:100%;height:3px;background:#fff;border-radius:2px;transition:all .3s ease}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:999;display:none}.sidebar{position:fixed;top:0;left:0;width:250px;height:100vh;background:#2c3e50;color:#fff;display:flex;flex-direction:column;z-index:1000;box-shadow:2px 0 8px #0000001a;transition:transform .3s ease}.sidebar-header{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h2{margin:0 0 16px;font-size:1.5rem;color:#27ae60}.user-profile{display:flex;align-items:center;gap:12px}.profile-avatar,.profile-avatar-placeholder{width:50px;height:50px;border-radius:50%;flex-shrink:0}.profile-avatar{object-fit:cover;border:2px solid #27ae60}.profile-avatar-placeholder{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;border:2px solid #27ae60}.user-info{flex:1;min-width:0}.user-name{margin:0 0 4px;font-size:.95rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{margin:0;font-size:.8rem;color:#ffffffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{flex:1;padding:20px 0;overflow-y:auto}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:14px 20px;background:none;border:none;color:#fffc;text-align:left;cursor:pointer;font-size:1rem;transition:all .2s;border-left:3px solid transparent}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#27ae6033;color:#27ae60;border-left-color:#27ae60;font-weight:700}.nav-item.logout{color:#e74c3c}.nav-item.logout:hover{background:#e74c3c1a;color:#c0392b}.nav-icon{font-size:1.3rem;width:24px;text-align:center}.nav-text{flex:1}.nav-divider{height:1px;background:#ffffff1a;margin:12px 20px}.main-content{margin-left:250px;padding:20px;min-height:100vh;transition:margin-left .3s ease;box-sizing:border-box}@media(max-width:768px){.app-header{display:flex}.sidebar-overlay{display:block;top:60px}.sidebar{transform:translate(-100%);top:60px;height:calc(100vh - 60px)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:60px 0 0}}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff0d}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.signup-container{max-width:500px;margin:0 auto;padding:30px;background:var(--bg-card);border-radius:12px;box-shadow:0 4px 12px var(--shadow-strong)}.signup-header{text-align:center;margin-bottom:30px}.signup-header h2{margin:0 0 8px;color:var(--text-primary)}.signup-header p{margin:0;color:var(--text-muted);font-size:.95rem}.signup-message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:500}.signup-message.success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.signup-message.error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border)}.signup-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:700;color:var(--text-primary);font-size:.95rem}.form-group input{padding:12px;border:1px solid var(--border-color);border-radius:6px;font-size:16px;font-family:inherit;transition:border-color .2s;background:var(--bg-input);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--accent-green);box-shadow:0 0 0 3px #27ae601a}.form-actions{display:flex;flex-direction:column;gap:10px;margin-top:10px}.submit-btn{padding:14px;background:#27ae60;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s}.submit-btn:hover:not(:disabled){background:#229954}.submit-btn:disabled{background:#95a5a6;cursor:not-allowed}.back-btn{padding:12px;background:transparent;color:var(--text-muted);border:1px solid var(--border-color);border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.back-btn:hover{background:var(--bg-hover);border-color:var(--border-light)}@media(max-width:768px){.signup-container{padding:20px;margin:20px}.form-row{grid-template-columns:1fr}}.login-container{max-width:400px;width:100%;margin:0 auto;padding:30px;background:var(--bg-card);border-radius:12px;box-shadow:0 4px 12px var(--shadow-strong);box-sizing:border-box}.login-header{text-align:center;margin-bottom:30px}.login-header h2{margin:0 0 8px;color:var(--text-primary)}.login-header p{margin:0;color:var(--text-muted);font-size:.95rem}.login-message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:500}.login-message.success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.login-message.error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border)}.login-form{display:flex;flex-direction:column;gap:20px}.login-form .form-group{display:flex;flex-direction:column;gap:8px}.login-form .form-group label{font-weight:700;color:var(--text-primary);font-size:.95rem}.login-form .form-group input{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:6px;font-size:16px;font-family:inherit;transition:border-color .2s;background:var(--bg-input);color:var(--text-primary);box-sizing:border-box}.login-form .form-group input::placeholder{color:var(--text-placeholder)}.login-form .form-group input:focus{outline:none;border-color:var(--accent-green);box-shadow:0 0 0 3px #27ae601a}.login-form .form-actions{display:flex;flex-direction:column;gap:10px;margin-top:10px}.login-form .submit-btn{padding:14px;background:var(--accent-green);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s}.login-form .submit-btn:hover:not(:disabled){background:var(--accent-green-hover)}.login-form .submit-btn:disabled{background:#95a5a6;cursor:not-allowed}.login-form .forgot-btn{padding:10px;background:transparent;color:var(--text-muted);border:none;font-size:14px;cursor:pointer;text-decoration:underline}.login-form .forgot-btn:hover{color:var(--text-primary)}.login-form .back-btn{padding:12px;background:transparent;color:var(--text-muted);border:1px solid var(--border-color);border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.login-form .back-btn:hover{background:var(--bg-hover);border-color:var(--border-light)}@media(max-width:480px){.login-container{padding:20px;margin:0;max-width:100%;border-radius:0;box-shadow:none}}#root{width:100%;min-height:100vh}.app-layout{display:flex;min-height:100vh}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem;width:100%}.password-reset-header{margin-bottom:20px;text-align:center}.password-reset-header h2{color:var(--text-primary)}.password-reset-header p{color:var(--text-secondary)}.password-reset-form{max-width:400px;margin:0 auto}.password-form-group{margin-bottom:15px}.password-form-group label{display:block;margin-bottom:5px;font-weight:700;color:var(--text-primary)}.password-form-group input{width:100%;padding:10px;border-radius:4px;border:1px solid var(--border-color);font-size:16px;background:var(--bg-input);color:var(--text-primary);box-sizing:border-box}.password-form-group input::placeholder{color:var(--text-placeholder)}.password-message{padding:10px;margin-bottom:15px;border-radius:4px}.password-message.success{background-color:var(--success-bg);color:var(--success-text)}.password-message.error{background-color:var(--error-bg);color:var(--error-text)}.password-submit-btn{width:100%;padding:12px;border-radius:8px;border:none;background:var(--accent-green);color:#fff;font-weight:700;cursor:pointer;font-size:16px;transition:background .2s}.password-submit-btn:hover:not(:disabled){background:var(--accent-green-hover)}.password-submit-btn:disabled{background:#95a5a6;cursor:not-allowed}.auth-wrapper-container{max-width:400px;width:100%;box-sizing:border-box}.auth-wrapper{width:100%;overflow:hidden}.auth-wrapper *{max-width:100%;box-sizing:border-box!important}.auth-wrapper input[type=email],.auth-wrapper input[type=password],.auth-wrapper input[type=text],.auth-wrapper button{width:100%!important;max-width:400px!important;min-width:0!important;box-sizing:border-box!important}.auth-wrapper div{max-width:100%!important}@media(max-width:480px){.auth-container{padding:1rem;overflow-x:hidden}.auth-wrapper-container{max-width:calc(100vw - 2rem);width:100%}.auth-wrapper input[type=email],.auth-wrapper input[type=password],.auth-wrapper input[type=text],.auth-wrapper button{max-width:100%!important}}.auth-signup-link{text-align:center;margin-top:20px}.auth-signup-link button{background:transparent;border:none;color:#646cff;cursor:pointer;text-decoration:underline;font-size:14px}.auth-wrapper [data-provider=email]{display:none!important}
