nav { display: flex; align-items: center; gap: 2rem; } nav ul { display: flex; list-style: none; gap: 2rem; } nav a { text-decoration: none; color: var(--text-dark); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.1em; transition: var(--transition); } nav a:hover { color: var(--accent); } .nav-user-info { display: flex; align-items: center; gap: 1rem; font-size: 0.85rem; color: var(--text-muted); border-left: 1px solid var(--border); padding-left: 1.5rem; } .nav-logout-btn { background: none; border: none; color: var(--error); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; cursor: pointer; transition: var(--transition); } .nav-logout-btn:hover { color: #c0392b; text-decoration: underline; } /* Buttons */ .btn { display: inline-block; background-color: var(--primary); color: white; border: 1px solid var(--primary); padding: 0.75rem 2rem; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.1em; cursor: pointer; transition: var(--transition); text-decoration: none; border-radius: 0; text-align: center; } .btn:hover { background-color: transparent; color: var(--primary); } .btn:disabled { opacity: 0.5; cursor: not-allowed; } .btn:disabled:hover { background-color: var(--primary); color: white; } .btn-accent { background-color: var(--accent); border-color: var(--accent); } .btn-accent:hover:not(:disabled) { .slots-grid { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.5rem; } .slot-btn { background-color: white; border: 1px solid var(--border); color: var(--text-dark); padding: 0.6rem 1.2rem; font-size: 0.9rem; font-family: var(--font-stack); cursor: pointer; transition: var(--transition); } .slot-btn:hover { border-color: var(--accent); color: var(--accent); } .slot-btn.selected { background-color: var(--accent); border-color: var(--accent); color: white; } .slots-message { font-size: 0.9rem; color: var(--text-muted); padding: 0.5rem 0; } /* Status & Alert Boxes */ .alert { padding: 1rem; margin-bottom: 1.5rem; font-size: 0.9rem; display: none; } .alert-success { background-color: #e8f8f0; color: var(--success); border: 1px solid #d4efdf; } .alert-error { background-color: #fdedec; color: var(--error); border: 1px solid #fadbd8; } /* Customer My Pages Section */ #my-pages { background-color: var(--bg-muted); border-top: 1px solid var(--border); } .my-pages-wrapper { max-width: 800px; margin: 0 auto; background: white; border: 1px solid var(--border); padding: 2.5rem; } .tabs-nav { display: flex; gap: 1.5rem; border-bottom: 1px solid var(--border); margin-bottom: 2rem; } .tab-btn { background: none; border: none; padding: 0.75rem 0; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); cursor: pointer; border-bottom: 2px solid transparent; transition: var(--transition); } .tab-btn:hover { color: var(--text-dark); } .tab-btn.active { color: var(--accent); border-bottom-color: var(--accent); font-weight: 500; } .tab-content { display: none; } .tab-content.active { display: block; } .auth-form-container { max-width: 400px; } /* Admin Area */ #admin { background-color: var(--bg-dark); border-top: 2px solid var(--primary); padding: 4rem 0; /* Data Tables (Shared for Admin & Customer) */ .table-responsive { width: 100%; overflow-x: auto; background: white; border: 1px solid var(--border); } .data-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 0.9rem; } .data-table th, .data-table td { padding: 1rem; border-bottom: 1px solid var(--border); } .data-table th { background-color: #fafbfc; font-weight: 500; text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.05em; color: var(--text-muted); } .data-table tbody tr:hover { background-color: #fafbfc; } .data-table tr.today-row { background-color: #fffdf0 !important; border-left: 4px solid var(--accent); } /* Status Badges */ .badge { display: inline-block; padding: 0.2rem 0.6rem; font-size: 0.75rem; text-transform: uppercase; font-weight: 500; letter-spacing: 0.02em; border-radius: 2px; } .badge-pending { background-color: #fef9e7; color: #f39c12; } .badge-confirmed { background-color: #e8f8f0; color: #27ae60; } .badge-cancelled { background-color: #f4f6f8; color: #95a5a6; } /* Cancelled is grey */ .row-actions { display: flex; gap: 0.25rem; } /* Footer */ footer { background-color: var(--primary); color: rgba(255, 255, 255, 0.7); padding: 4rem 0 2rem 0; font-size: 0.9rem; border-top: 1px solid rgba(255,255,255,0.05); } .footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 3rem; margin-bottom: 3rem; } .footer-col h4 { color: white; font-size: 1rem; margin-bottom: 1.25rem; } .footer-col p { nav ul { display: none; } /* Simplified mobile handling */ .nav-user-info { display: none !important; } /* Hide user info in header on small mobile to save space */ .booking-wrapper, .admin-login-wrapper, .my-pages-wrapper { padding: 1.5rem; } .dashboard-controls { flex-direction: column; align-items: flex-start; } .admin-actions { width: 100%; justify-content: space-between; } }
| Tjänst | Datum | Tid | Status |
|---|
| Namn | Tjänst | Datum | Tid | Telefon | Meddelande | Status | Åtgärder |
|---|