.reservation-container{max-width:600px;margin:50px auto;background-color:#fff;padding:30px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-base)}.reservation-container:hover{box-shadow:var(--shadow-lg)}.reservation-container h2{color:var(--color-primary);margin-bottom:16px}.reservation-container>p{color:var(--color-text-muted);margin-bottom:20px;font-size:14px}button.view-details{background-color:var(--color-primary);color:#fff;padding:12px 15px;border:none;border-radius:var(--radius-sm);cursor:pointer;margin-top:15px;transition:background var(--transition-base);font-size:15px;box-shadow:var(--shadow-sm)}button.view-details:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}form label{display:block;margin-bottom:8px;font-weight:700;color:#333}form input{width:100%;padding:10px;margin-bottom:15px;border:1px solid #ccc;border-radius:var(--radius-sm);box-sizing:border-box;font-size:14px}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#00000080}.modal-content{background-color:#fff;padding:2rem;border-radius:var(--radius-lg);width:90%;max-width:580px;box-shadow:var(--shadow-xl);position:relative;top:50%;left:50%;transform:translate(-50%,-50%);animation:fadeIn .3s ease-in-out;max-height:90vh;overflow-y:auto}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.close-btn{position:absolute;top:1rem;right:1.5rem;font-size:1.5rem;font-weight:700;color:#888;cursor:pointer;transition:color .2s;z-index:1}.close-btn:hover{color:#000}.modal-content h3{color:var(--color-primary);margin:0 0 16px;font-size:20px;font-weight:600}.modal-detail-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.modal-detail-header .detail-name{font-size:20px;font-weight:600;color:#2d2d2d;margin:0}.detail-section{margin-bottom:20px}.detail-section-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-bottom:12px}.detail-section-title:after{content:"";flex:1;height:1px;background:#e5e7eb}.detail-section-card{background:#f6f5f2;border:1px solid #e5e7eb;border-radius:var(--radius-sm);padding:16px 18px}.detail-row{display:grid;grid-template-columns:100px 1fr;gap:8px 16px;padding:6px 0;align-items:baseline}.detail-row+.detail-row{border-top:1px solid #f0f0f0}.detail-label{font-size:13px;color:#6b7280;font-weight:500}.detail-value{font-size:14px;color:#2d2d2d;font-weight:400}.detail-value .detail-icon{display:inline-flex;align-items:center;gap:6px}.detail-value .detail-icon svg{flex-shrink:0}.detail-message-block{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-sm);padding:14px 16px;margin-top:4px;white-space:pre-wrap;line-height:1.7;font-size:14px;max-height:200px;overflow-y:auto;color:#2d2d2d}.detail-message-block::-webkit-scrollbar{width:6px}.detail-message-block::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:3px}.badge-modern{display:inline-block;padding:4px 14px;border-radius:9999px;font-size:12px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.badge-modern.badge-success{background:#e8f5e9;color:#0d7a3e}.badge-modern.badge-info{background:#e8f5e9;color:#2e7d32}.badge-modern.badge-danger{background:#fce4ec;color:#c62828}} @media (max-width: 480px){.modal-content{padding:1rem}.close-btn{top:.5rem;right:1rem}}@media (max-width: 768px){.navbar{flex-direction:column;align-items:flex-start;padding:10px 20px}.navbar ul{flex-direction:column;align-items:flex-start;gap:15px}.navbar li{display:block;width:100%}.navbar a{display:block;font-size:16px;padding:8px 0;text-align:left;width:100%}.navbar a.active{color:#007b3d;border-bottom:2px solid #007b3d}.reservation-container{margin:30px 20px;padding:25px}.reservation-notes,.calendar{width:100%;margin-bottom:20px}}@media (max-width: 480px){.navbar ul{gap:10px}.navbar a{font-size:15px}.reservation-container{padding:20px}.banner{font-size:14px;width:90%}.reservation-notes p{font-size:14px}table th,table td{padding:8px}}@media (max-width: 320px){.navbar a{font-size:14px}.banner{font-size:13px;padding:10px}.reservation-container{padding:15px;margin:20px 10px}}
