*{box-sizing:border-box}:root{--bg-color: #0f172a;--text-color: #f8fafc;--primary-color: #38bdf8;--secondary-color: #818cf8;--accent-color: #2dd4bf;--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--font-family: "Inter", system-ui, -apple-system, sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem}body{margin:0;font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);background-image:radial-gradient(at 0% 0%,hsla(253,16%,7%,1) 0,transparent 50%),radial-gradient(at 50% 0%,hsla(225,39%,30%,1) 0,transparent 50%),radial-gradient(at 100% 0%,hsla(339,49%,30%,1) 0,transparent 50%);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);padding:2rem}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-md);border:none;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #38bdf866}.input-field{background:#0f172a99;border:1px solid var(--glass-border);color:#fff;padding:.75rem;border-radius:var(--radius-md);width:100%;box-sizing:border-box;margin-top:.5rem;transition:border-color .2s}.input-field:focus{outline:none;border-color:var(--primary-color)}.input-field option{background:var(--bg-color);color:var(--text-color)}label{font-size:.875rem;font-weight:500;color:#94a3b8}.section-title{font-size:2rem;font-weight:700;margin-bottom:var(--spacing-md);background:linear-gradient(to right,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer}input[type=date],input[type=datetime-local]{color-scheme:dark;text-align:center;-webkit-appearance:none;appearance:none;min-height:2.75rem}.input-field.invalid{border-color:#ef4444!important;background:#ef44440d}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-left-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.responsive-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.responsive-flex{display:flex;gap:1rem}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.page-container{max-width:800px;margin:0 auto;padding:2rem;position:relative}.mobile-top-links{display:none}@media(max-width:768px){.mobile-top-links{display:flex!important;justify-content:center;gap:1rem;margin-bottom:1.5rem}.responsive-grid{grid-template-columns:1fr!important}.responsive-flex{flex-direction:column}.page-container{padding:1rem}.section-title{font-size:1.5rem}.glass-panel{padding:1rem!important}.btn-primary{width:100%;justify-content:center}.desktop-actions{display:none!important}.mobile-menu-btn{display:block!important}.admin-grid{grid-template-columns:1fr!important;height:auto!important;display:flex!important;flex-direction:column}.desktop-sidebar{display:none!important}.mobile-tab-select{display:block!important}.mobile-bottom-nav{display:flex!important;position:fixed;bottom:0;left:0;right:0;background:#0f172af2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);z-index:1000;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem .5rem;color:#94a3b8;text-decoration:none;font-size:.7rem;gap:.25rem;transition:color .2s}.mobile-bottom-nav-item.active,.mobile-bottom-nav-item:hover{color:var(--primary-color)}.page-container,.container{padding-bottom:5rem}}.guidelines-page a,.rich-text-content a{color:#2ecc71;text-decoration:none;font-weight:700;transition:color .3s ease}.guidelines-page a:hover,.rich-text-content a:hover{color:#27ae60;text-decoration:underline}.guidelines-page a:visited,.rich-text-content a:visited{color:#2ecc71}.contact-link{display:inline-block;margin-top:5px;padding:5px 0}.rich-text-content ul{list-style:disc;margin-left:1.5rem;margin-bottom:1rem}.rich-text-content ol{list-style:decimal;margin-left:1.5rem;margin-bottom:1rem}.rich-text-content li{margin-bottom:.5rem}.rich-text-content p{margin-bottom:1rem}.rich-text-content h3{color:var(--accent-color);margin-top:1.5rem;margin-bottom:1rem}.rich-text-content img{max-width:100%;height:auto;border-radius:8px;margin:1rem 0}.calendar-wrapper{padding:1.5rem;max-width:1200px;margin:0 auto}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.calendar-title{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.5rem;color:var(--text-color)}.calendar-controls{display:flex;align-items:center;gap:1rem}.month-navigator{display:flex;align-items:center;gap:.5rem;background-color:#ffffff1a;border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:.25rem}.nav-btn{background:none;border:none;color:var(--text-color);padding:.25rem;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.nav-btn:hover{background-color:#ffffff1a}.current-month{font-weight:600;width:140px;text-align:center}.add-slot-btn{background-color:var(--primary-color);color:#0f172a;padding:.5rem 1rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:.5rem;border:none;font-weight:600;cursor:pointer;transition:filter .2s}.add-slot-btn:hover{filter:brightness(1.1)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background-color:var(--glass-border);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--glass-shadow)}.day-header{background-color:#1e293b80;padding:.5rem;text-align:center;font-weight:600;color:#94a3b8;font-size:.875rem}.calendar-cell{background-color:#0f172a4d;min-height:120px;padding:.5rem;transition:background-color .2s}.calendar-cell:hover{background-color:#0f172a80}.day-number{text-align:right;color:#94a3b8;font-size:.875rem;margin-bottom:.25rem}.slots-container{display:flex;flex-direction:column;gap:.25rem}.cleaning-slot{font-size:.75rem;padding:.5rem;border-radius:var(--radius-sm);border:1px solid transparent;color:#1e293b}.slot-assigned-me{background-color:#dcfce7;border-color:#86efac}.slot-assigned-other{background-color:#f1f5f9;border-color:#cbd5e1;opacity:.75}.slot-unassigned{background-color:#fef9c3;border-color:#fde047}.slot-header{font-weight:600;display:flex;justify-content:space-between;align-items:center}.slot-actions{margin-top:.25rem}.take-btn{background-color:#16a34a;color:#fff;border:none;padding:2px 6px;border-radius:4px;cursor:pointer;font-size:.7rem}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background-color:#1e293b;border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.5rem;width:100%;max-width:500px;color:#fff;box-shadow:var(--glass-shadow)}.form-group{margin-bottom:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.btn-cancel{background:transparent;border:1px solid var(--glass-border);color:#94a3b8;padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer}.btn-save{background:var(--primary-color);color:#0f172a;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer}.slot-select{width:100%;font-size:.7rem;margin-top:2px;padding:2px;border-radius:4px;border:1px solid #cbd5e1}@media(max-width:768px){.calendar-grid{grid-template-columns:1fr}.calendar-cell{min-height:80px}.day-header{font-size:.7rem;padding:2px}}
