@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;800&display=swap";.app-navbar{position:fixed;top:0;left:0;right:0;height:var(--navbar-height);background:#fffffffa;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 14px #1018280f;z-index:1100;display:flex;align-items:center}.app-navbar-inner{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 16px;display:flex;align-items:center;position:relative;height:100%}.nav-left,.nav-right{display:flex;gap:12px;align-items:center;z-index:1110}.nav-left{flex:1;justify-content:flex-start}.nav-right{flex:1;justify-content:flex-end}.nav-link{text-decoration:none;color:var(--text);padding:8px 10px;border-radius:8px;font-weight:600}.nav-link:hover{background:#0000000a}.nav-brand{position:absolute;left:50%;transform:translate(-50%);pointer-events:none;z-index:1090;display:flex;align-items:center}.nav-brand-link{pointer-events:auto;display:inline-flex;gap:12px;align-items:center;text-decoration:none;color:var(--text);padding:8px 16px;border-radius:8px;transition:all .2s ease;background:#ffffffe6;border:1px solid rgba(0,0,0,.08);cursor:pointer;position:relative;box-shadow:0 1px 3px #0000000d;font-weight:600}.nav-brand-link:hover{background:#fff;border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.nav-logo{width:32px;height:32px;border-radius:6px;object-fit:cover;transition:all .2s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.nav-brand-link:hover .nav-logo{transform:scale(1.05);filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.nav-brand-text{font-weight:600;font-size:16px;transition:all .2s ease;letter-spacing:.3px;color:var(--text)}.nav-brand-link:hover .nav-brand-text{color:var(--accent)}.nav-user{position:relative}.nav-user-btn{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.04);background:transparent;cursor:pointer}.nav-user-avatar{width:32px;height:32px;border-radius:8px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.nav-user-name{font-size:13px;color:var(--muted)}.nav-dropdown{position:absolute;right:0;top:calc(var(--navbar-height) - 8px);width:320px;background:var(--surface);border-radius:10px;box-shadow:0 10px 30px #1018281f;padding:12px;display:none;z-index:1200}.nav-dropdown.open{display:block}.dropdown-section{margin-bottom:8px}.dropdown-title{font-weight:700;font-size:13px;margin-bottom:6px}.dropdown-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.row-label{width:80px;font-size:13px;color:var(--muted)}.dropdown-input{flex:1;padding:8px;border-radius:8px;border:1px solid rgba(0,0,0,.06)}@media (max-width:720px){.nav-left{gap:8px}.nav-brand-text{font-size:14px}.nav-dropdown{width:90vw;right:5vw;left:5vw}}.home-container{min-height:100vh;display:flex;flex-direction:column;gap:24px;padding-top:calc(var(--navbar-height) + var(--navbar-pad));box-sizing:border-box}.content{flex:1;display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start;max-width:var(--max-width);margin:0 auto;padding:0 16px;box-sizing:border-box}.site-footer{text-align:center;color:var(--muted);padding:18px 0;font-size:13px;background:transparent}.site-footer .footer-inner{max-width:var(--max-width);margin:0 auto;padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box}.site-footer .social-links{display:flex;gap:10px;align-items:center}.site-footer .social-links img{width:28px;height:28px;display:block;transition:transform .12s ease}.site-footer .social-links a:hover img{transform:translateY(-3px)}.bookings-container{padding:calc(var(--navbar-height) + 40px) 40px 40px 40px;max-width:1800px;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);position:relative;overflow:visible}.bookings-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(216,138,68,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.bookings-container>*{position:relative;z-index:1}.bookings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding:24px 32px;background:#fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.bookings-header:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026,inset 0 1px #fff9}.week-navigation{display:flex;align-items:center;gap:16px;position:relative;z-index:2}.nav-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;background:linear-gradient(135deg,var(--accent) 0%,#e67e22 100%);border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#fff;box-shadow:0 4px 16px #d88a444d,inset 0 1px #fff3;position:relative;overflow:hidden}.nav-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.nav-btn:hover:before{left:100%}.nav-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #d88a4466,inset 0 1px #ffffff4d}.nav-btn:active{transform:translateY(-1px) scale(1.02)}.today-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#fff;font-size:14px;font-weight:600;box-shadow:0 4px 16px #3b82f64d,inset 0 1px #fff3;position:relative;overflow:hidden}.today-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.today-btn:hover:before{left:100%}.today-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #3b82f666,inset 0 1px #ffffff4d}.today-btn:active{transform:translateY(-1px) scale(1.02)}.week-input{padding:12px 16px;border:2px solid rgba(59,130,246,.2);border-radius:12px;font-size:14px;font-weight:600;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);min-width:160px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000001a}.week-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a,0 4px 16px #3b82f633;transform:translateY(-1px)}.week-info h2{margin:0 0 8px;color:var(--text);font-size:32px;font-weight:800;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.week-range{margin:0 0 12px;color:#64748b;font-size:16px;font-weight:500}.week-details-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:13px;font-weight:600;box-shadow:0 4px 16px #3b82f64d,inset 0 1px #fff3;position:relative;overflow:hidden;min-width:140px;justify-content:center}.week-details-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.week-details-btn:hover:before{left:100%}.week-details-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #3b82f666,inset 0 1px #ffffff4d}.week-details-btn:active{transform:translateY(-1px) scale(1.01)}.week-details-btn .week-number{background:none;color:#fff;padding:0;border-radius:0;font-weight:700;font-size:13px;box-shadow:none;position:static;overflow:visible}.week-details-btn .week-number:before{display:none}.week-details-btn .year{color:#ffffffe6;font-weight:600;font-size:13px}.week-details-btn .calendar-icon{color:#fffc;transition:all .3s ease;flex-shrink:0;display:block}.week-details-btn:hover .calendar-icon{color:#fff;transform:scale(1.1)}.dropdown-arrow{color:#fffc;transition:all .3s ease;flex-shrink:0;margin-left:4px}.week-details-btn:hover .dropdown-arrow{color:#fff;transform:rotate(180deg)}.week-selector-container{position:relative;z-index:10}.week-selector-dropdown{background:#fff!important;border-radius:12px;box-shadow:0 20px 40px #00000026,0 8px 16px #0000001a;border:2px solid #3b82f6!important;max-height:300px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-width:200px;max-width:300px;position:fixed!important;z-index:999999!important}.week-selector-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.1);background:linear-gradient(135deg,#f8fafc,#e2e8f0);font-weight:600;color:var(--text)}.close-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:6px;cursor:pointer;color:#64748b;transition:all .2s ease}.close-btn:hover{background:#0000001a;color:var(--text)}.week-options{max-height:240px;overflow-y:auto;padding:8px 0}.week-option{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 20px;background:none;border:none;cursor:pointer;transition:all .2s ease;text-align:left;font-size:14px;color:var(--text)}.week-option:hover:not(:disabled){background:#3b82f61a;color:#1d4ed8}.week-option.current{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-weight:600}.week-option.current:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af)}.week-option.past{color:#9ca3af;cursor:not-allowed;opacity:.6}.week-option.past:hover{background:none;color:#9ca3af}.week-label{font-weight:500}.current-indicator{font-size:12px;background:#fff3;padding:2px 8px;border-radius:6px;font-weight:600}.week-options::-webkit-scrollbar{width:6px}.week-options::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.week-options::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.week-options::-webkit-scrollbar-thumb:hover{background:#0000004d}.bookings-content{display:flex;gap:40px;align-items:flex-start}.calendar-section{flex:1;min-width:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:16px;margin-bottom:32px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);border-radius:16px;padding:16px;position:relative;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.calendar-grid:hover{background:#ffffff26;transform:translateY(-4px);box-shadow:0 20px 40px #0000001a,0 8px 16px #d88a441a}.calendar-grid:before{content:"Klikk for å se detaljert visning";position:absolute;top:-40px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--accent) 0%,#e67e22 100%);color:#fff;padding:8px 20px;border-radius:12px;font-size:13px;font-weight:600;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:10;box-shadow:0 4px 16px #d88a444d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.calendar-grid:hover:before{opacity:1;transform:translate(-50%) translateY(-2px)}.day-card{background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.2);position:relative}.day-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),#3b82f6,#10b981,#f59e0b,#ef4444,#8b5cf6,var(--accent));background-size:200% 100%;animation:gradientShift 3s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.day-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 40px #00000026,inset 0 1px #fff9}.day-header{background:linear-gradient(135deg,var(--accent) 0%,#e67e22 100%);color:#fff;padding:14px 12px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.day-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.day-card:hover .day-header:before{left:100%}.day-name{font-weight:800;font-size:14px;margin-bottom:4px;letter-spacing:.02em}.day-date{font-size:12px;opacity:.95;font-weight:600}.time-slots{padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.time-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 8px;border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:700;font-size:14px;min-height:65px;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a;min-width:0;flex:1}.time-slot.available{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#10b9814d;position:relative;overflow:hidden}.time-slot.available:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.time-slot.available:hover:before{left:100%}.time-slot.available:hover{background:linear-gradient(135deg,#059669,#047857);color:#fff;transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #10b98166}.time-slot.booked{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;cursor:not-allowed;opacity:.8;position:relative}.time-slot.booked .time-text{margin-bottom:12px}.time-slot.blocked{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff;cursor:not-allowed;position:relative;overflow:hidden}.time-slot.blocked:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.time-slot.blocked:hover:before{left:100%}.time-slot.selected{border-color:var(--accent);box-shadow:0 0 0 4px #d88a444d;transform:translateY(-2px) scale(1.05)}.time-text{font-weight:800;font-size:15px;letter-spacing:.02em;z-index:3;position:relative;margin-bottom:6px;line-height:1.1;white-space:nowrap;text-align:center;width:100%}.booking-count{position:absolute;top:4px;right:4px;background:linear-gradient(135deg,#000000f2,#000c);color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;box-shadow:0 2px 8px #00000080;z-index:4;border:1px solid rgba(255,255,255,.4)}.time-slot.booked .booking-count{top:3px;right:3px;width:16px;height:16px;font-size:8px}.booking-panel{width:420px;background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80;padding:36px;position:sticky;top:calc(var(--navbar-height) + 40px);max-height:calc(100vh - 120px);overflow-y:auto;border:1px solid rgba(255,255,255,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.booking-panel:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026,inset 0 1px #fff9}.panel-section{margin-bottom:24px}.panel-section:last-child{margin-bottom:0}.panel-section h3{margin:0 0 16px;color:var(--text);font-size:20px}.panel-section h4{margin:0 0 12px;color:var(--text);font-size:16px}.selected-time{background:var(--accent);color:#fff;padding:16px;border-radius:8px;text-align:center}.time-info .time-date{font-weight:700;font-size:16px;margin-bottom:4px}.time-info .time-range{font-size:14px;opacity:.9}.no-selection{text-align:center;color:var(--muted);padding:20px;background:#f8f9fa;border-radius:8px}.form-label{display:block;margin-bottom:8px;font-weight:600;color:var(--text)}.form-input{width:100%;padding:12px;border:2px solid var(--accent-2);border-radius:8px;font-size:14px;background:#fff;color:var(--text);box-sizing:border-box}.book-btn{width:100%;padding:16px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease}.book-btn:hover:not(:disabled){background:var(--accent-2);transform:translateY(-1px)}.book-btn:disabled{opacity:.6;cursor:not-allowed}.booking-list{display:flex;flex-direction:column;gap:8px}.booking-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.booking-id{font-family:monospace;font-size:12px;color:var(--muted)}.delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.delete-btn:hover{background:#c82333;transform:scale(1.05)}.legend{display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px}.legend-color{width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.legend-color.available{background:var(--free)}.legend-color.booked{background:var(--booked-color)}.legend-color.blocked{background:var(--blocked-color)}.loading-state{text-align:center;padding:40px;color:var(--muted);font-size:16px}.info-card{background:#f8f9fa;padding:16px;border-radius:8px;border:1px solid #e9ecef;text-align:center;color:var(--muted)}.info-card p{margin:0 0 8px}.info-card p:last-child{margin-bottom:0}.cta-card{background:var(--accent);color:#fff;padding:20px;border-radius:8px;text-align:center}.cta-card h4{margin:0 0 8px;color:#fff}.cta-card p{margin:0 0 16px;opacity:.9}.cta-buttons{display:flex;gap:8px;justify-content:center}.cta-buttons .btn{padding:10px 16px;text-decoration:none;border-radius:6px;font-weight:600;transition:all .2s ease}.cta-buttons .btn-primary{background:#fff;color:var(--accent);border:2px solid white}.cta-buttons .btn-primary:hover{background:transparent;color:#fff}.cta-buttons .btn-secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}.cta-buttons .btn-secondary:hover{background:#ffffff1a;border-color:#fff}.day-panel{background:var(--surface);padding:20px;border-radius:12px;box-shadow:var(--shadow);max-width:900px;margin-top:20px}.day-panel-slots{max-height:300px;overflow-y:auto;padding-right:8px}@media (max-width: 1600px){.bookings-container{padding:calc(var(--navbar-height) + 32px) 32px 32px 32px}.calendar-grid{gap:14px}}@media (max-width: 1400px){.bookings-container{padding:calc(var(--navbar-height) + 24px) 24px 24px 24px}.calendar-grid{gap:12px}.booking-panel{width:380px}}@media (max-width: 1200px){.calendar-grid{grid-template-columns:repeat(5,1fr);gap:12px}.booking-panel{width:360px}.time-slot{min-height:60px;padding:12px 10px}}@media (max-width: 900px){.calendar-grid{grid-template-columns:repeat(3,1fr);gap:12px}.bookings-content{flex-direction:column;gap:24px}.booking-panel{width:100%;position:static;margin-top:0}.bookings-header{flex-direction:column;gap:20px;align-items:flex-start;padding:20px 24px}.week-navigation{flex-wrap:wrap;gap:12px}.nav-btn{width:44px;height:44px}.today-btn{padding:10px 16px;font-size:13px}.week-input{min-width:140px}.time-slot{min-height:55px;padding:12px 10px;font-size:13px}.time-text{font-size:14px}}@media (max-width: 600px){.calendar-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}.time-slots{grid-template-columns:repeat(3,1fr);gap:10px;padding:16px}.bookings-container{padding:calc(var(--navbar-height) + 16px) 16px 16px 16px}.bookings-header{padding:16px 20px;margin-bottom:24px}.week-navigation{gap:8px;flex-wrap:wrap}.nav-btn{width:40px;height:40px}.today-btn{padding:8px 12px;font-size:12px}.week-input{min-width:120px;padding:10px 12px}.week-details{flex-direction:column;align-items:flex-start;gap:6px}.week-info h2{font-size:24px}.day-card{border-radius:12px}.day-header{padding:16px 12px}.day-name{font-size:14px}.day-date{font-size:12px}.time-slot{padding:14px 10px;min-height:65px;font-size:14px}.time-text{font-size:14px}.booking-count{width:18px;height:18px;font-size:9px;top:4px;right:4px}.time-slot.booked .booking-count{width:16px;height:16px;font-size:8px;top:3px;right:3px}}@media (max-width: 400px){.calendar-grid{grid-template-columns:1fr;gap:10px}.time-slots{grid-template-columns:repeat(4,1fr);gap:8px}.week-navigation{flex-direction:column;align-items:stretch;gap:8px}.nav-btn,.today-btn,.week-input{width:100%;justify-content:center}.bookings-container{padding:calc(var(--navbar-height) + 12px) 12px 12px 12px}.bookings-header{padding:12px 16px}.week-info h2{font-size:20px}.day-card{border-radius:10px}.time-slot{padding:12px 8px;min-height:60px;font-size:13px}.time-text{font-size:13px}.booking-count{width:16px;height:16px;font-size:8px;top:3px;right:3px}.time-slot.booked .booking-count{width:14px;height:14px;font-size:7px;top:2px;right:2px}}.landing-page{min-height:100vh;background:var(--bg-gradient);color:var(--text)}.hero-section{padding:80px 20px;text-align:center;background:var(--bg-gradient)}.hero-content{max-width:800px;margin:0 auto}.hero-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.hero-subtitle{font-size:1.5rem;margin-bottom:2rem;opacity:.9;font-weight:300}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-large{padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;text-decoration:none;display:inline-block;transition:all .3s ease}.btn-primary.btn-large{background:var(--accent);color:#fff;border:2px solid var(--accent)}.btn-primary.btn-large:hover{background:var(--accent-2);border-color:var(--accent-2);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-secondary.btn-large{background:transparent;color:var(--accent);border:2px solid var(--accent)}.btn-secondary.btn-large:hover{background:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow)}.features-section{padding:80px 20px;background:var(--surface);color:var(--text)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section-title{font-size:2.5rem;text-align:center;margin-bottom:3rem;color:var(--text)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.feature-card{background:var(--surface);padding:2rem;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text)}.feature-card p{color:var(--muted);line-height:1.6}.info-section{padding:80px 20px;background:var(--surface);color:var(--text)}.info-content{max-width:800px;margin:0 auto;text-align:center}.info-content p{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem;color:var(--muted)}.cta-section{padding:80px 20px;background:var(--accent-2);text-align:center;color:#fff}.cta-text{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-ghost.btn-large{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}.btn-ghost.btn-large:hover{background:#ffffff1a;border-color:#fff;transform:translateY(-2px)}.nav-auth{display:flex;gap:.5rem;align-items:center}.nav-auth .btn{padding:.5rem 1rem;text-decoration:none;border-radius:6px;font-weight:500;transition:all .2s ease}.nav-auth .btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}.nav-auth .btn-ghost:hover{background:#ffffff1a;border-color:#ffffff80}.nav-auth .btn-primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.nav-auth .btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2);transform:translateY(-1px)}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.hero-actions{flex-direction:column;align-items:center}.btn-large{width:100%;max-width:300px}.features-grid{grid-template-columns:1fr}.cta-actions{flex-direction:column;align-items:center}.nav-auth{flex-direction:column;gap:.25rem}}:root{--navbar-height: 64px;--navbar-pad: 24px;--max-width: 1200px;--bg-gradient: linear-gradient(180deg, #F7FAFC 0%, #F2F2F2 100%);--surface: #ffffff;--text: #222222;--muted: #6b7280;--accent: #D88A44;--accent-2: #7A8B6F;--free: #2ecc71;--booked-color: #e74c3c;--blocked-color: #ef4444;--radius: 10px;--shadow: 0 6px 18px rgba(16,24,40,.06);--card-padding: 20px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial}body{margin:0;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-gradient);color:var(--text);line-height:1.4}.container{max-width:var(--max-width);margin:0 auto;padding:0 16px}.btn,.submit-btn{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;padding:10px 14px;border-radius:8px;font-weight:600;text-decoration:none;background:var(--accent);color:#fff}.btn-ghost{background:transparent;border:1px solid rgba(0,0,0,.06);color:var(--text);padding:8px 12px;border-radius:8px}.btn-secondary{background:var(--accent-2);color:#fff}.card{background:var(--surface);border-radius:var(--radius);padding:var(--card-padding);box-shadow:var(--shadow);color:var(--text)}.card.small{padding:16px}.form-group{margin-bottom:12px}label{display:block;margin-bottom:6px;font-size:14px;color:var(--muted)}input,select,textarea{width:100%;padding:10px;border-radius:8px;border:1px solid rgba(0,0,0,.06);background:#fff;font-size:14px}.lead{color:var(--muted);margin-top:6px;margin-bottom:12px}.site-footer{text-align:center;color:var(--muted);padding:18px 0;font-size:13px}.admin-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid rgba(0,0,0,.1)}.tab-button{background:none;border:none;padding:12px 16px;cursor:pointer;border-bottom:2px solid transparent;color:var(--muted);font-weight:500;transition:all .2s ease}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-button:hover{color:var(--text)}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.booking-stats{display:flex;gap:16px}.stat-item{font-size:14px;color:var(--muted)}.booking-filters{background:var(--surface);padding:20px;border-radius:var(--radius);margin-bottom:24px;box-shadow:var(--shadow)}.filter-row{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;margin-bottom:16px}.filter-row:last-child{margin-bottom:0}.booking-item{display:flex;justify-content:space-between;align-items:flex-start;background:var(--surface);padding:20px;border-radius:var(--radius);margin-bottom:16px;box-shadow:var(--shadow);border-left:4px solid var(--accent)}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.booking-header h4{margin:0;color:var(--accent);font-size:18px}.booking-id{font-size:12px;color:var(--muted);font-family:monospace;background:#0000000d;padding:4px 8px;border-radius:4px}.booking-details{display:grid;gap:8px}.booking-details>div{font-size:14px;color:var(--text)}.booking-actions{display:flex;gap:8px;align-items:flex-start}.btn-sm{padding:6px 12px;font-size:12px}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.btn-outline{background:transparent;border:1px solid var(--accent);color:var(--accent)}.btn-outline:hover{background:var(--accent);color:#fff}.no-bookings{text-align:center;padding:40px;color:var(--muted)}.oversikt-container{max-width:1200px;margin:0 auto;padding:0 20px}.oversikt-header{margin-bottom:40px}.welcome-section{text-align:center;margin-bottom:40px}.welcome-section h1{font-size:2.5rem;font-weight:800;color:var(--text);margin:0 0 12px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:1.1rem;color:var(--muted);margin:0}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:40px}.action-card{display:flex;align-items:center;gap:16px;padding:24px;background:var(--surface);border-radius:16px;box-shadow:0 4px 12px #0000000d;text-decoration:none;color:var(--text);transition:all .3s ease;border:2px solid transparent}.action-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a;text-decoration:none;color:var(--text)}.action-card.primary{background:linear-gradient(135deg,var(--accent) 0%,#e67e22 100%);color:#fff}.action-card.primary:hover{background:linear-gradient(135deg,#d35400,#e67e22);color:#fff}.action-card.secondary{background:linear-gradient(135deg,var(--accent-2) 0%,#27ae60 100%);color:#fff}.action-card.secondary:hover{background:linear-gradient(135deg,#229954,#27ae60);color:#fff}.action-card.ghost{background:var(--surface);border:2px solid rgba(0,0,0,.08)}.action-card.ghost:hover{border-color:var(--accent);background:#d88a440d}.action-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#fff3;flex-shrink:0}.action-card.ghost .action-icon{background:var(--accent);color:#fff}.action-content h3{margin:0 0 4px;font-size:1.1rem;font-weight:600}.action-content p{margin:0;font-size:.9rem;opacity:.8}.oversikt-content{margin-bottom:60px}.bookings-section{background:var(--surface);border-radius:16px;padding:32px;box-shadow:0 4px 12px #0000000d}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:2px solid rgba(0,0,0,.05)}.section-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text)}.booking-count{background:var(--accent);color:#fff;padding:6px 12px;border-radius:20px;font-size:.9rem;font-weight:600}.loading-state,.error-state,.empty-state{text-align:center;padding:60px 20px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(216,138,68,.2);border-top:4px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.error-icon,.empty-icon{font-size:3rem;margin-bottom:16px}.empty-state h3{margin:0 0 8px;color:var(--text)}.empty-state p{color:var(--muted);margin-bottom:24px}.bookings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.booking-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000d;border:1px solid rgba(0,0,0,.05);transition:all .2s ease}.booking-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.booking-header h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--text)}.booking-status{padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase}.booking-status.upcoming{background:#3498db1a;color:#3498db}.booking-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.booking-time,.booking-duration{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem}.booking-actions{display:flex;justify-content:flex-end}.btn-sm{padding:6px 12px;font-size:.8rem}@media (max-width: 768px){.oversikt-container{padding:0 16px}.welcome-section h1{font-size:2rem}.quick-actions{grid-template-columns:1fr}.action-card{padding:20px}.bookings-section{padding:24px}.bookings-grid{grid-template-columns:1fr}}.account-container{max-width:800px;margin:0 auto;padding:24px;position:relative;z-index:99999!important}.account-header{text-align:center;margin-bottom:32px}.account-title{font-size:2.5rem;font-weight:700;color:var(--text);margin:0 0 8px;background:linear-gradient(135deg,var(--accent),#e67e22);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.account-subtitle{font-size:1.1rem;color:var(--muted);margin:0}.account-sections{display:flex;flex-direction:column;gap:24px}.account-section{background:var(--surface);border-radius:12px;padding:24px;border:1px solid var(--border);box-shadow:0 2px 8px #0000001a}.section-header{margin-bottom:20px}.section-title{display:flex;align-items:center;gap:8px;font-size:1.3rem;font-weight:600;color:var(--text);margin:0 0 4px}.section-icon{font-size:1.2rem}.section-description{color:var(--muted);font-size:.95rem;margin:0}.form-grid{display:grid;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-weight:600;color:var(--text);font-size:.95rem}.form-field{position:relative}.form-input{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:8px;font-size:1rem;background:var(--surface);color:var(--text);transition:all .2s ease}.form-input.readonly{background:var(--muted-bg);color:var(--muted);cursor:not-allowed}.field-note{font-size:.85rem;color:var(--muted);margin-top:4px}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.status-item{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--muted-bg);border-radius:8px;border:1px solid var(--border)}.status-label{font-size:.85rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.status-value{font-size:1rem;font-weight:600;color:var(--text)}.status-value.admin{color:#e74c3c}.status-value.user{color:var(--accent)}.status-value.verified{color:#27ae60}.status-value.unverified{color:#f39c12}.status-value.active{color:#27ae60}.status-value.inactive{color:#e74c3c}.action-buttons{display:flex;gap:12px;flex-wrap:wrap}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-icon{margin-right:6px}.alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;font-weight:500;margin-top:16px}.alert-error{background:#fee;color:#c53030;border:1px solid #feb2b2}.alert-success{background:#f0fff4;color:#2f855a;border:1px solid #9ae6b4}.alert-icon{font-size:1.1rem}.alert-message{flex:1}.user-type{padding:4px 8px;border-radius:4px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-type.admin{background:#fee;color:#c53030}.user-type.user{background:#f0f9ff;color:var(--accent)}.user-stats{display:flex;gap:16px;margin-top:8px}.user-filters{background:var(--surface);border-radius:8px;padding:20px;margin-bottom:24px;border:1px solid var(--border)}.users-list{display:flex;flex-direction:column;gap:16px}.user-item{background:var(--surface);border-radius:12px;padding:20px;border:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;transition:all .2s ease}.user-item:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--accent)}.user-info{flex:1}.user-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.user-header h4{margin:0;font-size:1.2rem;font-weight:600;color:var(--text)}.user-role{padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-role.admin{background:#fee;color:#c53030}.user-role.user{background:#f0f9ff;color:var(--accent)}.user-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.user-email,.user-phone,.user-status,.user-verified{font-size:.9rem;color:var(--muted)}.user-email strong,.user-phone strong,.user-status strong,.user-verified strong{color:var(--text);font-weight:600}.status{padding:2px 6px;border-radius:3px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status.active{background:#f0fff4;color:#2f855a}.status.inactive{background:#fee;color:#c53030}.status.verified{background:#f0fff4;color:#2f855a}.status.unverified{background:#fef5e7;color:#d69e2e}.user-actions{display:flex;flex-direction:column;gap:8px;margin-left:16px}.no-users{text-align:center;padding:40px;color:var(--muted);background:var(--surface);border-radius:8px;border:1px solid var(--border)}.booking-edit-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.modal-overlay{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;background:var(--surface);border-radius:12px;box-shadow:0 20px 40px #0003;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--border)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:1.3rem;font-weight:600;color:var(--text)}.modal-close{background:none;border:none;font-size:24px;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:var(--muted-bg);color:var(--text)}.modal-body{padding:24px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;border-top:1px solid var(--border)}.booking-actions{display:flex;flex-direction:column;gap:8px;margin-left:16px}@media (max-width: 768px){.booking-actions{flex-direction:row;margin-left:0;margin-top:12px}.booking-item{flex-direction:column;align-items:stretch}}.app-content{padding-top:calc(var(--navbar-height) + 32px);padding-left:16px;padding-right:16px;box-sizing:border-box}@media (max-width: 720px){.app-content{padding-top:calc(var(--navbar-height) + 16px)}}:root.dark{--bg-gradient: linear-gradient(180deg,#0f1724 0%, #071026 100%);--surface: #071026;--text: #e6eef8;--muted: #9fb0c8}.page-container{max-width:1200px;margin:0 auto;padding:calc(var(--navbar-height) + 24px) 24px 24px 24px;min-height:100vh}.page-header{text-align:center;margin-bottom:48px;padding-bottom:24px;border-bottom:2px solid var(--accent)}.page-header h1{font-size:2.5rem;margin:0 0 16px;color:var(--text)}.page-subtitle{font-size:1.2rem;color:var(--muted);margin:0}.page-content{display:flex;flex-direction:column;gap:48px}.content-section{background:var(--surface);padding:32px;border-radius:12px;box-shadow:var(--shadow)}.content-section h2{color:var(--text);margin:0 0 24px;font-size:1.8rem}.content-section h3{color:var(--text);margin:0 0 16px;font-size:1.4rem}.content-section p{color:var(--text);line-height:1.6;margin:0 0 16px}.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:24px}.value-card{text-align:center;padding:24px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--accent-2)}.value-icon{font-size:3rem;margin-bottom:16px}.value-card h3{margin:0 0 12px;color:var(--text)}.value-card p{margin:0;color:var(--muted);font-size:.9rem}.services-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:24px}.service-item{padding:20px;background:var(--bg-secondary);border-radius:8px;border-left:4px solid var(--accent)}.service-item h3{margin:0 0 12px;color:var(--text)}.service-item p{margin:0;color:var(--muted)}.facilities-list{list-style:none;padding:0;margin:16px 0 0}.facilities-list li{color:var(--text);position:relative;padding:8px 0 8px 24px}.facilities-list li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.instructors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:32px;margin-top:32px}.instructor-card{background:var(--bg-secondary);border-radius:12px;padding:24px;box-shadow:var(--shadow);border:1px solid var(--accent-2)}.instructor-image{text-align:center;margin-bottom:20px}.instructor-emoji{font-size:4rem;display:inline-block}.instructor-info h3{margin:0 0 8px;color:var(--text);font-size:1.4rem}.instructor-title{color:var(--accent);font-weight:600;margin:0 0 4px}.instructor-experience{color:var(--muted);font-size:.9rem;margin:0 0 16px}.instructor-description{color:var(--text);line-height:1.5;margin:0 0 20px}.instructor-specialties h4{margin:0 0 12px;color:var(--text);font-size:1rem}.specialties-tags{display:flex;flex-wrap:wrap;gap:8px}.specialty-tag{background:var(--accent);color:#fff;padding:4px 12px;border-radius:16px;font-size:.8rem;font-weight:500}.qualifications{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:24px}.qualification-item{padding:20px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--accent-2)}.qualification-item h3{margin:0 0 8px;color:var(--text);font-size:1.1rem}.qualification-item p{margin:0;color:var(--muted);font-size:.9rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:48px}.contact-info h2{margin:0 0 32px;color:var(--text)}.contact-item{margin-bottom:32px}.contact-item h3{margin:0 0 12px;color:var(--text);font-size:1.2rem}.contact-item p{margin:0;color:var(--text);line-height:1.5}.contact-item a{color:var(--accent);text-decoration:none}.contact-item a:hover{text-decoration:underline}.opening-hours{display:flex;flex-direction:column;gap:8px}.hours-row{display:flex;justify-content:space-between;color:var(--text)}.social-links{display:flex;gap:16px}.social-links a{color:var(--accent);text-decoration:none;font-weight:500}.social-links a:hover{text-decoration:underline}.contact-form-section h2{margin:0 0 24px;color:var(--text)}.contact-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;color:var(--text);font-weight:600}.form-input{padding:12px;border:2px solid var(--accent-2);border-radius:8px;font-size:1rem;background:#fff;color:var(--text);transition:border-color .2s ease}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #d88a441a}.form-input::placeholder{color:var(--muted)}.map-container{margin-top:24px;display:flex;flex-direction:column;gap:20px}.map-container iframe{width:100%;height:400px;border:0;border-radius:12px;box-shadow:0 4px 12px #0000001a;transition:box-shadow .3s ease}.map-container iframe:hover{box-shadow:0 6px 20px #00000026}.map-info{background:var(--bg-secondary);padding:24px;border-radius:12px;border:1px solid var(--accent-2);text-align:center}.map-info h3{margin:0 0 16px;color:var(--text);font-size:1.3rem}.map-info p{margin:0 0 20px;color:var(--text);line-height:1.6}.map-info .btn{display:inline-block;text-decoration:none}.cta-section{text-align:center;margin-top:32px}@media (max-width: 768px){.page-container{padding:calc(var(--navbar-height) + 16px) 16px 16px 16px}.page-header h1{font-size:2rem}.content-section{padding:24px}.contact-grid{grid-template-columns:1fr;gap:32px}.instructors-grid,.values-grid,.services-list,.qualifications{grid-template-columns:1fr}.map-container iframe{height:300px}}@media (max-width: 480px){.page-header h1{font-size:1.8rem}.content-section,.instructor-card{padding:16px}.specialties-tags{flex-direction:column}.map-container iframe{height:250px}.map-info{padding:16px}}.admin-tabs{display:flex;gap:8px;margin-bottom:32px;border-bottom:2px solid var(--accent-2)}.tab-button{padding:12px 24px;border:none;background:transparent;color:var(--muted);font-weight:600;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease}.tab-button:hover{color:var(--text);background:#d88a441a}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent);background:#d88a441a}.content-management{background:var(--surface);padding:32px;border-radius:12px;box-shadow:var(--shadow)}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:2px solid var(--accent-2)}.content-header h2{margin:0;color:var(--text)}.page-section{margin-bottom:32px;padding:24px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--accent-2)}.page-section h3{margin:0 0 20px;color:var(--text);text-transform:capitalize;font-size:1.3rem}.content-item{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;margin-bottom:12px;background:#fff;border-radius:8px;border:1px solid var(--accent-2);transition:box-shadow .2s ease}.content-item:hover{box-shadow:0 2px 8px #0000001a}.content-info{flex:1;margin-right:16px}.content-info strong{display:block;color:var(--text);margin-bottom:4px}.content-type{color:var(--accent);font-size:.9rem;margin-left:8px}.content-description{font-size:.85rem;color:var(--muted);font-style:italic;margin:4px 0;line-height:1.4}.form-help{display:block;font-size:.8rem;color:var(--muted);margin-top:4px;font-style:italic}.content-info small{color:var(--muted);font-size:.8rem}.content-preview{flex:2;color:var(--muted);font-size:.9rem;line-height:1.4;margin-right:16px}.content-actions{flex-shrink:0}.btn-sm{padding:6px 12px;font-size:.9rem}.content-editor{background:var(--bg-secondary);padding:24px;border-radius:8px;border:1px solid var(--accent-2);margin-bottom:24px}.content-editor h3{margin:0 0 20px;color:var(--text)}.content-editor-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:32px;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.modal-content h3{margin:0 0 24px;color:var(--text)}.form-actions{display:flex;gap:12px;margin-top:24px}.error-message{background:#fee;color:#c33;padding:12px;border-radius:8px;border:1px solid #fcc;margin-bottom:20px}@media (max-width: 768px){.content-header{flex-direction:column;gap:16px;align-items:stretch}.content-item{flex-direction:column;gap:12px}.content-info,.content-preview{margin-right:0}.admin-tabs{flex-direction:column}.tab-button{text-align:center}}.blocking-management{background:var(--surface);padding:32px;border-radius:12px;box-shadow:var(--shadow)}.blocking-editor{background:var(--bg-secondary);padding:24px;border-radius:8px;border:1px solid var(--accent-2);margin-bottom:24px}.blocking-editor h3{margin:0 0 20px;color:var(--text)}.date-quick-select{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.date-quick-select .btn{font-size:.85rem;padding:6px 12px;border:1px solid var(--accent-2);background:#fff;color:var(--text);border-radius:6px;cursor:pointer;transition:all .2s ease}.date-quick-select .btn:hover{background:var(--accent-1);border-color:var(--primary);color:var(--primary)}.blocked-times-list{display:flex;flex-direction:column;gap:16px}.blocked-time-item{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;background:#fff;border-radius:8px;border:1px solid var(--accent-2);transition:box-shadow .2s ease}.blocked-time-item:hover{box-shadow:0 2px 8px #0000001a}.blocked-time-info{flex:1;margin-right:16px}.blocked-time-info strong{display:block;color:var(--text);margin-bottom:8px;font-size:1.1rem}.blocked-time-dates{color:var(--accent);font-weight:600;margin-bottom:4px}.blocked-time-hour{color:var(--primary);font-size:.9rem;font-weight:500;margin:4px 0;background:#d88a441a;padding:2px 8px;border-radius:4px;display:inline-block}.blocked-time-times,.blocked-time-day{color:var(--muted);font-size:.9rem;margin-bottom:4px}.blocked-time-reason{color:var(--text);font-style:italic;font-size:.9rem}.blocked-time-actions{flex-shrink:0}.btn-danger{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.btn-danger:hover{background:#c82333}@media (max-width: 768px){.blocked-time-item{flex-direction:column;gap:12px}.blocked-time-info{margin-right:0}.blocking-editor{padding:16px}}:root{--bg: #F2F2F2;--accent: #D88A44;--accent-2: #7A8B6F;--card: #ffffff;--text: #0f172a;--muted: #6b7280;--error: #ef4444;--radius: 12px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:linear-gradient(180deg,#ffffff 0%,var(--bg) 100%);color:var(--text)}.auth-viewport{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(var(--navbar-height) + 24px) 24px 24px 24px}.auth-card{width:100%;max-width:440px;background:var(--card);border-radius:var(--radius);padding:28px;box-shadow:0 10px 30px #0f172a14;display:flex;flex-direction:column;gap:14px}.auth-title{margin:0;font-size:1.375rem;font-weight:800;text-align:center;color:var(--text)}.auth-form{display:flex;flex-direction:column;gap:12px;margin-top:6px}.auth-label{font-size:.9rem;color:var(--muted);display:flex;flex-direction:column;gap:8px}.auth-input{padding:10px 12px;border:1px solid #e6edf3;border-radius:10px;font-size:1rem;outline:none}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 6px #d88a440f}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container .auth-input{padding-right:50px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle:hover{color:var(--accent)}.password-toggle:focus{outline:2px solid var(--accent);outline-offset:2px}.auth-help{display:flex;justify-content:center;gap:8px;align-items:center;color:var(--muted);margin-top:8px;font-size:.95rem}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-weight:600;padding:6px}.link-btn:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;border:0;cursor:pointer;font-weight:700}.btn-primary{background:var(--accent);color:#fff}.btn-primary[disabled]{opacity:.7;cursor:default}.auth-error{color:var(--error);background:#ef44440f;padding:8px;border-radius:8px;font-size:.95rem}@media (max-width:480px){.auth-card{padding:18px;border-radius:10px}.auth-title{font-size:1.125rem}}
