:root{--bg-color:#1c1c1e;--card-bg-color:#2c2c2e;--font-color:#f2f2f7;--secondary-font-color:#8e8e93;--accent-color-red:#d9534f;--accent-color-blue:#0a84ff;--accent-color-orange:#f39c12;--accent-color-green:#28a745;--border-color:#3a3a3c;--link-color:#58a6ff}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#1c1c1e;background-color:var(--bg-color);color:#f2f2f7;color:var(--font-color);font-family:Inter,sans-serif;padding:40px}.app-container{min-height:100vh}.dashboard-container,.detail-container,.login-container{margin:0 auto;max-width:1200px}.main-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.user-greeting h1{font-size:2.2rem;font-weight:700}.user-greeting p{color:#8e8e93;color:var(--secondary-font-color);font-size:1rem;margin-top:4px}.logout-btn{background-color:#d9534f;background-color:var(--accent-color-red);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 20px;transition:background-color .2s}.logout-btn:hover{background-color:#c9302c}.back-btn{align-items:center;background-color:#3a3a3c;background-color:var(--border-color);border-radius:8px;color:#f2f2f7;color:var(--font-color);display:flex;font-weight:500;gap:8px;padding:10px 18px;text-decoration:none;transition:background-color .2s;white-space:nowrap}.back-btn:hover{background-color:#48484a}.view-lessons-btn{background-color:#f39c12;background-color:var(--accent-color-orange);border:none;border-radius:8px;color:#1c1c1e;color:var(--bg-color);cursor:pointer;font-size:1rem;font-weight:700;margin-top:24px;padding:12px;text-align:center;text-decoration:none;transition:background-color .2s;width:100%}.view-lessons-btn:hover{background-color:#e68a00}.login-button{background-color:#0a84ff;background-color:var(--accent-color-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px;transition:background-color .2s;width:100%}.login-button:hover:not(:disabled){background-color:#007aff}.login-button:disabled{background-color:#8e8e93;background-color:var(--secondary-font-color);cursor:not-allowed}.status-badge{border-radius:12px;color:#fff;display:inline-block;font-size:.8rem;font-weight:500;padding:4px 10px}.status-badge.prebieha{background-color:#0a84ff;background-color:var(--accent-color-blue)}.status-badge.skoncil{background-color:#d9534f;background-color:var(--accent-color-red)}.status-badge.nezačal{background-color:#f39c12;background-color:var(--accent-color-orange)}.filter-panel{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:40px}.status-checkboxes{display:flex;gap:24px}.checkbox-container{align-items:center;cursor:pointer;display:flex;font-size:1rem;position:relative;-webkit-user-select:none;user-select:none}.checkbox-container input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkmark{background-color:#1c1c1e;background-color:var(--bg-color);border:2px solid #3a3a3c;border:2px solid var(--border-color);border-radius:4px;display:inline-block;height:20px;margin-right:10px;position:relative;width:20px}.checkbox-container input:checked~.checkmark{background-color:#0a84ff;background-color:var(--accent-color-blue);border-color:#0a84ff;border-color:var(--accent-color-blue)}.checkmark:after{border:solid #fff;border-width:0 3px 3px 0;content:"";display:none;height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:5px}.checkbox-container input:checked~.checkmark:after{display:block}.sort-by{align-items:center;display:flex;gap:10px}.sort-by label{color:#8e8e93;color:var(--secondary-font-color)}.sort-by select{-webkit-appearance:none;appearance:none;background-color:#2c2c2e;background-color:var(--card-bg-color);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23f2f2f7' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1em;border:1px solid #3a3a3c;border:1px solid var(--border-color);border-radius:8px;color:#f2f2f7;color:var(--font-color);cursor:pointer;font-size:1rem;padding:10px 3rem 10px 15px}.packages-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.package-card{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:12px;display:flex;flex-direction:column;justify-content:space-between;padding:24px;transition:transform .2s,box-shadow .2s}.package-card:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.card-header h2{flex:1 1;font-size:1.25rem;font-weight:700}.card-info p{color:#8e8e93;color:var(--secondary-font-color);line-height:1.6;margin-bottom:8px}.package-details{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:12px;margin-bottom:40px;padding:24px 32px}.package-header{border-bottom:1px solid #3a3a3c;border-bottom:1px solid var(--border-color);margin-bottom:20px;padding-bottom:20px}.header-top{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.package-title-section{align-items:start;display:flex;flex-direction:column;gap:8px}.package-title-section h1{font-size:2rem;font-weight:700;margin:0}.package-info-three-columns{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr 1fr}.info-column{gap:16px}.info-column,.info-item{display:flex;flex-direction:column}.info-item{gap:4px}.info-label{color:#8e8e93;color:var(--secondary-font-color);font-size:.9rem;font-weight:500}.info-value{color:#f2f2f7;color:var(--font-color);font-size:1rem;font-weight:600}.lessons-board{display:flex;flex-direction:column;gap:24px}.lessons-title{font-size:1.5rem;font-weight:700;margin-bottom:8px}.lessons-list{display:flex;flex-direction:column;gap:16px}.lesson-card{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:12px;padding:20px 24px}.lesson-card h3{color:#f2f2f7;color:var(--font-color);font-size:1.25rem;margin-bottom:12px}.lesson-details{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.lesson-card p{color:#8e8e93;color:var(--secondary-font-color);line-height:1.6;margin:0}.lesson-card strong{color:#f2f2f7;color:var(--font-color);font-weight:500}.calendar-link{color:#58a6ff;color:var(--link-color);display:inline-block;font-weight:500;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:4px;transition:color .2s}.calendar-link:hover{color:#8fc3ff}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-form{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:12px;box-shadow:0 4px 20px #0000004d;max-width:400px;padding:40px;width:100%}.login-title{font-size:1.5rem;font-weight:700;margin-bottom:32px;text-align:center}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:500;margin-bottom:8px}.form-group input{background-color:#1c1c1e;background-color:var(--bg-color);border:1px solid #3a3a3c;border:1px solid var(--border-color);border-radius:8px;color:#f2f2f7;color:var(--font-color);font-size:1rem;padding:12px;width:100%}.form-group input:focus{border-color:#0a84ff;border-color:var(--accent-color-blue);outline:none}.error-message{background-color:#d9534f1a;border:1px solid #d9534f;border:1px solid var(--accent-color-red);border-radius:8px;color:#d9534f;color:var(--accent-color-red)}.error-message,.success-message{margin-bottom:16px;padding:12px;text-align:center}.success-message{background-color:#28a7451a;border:1px solid #28a745;border:1px solid var(--accent-color-green);border-radius:8px;color:#28a745;color:var(--accent-color-green)}.loading-container{align-items:center;background-color:#1c1c1e;background-color:var(--bg-color);display:flex;height:100vh;justify-content:center}.error,.loading,.no-data{border-radius:12px;font-size:1.2rem;margin:20px 0;padding:40px;text-align:center}.loading{color:#8e8e93;color:var(--secondary-font-color)}.error{background-color:#d9534f1a;color:#d9534f;color:var(--accent-color-red)}.no-data{background-color:#2c2c2e;background-color:var(--card-bg-color);color:#8e8e93;color:var(--secondary-font-color);font-size:1.1rem}@media (max-width:768px){body{padding:20px}.filter-panel,.main-header{align-items:flex-start;flex-direction:column;gap:20px}.packages-grid{grid-template-columns:1fr}.status-checkboxes{flex-direction:column;gap:16px}.package-info-three-columns{gap:16px;grid-template-columns:1fr}.login-form,.package-details{padding:20px}.header-top{align-items:stretch;flex-direction:column;gap:16px}.back-btn{justify-content:center;text-align:center}}@media (max-width:480px){.header-actions{flex-direction:column;gap:8px}}.header-actions{align-items:center;display:flex;gap:12px}.availability-btn{background-color:#28a745;background-color:var(--accent-color-green);border-radius:8px;color:#fff;font-size:1rem;font-weight:500;padding:10px 20px;text-decoration:none;transition:background-color .2s;white-space:nowrap}.availability-btn:hover{background-color:#218838}.availability-container{margin:0 auto;max-width:1200px}.availability-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:40px}.day-card{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:12px;display:flex;flex-direction:column;gap:16px;padding:24px}.day-card h3{font-size:1.25rem;font-weight:700;margin-bottom:8px}.time-blocks{gap:12px}.time-block{background-color:#1c1c1e;background-color:var(--bg-color);padding:12px}.delete-block-btn{padding:6px 12px}.add-block-btn{background-color:#0a84ff;background-color:var(--accent-color-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;margin-top:auto;padding:10px;transition:background-color .2s}.add-block-btn:hover{background-color:#007aff}.no-availability{color:#8e8e93;color:var(--secondary-font-color);font-style:italic;padding:12px;text-align:center}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:12px;display:flex;flex-direction:column;gap:20px;max-width:400px;padding:32px;width:100%}.modal h3{font-size:1.5rem;margin:0}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-btn{background-color:#0a84ff;background-color:var(--accent-color-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.confirm-btn:disabled{background-color:#8e8e93;background-color:var(--secondary-font-color);cursor:not-allowed}.cancel-btn{background-color:#3a3a3c;background-color:var(--border-color);border:none;border-radius:8px;color:#f2f2f7;color:var(--font-color);cursor:pointer;font-weight:500;padding:10px 20px}.cancel-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.availability-grid{grid-template-columns:1fr}.modal{margin:20px;padding:24px}.header-actions,.modal-actions{flex-direction:column}.header-actions{gap:8px;width:100%}.availability-btn,.back-btn,.logout-btn{justify-content:center;text-align:center;width:100%}}.unavailability-section{border-top:1px solid #3a3a3c;border-top:1px solid var(--border-color);margin-top:60px;padding-top:40px}.unavailability-section h2{font-size:1.8rem;margin-bottom:16px}.section-description{color:#8e8e93;color:var(--secondary-font-color);margin-bottom:20px}.section-description p{margin:0}.unavailability-buttons{display:flex;gap:12px;margin-top:12px}.unavailability-block{align-items:center;background-color:#2c2c2e;background-color:var(--card-bg-color);border-left:4px solid #d9534f;border-left:4px solid var(--accent-color-red);border-radius:8px;display:flex;justify-content:space-between;padding:16px}.unavailability-info{display:flex;flex-direction:column;gap:4px}.unavailability-info strong{color:#d9534f;color:var(--accent-color-red);font-size:1.1rem}.unavailability-info span{color:#f2f2f7;color:var(--font-color);font-size:.95rem}.no-unavailability{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:8px;color:#8e8e93;color:var(--secondary-font-color);font-style:italic;padding:40px;text-align:center}@media (max-width:768px){.unavailability-block{align-items:flex-start;flex-direction:column;gap:12px}.unavailability-block .delete-block-btn{align-self:flex-end}}.wide-modal{max-width:500px}.date-picker{grid-gap:12px;grid-template-columns:1fr 1fr 1fr}.date-picker,.time-picker{display:grid;gap:12px;margin-bottom:20px}.time-picker{grid-gap:12px;grid-template-columns:1fr 1fr}.date-picker .form-group,.time-picker .form-group{margin-bottom:0}.date-picker select,.time-picker input{width:100%}.selected-date-preview{background-color:#1c1c1e;background-color:var(--bg-color);padding:12px}.selected-date-preview strong{color:#8e8e93;color:var(--secondary-font-color);margin-bottom:4px}.selected-date-preview span{color:#f2f2f7;color:var(--font-color);font-weight:500}@media (max-width:768px){.date-picker,.time-picker{grid-template-columns:1fr}.wide-modal{margin:20px;max-width:none}}.date-range-picker{display:flex;flex-direction:column;gap:24px;margin-bottom:20px}.date-section{background-color:#1c1c1e;background-color:var(--bg-color);border:1px solid #3a3a3c;border:1px solid var(--border-color);border-radius:12px;padding:20px}.date-section h4{color:#f2f2f7;color:var(--font-color);font-size:1.1rem;font-weight:600;margin:0 0 16px}.date-picker-group{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr 1fr}.form-group.compact{margin-bottom:0}.form-group.compact label{color:#8e8e93;color:var(--secondary-font-color);display:block;font-size:.85rem;font-weight:500;margin-bottom:6px}.date-select{background-color:#2c2c2e;background-color:var(--card-bg-color);border:1px solid #3a3a3c;border:1px solid var(--border-color);border-radius:8px;color:#f2f2f7;color:var(--font-color);cursor:pointer;font-size:.9rem;padding:10px 8px;transition:border-color .2s;width:100%}.date-select:focus{border-color:#0a84ff;border-color:var(--accent-color-blue);outline:none}.time-input{background-color:#2c2c2e;background-color:var(--card-bg-color);border:1px solid #3a3a3c;border:1px solid var(--border-color);border-radius:8px;color:#f2f2f7;color:var(--font-color);cursor:pointer;font-size:.9rem;padding:10px 8px;transition:border-color .2s;width:100%}.time-input:focus{border-color:#0a84ff;border-color:var(--accent-color-blue);outline:none}.wide-modal{max-width:600px}.selected-date-preview{background:linear-gradient(135deg,#0a84ff,#007aff);background:linear-gradient(135deg,var(--accent-color-blue),#007aff);border-radius:8px;color:#fff;margin-bottom:20px;padding:16px;text-align:center}.selected-date-preview strong{display:block;font-size:.9rem;margin-bottom:6px;opacity:.9}.selected-date-preview span{font-size:1.1rem;font-weight:600}@media (max-width:768px){.date-picker-group{grid-template-columns:1fr 1fr}.date-section{padding:16px}.wide-modal{margin:20px;max-width:none}}@media (max-width:480px){.date-picker-group{grid-template-columns:1fr}.date-range-picker{gap:16px}}.edit-block-btn{background-color:#0a84ff;background-color:var(--accent-color-blue);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:background-color .2s;white-space:nowrap}.edit-block-btn:hover{background-color:#007aff}.delete-block-btn{background-color:#d9534f;background-color:var(--accent-color-red);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:background-color .2s;white-space:nowrap}.delete-block-btn:hover{background-color:#c9302c}@media (max-width:768px){.unavailability-actions{flex-direction:column;gap:6px}.delete-block-btn,.edit-block-btn{font-size:.85rem;padding:6px 12px}}@media (max-width:480px){.unavailability-block{align-items:flex-start;flex-direction:column;gap:12px}.unavailability-actions{flex-direction:row;justify-content:flex-end;width:100%}}.reservation-settings-section{border-top:1px solid #3a3a3c;border-top:1px solid var(--border-color);margin-top:60px;padding-top:40px}.reservation-settings-section h2{font-size:1.8rem;margin-bottom:16px}.settings-list{display:flex;flex-direction:column;gap:16px;margin-top:20px}.setting-block{align-items:center;background-color:#2c2c2e;background-color:var(--card-bg-color);border-left:4px solid #28a745;border-left:4px solid var(--accent-color-green);border-radius:12px;display:flex;justify-content:space-between;padding:20px}.setting-info{display:flex;flex-direction:column;gap:8px}.setting-info strong{color:#28a745;color:var(--accent-color-green);font-size:1.1rem}.setting-info span{color:#f2f2f7;color:var(--font-color);font-size:.95rem}.no-settings{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:8px;color:#8e8e93;color:var(--secondary-font-color);font-style:italic;padding:40px;text-align:center}@media (max-width:768px){.setting-block{align-items:flex-start;flex-direction:column;gap:16px}.edit-setting-btn{align-self:flex-end}}.availability-layout{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr;margin-bottom:40px}.availability-column,.unavailability-column{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:16px;height:-webkit-fit-content;height:fit-content;padding:24px}.column-header{border-bottom:1px solid #3a3a3c;border-bottom:1px solid var(--border-color);margin-bottom:24px;padding-bottom:16px}.column-header h2{color:#f2f2f7;color:var(--font-color);font-size:1.5rem;margin:0 0 8px}.column-header p{color:#8e8e93;color:var(--secondary-font-color);font-size:.95rem;margin:0}.days-list{display:flex;flex-direction:column;gap:20px}.day-item{background-color:#1c1c1e;background-color:var(--bg-color);border:1px solid #3a3a3c;border:1px solid var(--border-color);border-radius:12px;padding:16px}.day-item h3{color:#f2f2f7;color:var(--font-color);font-size:1.1rem;margin:0 0 12px}.time-blocks{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.time-block{background-color:#0a84ff1a;border-left:3px solid #0a84ff;border-left:3px solid var(--accent-color-blue);border-radius:8px;justify-content:space-between;padding:8px 12px}.time-block,.time-range{align-items:center;display:flex}.time-range{font-weight:500;gap:8px}.add-time-btn,.time-icon{font-size:.9rem}.add-time-btn{background-color:initial;border:1px dashed #0a84ff;border:1px dashed var(--accent-color-blue);border-radius:8px;color:#0a84ff;color:var(--accent-color-blue);cursor:pointer;padding:8px;transition:all .2s;width:100%}.add-time-btn:hover{background-color:#0a84ff1a}.add-unavailability-btn{background-color:#f39c12;background-color:var(--accent-color-orange);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-top:12px;padding:10px 16px;transition:background-color .2s}.add-unavailability-btn:hover{background-color:#e68a00}.unavailability-list{display:flex;flex-direction:column;gap:12px}.unavailability-item{align-items:center;background-color:#1c1c1e;background-color:var(--bg-color);border:1px solid #3a3a3c;border-left:4px solid #f39c12;border:1px solid var(--border-color);border-left:4px solid var(--accent-color-orange);border-radius:12px;display:flex;justify-content:space-between;padding:16px}.unavailability-period{align-items:center;display:flex;gap:12px}.period-icon{font-size:1.1rem}.period-dates{display:flex;flex-direction:column}.period-range{color:#f2f2f7;color:var(--font-color);font-weight:500}.unavailability-actions{display:flex;gap:8px}.delete-btn,.edit-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;padding:6px;transition:background-color .2s}.delete-btn{background-color:#d9534f33;border:1px solid #d9534f;border:1px solid var(--accent-color-red);border-radius:6px;color:#d9534f;color:var(--accent-color-red);cursor:pointer;font-size:.9rem;font-weight:600;padding:6px 10px;transition:all .2s ease}.edit-btn:hover{background-color:#0a84ff1a}.delete-btn:hover{background-color:#d9534f;background-color:var(--accent-color-red);color:#fff}.delete-btn.small{font-size:.8rem;padding:4px 8px}.no-availability,.no-unavailability{color:#8e8e93;color:var(--secondary-font-color);font-style:italic;padding:20px;text-align:center}.no-unavailability p{margin:0 0 4px}.no-unavailability small{font-size:.85rem}.reservation-settings-section{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:16px;margin-top:32px;padding:32px}.section-header{margin-bottom:24px;text-align:center}.section-header h2{color:#f2f2f7;color:var(--font-color);font-size:1.8rem;margin:0 0 8px}.section-header p{color:#8e8e93;color:var(--secondary-font-color);font-size:1rem;margin:0}.settings-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.setting-card{background-color:#1c1c1e;background-color:var(--bg-color);border:1px solid #3a3a3c;border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;justify-content:space-between;padding:24px}.setting-content h3{color:#f2f2f7;color:var(--font-color);font-size:1.2rem;margin:0 0 8px}.setting-description{color:#8e8e93;color:var(--secondary-font-color);font-size:.9rem;line-height:1.4;margin:0 0 16px}.setting-value{align-items:baseline;display:flex;gap:8px;margin-bottom:16px}.setting-value .value{color:#0a84ff;color:var(--accent-color-blue);font-size:2rem;font-weight:700}.setting-value .unit{color:#8e8e93;color:var(--secondary-font-color);font-size:1rem}.edit-setting-btn{background-color:#0a84ff;background-color:var(--accent-color-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s;width:100%}.edit-setting-btn:hover{background-color:#007aff}@media (max-width:1024px){.availability-layout{gap:24px;grid-template-columns:1fr}.availability-column,.unavailability-column{padding:20px}}@media (max-width:768px){.settings-grid{grid-template-columns:1fr}.unavailability-item{align-items:flex-start;flex-direction:column;gap:12px}.unavailability-actions{align-self:flex-end}.reservation-settings-section{padding:24px}}@media (max-width:480px){.availability-layout{gap:16px}.availability-column,.unavailability-column{padding:16px}.time-block{align-items:flex-start;flex-direction:column;gap:8px}.unavailability-actions{align-self:stretch;justify-content:flex-end}}.setting-help-text{color:#8e8e93;color:var(--secondary-font-color);display:block;font-size:.85rem;margin-top:8px}.date-select.full-width{font-size:1rem;padding:12px;width:100%}.setting-card[data-type=medzera]{border-left:4px solid #0a84ff;border-left:4px solid var(--accent-color-blue)}.settings-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media (min-width:1200px){.settings-grid{grid-template-columns:repeat(3,1fr)}}.external-calendars-section{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:16px;margin-top:32px;padding:32px}.calendar-disclaimer{align-items:center;background-color:#0a84ff1a;border:1px solid #0a84ff4d;border-radius:8px;color:#f2f2f7;color:var(--font-color);display:flex;font-size:.95rem;gap:10px;margin-bottom:24px;padding:12px 16px}.disclaimer-icon{font-size:1.1rem}.calendars-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.calendar-item{align-items:center;background-color:#1c1c1e;background-color:var(--bg-color);border:1px solid #3a3a3c;border:1px solid var(--border-color);border-radius:12px;display:flex;justify-content:space-between;padding:16px 20px;transition:all .2s ease}.calendar-item.inactive{opacity:.6}.calendar-info{align-items:center;display:flex;gap:12px}.calendar-icon{font-size:1.3rem}.calendar-details{display:flex;flex-direction:column;gap:6px}.calendar-email{color:#f2f2f7;color:var(--font-color);font-weight:500}.calendar-badges{display:flex;gap:8px}.badge{border-radius:12px;font-size:.75rem;font-weight:500;padding:2px 8px}.badge.active{background-color:#28a74533;color:#51cf66}.badge.inactive{background-color:#6c757d33;color:#8e8e93;color:var(--secondary-font-color)}.badge.verified{background-color:#0a84ff33;color:#4dabf7}.badge.unverified{background-color:#f39c1233;color:#ffc107}.calendar-actions{align-items:center;display:flex;gap:8px}.toggle-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:4px;transition:transform .2s}.toggle-btn:hover{transform:scale(1.2)}.verify-btn{background-color:#f39c1233;border:1px solid #f39c1280;border-radius:6px;color:#ffc107;cursor:pointer;font-size:.9rem;padding:6px 10px;transition:all .2s ease}.verify-btn:hover{background-color:#ffc107;color:#1c1c1e;color:var(--bg-color)}.no-calendars{color:#8e8e93;color:var(--secondary-font-color);padding:30px;text-align:center}.no-calendars p{margin:0 0 8px}.no-calendars small{font-size:.85rem}.add-calendar-btn{background-color:#0a84ff;background-color:var(--accent-color-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:background-color .2s}.add-calendar-btn:hover{background-color:#007aff}.calendar-modal{max-width:500px}.modal-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header-row h3{margin:0}.close-modal-btn{background:none;border:none;color:#8e8e93;color:var(--secondary-font-color);cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.close-modal-btn:hover{color:#f2f2f7;color:var(--font-color)}.test-result{border-radius:8px;display:flex;gap:12px;margin:16px 0;padding:16px}.test-result.success{background-color:#28a7451a;border:1px solid #28a7454d}.test-result.error{background-color:#d9534f1a;border:1px solid #d9534f4d}.test-icon{font-size:1.2rem}.test-message strong{display:block;margin-bottom:4px}.test-message p{color:#8e8e93;color:var(--secondary-font-color);font-size:.9rem;margin:4px 0}.test-detail{font-size:.85rem!important}.calendar-help-section{border-top:1px solid #3a3a3c;border-top:1px solid var(--border-color);margin:16px 0;padding-top:16px}.help-toggle-btn{align-items:center;background:none;border:none;color:#0a84ff;color:var(--accent-color-blue);cursor:pointer;display:flex;font-size:.95rem;gap:6px;padding:0}.help-toggle-btn:hover{text-decoration:underline}.help-content{background-color:#1c1c1e;background-color:var(--bg-color);border-radius:8px;margin-top:12px;padding:16px}.help-content ol{margin:0;padding-left:20px}.help-content li{line-height:1.5;margin-bottom:10px}.service-account-email{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:4px;display:inline-block;font-size:.8rem;margin:4px 0;padding:4px 8px;word-break:break-all}.copy-btn{background:none;border:none;cursor:pointer;font-size:.9rem;margin-left:4px;padding:2px 6px;vertical-align:middle}.copy-btn:hover{opacity:.7}.test-btn{background-color:#f39c12;background-color:var(--accent-color-orange);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s}.test-btn:hover:not(:disabled){background-color:#e68a00}.test-btn:disabled{background-color:#8e8e93;background-color:var(--secondary-font-color);cursor:not-allowed}@media (max-width:768px){.calendar-item{align-items:flex-start;flex-direction:column;gap:12px}.calendar-actions{align-self:flex-end}.calendar-disclaimer{text-align:center}.calendar-disclaimer,.modal-actions{flex-direction:column}.cancel-btn,.confirm-btn,.test-btn{width:100%}}.preview-section{background-color:#2c2c2e;background-color:var(--card-bg-color);border-radius:16px;margin-top:32px;padding:32px}.preview-calendar{margin-top:20px}.preview-header{align-items:center;border-bottom:1px solid #3a3a3c;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.preview-header h4{color:#f2f2f7;color:var(--font-color);font-size:1.1rem;font-weight:500;margin:0}.week-nav-button{background-color:#0a84ff;background-color:var(--accent-color-blue);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:background-color .2s}.week-nav-button:hover:not(:disabled){background-color:#007aff}.week-nav-button:disabled{background-color:#8e8e93;background-color:var(--secondary-font-color);cursor:not-allowed;opacity:.6}.preview-week-grid{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:repeat(7,1fr)}.preview-day-column{background-color:#1c1c1e;background-color:var(--bg-color);border:1px solid #3a3a3c;border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.preview-day-column.today{border-color:#0a84ff;border-color:var(--accent-color-blue);border-width:2px}.preview-day-header{background-color:#0a84ff;background-color:var(--accent-color-blue);color:#fff;padding:12px 8px;text-align:center}.preview-day-column.today .preview-day-header{background-color:#f39c12;background-color:var(--accent-color-orange)}.preview-day-name{font-size:.85rem;font-weight:600;margin-bottom:2px}.preview-day-date{font-size:.8rem;opacity:.9}.preview-slots-container{display:flex;flex-direction:column;gap:6px;padding:10px}.preview-slot{background-color:#28a74526;border:1px solid #28a7454d;border-radius:6px;color:#51cf66;font-size:.85rem;font-weight:500;padding:8px 6px;text-align:center}.preview-no-slots{font-size:.8rem;font-style:italic;padding:30px 5px;text-align:center}.preview-loading,.preview-no-slots{color:#8e8e93;color:var(--secondary-font-color)}.preview-loading{align-items:center;display:flex;flex-direction:column;gap:15px;justify-content:center;padding:60px 20px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #3a3a3c;border-top:3px solid #0a84ff;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-color-blue);height:30px;width:30px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.preview-summary{border-top:1px solid #3a3a3c;border-top:1px solid var(--border-color);margin-top:20px;padding-top:15px;text-align:center}.preview-count{font-size:.95rem}.preview-count,.preview-link-text{color:#8e8e93;color:var(--secondary-font-color)}.preview-link-text{font-size:.9rem;margin-top:8px}.preview-reservation-link{color:#0a84ff;color:var(--accent-color-blue);font-weight:500;text-decoration:none}.preview-reservation-link:hover{text-decoration:underline}@media (max-width:1200px){.preview-week-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:900px){.preview-week-grid{grid-template-columns:repeat(3,1fr)}.preview-header{flex-direction:column;gap:12px}.preview-header h4{order:-1}}@media (max-width:600px){.preview-week-grid{grid-template-columns:repeat(2,1fr)}.preview-section{padding:20px}}@media (max-width:400px){.preview-week-grid{grid-template-columns:1fr}}