/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.container{width:100%}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.min-h-screen{min-height:100vh}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.text-center{text-align:center}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}body{font-family:Inter,system-ui,sans-serif}.btn-primary{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:12px;padding:12px 24px;font-weight:700;transition:all .2s}.btn-primary:hover{background-color:#2563eb;transform:scale(1.05)}.card{background-color:#fff;border-radius:16px;padding:24px;box-shadow:0 25px 50px -12px #00000040}.input-field{border:2px solid #e5e7eb;border-radius:12px;width:100%;padding:12px 16px;font-size:16px}.input-field:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.date-range-picker{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}@media (max-width: 768px){.date-range-picker{align-items:flex-end;justify-content:center}}.date-range-picker-container{background:#fff;border-radius:16px;padding:20px;max-width:500px;width:auto;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:fadeInScale .3s ease;position:relative;margin:auto;transform:translate(0) translateY(0)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.quick-select-buttons{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.quick-select-btn{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px;text-align:left;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:4px}.quick-select-btn:hover{border-color:#3e85fc;background:#f0f7ff}.quick-select-label{font-size:14px;font-weight:600;color:#374151}.quick-select-date{font-size:12px;color:#6b7280}.calendar-section{margin-bottom:16px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-nav-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:18px;color:#374151}.calendar-nav-btn:hover{border-color:#3e85fc;background:#f0f7ff;color:#3e85fc}.calendar-month-year{font-size:18px;font-weight:600;color:#374151}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}.calendar-weekday{text-align:center;font-size:12px;font-weight:600;color:#6b7280;padding:8px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{aspect-ratio:1;border:1px solid transparent;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;color:#374151;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;min-width:36px;min-height:36px}.calendar-day:hover:not(.disabled){border-color:#3e85fc;background:#f0f7ff}.calendar-day.today{font-weight:700;color:#3e85fc}.calendar-day.today:not(.start-date):not(.end-date):not(.in-range){border:2px solid #3E85FC}.calendar-day.disabled{color:#d1d5db;cursor:not-allowed;background:#f9fafb}.calendar-day.disabled:hover{border-color:transparent;background:#f9fafb}.calendar-day.start-date,.calendar-day.end-date{background:#3e85fc;color:#fff;font-weight:600;border-color:#3e85fc;z-index:2}.calendar-day.in-range{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}.calendar-day.hover-range{background:#f0f7ff;border-color:#93c5fd}.calendar-day.empty{cursor:default;background:transparent;border:none}.calendar-actions{display:flex;gap:8px;justify-content:space-between;padding-top:12px;border-top:1px solid #e5e7eb}.calendar-action-btn{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid #e5e7eb;background:#fff;color:#374151}.calendar-action-btn:hover{border-color:#3e85fc;color:#3e85fc;background:#f0f7ff}.calendar-action-btn.clear-btn{color:#6b7280}.calendar-action-btn.today-btn{color:#3e85fc;border-color:#3e85fc}.calendar-action-btn.apply-btn{background:#3e85fc;color:#fff;border-color:#3e85fc;margin-left:auto}.calendar-action-btn.apply-btn:hover{background:#2563eb;border-color:#2563eb;color:#fff}@media (max-width: 768px){.date-range-picker-container{width:100%;max-width:100%;border-radius:20px 20px 0 0;padding:20px;max-height:85vh;margin:0;animation:slideUpMobile .3s ease}@keyframes slideUpMobile{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.quick-select-buttons{gap:8px;margin-bottom:20px;padding-bottom:20px}.quick-select-btn{padding:12px}.calendar-day{font-size:13px}}*{margin:0;padding:0;box-sizing:border-box}body{max-width:750px;margin:0 auto}.cards-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:15px!important}.masonry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;grid-auto-rows:minmax(154.88px,auto)}.vertical-card{grid-column:span 1;grid-row:span 2;width:100%;height:100%;min-height:0}.horizontal-card{grid-column:span 1;grid-row:span 1;width:100%;height:100%;min-height:0}.red-banner-card,.personalized-trip-card{grid-column:span 2;grid-row:span 1;width:100%;height:100%;min-height:154.88px}@media (max-width: 768px){.masonry-grid{grid-template-columns:repeat(2,1fr);gap:5px;grid-auto-rows:minmax(calc((100vw - 5px)/2*.64),auto)}.red-banner-card,.personalized-trip-card{grid-column:span 2;grid-row:span 1;width:100%;min-height:calc((100vw - 5px)/2*.64)}.vertical-card{grid-column:span 1;grid-row:span 2;width:100%}.horizontal-card{grid-column:span 1;grid-row:span 1;width:100%}.tour-card-title,.horizontal-card .tour-card-title{font-size:12.8px!important}.tour-card-creator,.tour-card-duration{font-size:13px!important}}.tour-card{position:relative;overflow:hidden}.tour-card img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.examples-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px}@media (max-width: 768px){.examples-grid{grid-template-columns:1fr;gap:16px}}.mobile-city-select{display:block!important}.desktop-city-select{display:none!important}.red-header-section{height:330px!important}@media (min-width: 769px){.hero-main-text{font-size:36px!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}.fliptrip-preview-container{min-height:100vh;background-color:#fff;padding:0 0 50px;position:relative;max-width:750px;margin:0 auto}.fliptrip-preview-header{background-color:#fff;padding:20px;max-width:750px;margin:0 auto;position:relative}.fliptrip-preview-header-row{display:flex;justify-content:space-between;align-items:center}.fliptrip-preview-back-button{display:inline-flex;align-items:center;color:#3e85fc;font-weight:500;transition:color .2s ease;background-color:transparent;border:none;cursor:pointer;font-size:16px}.fliptrip-preview-back-button:hover{color:#2563eb}.fliptrip-preview-back-arrow{margin-right:8px}.fliptrip-preview-logo{height:55px;width:88px}.fliptrip-preview-spacer{width:100px}.fliptrip-preview-content{padding:20px;max-width:750px;margin:0 auto}@media (max-width: 768px){.fliptrip-preview-logo{height:55px;width:88px;max-width:90vw}.fliptrip-preview-header{padding:15px}.fliptrip-preview-header-row{flex-direction:row;justify-content:space-between;align-items:center}.fliptrip-preview-spacer{width:80px}.fliptrip-preview-content{padding:15px}}@media (max-width: 480px){.fliptrip-preview-logo{width:88px;height:55px;max-width:90vw}.fliptrip-preview-header,.fliptrip-preview-content{padding:10px}}.availability-calendar{width:100%;max-width:500px;margin:0 auto;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.availability-calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#6b7280}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.availability-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-nav-button{background:none;border:none;font-size:24px;color:#374151;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background-color .2s}.calendar-nav-button:hover{background-color:#f3f4f6}.calendar-nav-button:active{background-color:#e5e7eb}.calendar-month-year{font-size:18px;font-weight:600;color:#111827;margin:0}.availability-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.weekday-header{text-align:center;font-size:12px;font-weight:600;color:#6b7280;padding:8px 4px}.availability-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;border-radius:6px;transition:all .2s;position:relative}.calendar-day.past{color:#d1d5db;background:#f9fafb}.calendar-day.available{color:#111827;background:#fff;border:1px solid #e5e7eb}.calendar-day.available.clickable{cursor:pointer}.calendar-day.available.clickable:hover{background:#f3f4f6;border-color:#3b82f6}.calendar-day.available.selected{background:#3b82f6;color:#fff;border-color:#3b82f6;font-weight:600}.calendar-day.blocked{color:#9ca3af;background:#f9fafb;text-decoration:line-through;cursor:not-allowed;opacity:.6}.availability-calendar-legend{display:flex;justify-content:center;gap:24px;margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.legend-color{width:16px;height:16px;border-radius:4px}.legend-color.available{background:#fff;border:1px solid #e5e7eb}.legend-color.blocked{background:#f9fafb;border:1px solid #d1d5db;position:relative}.legend-color.blocked:after{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#9ca3af;transform:translateY(-50%)}@media (max-width: 768px){.availability-calendar{padding:16px}.calendar-month-year{font-size:16px}.calendar-day{font-size:13px}.availability-calendar-legend{flex-direction:column;gap:12px;align-items:center}}.itinerary-container{min-height:100vh;background-color:#fff;padding:0;position:relative;max-width:750px;margin:0 auto}.header-section{background-color:#fff;padding:20px;max-width:750px;margin:0 auto;position:relative}.hero-section{position:relative;width:100%;height:400px;background-size:cover;background-position:center;display:flex;flexDirection:column;justifyContent:space-between;padding:20px;max-width:750px;margin:0 auto}@media (max-width: 768px){.hero-section{height:300px;padding:16px}.hero-section h1,.itinerary-container div[style*=backgroundImage] h1,.itinerary-container div[style*=background-image] h1{font-size:26px!important}.payment-cards-container{grid-template-columns:1fr!important}}@media (max-width: 480px){.hero-section{height:250px;padding:12px}.hero-section h1,.itinerary-container div[style*=backgroundImage] h1,.itinerary-container div[style*=background-image] h1{font-size:26px!important}}.logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:5px}.logo-image{height:55px;width:88px;cursor:pointer}.content-section{padding:0 20px}.card{background-color:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;padding:32px;margin-bottom:24px}.title{font-size:36px;font-weight:700;color:#1f2937;margin-bottom:16px}.title.tour-hero-title{font-size:40px!important;font-weight:700;line-height:1.1}@media (max-width: 768px){.title.tour-hero-title{font-size:30px!important}}.subtitle{font-size:20px;color:#6b7280;margin-bottom:24px}.badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-bottom:24px}.badge{padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500}.time-block{font-size:20px;font-weight:700;margin-bottom:16px;background-color:#3b82f6;color:#fff;padding:8px 16px;border-radius:20px;display:inline-block}.item-title{font-size:18px;font-weight:700;color:#1f2937;margin-bottom:20px}.item-description{color:#6b7280;margin-bottom:20px}.item-details{font-size:14px;color:#9ca3af}.map-container{width:100%;height:400px;border-radius:12px;overflow:hidden;margin-bottom:24px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb}.photo-gallery{margin-bottom:20px}.photo-thumbnail{min-width:80px;height:60px;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s ease;position:relative}@media (max-width: 768px){.itinerary-container{max-width:100%;padding:0 16px}.header-section{padding:16px!important}.logo-container{flex-direction:column!important;gap:16px!important;align-items:center!important}.logo-image{height:55px!important;width:88px!important;max-width:90vw!important}.content-section{padding:0 16px!important}.card{padding:20px!important;margin-bottom:16px!important}.title{font-size:28px!important;line-height:1.2!important}.subtitle{font-size:16px!important;line-height:1.4!important}.badges{justify-content:flex-start!important;gap:8px!important}.badge{width:100%!important;text-align:center!important}.time-block{font-size:16px!important;padding:6px 12px!important}.item-title{font-size:16px!important;line-height:1.3!important}.item-description{font-size:14px!important;line-height:1.4!important}.item-details{font-size:12px!important}.map-container{height:300px!important}.photo-gallery{margin-bottom:16px!important}.photo-thumbnail{min-width:60px!important;height:45px!important}}@media (max-width: 480px){.itinerary-container{padding:0 8px}.header-section{padding:12px!important}.logo-image{height:55px!important;width:88px!important;max-width:90vw!important}.card{padding:16px!important;border-radius:12px!important}.title{font-size:24px!important}.title.tour-hero-title{font-size:30px!important}.subtitle{font-size:14px!important}.time-block{font-size:14px!important;padding:4px 8px!important}.item-title{font-size:14px!important}.item-description{font-size:13px!important}.item-details{font-size:11px!important}.map-container{height:250px!important}.photo-thumbnail{min-width:50px!important;height:40px!important}}.loading-container,.error-container{min-height:100vh;background-color:#eff6ff;display:flex;align-items:center;justify-content:center}.loading-content{text-align:center}.loading-icon{font-size:48px;margin-bottom:16px}.loading-text{font-size:20px;color:#6b7280}.error-icon{color:#ef4444;font-size:20px;margin-bottom:16px}.error-text{color:#6b7280;margin-bottom:24px}.back-button{padding:12px 24px;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;transition:background-color .2s ease}.back-button:hover{background-color:#2563eb}.download-button{padding:12px 24px;background-color:#3e85fc;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;transition:background-color .2s ease;display:block;margin:0 auto}.download-button:hover{background-color:#2563eb}.enhanced-card{background-color:transparent;border-radius:0;box-shadow:none;padding:20px 0;margin-bottom:12px;transition:none}.enhanced-card:hover{box-shadow:none}.time-block-enhanced{font-size:12px;font-weight:700;margin-bottom:16px;background-color:#3b82f6;color:#fff;padding:13px 18px;border-radius:12px;display:inline-block;transition:background-color .2s ease}.time-block-enhanced:hover{background-color:#2563eb}.item-enhanced{background-color:transparent;border-radius:0;padding:0;margin-bottom:16px;margin-left:0;transition:none;border:none;text-align:left}.item-enhanced:hover{background-color:transparent;border-color:transparent}.item-enhanced .item-title,.item-enhanced .item-description{margin-left:0;padding-left:0}.enhanced-link{color:#1f2937;text-decoration:none;transition:color .2s ease}.enhanced-link:hover{color:#3b82f6;text-decoration:underline}.weather-enhanced{background-color:#f0f9ff;border-radius:12px;padding:16px;margin-bottom:24px;border:1px solid #bae6fd;text-align:left}.weather-main{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:8px}.weather-icon{font-size:24px}.weather-temp{font-size:18px;font-weight:600;color:#0369a1}.weather-description{font-size:12px;color:#666;line-height:1.4}.weather-tips{font-size:10px;color:#666;margin-top:4px;line-height:1.4}.badge-enhanced{padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;transition:transform .2s ease}.badge-enhanced:hover{transform:translateY(-1px)}.photo-gallery-enhanced{margin-bottom:20px}.photo-thumbnail-enhanced{min-width:80px;height:60px;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s ease;position:relative}.photo-thumbnail-enhanced:hover{border-color:#3b82f6}.map-container-enhanced{width:100%;height:400px;border-radius:12px;overflow:hidden;margin-bottom:24px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb}.footer-enhanced{text-align:center;margin-top:32px;margin-bottom:50px;color:#9ca3af;font-size:14px;padding:20px;background-color:#f9fafb;border-radius:12px}.availability-manager-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.availability-manager-modal{background:#fff;border-radius:16px;max-width:1200px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.availability-manager-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.availability-manager-header h2{margin:0;font-size:24px;font-weight:600;color:#111827}.close-btn{background:none;border:none;font-size:32px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-btn:hover{background:#f3f4f6}.availability-error{background:#fee2e2;color:#dc2626;padding:12px 24px;margin:0 24px;border-radius:8px;font-size:14px}.availability-success{background:#d1fae5;color:#065f46;padding:12px 24px;margin:0 24px;border-radius:8px;font-size:14px}.availability-manager-content{padding:24px;overflow-y:auto;flex:1}.availability-settings{background:#f9fafb;padding:20px;border-radius:12px;margin-bottom:24px}.setting-group{margin-bottom:16px}.setting-group:last-child{margin-bottom:0}.setting-group label{display:block;font-weight:600;color:#374151;margin-bottom:8px;font-size:14px}.setting-group input[type=number]{width:100px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;margin-right:12px}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.action-btn,.apply-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.action-btn:disabled,.apply-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.available{background:#10b981;color:#fff}.action-btn.available:hover:not(:disabled){background:#059669}.action-btn.block{background:#ef4444;color:#fff}.action-btn.block:hover:not(:disabled){background:#dc2626}.action-btn.unblock{background:#3b82f6;color:#fff}.action-btn.unblock:hover:not(:disabled){background:#2563eb}.action-btn.clear{background:#6b7280;color:#fff}.action-btn.clear:hover:not(:disabled){background:#4b5563}.apply-btn{background:#6366f1;color:#fff}.apply-btn:hover:not(:disabled){background:#4f46e5}.availability-calendar-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:24px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-month-year{font-size:18px;font-weight:600;color:#111827}.calendar-nav-btn{background:#f3f4f6;border:none;width:36px;height:36px;border-radius:6px;cursor:pointer;font-size:18px;color:#374151;transition:background-color .2s}.calendar-nav-btn:hover{background:#e5e7eb}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.weekday{text-align:center;font-weight:600;color:#6b7280;font-size:12px;padding:8px}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.availability-calendar-day{aspect-ratio:1;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;transition:all .2s;position:relative}.availability-calendar-day:hover:not(.past):not(:disabled){border-color:#3b82f6;background:#eff6ff}.availability-calendar-day.past{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.availability-calendar-day.today{border-color:#3b82f6;border-width:2px}.availability-calendar-day.selected{background:#dbeafe;border-color:#3b82f6;border-width:2px}.availability-calendar-day.available{background:#d1fae5}.availability-calendar-day.low-availability{background:#fef3c7}.availability-calendar-day.full{background:#fee2e2;text-decoration:line-through}.availability-calendar-day.blocked{background:#f3f4f6;text-decoration:line-through;opacity:.6}.availability-calendar-day.empty{border:none;background:transparent;cursor:default}.day-number{font-size:14px;font-weight:500}.day-info{font-size:10px;color:#6b7280;margin-top:2px}.availability-calendar-day.full .day-info,.availability-calendar-day.blocked .day-info{color:#9ca3af}.calendar-legend{display:flex;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280}.legend-color{width:16px;height:16px;border-radius:4px;border:1px solid #e5e7eb}.legend-color.available{background:#d1fae5}.legend-color.low-availability{background:#fef3c7}.legend-color.full{background:#fee2e2}.legend-color.blocked{background:#f3f4f6}.availability-table-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.availability-table-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#111827}.availability-table{width:100%;border-collapse:collapse}.availability-table thead{background:#f9fafb}.availability-table th{padding:12px;text-align:left;font-weight:600;font-size:12px;color:#6b7280;text-transform:uppercase;border-bottom:1px solid #e5e7eb}.availability-table td{padding:12px;border-bottom:1px solid #e5e7eb;font-size:14px;color:#374151}.availability-table tbody tr:hover{background:#f9fafb}.availability-table tbody tr.blocked-row{opacity:.6;background:#f9fafb}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.available{background:#d1fae5;color:#065f46}.status-badge.full{background:#fee2e2;color:#991b1b}.status-badge.blocked{background:#f3f4f6;color:#4b5563}.table-action-btn{padding:4px 12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;font-size:12px;cursor:pointer;transition:all .2s}.table-action-btn:hover{background:#f3f4f6;border-color:#9ca3af}.loading,.no-data{text-align:center;padding:40px;color:#6b7280}.availability-manager-footer{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.close-button{padding:10px 24px;background:#6b7280;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.close-button:hover{background:#4b5563}@media (max-width: 768px){.availability-manager-modal{max-width:100%;max-height:100vh;border-radius:0}.availability-manager-content{padding:16px}.action-buttons{flex-direction:column}.action-btn,.apply-btn{width:100%}.availability-table{font-size:12px}.availability-table th,.availability-table td{padding:8px 4px}}
