.admin-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:#fff;border-radius:15px;box-shadow:0 5px 20px #0003;margin-bottom:30px}.admin-header h1{color:#667eea;font-size:2rem;margin:0}.home-button{background:#98c145;color:#fff;border:none;padding:12px 25px;font-size:1rem;font-weight:600;border-radius:25px;cursor:pointer;transition:all .3s ease}.home-button:hover{background:#7da838;transform:translateY(-2px)}.login-container{display:flex;justify-content:center;align-items:center;min-height:60vh}.login-box{background:#fff;padding:50px;border-radius:20px;box-shadow:0 10px 40px #0000004d;text-align:center;min-width:400px}.login-box h2{color:#333;margin-bottom:30px;font-size:1.8rem}.login-input{width:100%;padding:15px 20px;font-size:1.1rem;border:2px solid #ddd;border-radius:25px;margin-bottom:20px;transition:border-color .3s ease}.login-input:focus{outline:none;border-color:#667eea}.login-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:15px;font-size:1.1rem;font-weight:600;border-radius:25px;cursor:pointer;transition:all .3s ease}.login-button:hover{transform:translateY(-2px);box-shadow:0 5px 20px #667eea80}.admin-main{max-width:1200px;margin:0 auto}.admin-controls{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px #0003;margin-bottom:30px;text-align:center}.admin-controls h2{color:#333;margin-bottom:10px}.admin-controls p{color:#666;margin-bottom:20px}.logout-button{background:#f44336;color:#fff;border:none;padding:12px 30px;font-size:1rem;font-weight:600;border-radius:25px;cursor:pointer;transition:all .3s ease}.logout-button:hover{background:#d32f2f;transform:translateY(-2px)}.status-summary{display:flex;justify-content:center;gap:30px;margin-bottom:30px}.status-card{background:#fff;padding:30px 50px;border-radius:15px;box-shadow:0 5px 20px #0003;text-align:center}.status-card h3{color:#333;margin-bottom:15px;font-size:1.3rem}.status-number{font-size:3rem;font-weight:700;color:#2196f3;margin-bottom:10px}.status-card p{color:#666;font-size:1.1rem}.admin-parking-layout{background:#fff;padding:40px;border-radius:15px;box-shadow:0 5px 20px #0003;margin-bottom:30px}.admin-parking-grid{display:flex;flex-direction:column;gap:0;max-width:700px;margin:30px auto}.admin-parking-grid .parking-space.clickable{cursor:pointer;border:3px solid}.admin-parking-grid .parking-space.clickable:hover{transform:scale(1.1);box-shadow:0 8px 25px #0000004d;z-index:10}.admin-parking-grid .parking-space.disabled{opacity:.5;cursor:not-allowed}.space-note{position:absolute;bottom:5px;left:50%;transform:translate(-50%);font-size:.7rem;color:#999;font-weight:600}.admin-instructions{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px #0003}.admin-instructions h3{color:#333;margin-bottom:15px;font-size:1.3rem}.admin-instructions ul{list-style:none;padding:0}.admin-instructions li{padding:10px 0;color:#666;font-size:1.05rem;border-bottom:1px solid #eee}.admin-instructions li:last-child{border-bottom:none}.admin-instructions li:before{content:"✓ ";color:#98c145;font-weight:700;margin-right:10px}@media (max-width: 768px){.admin-header{flex-direction:column;gap:15px;padding:20px}.login-box{min-width:auto;padding:30px}.status-summary{flex-direction:column}.admin-parking-layout{padding:20px}}.container{max-width:1200px;margin:0 auto;padding:20px}.header{text-align:center;padding:40px 20px;background:linear-gradient(135deg,#98c145,#7da838);border-radius:20px;box-shadow:0 10px 30px #98c1454d;margin-bottom:40px}.title{font-size:3.5rem;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.2);margin-bottom:10px}.subtitle{font-size:1.2rem;color:#f0f8e8;margin-top:10px}.main-content{background:#fff;border-radius:20px;padding:40px;box-shadow:0 5px 20px #0000001a}.hero-section{margin-bottom:50px}.image-container{text-align:center;margin:30px 0}.parking-image{max-width:100%;height:auto;border-radius:15px;box-shadow:0 8px 25px #00000026;transition:transform .3s ease;opacity:0;transform:translateY(30px)}.parking-image.fade-in{animation:fadeInUp 1.2s ease-out forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.parking-image:hover{transform:scale(1.02)}.pricing-section,.contact-section{margin-bottom:50px;padding:30px;background:#f8faf9;border-radius:15px;border-left:5px solid #98C145}.section-title{font-size:2rem;color:#333;margin-bottom:20px;padding-bottom:10px;border-bottom:3px solid #98C145;display:inline-block}.section-description{font-size:1.1rem;color:#666;margin-bottom:25px}.table-container{overflow-x:auto;margin:30px 0}.pricing-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 3px 10px #0000001a}.pricing-table thead{background:#98c145;color:#fff}.pricing-table th,.pricing-table td{padding:18px 25px;text-align:left;font-size:1.1rem}.pricing-table th{font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pricing-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s ease}.pricing-table tbody tr:hover{background-color:#f5f9f3}.pricing-table tbody tr:last-child{border-bottom:none}.note-ref{color:#98c145;font-weight:700}.notes{margin-top:30px;padding:20px;background:#fff;border-radius:10px;border:1px solid #e0e0e0}.note{margin-bottom:15px;line-height:1.8;color:#555;font-size:.95rem}.note:last-child{margin-bottom:0}.note-number{color:#98c145;font-weight:700;margin-right:5px}.contact-description{font-size:1.1rem;color:#666;margin-bottom:25px}.contact-info{background:#fff;padding:30px;border-radius:10px;box-shadow:0 3px 10px #0000000d}.contact-item{display:flex;align-items:center;margin-bottom:20px;font-size:1.2rem}.contact-item:last-child{margin-bottom:0}.contact-label{font-weight:600;color:#333;min-width:120px;margin-right:15px}.contact-value{color:#98c145;font-weight:500}.footer{text-align:center;padding:30px 20px;margin-top:40px;color:#666;font-size:.9rem}@media (max-width: 768px){.title{font-size:2.5rem}.subtitle{font-size:1rem}.main-content{padding:25px}.pricing-section,.contact-section{padding:20px}.section-title{font-size:1.5rem}.pricing-table th,.pricing-table td{padding:12px 15px;font-size:1rem}.contact-item{flex-direction:column;align-items:flex-start}.contact-label{margin-bottom:5px}}.omikuji-section{margin-bottom:50px;padding:30px;background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border-radius:15px;text-align:center}.omikuji-section .section-title{color:#2d3436}.omikuji-section .section-description{color:#636e72}.omikuji-container{margin-top:30px}.omikuji-button{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;padding:18px 50px;font-size:1.3rem;font-weight:700;border-radius:50px;cursor:pointer;box-shadow:0 5px 15px #ff6b6b66;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.omikuji-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #ff6b6b80}.omikuji-button:active:not(:disabled){transform:translateY(-1px)}.omikuji-button:disabled{opacity:.7;cursor:not-allowed}.omikuji-button.drawing{animation:shake .5s infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px) rotate(-5deg)}75%{transform:translate(5px) rotate(5deg)}}.omikuji-result{margin-top:40px;padding:40px;background:#fff;border-radius:20px;border:5px solid;box-shadow:0 10px 30px #00000026;animation:resultAppear .5s ease-out}.omikuji-result.rainbow-border{border:5px solid;border-image:linear-gradient(45deg,red,#ff7f00,#ff0,#0f0,#00f,indigo,#9400d3) 1;background:linear-gradient(135deg,#ff00001a,#ff7f001a,#ffff001a,#00ff001a,#0000ff1a,#4b00821a,#9400d31a);animation:resultAppear .5s ease-out,rainbowGlow 3s infinite}@keyframes rainbowGlow{0%,to{box-shadow:0 10px 30px #ff00004d}14%{box-shadow:0 10px 30px #ff7f004d}28%{box-shadow:0 10px 30px #ffff004d}42%{box-shadow:0 10px 30px #00ff004d}57%{box-shadow:0 10px 30px #0000ff4d}71%{box-shadow:0 10px 30px #4b00824d}85%{box-shadow:0 10px 30px #9400d34d}}@keyframes resultAppear{0%{opacity:0;transform:scale(.8) rotateY(90deg)}to{opacity:1;transform:scale(1) rotateY(0)}}.omikuji-result-text{font-size:4rem;font-weight:700;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.omikuji-result-text.rainbow-text{background:linear-gradient(45deg,red,#ff7f00,#ff0,#0f0,#00f,indigo,#9400d3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:rainbowShift 3s infinite;background-size:200% 200%}@keyframes rainbowShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.omikuji-message{font-size:1.3rem;color:#2d3436;line-height:1.8}@media (max-width: 768px){.omikuji-button{padding:15px 40px;font-size:1.1rem}.omikuji-result{padding:30px 20px}.omikuji-result-text{font-size:3rem}.omikuji-message{font-size:1.1rem}}.layout-section{margin-bottom:50px;padding:30px;background:#f8faf9;border-radius:15px;border-left:5px solid #98C145}.parking-layout{margin-top:30px}.layout-label{text-align:center;font-size:1.1rem;font-weight:600;color:#666;margin-bottom:15px;padding:10px;background:#e8f5e9;border-radius:8px}.parking-grid{display:flex;flex-direction:column;gap:0;background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px #0000001a;max-width:700px;margin:0 auto}.parking-row{display:flex;gap:0;justify-content:center}.parking-space{width:140px;height:100px;border:3px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:all .3s ease;cursor:pointer}.parking-space:hover{transform:scale(1.05);z-index:10}.parking-space.monthly{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#2196f3}.parking-space.daily{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:#ff9800}.space-number{font-size:2.5rem;font-weight:700;color:#333}.space-type{font-size:.9rem;font-weight:600;margin-top:5px;padding:3px 10px;border-radius:12px;background:#fffc}.parking-space.monthly .space-type{color:#2196f3}.parking-space.daily .space-type{color:#ff9800}.parking-aisle{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);color:#666;font-weight:600;font-size:.9rem;border:2px dashed #bdbdbd}.parking-aisle.horizontal{height:40px;width:100%}.parking-aisle.vertical{width:140px;height:100px;writing-mode:vertical-rl}.layout-legend{display:flex;justify-content:center;gap:30px;margin-top:30px;padding:20px;background:#fff;border-radius:10px;box-shadow:0 3px 10px #0000000d}.legend-item{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:500}.legend-color{width:30px;height:30px;border-radius:5px;border:2px solid}.legend-color.monthly-color{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#2196f3}.legend-color.daily-color{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:#ff9800}@media (max-width: 768px){.parking-grid{padding:15px}.parking-space{width:80px;height:70px}.space-number{font-size:1.8rem}.space-type{font-size:.7rem;padding:2px 6px}.parking-aisle.vertical{width:40px;height:70px;font-size:.8rem}.parking-aisle.horizontal{height:30px;font-size:.8rem}.layout-legend{flex-direction:column;gap:15px}}.availability-summary{display:flex;justify-content:center;gap:40px;margin:30px 0;padding:25px;background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a}.availability-item{display:flex;align-items:center;gap:10px;font-size:1.2rem}.availability-label{font-weight:600;color:#333}.availability-count{font-size:1.5rem;font-weight:700;padding:8px 20px;border-radius:25px;background:#fff;box-shadow:0 3px 10px #0000001a}.availability-count.monthly{color:#2196f3;border:3px solid #2196f3}.availability-count.daily{color:#ff9800;border:3px solid #ff9800}.space-status{position:absolute;top:5px;right:5px;font-size:.75rem;padding:3px 8px;border-radius:10px;font-weight:600;background:#4caf50e6;color:#fff}.parking-space.occupied .space-status{background:#f44336e6}.parking-space.occupied{opacity:.6;filter:grayscale(50%)}.parking-space.admin-mode{cursor:pointer;border:3px dashed}.parking-space.admin-mode:hover{transform:scale(1.1);box-shadow:0 5px 20px #0000004d}.admin-access{text-align:center;margin-top:30px}.admin-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 30px;font-size:1rem;font-weight:600;border-radius:25px;cursor:pointer;box-shadow:0 4px 15px #667eea66;transition:all .3s ease}.admin-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.admin-panel{margin-top:20px;padding:25px;background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;text-align:center}.admin-panel.active{background:linear-gradient(135deg,#e8eaf6,#c5cae9);border:3px solid #667eea}.admin-panel h3{color:#333;margin-bottom:15px;font-size:1.3rem}.admin-panel p{color:#666;margin-bottom:15px}.admin-input{width:100%;max-width:300px;padding:12px 20px;font-size:1rem;border:2px solid #ddd;border-radius:25px;margin-bottom:15px;transition:border-color .3s ease}.admin-input:focus{outline:none;border-color:#667eea}.admin-login-button{background:#667eea;color:#fff;border:none;padding:12px 40px;font-size:1rem;font-weight:600;border-radius:25px;cursor:pointer;transition:all .3s ease}.admin-login-button:hover{background:#5568d3;transform:translateY(-2px)}.admin-logout-button{background:#f44336;color:#fff;border:none;padding:10px 30px;font-size:.95rem;font-weight:600;border-radius:20px;cursor:pointer;transition:all .3s ease}.admin-logout-button:hover{background:#d32f2f;transform:translateY(-2px)}.legend-color.occupied-color{background:linear-gradient(135deg,#e0e0e0,#bdbdbd);border-color:#757575}@media (max-width: 768px){.availability-summary{flex-direction:column;gap:15px}.availability-item{justify-content:center}.space-status{font-size:.65rem;padding:2px 6px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}
