*{margin:0;padding:0;box-sizing:border-box;font-family:Poppins,sans-serif}:root{--gh-bg: #0d1117;--gh-surface: #161b22;--gh-surface-alt: #0f141a;--gh-border: #30363d;--gh-text: #e6edf3;--gh-muted: #9da7b3}body{min-height:100vh;width:100vw;background:linear-gradient(180deg,#151b23 0%,var(--gh-bg) 58%);background-attachment:fixed;color:var(--gh-text)}input,button,select,textarea{font:inherit}.login-page{max-width:1080px;margin:36px auto;padding:20px}.login-layout{display:grid;grid-template-columns:minmax(340px,500px) minmax(280px,360px);gap:22px;justify-content:center}.login-card,.project-info{border:1px solid var(--gh-border);border-radius:12px;background:var(--gh-surface);box-shadow:0 8px 24px #01040938}.login-card{padding:26px;display:flex;flex-direction:column;gap:12px}.login-card .eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:24px;font-weight:700;color:#fff}.login-card h1{margin:0;color:var(--gh-text);font-size:22px;line-height:1.1}.login-card .login-instruction{margin:0 0 4px;color:var(--gh-muted);font-size:14px;line-height:1.45}.login-card label{font-size:13px;font-weight:600;color:var(--gh-text)}.login-card input{height:42px;border:1px solid var(--gh-border);border-radius:8px;background:var(--gh-surface-alt);color:var(--gh-text);padding:0 12px;font-size:14px}.login-card input::placeholder{color:#9ba3af}.login-card input:focus-visible{outline:3px solid rgba(56,139,253,.35);outline-offset:1px;border-color:#388bfd}.login-card button{height:42px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:600;color:#fff;background:#2a313c;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.login-card button:hover:not(:disabled){background:#3a444f;transform:translateY(-1px)}.login-card button:focus-visible,.contact-links a:focus-visible{outline:3px solid rgba(56,139,253,.35);outline-offset:2px}.login-card button:disabled{background:#6a737d;cursor:not-allowed}.login-card .google-btn{background:#1f2328;border-color:var(--gh-border);display:flex;align-items:center;justify-content:center;gap:8px}.login-card .secondary-btn{background:#424a53}.google-icon{width:20px;height:20px;border-radius:5px;background:#fff;color:#111;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.login-card .message{margin-top:4px;border:1px solid var(--gh-border);border-radius:8px;background:#1f2733;color:#e6edf3;padding:10px 12px;font-size:13px}.project-info{padding:22px;background:linear-gradient(160deg,#1a1f24,#13181d)}.project-info h2{margin:0 0 10px;font-size:15px;font-weight:500;color:#f0f6fc}.project-info .contact-title{margin:0 0 10px;font-size:13px;font-weight:600;color:#c9d1d9}.contact-links{display:flex;flex-wrap:wrap;gap:8px}.contact-links a{text-decoration:none;background:#30363d;border:1px solid #484f58;color:#e6edf3;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600}.contact-links a:hover{background:#3b424b}.project-details{margin-top:16px;border-top:1px solid #2d333b;padding-top:14px}.project-details h3{margin:0 0 6px;font-size:13px;color:#f0f6fc;font-weight:700}.project-details p{margin:0 0 10px;color:#c9d1d9;font-size:12px;line-height:1.5}.project-details ul{margin:0;padding-left:18px;color:#c9d1d9;font-size:12px;line-height:1.5}.project-details li{margin-bottom:4px}@media(max-width:920px){.login-layout{grid-template-columns:1fr}}@media(max-width:560px){.login-page{margin:18px auto;padding:12px}.login-card,.project-info{padding:16px}.login-card h1{font-size:26px}}.register-page{max-width:520px;margin:36px auto;padding:20px}.register-card{display:flex;flex-direction:column;gap:12px;background:var(--gh-surface);border:1px solid var(--gh-border);border-radius:12px;box-shadow:0 8px 24px #01040938;padding:24px}.register-card h1{text-align:left;color:var(--gh-text);margin-bottom:6px;font-size:30px}.register-card input{height:42px;border:1px solid var(--gh-border);border-radius:8px;font-size:14px;padding:0 12px;background:var(--gh-surface-alt);color:var(--gh-text)}.register-card input:focus-visible{outline:3px solid rgba(56,139,253,.35);outline-offset:1px;border-color:#388bfd}.register-card button{height:42px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;color:#fff;background:#2a313c;transition:background-color .2s ease}.register-card button:hover:not(:disabled){background:#3a444f}.register-card button:focus-visible{outline:3px solid rgba(56,139,253,.35);outline-offset:2px}.register-card button:disabled{background:#6a737d;cursor:not-allowed}.register-card .secondary-btn{background:#424a53}.register-card .message{text-align:left;padding:10px 12px;background:#1f2733;border:1px solid var(--gh-border);border-radius:8px;color:#e6edf3;margin-top:4px}@media(max-width:560px){.register-page{margin:18px auto;padding:12px}.register-card{padding:16px}.register-card h1{font-size:26px}}.dashboard{min-height:100vh;background:radial-gradient(circle at top,#1f252d,#0d1117 55%)}.dashboard-header{background:#161b22e0;color:#e6edf3;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #30363d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dashboard-header h1{margin:0;font-size:30px}.user-info{display:flex;align-items:center;gap:20px}.user-info span{font-size:16px}.logout-btn{padding:8px 14px;background-color:#30363d;color:#fff;border:1px solid #484f58;border-radius:8px;cursor:pointer;font-size:14px;transition:background-color .2s}.logout-btn:hover{background-color:#3b424b}.dashboard-nav{background-color:#161b22e6;display:flex;justify-content:center;gap:0;border-bottom:1px solid #30363d}.dashboard-nav button{padding:14px 26px;background-color:transparent;color:#9da7b3;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:15px;font-weight:600;transition:color .2s,border-color .2s,background-color .2s}.dashboard-nav button:hover{color:#e6edf3;background-color:#ffffff0d}.dashboard-nav button.active{color:#f0f6fc;border-bottom-color:#f0f6fc;font-weight:600}.dashboard-content{padding:20px;max-width:1200px;margin:0 auto}@media(max-width:600px){.dashboard-header{flex-direction:column;gap:15px;text-align:center}.dashboard-header h1{font-size:20px}.user-info{flex-direction:column;gap:10px}.dashboard-nav{flex-direction:column}.dashboard-nav button{width:100%}}.booking-container{max-width:500px;margin:30px auto;padding:25px;background:var(--gh-surface);border:1px solid var(--gh-border);border-radius:12px;box-shadow:0 8px 24px #0104093d}.booking-container form{display:flex;flex-direction:column;gap:20px}.booking-container h2{text-align:center;color:var(--gh-text);margin-bottom:10px}.form-group{display:flex;flex-direction:column;gap:8px}.booking-container label{font-weight:600;color:#c9d1d9;font-size:14px}.booking-container input,.booking-container select{padding:12px;border:1px solid var(--gh-border);border-radius:8px;font-size:14px;background-color:var(--gh-surface-alt);color:var(--gh-text)}.booking-container input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.1);cursor:pointer}.booking-container input:focus-visible,.booking-container select:focus-visible{outline:3px solid rgba(56,139,253,.35);outline-offset:1px;border-color:#388bfd}.booking-container select option:disabled{color:#8b949e;background-color:#161b22}.info-box{background-color:#1d2733;border:1px solid #2f3c4c;border-radius:8px;padding:10px;font-size:13px;color:#d8e2ec}.booking-container button{padding:14px;background-color:#2a313c;color:#fff;border:1px solid #3f4b58;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s}.booking-container button:hover:not(:disabled){background-color:#3a444f}.booking-container button:disabled{background-color:#6a737d;cursor:not-allowed}.message{text-align:center;padding:12px;background-color:#1f2733;border:1px solid #2f3c4c;color:#e6edf3;border-radius:8px;font-size:14px}.my-bookings-container{max-width:800px;margin:30px auto;padding:25px;background:var(--gh-surface);border:1px solid var(--gh-border);border-radius:12px;box-shadow:0 8px 24px #0104093d}.my-bookings-container h2{text-align:center;color:var(--gh-text);margin-bottom:25px}.loading,.no-bookings{text-align:center;color:#9da7b3;font-size:16px;padding:40px 20px}.bookings-list{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.booking-card{background-color:var(--gh-surface-alt);border:1px solid var(--gh-border);border-radius:10px;padding:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #01040933;transition:box-shadow .3s}.booking-card:hover{box-shadow:0 6px 12px #01040947}.booking-info{display:flex;flex-direction:column;gap:10px;flex:1}.info-row{display:flex;gap:10px}.label{font-weight:600;color:#9da7b3;min-width:70px}.value{color:#e6edf3}.cancel-btn{padding:10px 20px;background-color:#30363d;color:#fff;border:1px solid #484f58;border-radius:8px;font-size:14px;cursor:pointer;transition:background-color .3s;white-space:nowrap}.cancel-btn:hover{background-color:#3b424b}.refresh-btn{width:100%;padding:12px;background-color:#2a313c;color:#fff;border:1px solid #3f4b58;border-radius:8px;font-size:15px;cursor:pointer;transition:background-color .3s}.refresh-btn:hover:not(:disabled){background-color:#3a444f}.refresh-btn:disabled{background-color:#6a737d;cursor:not-allowed}.message{text-align:center;padding:12px;background-color:#1f2733;border:1px solid #2f3c4c;color:#e6edf3;border-radius:8px;margin:15px 0}@media(max-width:600px){.booking-card{flex-direction:column;gap:15px;align-items:flex-start}.cancel-btn{width:100%}}
