html,body{width:100%;height:100%;margin:0;padding:0;display:flex;flex-direction:row;align-items:stretch;overscroll-behavior:none}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;justify-content:flex-start;align-items:stretch;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{width:100%;height:100%;margin:0;padding:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}:root{--blue-700: #0948f4;--purple-700: #6d28d9;--white: #ffffff;--muted: #6b7280;--line: #e5e7eb;--field: #f8fafc}.background{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(240,245,255,.95),rgba(230,230,255,.9)),url(https://images.unsplash.com/photo-1559589689-577aabd1db4a?auto=format&fit=crop&w=2000&q=80);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-page{width:100%;max-width:420px;padding:1rem;margin:0 auto;box-sizing:border-box;background:white;height:100vh}.login-card{background:linear-gradient(135deg,#1938d2,#a18cd1,#6a11cb);border-radius:20px;padding:2rem;box-shadow:0 12px 32px #00000026;width:100%;box-sizing:border-box;margin-top:60px}.login-header{text-align:center}.login-title{font-size:1.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.4rem;color:var(--white)}.wave-icon{color:gold}.login-subtitle{color:var(--white);margin-top:.25rem}.divider{display:flex;align-items:center;margin:1rem 0;color:var(--white)}.divider hr{flex:1;border:none;border-top:1px solid var(--white)}.divider span{padding:0 .5rem}.reset{color:#4ce53e;font-size:.9rem;margin-top:.5rem;padding:.5rem 1rem;background:rgba(17,207,33,.69);border-radius:8px;border:1px solid rgba(13,69,4,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:shake .5s ease-in-out}.error{color:#e53e3e;font-size:.9rem;margin-top:.5rem;padding:.5rem 1rem;background:rgba(229,62,62,.1);border-radius:8px;border:1px solid rgba(229,62,62,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:shake .5s ease-in-out}.btn{height:48px;border-radius:999px;font-weight:600;cursor:pointer;border:2px solid transparent;transition:all .2s}.btn.primary{width:100%;background:var(--white);color:var(--purple-700)}.btn.google-btn{width:100%;background:var(--white);display:flex;justify-content:space-between;align-items:center;padding:0 1rem;color:#555;margin-bottom:1.5rem}.google-icon{height:24px}.input-label{font-weight:600;margin-top:1rem;display:block;color:var(--white)}.input-with-icon{position:relative;margin-top:.25rem}.input-with-icon input{width:100%;padding:.75rem .75rem .75rem 2.5rem;border-radius:12px;border:none;outline:none;background:var(--field);box-sizing:border-box}.input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);height:1.2rem;width:1.2rem;fill:var(--muted)}.center-link{text-align:center;margin-top:.75rem}.link{color:var(--white);text-decoration:underline}.muted{color:var(--white)}.center{text-align:center}@media (max-width: 480px){.login-page{padding:.5rem}.login-card{padding:1.25rem;border-radius:15px}.login-title{font-size:1.4rem}.btn{height:44px;font-size:.9rem}}@media (max-width: 360px){.login-card{padding:1rem}.login-title{font-size:1.2rem}.input-with-icon input{padding:.6rem .6rem .6rem 2rem;font-size:.9rem}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}:root{--blue-700: #1e3a8a;--blue-500: #3b82f6;--purple-700: #6d28d9;--white: #ffffff;--muted: #6b7280;--line: #e5e7eb;--field: #f8fafc}.home-page h1,.home-page h4{animation:fadeInUp 1s ease forwards;opacity:0}@keyframes fadeInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.home-page{min-height:100vh;width:100%;margin:0;padding:60px 1rem 80px;text-align:center;color:var(--white);background:linear-gradient(135deg,#ffffff,#e0e7ff,#c7d2fe,#93c5fd)}.home-page h1{font-size:2rem;margin-bottom:.5rem;font-weight:700;color:var(--blue-700)}.home-page h4{font-weight:400;color:var(--blue-500);margin-bottom:2rem}.choose-experience h1{color:var(--blue-700)!important;font-weight:700}.choose-experience p{color:var(--blue-500)!important;font-size:1.05rem;margin-bottom:2rem}.home-page .role-tile{background:var(--white);color:#000;border-radius:20px;padding:2rem;margin:1rem auto;max-width:400px;text-align:left;box-shadow:0 12px 32px #00000026;transition:transform .2s ease,box-shadow .2s ease}.home-page .role-tile:hover{transform:translateY(-6px);box-shadow:0 16px 40px #00000040}.home-page .center-tile{text-align:center}.home-page .icon-circle{width:80px;height:80px;border-radius:50%;background:var(--purple-700);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 4px 12px #00000040}.home-page .role-tile h2{font-size:1.5rem;margin-bottom:1rem;background:linear-gradient(135deg,var(--blue-700),var(--blue-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.home-page .role-tile ul{list-style-position:inside;padding-left:1.2rem;text-align:left;margin-bottom:1.5rem}.home-page .role-tile li{margin-bottom:.5rem;font-size:.95rem;color:var(--blue-700)}.home-page button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:999px;font-weight:600;cursor:pointer;border:none;transition:all .2s ease;font-size:1rem}.home-page button:hover{opacity:.9;transform:translateY(-2px)}.home-page button svg{transition:transform .2s ease;vertical-align:middle}.home-page button:hover svg{transform:translate(4px)}.home-page .center-tile button{background:linear-gradient(135deg,var(--blue-700),var(--purple-700));color:var(--white)}#logout{position:absolute;top:20px;left:30px;z-index:10;background:var(--purple-700);color:var(--white);border:none;padding:.5rem 1rem;border-radius:999px;font-weight:600;cursor:pointer;transition:all .2s ease}.home-page .trusted-section{margin:4rem auto;max-width:900px;padding:2rem;border-radius:1.5rem;background:linear-gradient(135deg,rgba(59,130,246,.1),rgba(109,40,217,.1));box-shadow:0 8px 20px #00000040;text-align:center}.home-page .trusted-section>p:first-of-type{font-size:1.1rem;margin-bottom:2rem;color:var(--blue-700)}.home-page .trusted-section p:not(:first-of-type){background:linear-gradient(135deg,#3b82f6,#7c3aed);padding:1.25rem 1.75rem;margin:1.5rem auto;border-radius:1rem;font-style:italic;line-height:1.6;position:relative;text-align:left;color:var(--white);box-shadow:0 6px 16px #0003;max-width:700px}.home-page .trusted-section p:not(:first-of-type):before{content:"“";font-size:2rem;position:absolute;top:-10px;left:10px;color:var(--white);opacity:.4}.home-page .trusted-section p:not(:first-of-type):after{content:"”";font-size:2rem;position:absolute;bottom:-10px;right:10px;color:var(--white);opacity:.4}.trusted-section p span{display:block;margin-top:.75rem;font-style:normal;font-weight:600;color:var(--line);text-align:right}@media (max-width: 768px){.home-page .role-tile{max-width:90%}.home-page h1{font-size:1.6rem}.home-page h4{font-size:.95rem}}.landing-page{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;color:#1e293b}.landing-page *{margin:0;padding:0;box-sizing:border-box}:root{--primary-purple-blue: #6366f1;--secondary-purple: #8b5cf6;--accent-blue: #3b82f6;--light-blue-white: #f8fafc;--white: #ffffff;--text-dark: #1e293b;--text-gray: #64748b;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-overlay: linear-gradient(135deg, rgba(99, 102, 241, .1) 0%, rgba(139, 92, 246, .1) 100%)}.navbar{background:rgba(248,250,252,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:1rem 0;position:fixed;width:100%;top:0;z-index:1000;border-bottom:1px solid rgba(99,102,241,.2);box-shadow:0 8px 32px #6366f11a}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.8rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}.nav-links a{text-decoration:none;color:var(--text-dark);font-weight:500;transition:color .3s ease}.nav-links a:hover{color:var(--primary-purple-blue)}.get-started-btn{background:var(--gradient-primary);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;box-shadow:0 4px 15px #6366f14d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.get-started-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px #6366f166}.hero{min-height:calc(100vh - 80px);margin-top:80px;background:url(https://images.unsplash.com/photo-1464366400600-7168b8af9bc3?ixlib=rb-4.0.3&auto=format&fit=crop&w=2048&q=80) center/cover;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(248,250,252,.7) 0%,rgba(219,234,254,.6) 100%);z-index:1}.rotating-triangle{position:absolute;width:800px;height:550px;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;opacity:.7}.triangle{width:100%;height:100%;background:conic-gradient(from 0deg,rgba(99,102,241,.4),rgba(139,92,246,.2),rgba(59,130,246,.5),rgba(99,102,241,.4));clip-path:none;border-radius:16px;animation:rotate 20s linear infinite;box-shadow:0 20px 60px #6366f14d,inset 0 1px #fff3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-content{position:relative;z-index:3;max-width:800px;padding:0 2rem;margin-top:0}.hero-title{font-size:4rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1.5rem;line-height:1.1}.hero-subtitle{font-size:1.3rem;color:var(--text-dark);margin-bottom:3rem;font-weight:400;max-width:600px;margin-left:auto;margin-right:auto}.hero-buttons{display:flex;gap:1.5rem;justify-content:center;margin-bottom:4rem;flex-wrap:wrap}.btn-primary{background:var(--gradient-primary);color:#fff;padding:1rem 2rem;border:none;border-radius:14px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;box-shadow:0 8px 25px #6366f14d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 45px #6366f180}.btn-secondary{background:rgba(255,255,255,.9);color:var(--text-dark);padding:1rem 2rem;border:2px solid rgba(99,102,241,.3);border-radius:14px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 8px 25px #fff3}.btn-secondary:hover{background:rgba(248,250,252,.95);border-color:var(--primary-purple-blue);transform:translateY(-2px);box-shadow:0 12px 35px #6366f133}.scroll-indicator{font-size:.9rem;color:var(--text-gray);animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.roles-section{background:linear-gradient(135deg,var(--light-blue-white) 0%,rgba(219,234,254,.5) 100%);padding:6rem 0}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:3rem;font-weight:800;color:var(--text-dark);margin-bottom:1rem;position:relative}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:100px;height:4px;background:var(--gradient-primary);border-radius:2px}.section-subtitle{font-size:1.2rem;color:var(--text-gray);max-width:600px;margin:0 auto;margin-top:2rem}.cards-grid{display:flex;gap:2rem;margin-top:4rem;justify-content:center;flex-wrap:wrap}.role-card{background:rgba(255,255,255,.95);border-radius:24px;padding:2.5rem;box-shadow:0 15px 50px #0000001a;transition:all .4s ease;border:1px solid rgba(99,102,241,.15);position:relative;overflow:hidden;flex:1;min-width:320px;max-width:380px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.role-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(99,102,241,.05) 0%,rgba(139,92,246,.05) 100%);opacity:0;transition:opacity .3s ease;z-index:1}.role-card:hover:before{opacity:1}.role-card:hover{transform:translateY(-12px);box-shadow:0 30px 70px #6366f140;border-color:#6366f14d}.role-card>*{position:relative;z-index:2}.card-icon{width:60px;height:60px;border-radius:12px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;font-weight:700}.card-icon.planner{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%)}.card-icon.vendor{background:linear-gradient(135deg,#8b5cf6 0%,#a855f7 100%)}.card-icon.admin{background:linear-gradient(135deg,#3b82f6 0%,#6366f1 100%)}.card-title{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:1rem;text-align:center}.card-description{color:var(--text-gray);margin-bottom:1.5rem;text-align:center}.card-features{list-style:none;margin-bottom:2rem}.card-features li{color:var(--text-gray);position:relative;padding:.5rem 0 .5rem 1.5rem}.card-features li:before{content:"✓";position:absolute;left:0;color:var(--primary-purple-blue);font-weight:700}.card-btn{width:100%;background:var(--gradient-primary);color:#fff;padding:1rem;border:none;border-radius:14px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;box-shadow:0 6px 20px #6366f14d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.card-btn:hover{transform:translateY(-3px);box-shadow:0 12px 35px #6366f166}@media (max-width: 768px){.nav-links{display:none}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-buttons,.cards-grid{flex-direction:column;align-items:center}.role-card{min-width:280px;max-width:100%}.section-title{font-size:2rem}.rotating-triangle{width:500px;height:350px}}:root{--blue-700: #1e3a8a;--purple-700: #6d28d9;--white: #ffffff;--muted: #6b7280;--line: #e5e7eb;--field: #f8fafc}body{color:#000!important}.profile-section{display:flex;align-items:center}.profile-button{display:flex;align-items:center;gap:.75rem;background:white;border:2px solid var(--line);border-radius:2rem;padding:.5rem 1rem;cursor:pointer;transition:all .2s ease;font-weight:500}.profile-button:hover{border-color:var(--blue-700);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.profile-image{width:2rem;height:2rem;border-radius:50%;object-fit:cover}.profile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.profile-modal{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-width:400px;width:100%;animation:slideInUp .3s ease}.profile-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--line)}.profile-modal-header h3{font-size:1.25rem;font-weight:700;margin:0}.profile-modal-close{background:none;border:none;padding:8px;cursor:pointer;border-radius:8px;transition:all .2s ease}.profile-modal-close:hover{background:var(--line)}.profile-modal-content{padding:24px}.profile-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid var(--line)}.profile-picture-section{display:flex;justify-content:center;margin-bottom:24px}.profile-picture-preview{position:relative;width:120px;height:120px;border-radius:50%;background:var(--field);display:flex;align-items:center;justify-content:center;border:3px solid var(--line);overflow:hidden}.profile-picture-preview img{width:100%;height:100%;object-fit:cover}.camera-icon{position:absolute;bottom:0;right:0;background:var(--blue-700);color:#fff;border-radius:50%;padding:8px;cursor:pointer;transition:all .2s ease}.camera-icon:hover{background:var(--purple-700);transform:scale(1.1)}.profile-form-group{margin-bottom:20px}.profile-form-group label{display:block;font-size:.875rem;font-weight:600;margin-bottom:8px}.profile-input{width:100%;padding:12px 16px;border:2px solid var(--line);border-radius:8px;font-size:.875rem;transition:all .2s ease}.profile-input:focus{outline:none;border-color:var(--blue-700);box-shadow:0 0 0 3px #3b82f61a}.ps-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:8px;font-weight:600;font-size:.875rem;border:none;cursor:pointer;transition:all .2s ease}.ps-btn-primary{background:linear-gradient(135deg,var(--blue-700),var(--purple-700));color:#fff}.ps-btn-primary:hover:not(:disabled){transform:translateY(-1px)}.ps-btn-secondary{background:var(--muted);color:#fff}.ps-btn-secondary:hover:not(:disabled){background:#4b5563}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.page-container{display:flex;flex-direction:row;padding:0}.page-container{flex:1;display:flex;flex-direction:column;height:100%}.dashboard-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.actions{display:flex;gap:.75rem}.summary-cards-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;height:200px}.main-content{grid-template-columns:3fr 1fr;gap:1.5rem;align-items:start}.main-content-info{display:flex;flex-direction:column;gap:1.5rem}.main-content-actions{flex:.23}.upcoming-event{background:#fff;padding:1rem;margin-bottom:1rem;transition:all .2s ease;cursor:pointer}.upcoming-event:hover{background:#e9d5ff;border-radius:1rem;box-shadow:0 4px 12px #0000000f;transform:translateY(-2px)}.upcoming-event .event-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.upcoming-event h4{font-size:1rem;font-weight:600;margin:0;color:#111827}.event-footer{display:flex;justify-content:space-between;font-size:.9rem;color:#6b7280}.vendor-header{display:flex;justify-content:space-between}.quick-actions{flex:.28;display:flex;flex-direction:column;justify-content:flex-start;border:1px solid #ddd;border-radius:12px;padding:.5rem}.page-button{display:flex;align-items:center;gap:.5rem;background:linear-gradient(100deg,#1d4ed8,#7c3aed);color:#fff;padding:.75rem 1rem;border-radius:.75rem;font-weight:500;border:none;cursor:pointer;transition:opacity .2s ease}.action-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:.75rem;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(100deg,#1d4ed8,#7c3aed);cursor:pointer;transition:all .2s ease;box-shadow:0 3px 8px #00000026}.event-vendors-section{margin-top:20px}.event-vendor-title{font-size:1.4rem;font-weight:700;margin-bottom:10px;border-bottom:2px solid #ddd;padding-bottom:5px}.vendors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.vendor-card{border:1px solid #ddd;border-radius:8px;padding:15px;background-color:#fff;box-shadow:0 2px 6px #0000001a;display:flex;flex-direction:column}.vendor-header h3{font-size:1.2rem;margin:0 0 8px}.vendor-status{padding:4px 8px;border-radius:4px;color:#fff;font-size:.85rem;font-weight:700;width:fit-content;margin-bottom:10px}.vendor-details p{margin:4px 0;font-size:.9rem}.dashboard-card .card-header h3{font-size:1.5rem}.ps-notification{position:fixed;top:24px;right:24px;z-index:1100;padding:16px 20px;border-radius:12px;box-shadow:0 8px 24px #0003;color:#fff;animation:slideIn .3s ease;font-weight:600}.ps-notification-success{background:#059669}.ps-notification-error{background:#dc2626}.ps-notification-info{background:#2563eb}.ps-notification-icon{width:20px;height:20px;flex-shrink:0}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.vendor-marketplace{padding:2rem;max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#fafafa;min-height:100vh}.marketplace-header{text-align:center;margin-bottom:2rem;padding:1rem 0}.marketplace-title{font-size:2.5rem;font-weight:800;color:#111827;margin:0 0 .5rem;letter-spacing:-.02em}.marketplace-subtitle{font-size:1.1rem;color:#6b7280;margin:0;font-weight:400}.marketplace-tabs{display:flex;background:#ffffff;border-radius:12px;padding:6px;margin:0 auto 1.5rem;max-width:380px;box-shadow:0 2px 12px #0000000f;border:1px solid #e5e7eb}.tab-btn{flex:1;background:transparent;border:none;padding:12px 24px;border-radius:10px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease;font-size:.95rem}.tab-btn.active{background:#2563eb;color:#fff;box-shadow:0 2px 8px #2563eb40}.tab-btn:hover:not(.active){color:#2563eb;background:rgba(37,99,235,.05)}.event-selector{background:#ffffff;padding:1rem 1.25rem;border-radius:12px;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #0000000a;border:1px solid #e5e7eb}.event-selector-label{font-weight:600;color:#374151;white-space:nowrap;font-size:.95rem}.event-select-button{flex:1;padding:12px 16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;flex-direction:column;gap:4px;width:50%;font-size:.95rem}.event-select-button:hover{border-color:#2563eb;background:#ffffff;box-shadow:0 0 0 3px #2563eb1a}.event-select-button strong{color:#111827;font-weight:600}.event-select-button span{color:#6b7280;font-size:.875rem}.marketplace-controls{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:stretch}.search-container,.filter-container{flex:1}.search-input-market,.category-select{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;transition:all .2s ease;background:#ffffff;box-sizing:border-box;color:#111827}.search-input-market::placeholder{color:#9ca3af}.search-input-market:focus,.category-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.category-select{cursor:pointer;font-weight:500}.loading-state{text-align:center;padding:3rem 2rem;color:#6b7280}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top:4px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}.loading-state p{font-size:1rem;font-weight:500}.vendors-grid-market{display:grid;grid-template-columns:repeat(auto-fill,minmax(550px,1fr));gap:1.5rem;margin-bottom:2rem}.empty-state{text-align:center;padding:3rem 2rem;color:#6b7280;grid-column:1 / -1;background:#ffffff;border-radius:12px;border:2px dashed #e5e7eb}.empty-state p{font-size:1rem;margin:.5rem 0;line-height:1.6}.event-list{list-style:none;padding:0;margin:0}.event-item{margin-bottom:.75rem}.event-button-market{width:100%;padding:1rem 1.25rem;background:#ffffff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;flex-direction:column;gap:4px}.event-button-market:hover{border-color:#2563eb;background:rgba(37,99,235,.02);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.event-button-market strong{color:#111827;font-size:1rem;font-weight:600}.event-date{color:#6b7280;font-size:.875rem}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#111827}.modal-body{padding:1rem 0}@media (prefers-color-scheme: dark){.vendor-marketplace{background-color:#11182f}.marketplace-title{color:#f9fafb}.marketplace-subtitle{color:#9ca3af}.marketplace-tabs{background:#1f2937;border-color:#374151}.tab-btn{color:#9ca3af}.tab-btn.active{background:#2563eb;color:#fff}.tab-btn:hover:not(.active){color:#60a5fa;background:rgba(96,165,250,.1)}.event-selector{background:#1f2937;border-color:#374151}.event-selector-label{color:#d1d5db}.event-select-button{background:#111827;border-color:#374151}.event-select-button:hover{border-color:#60a5fa;background:#1f2937;box-shadow:0 0 0 3px #60a5fa1a}.event-select-button strong{color:#f9fafb}.event-select-button span{color:#9ca3af}.search-input-market,.category-select{background:#1f2937;border-color:#374151;color:#f9fafb}.search-input-market::placeholder{color:#6b7280}.search-input-market:focus,.category-select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.loading-state{color:#9ca3af}.loading-spinner{border-color:#374151;border-top-color:#60a5fa}.empty-state{background:#1f2937;border-color:#374151;color:#9ca3af}.event-button-market{background:#1f2937;border-color:#374151}.event-button-market:hover{border-color:#60a5fa;box-shadow:0 2px 8px #0000004d}.event-button-market strong{color:#f9fafb}.event-button-market:hover,.event-date{color:#9ca3af}.modal-header h2{color:#f9fafb}}@media (max-width: 1200px){.vendors-grid-market{grid-template-columns:repeat(auto-fill,minmax(480px,1fr))}}@media (max-width: 768px){.vendor-marketplace{padding:1rem}.marketplace-header{margin-bottom:1.5rem;padding:.5rem 0}.marketplace-title{font-size:2rem}.marketplace-subtitle{font-size:1rem}.marketplace-tabs{max-width:100%;margin-bottom:1rem}.tab-btn{padding:10px 16px;font-size:.875rem}.marketplace-controls{flex-direction:column;margin-bottom:1rem}.event-selector{flex-direction:column;align-items:stretch;padding:1rem}.event-selector-label{font-size:.875rem}.vendors-grid-market{grid-template-columns:1fr;gap:1rem}.loading-state,.empty-state{padding:2rem 1rem}}@media (max-width: 480px){.vendor-marketplace{padding:.75rem}.marketplace-header{margin-bottom:1rem}.marketplace-title{font-size:1.75rem}.marketplace-subtitle{font-size:.95rem}.marketplace-tabs{padding:4px}.tab-btn{padding:10px 12px;font-size:.85rem}.event-selector{padding:.875rem}.search-input-market,.category-select{padding:10px 14px;font-size:.9rem}.vendors-grid-market{gap:.875rem}}.chat-container-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;padding:12px;z-index:50}.chat-container{display:flex;flex-direction:column;width:100%;max-width:720px;height:90vh;border-radius:12px;background:white;box-shadow:0 8px 24px #0003;overflow:hidden}.chat-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.chat-participants{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.chat-participant{display:flex;align-items:center;gap:.5rem;font-weight:600}.chat-participant-type{font-weight:400;font-size:.875rem;opacity:.85}.chat-divider{margin:0 .5rem;font-size:1rem;opacity:.7}.chat-service-context button{background:transparent;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s ease}.chat-service-context button:hover{background:rgba(255,255,255,.1)}.chat-messages-container{flex:1;overflow-y:auto;padding:.75rem 1rem;display:flex;flex-direction:column;background:#f8fafc}.chat-messages-list{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.chat-message{display:flex;flex-direction:column;max-width:75%;word-wrap:break-word}.chat-message.chat-message-sent{align-self:flex-end}.chat-message.chat-message-received{align-self:flex-start}.chat-message-content{padding:.75rem 1rem;border-radius:16px;display:flex;flex-direction:column;gap:.25rem;position:relative;box-shadow:0 1px 3px #0000001a;max-width:100%}.chat-message-content-sent{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-bottom-right-radius:4px}.chat-message-content-received{background:white;color:#1a202c;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.chat-message-header{display:flex;gap:.5rem;font-size:.75rem;opacity:.9;flex-wrap:wrap;align-items:center}.chat-sender-name{font-weight:600}.chat-sender-type{font-weight:400;opacity:.8}.chat-message-time{margin-left:auto;font-size:.688rem;opacity:.7}.chat-message-text{font-size:.875rem;line-height:1.4;margin-top:.25rem;white-space:pre-wrap}.chat-message-status-container{display:flex;justify-content:flex-end;margin-top:.25rem}.chat-message-status{opacity:.7;color:#fffc}.chat-message-status-read{color:#10b981;opacity:1}.chat-typing-indicator{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#64748b;margin-top:.25rem;align-self:flex-start;padding:.5rem 1rem;background:white;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.chat-typing-dots{display:flex;gap:.2rem}.chat-typing-dots span{width:6px;height:6px;background:#94a3b8;border-radius:50%;animation:typing 1.2s infinite}.chat-typing-dots span:nth-child(2){animation-delay:.2s}.chat-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-typing-text{font-style:italic}.chat-message-input-container{padding:.75rem 1rem;background:white;border-top:1px solid #e2e8f0}.chat-message-form{display:flex;align-items:flex-end;gap:.5rem;width:100%}.chat-message-input{flex:1;resize:none;border:2px solid #e2e8f0;border-radius:20px;padding:.5rem 1rem;font-size:.875rem;line-height:1.4;min-height:40px;max-height:100px;overflow-y:auto;transition:border-color .2s ease;font-family:inherit}.chat-message-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.chat-message-input::placeholder{color:#94a3b8}.chat-send-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.chat-send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-send-button:disabled{background:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}@media (prefers-color-scheme: dark){.chat-container{background:#1a202c}.chat-messages-container{background:#2d3748}.chat-message-content-received{background:#4a5568;color:#e2e8f0;border-color:#718096}.chat-message-input-container{background:#2d3748;border-top-color:#4a5568}.chat-message-input{background:#4a5568;border-color:#718096;color:#e2e8f0}.chat-message-input::placeholder{color:#a0aec0}.chat-typing-indicator{background:#4a5568;border-color:#718096;color:#e2e8f0}}@media (max-width: 768px){.chat-container-overlay{padding:0}.chat-container{height:100vh;max-width:100%;border-radius:0}.chat-participants{flex-direction:column;text-align:center;gap:.5rem}.chat-divider{display:none}.chat-message{max-width:85%}.chat-message-input{min-height:36px}.chat-message-content{padding:.5rem .75rem}.chat-message-header{font-size:.688rem}.chat-message-text{font-size:.813rem}}.chat-message-sent .chat-message-content{margin-left:auto}.chat-message-received .chat-message-content{margin-right:auto}:root{--popup-overlay-bg: rgba(0, 0, 0, .7);--popup-content-bg: #ffffff;--popup-close-btn-color: #6b7280;--popup-close-btn-hover-bg: #f3f4f6;--popup-scrollbar-track-bg: transparent;--popup-scrollbar-thumb-bg: #a0a0a0;--popup-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}@media (prefers-color-scheme: dark){:root{--popup-overlay-bg: rgba(17, 24, 39, .7);--popup-content-bg: #1f2937;--popup-close-btn-color: #9ca3af;--popup-close-btn-hover-bg: #374151;--popup-scrollbar-thumb-bg: #4b5563;--popup-shadow: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3)}}.popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;padding:.5rem;background-color:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:9999}.popup-content{max-width:95vw;max-height:95vh;background:var(--popup-content-bg);border-radius:8px;padding:1rem;box-sizing:border-box;overflow-y:scroll;overflow-y:overlay;position:relative}.popup-close-button{position:sticky;top:0;float:right;margin-left:auto;padding:.5rem 1rem;z-index:1}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:#f1f1f100}::-webkit-scrollbar-thumb{background:#80808080}.vendor-card-market{display:flex;flex-direction:column;background:#ffffff;border-radius:16px;overflow:hidden;border:1px solid #e5e7eb;box-shadow:0 2px 10px #0000000d;transition:all .25s ease;margin:0;height:100%}.vendor-card-market:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#d1d5db}.vendor-content{display:flex;flex-direction:row;flex-wrap:wrap;flex:1;min-height:0}.vendor-cardmarket-left{flex:0 0 240px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:#f9fafb;padding:1.25rem;border-right:1px solid #e5e7eb;min-height:0;gap:1rem}.vendor-image{width:140px;height:140px;object-fit:cover;border-radius:12px;background:#e5e7eb;flex-shrink:0;border:2px solid #ffffff;box-shadow:0 2px 8px #00000014}.vendor-details{text-align:center;width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:0;gap:.5rem}.vendor-name{font-size:1.1rem;font-weight:700;color:#111827;margin:0;line-height:1.3;word-wrap:break-word;word-break:break-word;width:100%}.vendor-category{display:inline-block;background:#eff6ff;color:#1d4ed8;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;border:1px solid #dbeafe;white-space:nowrap}.vendor-meta{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;color:#6b7280;width:100%}.vendor-rating,.vendor-location{display:flex;align-items:center;gap:6px;justify-content:center}.vendor-rating{color:#059669;font-weight:600}.vendor-card-market .btn-viewmore-market{width:100%;padding:12px 16px;border-radius:10px;border:none;background:#2563eb;color:#fff;font-weight:600;font-size:.9rem;transition:all .2s ease;cursor:pointer;margin-top:auto;flex-shrink:0;box-shadow:0 2px 4px #2563eb33}.vendor-card-market .btn-viewmore-market:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.vendor-cardmarket-right{flex:1;padding:1.5rem;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#ffffff;min-width:0}.vendor-summary{flex:1;display:flex;flex-direction:column;min-height:0;gap:.75rem}.vendor-price-range{font-size:1.15rem;color:#059669;font-weight:700;margin:0;flex-shrink:0}.vendor-services-preview{flex:1;overflow:auto;min-height:0}.services-label-market{font-size:.875rem;color:#6b7280;margin:0 0 .5rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.services-list-market{list-style:none;margin:0;padding:0;max-height:100px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.service-item-market{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem;gap:1rem;border-bottom:1px solid #f3f4f6}.service-item-market:last-child{border-bottom:none}.service-name-market{color:#374151;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;min-width:0}.service-price-market{color:#6b7280;background:#f3f4f6;padding:.25rem .75rem;border-radius:8px;font-size:.75rem;white-space:nowrap;flex-shrink:0;font-weight:600}.more-services{font-size:.8rem;color:#2563eb;margin-top:.5rem;font-weight:600;display:block}.vendor-description-preview{font-size:.9rem;color:#4b5563;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;flex-shrink:0}.vendor-no-services{color:#9ca3af;font-style:italic;font-size:.875rem;margin:0}.vendor-actions{display:none}@media (prefers-color-scheme: dark){.vendor-card-market{background:#1f2937;border-color:#374151}.vendor-cardmarket-left{background:#111827;border-right-color:#374151}.vendor-cardmarket-right{background:#1f2937}.vendor-image{background:#374151;border-color:#1f2937}.vendor-name{color:#f9fafb}.vendor-category{background:#1e3a8a;color:#93c5fd;border-color:#1e40af}.vendor-meta,.vendor-location{color:#9ca3af}.vendor-rating,.vendor-price-range{color:#34d399}.services-label-market{color:#9ca3af}.service-name-market{color:#d1d5db}.service-price-market{background:#374151;color:#9ca3af}.more-services-market{color:#60a5fa}.vendor-description-preview{color:#9ca3af}.vendor-no-services{color:#6b7280}.vendor-card-market:hover{box-shadow:0 8px 24px #0006;border-color:#4b5563}}@media (max-width: 1024px){.vendor-cardmarket-left{flex:0 0 200px}.vendor-image{width:120px;height:120px}}@media (max-width: 768px){.vendor-card-market{height:auto;min-height:auto}.vendor-content{flex-direction:column}.vendor-cardmarket-left{flex-direction:row;flex:0 0 auto;justify-content:flex-start;align-items:center;padding:1rem;border-right:none;border-bottom:1px solid #e5e7eb;gap:1rem}.vendor-image{width:90px;height:90px;margin:0}.vendor-details{text-align:left;align-items:flex-start;flex:1;gap:.5rem}.vendor-meta{flex-direction:row;gap:1rem}.vendor-rating,.vendor-location{justify-content:flex-start}.vendor-card-market .btn-viewmore-market{width:auto;margin:0;padding:10px 20px;align-self:center}.vendor-cardmarket-right{padding:1rem}.services-list-market{max-height:80px}@media (prefers-color-scheme: dark){.vendor-cardmarket-left{border-bottom-color:#374151}}}@media (max-width: 640px){.vendor-cardmarket-left{padding:.875rem;gap:.875rem}.vendor-image{width:80px;height:80px}.vendor-name{font-size:1rem}.vendor-cardmarket-right{padding:.875rem}.vendor-price-range{font-size:1.05rem}.service-item-market{font-size:.8rem;padding:.375rem 0}.services-list-market{max-height:70px}}@media (max-width: 480px){.vendor-cardmarket-left{flex-wrap:wrap;gap:.75rem;padding:.75rem}.vendor-image{width:70px;height:70px}.vendor-details{min-width:0;flex:1}.vendor-meta{flex-direction:column;gap:.375rem}.vendor-card-market .btn-viewmore-market{width:100%;margin-top:.5rem}.vendor-cardmarket-right{padding:.75rem}.services-list-market{max-height:60px}}.highlights-section{padding:.5rem;background-color:#f9fafb}.highlight-display-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:2rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d}.review-context-display{padding:1.5rem;background-color:#fff;border-bottom:1px solid #e5e7eb}.review-rating{display:flex;align-items:center;gap:4px;margin-bottom:.75rem}.review-comment{font-size:1rem;font-style:italic;color:#4b5563;margin:0 0 .75rem;line-height:1.6}.planner-name{display:block;font-size:.875rem;color:#6b7280;text-align:right;font-style:normal}.highlight-gallery{display:flex;overflow-x:auto;gap:12px;padding:1rem;background-color:#f9fafb;-ms-overflow-style:none;scrollbar-width:none}.highlight-gallery::-webkit-scrollbar{display:none}.highlight-gallery img{height:220px;width:auto;border-radius:8px;object-fit:cover;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.highlight-content{padding:1.5rem}.highlight-description{font-size:1rem;color:#374151;line-height:1.7;margin:0}.loading-state,.empty-state{text-align:center;padding:3rem 1rem;color:#6b7280;font-style:italic;background-color:#f9fafb;border-radius:8px}.vendor-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;padding:16px;z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.vendor-modal-container{background:#ffffff;border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:900px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.vendor-modal-header{background:#ffffff;color:#111827;padding:24px;position:relative;box-shadow:0 1px 3px #0000001a;border-bottom:1px solid #e5e7eb;z-index:100}.vendor-modal-close-btn{position:absolute;top:16px;right:16px;background:transparent;border:none;padding:8px;border-radius:50%;cursor:pointer;color:#111827;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.vendor-modal-close-btn:hover{background:#f3f4f6}.vendor-modal-header-info{display:flex;gap:20px;align-items:flex-start}.vendor-modal-image{width:100px;height:100px;border-radius:12px;object-fit:cover;border:3px solid #f3f4f6;box-shadow:0 4px 12px #0000001a;background:#e5e7eb;flex-shrink:0}.vendor-modal-header-text{flex:1;min-width:0}.vendor-modal-business-name{font-size:1.5rem;font-weight:700;margin:0 0 8px;color:#111827;word-wrap:break-word}.vendor-modal-category{color:#1d4ed8;margin:0 0 12px;font-weight:600;font-size:.95rem}.vendor-modal-rating-location{display:flex;gap:16px;font-size:.875rem;flex-wrap:wrap}.vendor-modal-rating{display:flex;align-items:center;gap:4px;color:#059669;font-weight:600}.vendor-modal-location{display:flex;align-items:center;gap:4px;color:#6b7280}.vendor-modal-tabs{display:flex;border-bottom:2px solid #e5e7eb;background:#ffffff}.vendor-modal-tab{padding:14px 24px;font-size:.9rem;font-weight:600;border-bottom:3px solid transparent;cursor:pointer;background:none;border:none;transition:all .2s ease;color:#6b7280;position:relative;margin-bottom:-2px}.vendor-modal-tab:hover{background:#f9fafb;color:#374151}.vendor-modal-tab.active-tab{color:#2563eb;border-bottom-color:#2563eb;background:transparent}.vendor-modal-content{padding:24px;max-height:400px;overflow-y:auto;background:#ffffff}.vendor-modal-content::-webkit-scrollbar{width:8px}.vendor-modal-content::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.vendor-modal-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.vendor-modal-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.vendor-modal-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.vendor-modal-contact-item{display:flex;align-items:center;gap:10px;background:#f9fafb;padding:14px 16px;border-radius:12px;color:#374151;border:1px solid #e5e7eb}.vendor-modal-contact-item svg{color:#2563eb;flex-shrink:0}.vendor-modal-services{display:flex;flex-direction:column;gap:16px}.vendor-modal-service-card{border:1px solid #e5e7eb;border-radius:16px;padding:20px;transition:all .2s ease;background:#ffffff}.vendor-modal-service-card:hover{box-shadow:0 6px 20px #0000001a;border-color:#d1d5db}.vendor-modal-service-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:16px}.vendor-modal-service-header h3{margin:0 0 8px;font-size:1.1rem;font-weight:700;color:#111827}.vendor-modal-service-price{text-align:right;flex-shrink:0}.price-amount{font-size:1.25rem;font-weight:700;color:#059669;display:block}.service-type{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#6b7280;margin-top:4px;font-weight:500}.vendor-modal-service-notes{margin:12px 0;color:#4b5563;line-height:1.6;font-size:.9rem}.vendor-modal-service-actions{margin-top:16px}.vendor-modal-overview h3{margin:0 0 12px;font-size:1.2rem;font-weight:700;color:#111827}.vendor-description{line-height:1.7;color:#4b5563;margin-bottom:24px;font-size:.95rem}.vendor-service-summary{background:#f9fafb;padding:16px 20px;border-radius:12px;margin-top:16px;border:1px solid #e5e7eb}.vendor-service-summary p{margin:0 0 12px;font-weight:600;color:#374151}.service-highlights{list-style:none;padding:0;margin:0}.service-highlights li{padding:6px 0;color:#4b5563;font-size:.9rem;line-height:1.5;border-bottom:1px solid #e5e7eb}.service-highlights li:last-child{border-bottom:none}.vendor-modal-footer{background:#f9fafb;padding:16px 24px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #e5e7eb;flex-shrink:0}.vendor-modal-footer-btn{padding:10px 20px;border:none;cursor:pointer;font-weight:600;background:transparent;border-radius:10px;transition:all .2s ease;color:#6b7280;font-size:.9rem}.vendor-modal-footer-btn:hover{background:#e5e7eb;color:#374151}.vendor-modal-footer-btn-primary{padding:10px 24px;border-radius:10px;border:none;background:#2563eb;color:#fff;cursor:pointer;font-weight:600;transition:all .2s ease;font-size:.9rem;box-shadow:0 2px 4px #2563eb33}.vendor-modal-footer-btn-primary:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}@media (prefers-color-scheme: dark){.vendor-modal-overlay{background:rgba(0,0,0,.8)}.vendor-modal-container{background:#1f2937;box-shadow:0 20px 60px #0009}.vendor-modal-header{background:#1f2937;border-bottom-color:#374151}.vendor-modal-close-btn{color:#f9fafb}.vendor-modal-close-btn:hover{background:#374151}.vendor-modal-image{border-color:#374151;background:#374151}.vendor-modal-business-name{color:#f9fafb}.vendor-modal-category{color:#93c5fd}.vendor-modal-rating{color:#34d399}.vendor-modal-location{color:#9ca3af}.vendor-modal-tabs{background:#1f2937;border-bottom-color:#374151}.vendor-modal-tab{color:#9ca3af}.vendor-modal-tab:hover{background:#374151;color:#d1d5db}.vendor-modal-tab.active-tab{color:#60a5fa;border-bottom-color:#60a5fa}.vendor-modal-content{background:#1f2937}.vendor-modal-content::-webkit-scrollbar-track{background:#374151}.vendor-modal-content::-webkit-scrollbar-thumb{background:#4b5563}.vendor-modal-content::-webkit-scrollbar-thumb:hover{background:#6b7280}.vendor-modal-contact-item{background:#111827;border-color:#374151;color:#d1d5db}.vendor-modal-contact-item svg{color:#60a5fa}.vendor-modal-service-card{background:#111827;border-color:#374151}.vendor-modal-service-card:hover{box-shadow:0 6px 20px #0006;border-color:#4b5563}.vendor-modal-service-header h3{color:#f9fafb}.price-amount{color:#34d399}.service-type,.vendor-modal-service-notes{color:#9ca3af}.vendor-modal-overview h3{color:#f9fafb}.vendor-description{color:#9ca3af}.vendor-service-summary{background:#111827;border-color:#374151}.vendor-service-summary p{color:#d1d5db}.service-highlights li{color:#9ca3af;border-bottom-color:#374151}.vendor-modal-footer{background:#111827;border-top-color:#374151}.vendor-modal-footer-btn{color:#9ca3af}.vendor-modal-footer-btn:hover{background:#374151;color:#d1d5db}}@media (max-width: 768px){.vendor-modal-overlay{padding:8px}.vendor-modal-container{max-height:95vh;border-radius:20px}.vendor-modal-header{padding:16px}.vendor-modal-header-info{flex-direction:column;align-items:center;text-align:center}.vendor-modal-image{align-self:center}.vendor-modal-header-text{width:100%}.vendor-modal-rating-location{justify-content:center}.vendor-modal-content{padding:16px;max-height:350px}.vendor-modal-contact-grid{grid-template-columns:1fr}.vendor-modal-tabs{overflow-x:auto}.vendor-modal-tab{flex:1;min-width:100px;text-align:center;padding:12px 16px}.vendor-modal-footer{flex-direction:column;padding:12px 16px}.vendor-modal-footer-btn,.vendor-modal-footer-btn-primary{width:100%}.vendor-modal-service-header{flex-direction:column;gap:12px}.vendor-modal-service-price{text-align:left}}@media (max-width: 480px){.vendor-modal-header{padding:12px}.vendor-modal-image{width:80px;height:80px}.vendor-modal-business-name{font-size:1.25rem}.vendor-modal-content{padding:12px}.vendor-modal-service-card{padding:16px}.vendor-modal-footer{padding:12px}}.planner-app{min-height:100vh;background:linear-gradient(135deg,#f8fafc 0%,#e0f2fe 100%)}@media (prefers-color-scheme: dark){.planner-app{background:#111827}}@media (prefers-color-scheme: dark){.navbar-container{background:#111827;width:100%}.vendor-navbar,.navbar-left{background:#111827}}.planner-main{max-width:1280px;margin:0 auto;padding:1.5rem}@media (prefers-color-scheme: dark){.planner-main{background:#111827}}.event-view-edit{max-width:900px;margin:0 auto;padding:24px;background:#f8fafc;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.event-header{background:white;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.back-btn{padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;color:#475569;cursor:pointer;transition:all .2s ease;font-weight:500;font-size:14px}.back-btn:hover{background:#e2e8f0;color:#334155}.header-actions{display:flex;align-items:center}.edit-actions{display:flex;gap:8px}.edit-btn,.save-btn,.cancel-btn{padding:8px 16px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:14px}.edit-btn{background:#6366f1;color:#fff}.edit-btn:hover{background:#5856eb}.save-btn{background:#059669;color:#fff}.save-btn:hover{background:#047857}.cancel-btn{background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1}.cancel-btn:hover{background:#e2e8f0}.header-main{margin-bottom:0}.event-title-info h1{font-size:28px;font-weight:700;color:#1e293b;margin:0;line-height:1.3}.edit-title-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:20px;font-weight:600;color:#1e293b;background:white;transition:border-color .2s ease}.edit-title-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.tabs-container{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.tabs{display:flex;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:12px 12px 0 0}.tab-btn{flex:1;padding:14px 20px;border:none;background:transparent;color:#64748b;cursor:pointer;transition:all .2s ease;font-weight:500;font-size:14px;border-bottom:2px solid transparent}.tab-btn:hover{color:#475569;background:rgba(99,102,241,.05)}.tab-btn.active{color:#6366f1;border-bottom-color:#6366f1;background:white}.tab-content{padding:28px}.overview-content{max-width:100%}.overview-grid{display:grid;gap:20px;grid-template-columns:1fr 1fr}.overview-grid .action-prompts,.overview-grid .summary-cards{grid-column:1 / -1}.detail-card{background:#f8fafc;padding:20px;border-radius:8px;border:1px solid #e2e8f0;height:fit-content}.detail-card h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#374151;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.detail-info{display:grid;gap:12px}.detail-info p{margin:0;display:grid;grid-template-columns:140px 1fr;align-items:center;padding:8px 0;font-size:14px;line-height:1.4}.detail-info strong{color:#64748b;font-weight:500;font-size:13px}.detail-info p span:last-child{color:#1e293b;font-weight:500}.edit-form{display:grid;gap:16px}.edit-form label{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:12px;color:#64748b;font-weight:500;font-size:13px}.edit-form input,.edit-form textarea{padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;background:white;transition:border-color .2s ease;font-family:inherit}.edit-form input:focus,.edit-form textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.edit-form textarea{resize:vertical;min-height:80px}.action-prompts{display:grid;gap:16px;margin:20px 0}.prompt-card{display:flex;align-items:center;background:white;border:1px solid #e2e8f0;border-radius:8px;padding:16px;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.prompt-card:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f11a}.prompt-icon{font-size:24px;margin-right:16px;flex-shrink:0}.prompt-content{flex:1}.prompt-content h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#1e293b}.prompt-content p{margin:0 0 12px;font-size:14px;color:#64748b;line-height:1.4}.prompt-btn{padding:6px 16px;border:1px solid #6366f1;border-radius:6px;background:white;color:#6366f1;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:13px}.prompt-btn:hover{background:#6366f1;color:#fff}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:20px 0}.summary-card{background:white;border:1px solid #e2e8f0;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000d}.summary-card h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.summary-card p{margin:2px 0;font-size:13px;color:#64748b}.rsvp-summary{background:white;border:1px solid #e2e8f0;padding:20px;border-radius:8px;margin-bottom:20px}.rsvp-summary h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#374151;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.rsvp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.rsvp-stat{text-align:center;padding:12px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.rsvp-number{display:block;font-size:20px;font-weight:700;color:#1e293b;margin-bottom:2px}.rsvp-label{font-size:11px;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.rsvp-progress{width:100%;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;margin-bottom:8px}.rsvp-progress-bar{height:100%;background:#6366f1;border-radius:2px;transition:width .3s ease}.rsvp-percentage{margin:0;text-align:center;font-size:12px;color:#64748b;font-weight:500}.guests-section,.vendors-content,.tasks-content{background:white;border:1px solid #e2e8f0;padding:20px;border-radius:8px}.guests-header,.vendors-header,.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.guests-header h3,.vendors-header h3,.tasks-header h3{margin:0;font-size:16px;font-weight:600;color:#374151}.add-guest-btn,.add-vendor-btn,.task-btn{padding:6px 12px;border:1px solid #cbd5e1;border-radius:6px;background:white;color:#64748b;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:13px}.add-guest-btn:hover,.add-vendor-btn:hover,.task-btn:hover{border-color:#6366f1;color:#6366f1;background:#f8fafc}.guests-list,.vendors-list,.tasks-list{display:grid;gap:8px}.guest-item,.vendor-item,.task-item{padding:12px 16px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;transition:all .2s ease}.guest-item:hover,.vendor-item:hover,.task-item:hover{background:#f1f5f9;border-color:#cbd5e1}.guest-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px}.guest-info h4{margin:0 0 2px;color:#1e293b;font-weight:600;font-size:14px}.guest-info p{margin:1px 0;color:#64748b;font-size:12px}.rsvp-badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.rsvp-badge.attending{background:#dcfce7;color:#166534}.rsvp-badge.pending{background:#fef3c7;color:#a16207}.rsvp-badge.not_attending{background:#fee2e2;color:#dc2626}.guest-actions{display:flex;gap:6px}.send-reminder-btn,.edit-guest-btn,.contract-btn,.serviceitem-status,.remove-btn{padding:4px 8px;border:none;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease}.send-reminder-btn{background:#f59e0b;color:#fff}.send-reminder-btn:hover{background:#d97706}.edit-guest-btn{background:#e2e8f0;color:#64748b}.edit-guest-btn:hover{background:#cbd5e1}.vendor-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.vendor-info h4,.vendor-cost h4{margin:0 0 2px;color:#1e293b;font-weight:600;font-size:14px}.vendor-info p,.vendor-cost p{margin:0;color:#64748b;font-size:12px;padding:2px 6px;background:#e2e8f0;border-radius:3px;display:inline-block;font-weight:500}.serviceitem-footer,.serviceitem-status{display:flex;justify-content:space-between}.serviceitem-status.confirmed{background:#09b201;color:#fff}.serviceitem-status.pending{background:#f29203;color:#fff}.vendor-actions{display:flex;gap:6px}.contract-btn{background:#6366f1;color:#fff}.contract-btn:hover{background:#5856eb}.chat-btn{background:#05a6be;color:#fff}.remove-btn{background:#fecaca;color:#dc2626}.remove-btn:hover{background:#fca5a5}.task-item{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.task-checkbox input{width:16px;height:16px;cursor:pointer;accent-color:#6366f1}.task-content h4{margin:0;color:#1e293b;font-weight:500;font-size:14px;transition:all .2s ease}.task-content h4.completed{text-decoration:line-through;color:#94a3b8}.empty-state{padding:24px;text-align:center;background:#f8fafc;color:#64748b;font-size:13px;font-style:italic}.empty-state p{margin:0}.guest-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.guest-popup-content{background:white;border-radius:12px;box-shadow:0 20px 50px #0000004d;width:90%;max-width:480px;max-height:90vh;overflow-y:auto}.guest-popup-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0;background:#f8fafc;border-radius:12px 12px 0 0}.guest-popup-header h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.close-btn{background:none;border:none;font-size:24px;color:#64748b;cursor:pointer;padding:4px;line-height:1;transition:color .2s ease}.close-btn:hover{color:#374151}.guest-form{max-width:400px;margin:0 auto;padding:20px;border:1px solid #ddd;border-radius:10px;background:#fff;box-shadow:0 2px 8px #0000000d;font-family:Arial,sans-serif}.form-group{margin-bottom:20px}.guest-form label{display:block;font-weight:500;margin-bottom:8px}.guest-form select{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px}.checkbox-group{display:flex;flex-wrap:wrap;gap:10px}.checkbox-label{display:flex;align-items:center;gap:6px;background:#f9f9f9;padding:6px 10px;border-radius:6px;font-size:14px;cursor:pointer}.checkbox-label:hover{background:#e0e0e0}.guest-form{padding:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.guest-form label{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;color:#374151;font-weight:500;font-size:14px}.guest-form input[type=text],.guest-form input[type=email]{padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;background:white;transition:border-color .2s ease}.guest-form input[type=text]:focus,.guest-form input[type=email]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.plusones-label{flex-direction:column!important;align-items:flex-start;gap:8px!important;margin-bottom:20px!important}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#6366f1}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #f1f5f9}.cancel-form-btn,.save-form-btn{padding:10px 20px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:14px}.cancel-form-btn{background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1}.cancel-form-btn:hover{background:#e2e8f0}.save-form-btn{background:#6366f1;color:#fff}.save-form-btn:hover{background:#5856eb}.guest-import-file-input{display:none}.guest-import-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.guest-import-modal{background:#fff;padding:2rem;border-radius:12px;max-width:600px;width:90%;box-shadow:0 8px 24px #0003;animation:fadeIn .3s ease-in-out}.guest-import-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.guest-import-close-btn{background:transparent;border:none;font-size:1.5rem;cursor:pointer}.guest-import-body button{background-color:#4f46e5;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;margin:.5rem 0}.guest-import-body button:hover{background-color:#4338ca}.guest-import-errors{margin-top:1rem;color:#dc2626}.guest-import-table{width:100%;border-collapse:collapse;margin-top:1rem}.guest-import-table th,.guest-import-table td{padding:.5rem;border-bottom:1px solid #e5e7eb;text-align:left}.guest-import-confirm-btn{margin-top:1rem}@media (max-width: 768px){.event-view-edit{padding:16px;max-width:100%}.header-top{flex-direction:column;align-items:stretch;gap:12px}.event-title-info h1{font-size:22px}.tabs{flex-wrap:wrap}.tab-btn{flex:none;min-width:25%;padding:12px 16px;font-size:12px}.tab-content{padding:20px}.overview-grid{grid-template-columns:1fr}.detail-info p,.edit-form label{grid-template-columns:1fr;gap:4px}.rsvp-stats{grid-template-columns:1fr;gap:8px}.guest-item,.vendor-item{grid-template-columns:1fr;text-align:left;gap:8px}.guest-actions,.vendor-actions{justify-content:flex-start}.summary-cards{grid-template-columns:1fr}}@media (max-width: 600px){.event-title-info h1{font-size:20px}.tab-content,.guests-list,.vendors-list,.tasks-list{padding:16px}.edit-actions{flex-direction:column;gap:6px;width:100%}.prompt-card{flex-direction:column;text-align:center}.prompt-icon{margin:0 0 12px}}.location-picker{width:100%}.search-container{margin-bottom:16px}.search-container label{display:block;margin-bottom:8px;font-weight:600;color:#333}.autocomplete-container,.location-search{width:100%}.location-search::part(input){width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;box-sizing:border-box}.location-search::part(input):focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.selected-location-info{margin-top:16px;padding:12px;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px}.selected-location-info p{margin:4px 0;font-size:14px;color:#0369a1}.location-instructions{margin-top:12px;padding:8px 12px;background-color:#f8fafc;border-radius:6px;font-size:14px;color:#64748b;text-align:center}.location-picker-error{padding:20px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;text-align:center}.location-picker-loading{padding:40px;text-align:center;color:#64748b}.ps-container{min-height:100vh;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#0f172a;transition:background .3s ease,color .3s ease;--primary: #3b82f6;--primary-light: #eff6ff;--success: #10b981;--info: #06b6d4;--danger: #ef4444;--secondary: #64748b;--border: #e2e8f0;--text-muted: #64748b;--bg-card: #ffffff;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--radius: 12px}@media (prefers-color-scheme: dark){.ps-container{background:#11182F;color:#e5e7eb;--primary-light: #1e3a8a;--border: #4b5563;--text-muted: #9ca3af;--bg-card: #1f2937;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4)}}.ps-notification{position:fixed;top:24px;right:24px;z-index:1100;padding:16px 20px;border-radius:var(--radius);box-shadow:var(--shadow-lg);color:#fff;animation:ps-slideIn .3s ease}.ps-notification-success{background:var(--success)}.ps-notification-error{background:var(--danger)}.ps-notification-info{background:var(--info)}.ps-notification-content{display:flex;align-items:center;gap:12px}.ps-notification-icon{width:20px;height:20px}@keyframes ps-slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.ps-header{background:var(--bg-card);box-shadow:0 1px 3px #0000001a;border-bottom:1px solid var(--border);z-index:100;transition:background-color .3s ease,box-shadow .3s ease}.ps-header-content{max-width:1400px;margin:0 auto;padding:20px 32px}.ps-header-title{display:flex;align-items:center;gap:16px}.ps-header-title h1{font-size:2rem;font-weight:700;margin:0;background:linear-gradient(135deg,var(--primary),var(--info));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.ps-header-icon{width:32px;height:32px;color:var(--primary)}.ps-main{max-width:1400px;margin:0 auto;padding:32px}.ps-grid{display:grid;grid-template-columns:400px 1fr;gap:32px;min-height:calc(100vh - 200px)}.ps-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden;transition:all .2s ease}.ps-card:hover{box-shadow:var(--shadow-lg)}.ps-card-header{padding:24px 32px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f8fafc,#f1f5f9);transition:background .3s ease,border-color .3s ease}@media (prefers-color-scheme: dark){.ps-card-header{background:linear-gradient(135deg,#374151,#4b5563)}}.ps-card-content{padding:32px}.ps-section-title{font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:12px;margin:0;color:#1f2937;transition:color .3s ease}@media (prefers-color-scheme: dark){.ps-section-title{color:#f9fafb}}.ps-section-subtitle{color:var(--text-muted);font-size:.875rem;margin:8px 0 0;transition:color .3s ease}.ps-icon{width:16px;height:16px}.ps-sidebar{position:sticky;top:120px}.ps-events-list{display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 300px);overflow-y:auto}.ps-events-list::-webkit-scrollbar{width:6px}.ps-events-list::-webkit-scrollbar-track{background:#f1f5f9;transition:background-color .3s ease}@media (prefers-color-scheme: dark){.ps-events-list::-webkit-scrollbar-track{background:#374151}}.ps-events-list::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}.ps-event-card{padding:20px;border-radius:var(--radius);border:2px solid var(--border);cursor:pointer;transition:all .2s ease;position:relative;background:var(--bg-card)}.ps-event-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--info));transform:scaleX(0);transition:transform .2s ease}.ps-event-card:hover,.ps-event-selected{border-color:var(--primary);background:var(--primary-light);transform:translateY(-2px);box-shadow:var(--shadow)}.ps-event-card:hover:before,.ps-event-selected:before{transform:scaleX(1)}.ps-event-name{font-weight:600;font-size:1.125rem;margin:0 0 8px;color:#1f2937;transition:color .3s ease}@media (prefers-color-scheme: dark){.ps-event-name{color:#f9fafb}.ps-event-selected .ps-event-name{color:#1f2937}}.ps-event-date{font-size:.875rem;color:var(--text-muted);margin:0 0 12px;transition:color .3s ease}.ps-event-details{display:flex;justify-content:space-between;align-items:center;gap:12px}.ps-event-type{font-size:.75rem;background:linear-gradient(135deg,var(--primary),var(--info));color:#fff;padding:6px 12px;border-radius:20px;font-weight:600;text-transform:uppercase}.ps-event-attendees{font-size:.75rem;color:var(--text-muted);transition:color .3s ease}.ps-schedule-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.ps-empty,.ps-empty-state{padding:80px 32px;text-align:center}.ps-empty{border:2px dashed var(--border);border-radius:var(--radius);background:#f8fafc;transition:background-color .3s ease,border-color .3s ease}@media (prefers-color-scheme: dark){.ps-empty{background:#374151}}.ps-empty-icon{width:64px;height:64px;color:var(--text-muted);margin:0 auto 24px}.ps-empty h3{font-size:1.5rem;font-weight:600;margin:0 0 12px;color:#374151;transition:color .3s ease}@media (prefers-color-scheme: dark){.ps-empty h3{color:#f9fafb}}.ps-empty p{color:var(--text-muted);margin:0 auto 24px;max-width:400px;transition:color .3s ease}.ps-empty-items{padding:40px 24px;text-align:center;border:1px dashed var(--border);border-radius:var(--radius);background:#f8fafc;transition:background-color .3s ease,border-color .3s ease}@media (prefers-color-scheme: dark){.ps-empty-items{background:#374151}}.ps-empty-items p{color:var(--text-muted);margin:0 0 16px;transition:color .3s ease}.ps-schedule{margin-bottom:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow);transition:all .2s ease}.ps-schedule:hover{box-shadow:var(--shadow-lg)}.ps-schedule-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);cursor:pointer;transition:all .2s ease;position:relative}@media (prefers-color-scheme: dark){.ps-schedule-header{background:linear-gradient(135deg,#374151,#4b5563);border-radius:var(--radius)}}.ps-schedule-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary),var(--info));transform:scaleY(0);transition:transform .2s ease}.ps-schedule-header:hover:before{transform:scaleY(1)}.ps-schedule-header h3{font-size:1.25rem;font-weight:700;margin:0;color:#1f2937;transition:color .3s ease}@media (prefers-color-scheme: dark){.ps-schedule-header h3{color:#f9fafb}}.ps-schedule-meta{display:flex;align-items:center;gap:16px}.ps-badge{font-size:.875rem;color:var(--text-muted);background:var(--bg-card);padding:4px 12px;border-radius:20px;font-weight:500;transition:background-color .3s ease,color .3s ease}.ps-schedule-content{padding:32px 24px;border-top:1px solid var(--border);transition:border-color .3s ease}.ps-schedule-actions{display:flex;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border);flex-wrap:wrap;transition:border-color .3s ease}.ps-pdf-schedule{display:flex;align-items:center;gap:20px;padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:#f8fafc;transition:background-color .3s ease,border-color .3s ease}@media (prefers-color-scheme: dark){.ps-pdf-schedule{background:#374151}}.ps-pdf-icon{width:48px;height:48px;color:var(--danger)}.ps-pdf-info h4{font-weight:600;margin:0 0 4px;color:#1f2937;transition:color .3s ease}@media (prefers-color-scheme: dark){.ps-pdf-info h4{color:#f9fafb}}.ps-pdf-info p{color:var(--text-muted);margin:0;font-size:.875rem;transition:color .3s ease}.ps-pdf-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--primary);text-decoration:none;font-weight:600;transition:color .2s ease}.ps-pdf-link:hover{color:#2563eb}.ps-items{display:flex;flex-direction:column;gap:16px}.ps-item{border:1px solid var(--border);border-radius:var(--radius);padding:20px;background:var(--bg-card);transition:all .2s ease;position:relative}.ps-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--primary),var(--info));border-radius:0 2px 2px 0;opacity:0;transition:opacity .2s ease}.ps-item:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.ps-item:hover:before{opacity:1}.ps-item-content{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.ps-item-info{flex:1}.ps-item-time{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}.ps-time-badge{background:var(--primary-light);color:var(--primary);padding:8px 16px;border-radius:24px;font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:6px;border:1px solid rgba(59,130,246,.2)}.ps-duration{color:var(--text-muted);font-size:.875rem;background:#f1f5f9;padding:4px 12px;border-radius:16px;transition:background-color .3s ease,color .3s ease}@media (prefers-color-scheme: dark){.ps-duration{background:#4b5563}}.ps-item-info h4{font-weight:600;font-size:1.125rem;margin:0 0 8px;color:#1f2937;transition:color .3s ease}@media (prefers-color-scheme: dark){.ps-item-info h4{color:#f9fafb}}.ps-item-info p{color:var(--text-muted);font-size:.875rem;margin:0;transition:color .3s ease}.ps-item-actions{display:flex;gap:8px}.ps-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius);font-weight:600;font-size:.875rem;border:none;cursor:pointer;transition:all .2s ease;text-decoration:none}.ps-btn:disabled{opacity:.6;cursor:not-allowed}.ps-btn-primary{background:linear-gradient(135deg,var(--primary),#2563eb);color:#fff;box-shadow:var(--shadow)}.ps-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px)}.ps-btn-success{background:linear-gradient(135deg,var(--success),#059669);color:#fff;box-shadow:var(--shadow)}.ps-btn-success:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.ps-btn-info{background:linear-gradient(135deg,var(--info),#0891b2);color:#fff;box-shadow:var(--shadow)}.ps-btn-info:hover:not(:disabled){background:linear-gradient(135deg,#0891b2,#0e7490);transform:translateY(-1px)}.ps-btn-delete{background:linear-gradient(135deg,var(--danger),#dc2626);color:#fff;box-shadow:var(--shadow)}.ps-btn-delete:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.ps-btn-secondary{background:linear-gradient(135deg,var(--secondary),#475569);color:#fff;box-shadow:var(--shadow)}.ps-btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#475569,#334155);transform:translateY(-1px)}.ps-btn-sm{padding:8px 16px;font-size:.8125rem}.ps-btn-icon{padding:10px;border:none;background:transparent;cursor:pointer;border-radius:var(--radius);transition:all .2s ease;display:flex;align-items:center;color:var(--text-muted)}.ps-btn-icon:hover{background:var(--primary-light);color:var(--primary);transform:scale(1.1)}.ps-btn-danger:hover{background:rgba(239,68,68,.1);color:var(--danger)}.ps-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:ps-fadeIn .2s ease}@keyframes ps-fadeIn{0%{opacity:0}to{opacity:1}}.ps-modal{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:ps-slideInUp .3s ease}.ps-modal-large{max-width:600px}@keyframes ps-slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ps-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f8fafc,#f1f5f9);transition:background .3s ease,border-color .3s ease}@media (prefers-color-scheme: dark){.ps-modal-header{background:linear-gradient(135deg,#374151,#4b5563)}}.ps-modal-header h3{font-size:1.25rem;font-weight:700;margin:0;color:#1f2937;transition:color .3s ease}@media (prefers-color-scheme: dark){.ps-modal-header h3{color:#f9fafb}}.ps-modal-close{background:none;border:none;padding:8px;cursor:pointer;border-radius:var(--radius);transition:all .2s ease;color:var(--text-muted)}.ps-modal-close:hover{background:var(--border);transform:scale(1.1)}.ps-modal-content{padding:32px}.ps-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px 32px;border-top:1px solid var(--border);background:#f8fafc;transition:background-color .3s ease,border-color .3s ease}@media (prefers-color-scheme: dark){.ps-modal-footer{background:#374151}}.ps-form-group{margin-bottom:24px;padding-right:2rem}.ps-form-group:last-child{margin-bottom:0}.ps-form-group label{display:block;font-size:.875rem;font-weight:600;margin-bottom:8px;color:#374151;transition:color .3s ease}@media (prefers-color-scheme: dark){.ps-form-group label{color:#e5e7eb}}.ps-input,.ps-textarea{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius);font-size:.875rem;transition:all .2s ease;font-family:inherit;background:var(--bg-card);color:#1f2937}@media (prefers-color-scheme: dark){.ps-input,.ps-textarea{background:#374151;color:#f9fafb}}.ps-input:focus,.ps-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #3b82f61a;transform:translateY(-1px)}.ps-textarea{resize:vertical;min-height:100px}.ps-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ps-form-actions{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.ps-edit-form .ps-form-row,.ps-edit-form .ps-input,.ps-edit-form .ps-textarea{margin-bottom:16px}.ps-create-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.ps-create-option{display:flex;align-items:center;gap:16px;padding:20px;border:2px solid var(--border);border-radius:var(--radius);background:var(--bg-card);cursor:pointer;transition:all .2s ease}.ps-create-option:hover{border-color:var(--primary);background:var(--primary-light)}.ps-create-option:disabled{opacity:.6;cursor:not-allowed}.ps-create-icon{width:24px;height:24px;color:var(--primary)}.ps-option-title{font-weight:600;margin-bottom:4px;color:#1f2937;transition:color .3s ease}@media (prefers-color-scheme: dark){.ps-option-title{color:#f9fafb}}.ps-option-subtitle{font-size:.875rem;color:var(--text-muted);transition:color .3s ease}.pdf-selected{margin-top:16px;padding:12px;background:var(--primary-light);color:var(--primary);border-radius:8px;font-size:.875rem;font-weight:600}.ps-export-options{display:flex;flex-direction:column;gap:12px;margin-top:24px}.ps-export-option{display:flex;align-items:center;gap:16px;padding:16px 20px;border:2px solid var(--border);border-radius:var(--radius);background:var(--bg-card);cursor:pointer;transition:all .2s ease}.ps-export-option:hover{border-color:var(--primary);background:var(--primary-light)}.ps-export-icon{width:24px;height:24px;color:var(--primary)}.ps-export-option div div{font-weight:600;margin-bottom:4px;color:#1f2937;transition:color .3s ease}@media (prefers-color-scheme: dark){.ps-export-option div div{color:#f9fafb}}.ps-export-option small{color:var(--text-muted);transition:color .3s ease}@media (max-width: 1024px){.ps-grid{grid-template-columns:1fr}.ps-sidebar{position:static}.ps-events-list{max-height:300px}}@media (max-width: 640px){.ps-main{padding:16px}.ps-card-content{padding:20px}.ps-schedule-header{flex-direction:column;align-items:flex-start;gap:16px}.ps-form-row,.ps-create-options{grid-template-columns:1fr}.ps-modal{margin:16px;max-width:none}.ps-modal-content{padding:20px}.ps-schedule-actions{flex-direction:column}.ps-schedule-actions .ps-btn{width:100%}}.planner-reviews-container{padding:32px;max-width:1400px;margin:0 auto;background-color:#f9fafb;min-height:100vh;transition:background-color .3s ease,color .3s ease}@media (prefers-color-scheme: dark){.planner-reviews-container{background-color:#11182f;color:#e5e7eb}}.planner-reviews-header{margin-bottom:32px}.planner-reviews-header h1{font-size:32px;font-weight:700;color:#1f2937;margin:0 0 8px;transition:color .3s ease}.planner-reviews-header p{font-size:16px;color:#6b7280;margin:0;transition:color .3s ease}@media (prefers-color-scheme: dark){.planner-reviews-header h1{color:#f9fafb}.planner-reviews-header p{color:#d1d5db}}.planner-reviews-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.planner-reviews-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:planner-reviews-spin 1s linear infinite}@keyframes planner-reviews-spin{to{transform:rotate(360deg)}}.planner-reviews-loading p{font-size:16px;color:#6b7280;transition:color .3s ease}@media (prefers-color-scheme: dark){.planner-reviews-spinner{border-color:#4b5563;border-top-color:#3b82f6}.planner-reviews-loading p{color:#9ca3af}}.planner-reviews-filter{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.planner-reviews-filter-btn{padding:10px 20px;border:2px solid #e5e7eb;background:white;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.planner-reviews-filter-btn:hover{border:#d1d5db;color:#374151}.planner-reviews-filter-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}@media (prefers-color-scheme: dark){.planner-reviews-filter-btn{background:#374151;border-color:#4b5563;color:#d1d5db}.planner-reviews-filter-btn:hover{border-color:#6b7280;color:#f3f4f6}.planner-reviews-filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}}.planner-reviews-events-list{display:flex;flex-direction:column;gap:24px}.planner-reviews-event-card{background:white;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease,background-color .3s ease}.planner-reviews-event-card:hover{box-shadow:0 4px 12px #0000001a}@media (prefers-color-scheme: dark){.planner-reviews-event-card{background:#1f2937;box-shadow:0 1px 3px #0000004d}.planner-reviews-event-card:hover{box-shadow:0 4px 12px #0006}}.planner-reviews-event-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #f3f4f6;transition:border-color .3s ease}@media (prefers-color-scheme: dark){.planner-reviews-event-header{border-bottom-color:#4b5563}}.planner-reviews-event-info h2{font-size:24px;font-weight:600;color:#1f2937;margin:0 0 12px;transition:color .3s ease}.planner-reviews-event-date,.planner-reviews-event-location{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280;margin:8px 0;transition:color .3s ease}.planner-reviews-event-date svg,.planner-reviews-event-location svg{color:#9ca3af;transition:color .3s ease}@media (prefers-color-scheme: dark){.planner-reviews-event-info h2{color:#f9fafb}.planner-reviews-event-date,.planner-reviews-event-location{color:#d1d5db}.planner-reviews-event-date svg,.planner-reviews-event-location svg{color:#9ca3af}}.planner-reviews-event-status{padding:8px 16px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.planner-reviews-event-status.past{background-color:#e5e7eb;color:#4b5563}.planner-reviews-event-status.upcoming{background-color:#dbeafe;color:#1e40af}@media (prefers-color-scheme: dark){.planner-reviews-event-status.past{background-color:#4b5563;color:#d1d5db}.planner-reviews-event-status.upcoming{background-color:#1e3a8a;color:#dbeafe}}.planner-reviews-vendors-section{margin-top:20px}.planner-reviews-no-vendors{text-align:center;padding:40px;color:#9ca3af;font-size:14px;transition:color .3s ease}@media (prefers-color-scheme: dark){.planner-reviews-no-vendors{color:#6b7280}}.planner-reviews-vendors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.planner-reviews-vendor-card{display:flex;flex-direction:column;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:20px;transition:all .2s ease,background-color .3s ease,border-color .3s ease}.planner-reviews-vendor-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}@media (prefers-color-scheme: dark){.planner-reviews-vendor-card{background:#111827;border-color:#111820}.planner-reviews-vendor-card:hover{border-color:#9ca3af;box-shadow:0 2px 8px #0003}}.planner-reviews-vendor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.planner-reviews-vendor-header h4{font-size:18px;font-weight:600;color:#1f2937;margin:0;transition:color .3s ease}.planner-reviews-services-count{font-size:12px;color:#6b7280;background-color:#e5e7eb;padding:4px 10px;border-radius:12px;font-weight:500;transition:color .3s ease,background-color .3s ease}@media (prefers-color-scheme: dark){.planner-reviews-vendor-header h4{color:#f9fafb}.planner-reviews-services-count{color:#d1d5db;background-color:#6b7280}}.planner-reviews-vendor-services{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.planner-reviews-service-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:white;border-radius:6px;font-size:13px;transition:background-color .3s ease}@media (prefers-color-scheme: dark){.planner-reviews-service-item{background:#374151}}.planner-reviews-service-name{color:#374151;font-weight:500;transition:color .3s ease}@media (prefers-color-scheme: dark){.planner-reviews-service-name{color:#e5e7eb}}.planner-reviews-service-status{padding:4px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase}.planner-reviews-service-status.confirmed{background-color:#d1fae5;color:#065f46}.planner-reviews-service-status.pending{background-color:#fef3c7;color:#92400e}@media (prefers-color-scheme: dark){.planner-reviews-service-status.confirmed{background-color:#065f46;color:#d1fae5}.planner-reviews-service-status.pending{background-color:#92400e;color:#fef3c7}}.planner-reviews-vendor-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;margin-top:auto;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #2563eb33}.planner-reviews-vendor-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.planner-reviews-vendor-btn:active{transform:translateY(0)}.planner-reviews-user-reviews{margin-top:48px;padding-top:32px;border-top:2px solid #f3f4f6;transition:border-color .3s ease}.planner-reviews-user-reviews h2{font-size:24px;font-weight:600;color:#1f2937;margin-bottom:24px;transition:color .3s ease}.planner-reviews-list{display:flex;flex-direction:column;gap:16px}.planner-reviews-review-card{background:white;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;transition:all .2s ease,background-color .3s ease}.planner-reviews-review-card:hover{box-shadow:0 2px 8px #0000001a}.planner-reviews-review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.planner-reviews-review-vendor-name{font-size:18px;font-weight:600;color:#1f2937;transition:color .3s ease}.planner-reviews-review-rating{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:500}.planner-reviews-review-event{font-size:14px;color:#6b7280;margin-bottom:12px;transition:color .3s ease}.planner-reviews-review-text{font-size:14px;line-height:1.5;color:#4b5563;margin-bottom:12px;transition:color .3s ease}.planner-reviews-review-date{font-size:12px;color:#9ca3af;text-align:right}@media (prefers-color-scheme: dark){.planner-reviews-user-reviews{border-top-color:#4b5563}.planner-reviews-user-reviews h2{color:#f9fafb}.planner-reviews-review-card{background:#1f2937;box-shadow:0 1px 3px #0000004d}.planner-reviews-review-card:hover{box-shadow:0 2px 8px #0006}.planner-reviews-review-vendor-name{color:#f9fafb}.planner-reviews-review-event{color:#d1d5db}.planner-reviews-review-text{color:#e5e7eb}}.planner-reviews-no-events{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background:white;border-radius:12px;border:2px dashed #d1d5db;transition:background-color .3s ease,border-color .3s ease}.planner-reviews-no-events svg{color:#d1d5db;margin-bottom:16px;transition:color .3s ease}.planner-reviews-no-events h3{font-size:20px;font-weight:600;color:#374151;margin:0 0 8px;transition:color .3s ease}.planner-reviews-no-events p{font-size:14px;color:#6b7280;margin:0;transition:color .3s ease}@media (prefers-color-scheme: dark){.planner-reviews-no-events{background:#374151;border-color:#6b7280}.planner-reviews-no-events svg{color:#6b7280}.planner-reviews-no-events h3{color:#f9fafb}.planner-reviews-no-events p{color:#d1d5db}}.planner-reviews-empty-reviews{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background:white;border-radius:12px;border:2px dashed #d1d5db;transition:background-color .3s ease,border-color .3s ease}.planner-reviews-empty-reviews svg{color:#d1d5db;margin-bottom:16px;transition:color .3s ease}.planner-reviews-empty-reviews h3{font-size:20px;font-weight:600;color:#374151;margin:0 0 8px;transition:color .3s ease}.planner-reviews-empty-reviews p{font-size:14px;color:#6b7280;margin:0;transition:color .3s ease}@media (prefers-color-scheme: dark){.planner-reviews-empty-reviews{background:#374151;border-color:#6b7280}.planner-reviews-empty-reviews svg{color:#6b7280}.planner-reviews-empty-reviews h3{color:#f9fafb}.planner-reviews-empty-reviews p{color:#d1d5db}}.planner-reviews-section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.planner-reviews-section-header h2{font-size:24px;font-weight:600;color:#1f2937;margin:0;transition:color .3s ease}.planner-reviews-section-badge{background-color:#e5e7eb;color:#374151;padding:4px 12px;border-radius:16px;font-size:14px;font-weight:500;transition:background-color .3s ease,color .3s ease}@media (prefers-color-scheme: dark){.planner-reviews-section-header h2{color:#f9fafb}.planner-reviews-section-badge{background-color:#4b5563;color:#d1d5db}}@media (max-width: 1024px){.planner-reviews-vendors-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.planner-reviews-container{padding:20px}.planner-reviews-header h1{font-size:28px}.planner-reviews-event-header{flex-direction:column;gap:16px}.planner-reviews-event-status{align-self:flex-start}.planner-reviews-vendors-grid{grid-template-columns:1fr}.planner-reviews-review-header{flex-direction:column;gap:8px}.planner-reviews-section-header{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 480px){.planner-reviews-container{padding:16px}.planner-reviews-header h1{font-size:24px}.planner-reviews-event-card{padding:16px}.planner-reviews-filter{flex-direction:column}.planner-reviews-filter-btn{width:100%}}.review-vendor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.review-vendor-modal{background:white;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease-out;transition:background-color .3s ease,color .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-color-scheme: dark){.review-vendor-modal{background:#374151;box-shadow:0 10px 40px #0006}}.review-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb;transition:border-color .3s ease}@media (prefers-color-scheme: dark){.review-modal-header{border-bottom-color:#4b5563}}.review-modal-header h2{font-size:24px;font-weight:600;color:#1f2937;margin:0;transition:color .3s ease}@media (prefers-color-scheme: dark){.review-modal-header h2{color:#f9fafb}}.review-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:all .2s}.review-close-btn:hover{background:#f3f4f6;color:#1f2937}@media (prefers-color-scheme: dark){.review-close-btn{color:#9ca3af}.review-close-btn:hover{background:#4b5563;color:#f9fafb}}.review-modal-body{padding:24px}.vendor-review-info{margin-bottom:24px;padding:16px;background:#f9fafb;border-radius:8px;transition:background-color .3s ease,color .3s ease}@media (prefers-color-scheme: dark){.vendor-review-info{background:#4b5563}}.vendor-review-info h3{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 8px;transition:color .3s ease}.vendor-review-info .service-name{font-size:14px;color:#6b7280;margin:0;transition:color .3s ease}@media (prefers-color-scheme: dark){.vendor-review-info h3{color:#f9fafb}.vendor-review-info .service-name{color:#d1d5db}}.review-form{display:flex;flex-direction:column;gap:24px}.rating-section{display:flex;flex-direction:column;gap:12px}.rating-section label{font-size:16px;font-weight:500;color:#374151;transition:color .3s ease}@media (prefers-color-scheme: dark){.rating-section label{color:#f9fafb}}.star-rating{display:flex;gap:8px}.star{background:none;border:none;font-size:40px;color:#d1d5db;cursor:pointer;padding:0;transition:all .2s;line-height:1}.star:hover,.star.filled{color:#fbbf24;transform:scale(1.1)}.rating-text{font-size:14px;color:#6b7280;margin:0;min-height:20px;transition:color .3s ease}@media (prefers-color-scheme: dark){.rating-text{color:#d1d5db}}.review-text-section{display:flex;flex-direction:column;gap:8px;padding-right:1rem}.review-text-section label{font-size:16px;font-weight:500;color:#374151;transition:color .3s ease}@media (prefers-color-scheme: dark){.review-text-section label{color:#f9fafb}}.review-text-section textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:all .2s;background:white;color:#1f2937}.review-text-section textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}@media (prefers-color-scheme: dark){.review-text-section textarea{background:#4b5563;border-color:#6b7280;color:#f9fafb}.review-text-section textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.review-text-section textarea::placeholder{color:#9ca3af}}.char-count{font-size:12px;color:#9ca3af;text-align:right;margin:0;transition:color .3s ease}@media (prefers-color-scheme: dark){.char-count{color:#6b7280}}.review-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:8px;font-size:14px;margin:0;transition:background-color .3s ease,border-color .3s ease}@media (prefers-color-scheme: dark){.review-error{background:#7f1d1d;border-color:#dc2626;color:#fca5a5}}.review-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.cancel-review-btn,.submit-review-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.cancel-review-btn{background:#f3f4f6;color:#374151;transition:background-color .3s ease,color .3s ease}.cancel-review-btn:hover:not(:disabled){background:#e5e7eb}.submit-review-btn{background:#2563eb;color:#fff}.submit-review-btn:hover:not(:disabled){background:#1d4ed8}.submit-review-btn:disabled,.cancel-review-btn:disabled{opacity:.5;cursor:not-allowed}@media (prefers-color-scheme: dark){.cancel-review-btn{background:#4b5563;color:#f9fafb}.cancel-review-btn:hover:not(:disabled){background:#6b7280}.submit-review-btn{background:#3b82f6}.submit-review-btn:hover:not(:disabled){background:#2563eb}}@media (max-width: 640px){.review-vendor-modal{width:95%;max-height:95vh}.review-modal-header,.review-modal-body{padding:16px}.review-modal-header h2{font-size:20px}.star{font-size:32px}.review-actions{flex-direction:column}.cancel-review-btn,.submit-review-btn{width:100%}}.contracts-page-planner-contract{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f9fafb;min-height:100vh;transition:background-color .3s ease,color .3s ease}@media (prefers-color-scheme: dark){.contracts-page-planner-contract{background-color:#11182f;color:#e5e7eb}}.contracts-page-planner-contract header{background:white;padding:2rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}@media (prefers-color-scheme: dark){.contracts-page-planner-contract header{background:#1f2937;box-shadow:0 1px 3px #0000004d}}.contracts-page-planner-contract h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#1f2937;transition:color .3s ease}@media (prefers-color-scheme: dark){.contracts-page-planner-contract h1{color:#f9fafb}}.contracts-page-planner-contract header>p{margin:0 0 1.5rem;color:#6b7280;font-size:.95rem;transition:color .3s ease}@media (prefers-color-scheme: dark){.contracts-page-planner-contract header>p{color:#d1d5db}}.stats-summary-planner-contract{display:flex;gap:2rem;margin-bottom:1.5rem;flex-wrap:wrap}.stat-item-planner-contract{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#f3f4f6;border-radius:8px;font-size:.95rem;font-weight:600;color:#374151;transition:background-color .3s ease,color .3s ease}@media (prefers-color-scheme: dark){.stat-item-planner-contract{background:#374151;color:#e5e7eb}}.pending-stat-planner-contract{background:#fef3c7;color:#92400e}@media (prefers-color-scheme: dark){.pending-stat-planner-contract{background:#374151;color:#fef3c7}}.signed-stat-planner-contract{background:#d1fae5;color:#065f46}@media (prefers-color-scheme: dark){.signed-stat-planner-contract{background:#374151;color:#d1fae5}}.search-container-planner-contract{width:95%;margin-bottom:1.5rem}.search-container-planner-contract svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none;transition:color .3s ease}@media (prefers-color-scheme: dark){.search-container-planner-contract svg{color:#6b7280}}.search-input-planner-contract{width:100%;padding:.75rem 1rem .75rem 3rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:all .2s;background:white;color:#1f2937}.search-input-planner-contract:focus{outline:none;border-color:#3b82f6}@media (prefers-color-scheme: dark){.search-input-planner-contract{background:#374151;border-color:#4b5563;color:#f9fafb}.search-input-planner-contract:focus{border-color:#3b82f6}}.clear-search{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:#e5e7eb;border:none;border-radius:4px;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease}@media (prefers-color-scheme: dark){.clear-search{background:#4b5563}.clear-search:hover{background:#6b7280}}.events-section-planner-contract{background:white;padding:2rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}@media (prefers-color-scheme: dark){.events-section-planner-contract{background:#1f2937;box-shadow:0 1px 3px #0000004d}}.section-title-planner-contract{display:flex;align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:1.3rem;font-weight:700;color:#1f2937;transition:color .3s ease}@media (prefers-color-scheme: dark){.section-title-planner-contract{color:#f9fafb}}.events-list-planner-contract{display:flex;flex-direction:column;gap:1.5rem}.event-card-planner-contract{border:1px solid #e5e7eb;border-radius:10px;padding:1.5rem;background:#fafafa;transition:background-color .3s ease,border-color .3s ease}@media (prefers-color-scheme: dark){.event-card-planner-contract{background:#111827;border-color:#111820}}.event-info{margin-bottom:1rem}.event-info p{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;color:#4b5563;font-size:.95rem;transition:color .3s ease}@media (prefers-color-scheme: dark){.event-info p{color:#d1d5db}}.contract-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;transition:border-color .3s ease}@media (prefers-color-scheme: dark){.contract-section{border-top-color:#4b5563}}.contracts-list{display:flex;flex-direction:column;gap:1rem}.contract-row{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:white;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s;gap:1.5rem}.contract-row:hover{box-shadow:0 2px 8px #00000014}@media (prefers-color-scheme: dark){.contract-row{background:#374151;border-color:#4b5563}.contract-row:hover{box-shadow:0 2px 8px #0000004d}}.contract-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.75rem}.file-name{margin:0;font-size:.95rem;color:#1f2937;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;transition:color .3s ease}@media (prefers-color-scheme: dark){.file-name{color:#f9fafb}}.file-name-btn{background:none;border:none;color:#3b82f6;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;font-size:.95rem;transition:color .2s ease}.file-name-btn:hover{color:#2563eb}.file-name span{color:#9ca3af;font-size:.85rem;transition:color .3s ease}@media (prefers-color-scheme: dark){.file-name span{color:#6b7280}}.status-badge-planner-contract{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;max-width:8%;font-weight:600}.status-badge-planner-contract.sent,.status-badge-planner-contract.status-pending{background:#fef3c7;color:#92400e}@media (prefers-color-scheme: dark){.status-badge-planner-contract.sent,.status-badge-planner-contract.status-pending{background:#92400e;color:#fef3c7}}.status-badge-planner-contract.completed,.status-badge-planner-contract.status-completed{background:#d1fae5;color:#065f46}@media (prefers-color-scheme: dark){.status-badge-planner-contract.completed,.status-badge-planner-contract.status-completed{background:#065f46;color:#d1fae5}}.status-badge-planner-contract.partially_signed,.status-badge-planner-contract.status-partial{background:#e0e7ff;color:#3730a3}@media (prefers-color-scheme: dark){.status-badge-planner-contract.partially_signed,.status-badge-planner-contract.status-partial{background:#3730a3;color:#e0e7ff}}.status-badge-planner-contract.status-active,.status-badge-planner-contract.status-draft{background:#e5e7eb;color:#4b5563}@media (prefers-color-scheme: dark){.status-badge-planner-contract.status-active,.status-badge-planner-contract.status-draft{background:#4b5563;color:#d1d5db}}.signature-badge-planner-contract{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize;background:#e5e7eb;max-width:8%;color:#4b5563}@media (prefers-color-scheme: dark){.signature-badge-planner-contract{background:#4b5563;color:#d1d5db}}.contract-actions{display:flex;gap:.75rem;align-items:center;flex-shrink:0;flex-wrap:wrap}.sign-btn,.download-btn,.delete-btn{display:flex;align-items:center;gap:.35rem;padding:.6rem 1.1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.sign-btn{background:#3b82f6;color:#fff}.sign-btn:hover:not(:disabled){background:#2563eb}.sign-btn:disabled{background:#d1d5db;cursor:not-allowed;color:#9ca3af}@media (prefers-color-scheme: dark){.sign-btn:disabled{background:#4b5563;color:#6b7280}}.download-btn{background:#10b981;color:#fff}.download-btn:hover{background:#059669}.delete-btn{background:#ef4444;color:#fff}.delete-btn:hover{background:#dc2626}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sign-modal{min-width:90%}.modal-content{background:white;border-radius:12px;max-width:1000px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;position:relative;transition:background-color .3s ease}@media (prefers-color-scheme: dark){.modal-content{background:#1f2937}}.modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.75rem;position:relative;transition:border-color .3s ease}@media (prefers-color-scheme: dark){.modal-header{border-bottom-color:#4b5563}}.modal-header h3{margin:0;font-size:1.3rem;font-weight:700;color:#1f2937;padding-right:2rem;transition:color .3s ease}@media (prefers-color-scheme: dark){.modal-header h3{color:#f9fafb}}.close-btn{position:absolute;top:1rem;right:1rem;background:#f3f4f6;border:none;border-radius:6px;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background:#e5e7eb}@media (prefers-color-scheme: dark){.close-btn{background:#374151}.close-btn:hover{background:#4b5563}}.modal-status{display:flex;align-items:center;gap:1rem}.save-status{padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600}.save-status.success{background:#d1fae5;color:#065f46}@media (prefers-color-scheme: dark){.save-status.success{background:#065f46;color:#d1fae5}}.save-status.error{background:#fee2e2;color:#991b1b}@media (prefers-color-scheme: dark){.save-status.error{background:#991b1b;color:#fee2e2}}.contract-viewer{flex:1;overflow-y:auto;padding:1.5rem;position:relative;background:#f9fafb;transition:background-color .3s ease}@media (prefers-color-scheme: dark){.contract-viewer{background:#0f1419}}.contract-viewer iframe{width:100%;height:600px;border:1px solid #e5e7eb;border-radius:8px;background:white;transition:border-color .3s ease}@media (prefers-color-scheme: dark){.contract-viewer iframe{border-color:#4b5563}}.signature-field-overlay{position:absolute;z-index:10}.signature-field-overlay canvas{border:2px dashed #3b82f6;border-radius:4px;background:rgba(255,255,255,.95);cursor:crosshair;touch-action:none}.signature-field-label{position:absolute;top:-28px;left:0;font-size:.85rem;font-weight:600;color:#3b82f6;background:white;padding:4px 8px;border-radius:4px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease}@media (prefers-color-scheme: dark){.signature-field-label{background:#374151}}.clear-signature-btn{position:absolute;top:-12px;right:-12px;width:24px;height:24px;border-radius:50%;background:#ef4444;color:#fff;border:2px solid white;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 2px 4px #0003}.signature-actions{padding:1.5rem;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;background:white;flex-wrap:wrap;transition:background-color .3s ease,border-color .3s ease}@media (prefers-color-scheme: dark){.signature-actions{background:#1f2937;border-top-color:#4b5563}}.signature-actions button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.save-draft-btn{background:#6b7280;color:#fff}.save-draft-btn:hover:not(:disabled){background:#4b5563}.save-draft-btn:disabled{background:#d1d5db;cursor:not-allowed}@media (prefers-color-scheme: dark){.save-draft-btn:disabled{background:#4b5563}}.signed-contract-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.completion-status{display:flex;align-items:center;gap:.5rem;color:#065f46;font-weight:600}@media (prefers-color-scheme: dark){.completion-status{color:#d1fae5}}.processing-indicator{display:flex;align-items:center;gap:.5rem;color:#3b82f6;font-weight:600}.spinning{animation:spin 1s linear infinite}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6b7280;transition:color .3s ease}@media (prefers-color-scheme: dark){.loading-screen{color:#9ca3af}}.spinner{width:48px;height:48px;border:4px solid #f3f4f6;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media (prefers-color-scheme: dark){.spinner{border-color:#4b5563;border-top-color:#3b82f6}}.no-events,.error{text-align:center;padding:3rem;color:#6b7280;transition:color .3s ease}@media (prefers-color-scheme: dark){.no-events{color:#9ca3af}}.error{color:#dc2626}@media (prefers-color-scheme: dark){.error{color:#ef4444}}.toast-notification{position:fixed;top:24px;right:24px;z-index:1100;padding:16px 20px;border-radius:12px;box-shadow:0 10px 15px -3px #0000001a;background:#3b82f6;color:#fff;font-weight:600;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.no-results{text-align:center;padding:3rem;color:#6b7280;transition:color .3s ease}@media (prefers-color-scheme: dark){.no-results{color:#9ca3af}}@media (max-width: 768px){.contracts-page{padding:1rem}.stats-summary{flex-direction:column;gap:.75rem}.contract-row{flex-direction:column;align-items:stretch;gap:1rem}.contract-actions{justify-content:stretch;width:100%;gap:.5rem}.contract-actions button{flex:1;justify-content:center}.modal-content{max-height:95vh}.signature-actions{flex-direction:column}.signature-actions button{width:100%}}.planner-signature-container{display:flex;flex-direction:column;height:85vh;background:#f8fafc;overflow:hidden}.pdf-viewer-section-planner{flex:0 0 auto;background:white;border-bottom:2px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;overflow:hidden;height:60%;max-height:60%}.pdf-header-planner{padding:1rem 2rem;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #e2e8f0}.pdf-header-planner h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:#1e293b}.pdf-header-planner p{margin:0;font-size:.875rem;color:#64748b;line-height:1.4}.pdf-viewer-wrapper-planner{height:calc(100% - 70px);padding:1.5rem;background:#e2e8f0;display:flex;justify-content:center;overflow:hidden}.pdf-iframe-planner{width:100%;max-width:900px;height:100%;border:none;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;background:white}.signature-fields-section-planner{flex:1;overflow-y:auto;overflow-x:hidden;padding:2rem;background:white;display:flex;flex-direction:column;gap:1.5rem}.fields-header-planner{text-align:center;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.fields-header-planner h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;color:#1e293b}.fields-header-planner p{margin:.25rem 0;font-size:.95rem;color:#64748b;line-height:1.5}.no-fields-planner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem;color:#64748b;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;min-height:250px}.no-fields-planner p{margin:.5rem 0;font-size:1rem}.fields-list-planner{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1rem}.signature-field-planner{background:white;border:2px solid #e2e8f0;border-left:4px solid #2563eb;border-radius:8px;overflow:hidden;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.signature-field-planner:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.field-header-planner{padding:1rem 1.25rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.field-title-planner{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;flex:1}.required-star-planner{color:#dc2626;font-size:1.2rem;font-weight:700;margin-left:.25rem}.field-type-badge{flex-shrink:0}.field-body-planner{padding:1.5rem}.canvas-container-planner{display:flex;flex-direction:column;gap:.75rem}.canvas-wrapper{border:2px solid #e2e8f0;border-radius:8px;padding:.5rem;background:#fafafa;display:inline-block;width:fit-content;max-width:100%}.signature-canvas-planner{display:block;border:2px dashed #cbd5e1;border-radius:4px;background:#ffffff!important;cursor:crosshair;transition:all .2s ease;touch-action:none}.signature-canvas-planner:hover{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.signature-canvas-planner:active{border-color:#1d4ed8;box-shadow:0 0 0 3px #2563eb33}.clear-btn-planner{align-self:flex-start;padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.25rem}.clear-btn-planner:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 2px 4px #ef44444d}.clear-btn-planner:active{transform:translateY(0)}.canvas-hint-planner{margin:0;font-size:.85rem;color:#64748b;text-align:left;font-style:italic;padding:.5rem;background:#f0f9ff;border-radius:6px;border-left:3px solid #0284c7}.date-field-planner{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.date-input-planner{flex:1;min-width:200px;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;color:#1e293b;background:#f8fafc;font-weight:500}.date-btn-planner{padding:.75rem 1.25rem;background:#059669;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:.5rem}.date-btn-planner:hover{background:#047857;transform:translateY(-1px);box-shadow:0 2px 4px #0596694d}.date-btn-planner:active{transform:translateY(0)}.text-field-wrapper{display:flex;flex-direction:column;gap:.5rem}.text-input-planner{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;color:#1e293b;transition:all .2s ease;background:white}.text-input-planner:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;background:white}.text-input-planner::placeholder{color:#94a3b8}.char-count{font-size:.75rem;color:#64748b;text-align:right}.initials-input{text-align:center;font-size:1.5rem!important;font-weight:700!important;letter-spacing:.2em!important;text-transform:uppercase!important;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%)!important;border:3px solid #7c3aed!important;padding:1rem!important;font-family:Courier New,monospace}.initials-input:focus{background:white!important;border-color:#6d28d9!important;box-shadow:0 0 0 4px #7c3aed26!important}.initials-input::placeholder{font-size:.9rem;letter-spacing:normal;text-transform:none;font-weight:400}.checkbox-label-planner{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:#1e293b;cursor:pointer;padding:.75rem;border-radius:6px;transition:all .2s ease;border:2px solid #e2e8f0}.checkbox-label-planner:hover{background:#f8fafc;border-color:#cbd5e1}.checkbox-input-planner{width:20px;height:20px;cursor:pointer;accent-color:#2563eb}.progress-indicator{padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;margin:.5rem 0}.progress-text{margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:#475569;text-align:center}.progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#2563eb 0%,#3b82f6 100%);transition:width .3s ease;border-radius:4px}.action-buttons-planner{display:flex;justify-content:center;gap:1rem;padding:1.5rem 0;border-top:2px solid #e2e8f0;margin-top:1rem;flex-wrap:wrap}.btn-draft-planner,.btn-finalize-planner{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.btn-draft-planner{background:#6b7280;color:#fff}.btn-draft-planner:hover:not(:disabled){background:#4b5563;transform:translateY(-2px);box-shadow:0 4px 8px #6b72804d}.btn-finalize-planner{background:#2563eb;color:#fff}.btn-finalize-planner:hover:not(:disabled){background:#1d4ed8;transform:translateY(-2px);box-shadow:0 4px 8px #2563eb4d}.btn-draft-planner:disabled,.btn-finalize-planner:disabled{background:#cbd5e1;cursor:not-allowed;opacity:.6;transform:none}.btn-draft-planner:active:not(:disabled),.btn-finalize-planner:active:not(:disabled){transform:translateY(0)}.signing-notice-planner{padding:1rem 1.5rem;background:#f0f9ff;border:1px solid #bae6fd;border-left:4px solid #0284c7;border-radius:8px;text-align:center}.signing-notice-planner p{margin:0;font-size:.875rem;color:#0369a1;line-height:1.6}.signing-notice-planner strong{font-weight:700;color:#075985}.signature-complete-planner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;height:100%;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%)}.complete-icon-planner{margin-bottom:2rem;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.signature-complete-planner h2{margin:0 0 1rem;font-size:2rem;font-weight:700;color:#059669}.signature-complete-planner p{margin:.5rem 0;font-size:1.1rem;color:#047857}.signed-date-planner{margin-top:1.5rem;padding:.75rem 1.5rem;background:white;border-radius:8px;font-weight:600;color:#065f46;box-shadow:0 2px 4px #0000001a;border:2px solid #d1fae5}.btn-close-planner{margin-top:2rem;padding:.875rem 2rem;background:#059669;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.btn-close-planner:hover{background:#047857;transform:translateY(-2px);box-shadow:0 4px 8px #0596694d}.btn-close-planner:active{transform:translateY(0)}@media (max-width: 768px){.planner-signature-container{height:auto}.pdf-viewer-wrapper-planner{padding:1rem}.signature-fields-section-planner{padding:1.5rem 1rem}.fields-header-planner h3{font-size:1.25rem}.action-buttons-planner{flex-direction:column;gap:.75rem}.btn-draft-planner,.btn-finalize-planner{width:100%;justify-content:center}.date-field-planner{flex-direction:column;align-items:stretch}.date-btn-planner{width:100%;justify-content:center}.signature-canvas-planner{max-width:100%}.canvas-wrapper{width:100%}}@media (max-width: 480px){.pdf-header-planner{padding:.75rem 1rem}.pdf-header-planner h3{font-size:1rem}.pdf-header-planner p{font-size:.8rem}.signature-fields-section-planner,.field-body-planner{padding:1rem}.btn-draft-planner,.btn-finalize-planner{padding:.75rem 1.5rem;font-size:.875rem}.signature-complete-planner h2{font-size:1.5rem}.signature-complete-planner p{font-size:1rem}.no-fields-planner{padding:2rem 1rem;min-height:200px}.field-header-planner{flex-direction:column;align-items:flex-start}.initials-input{font-size:1.2rem!important}}.signature-fields-section-planner{scroll-behavior:smooth}.signature-fields-section-planner::-webkit-scrollbar{width:8px}.signature-fields-section-planner::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.signature-fields-section-planner::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.signature-fields-section-planner::-webkit-scrollbar-thumb:hover{background:#94a3b8}.btn-draft-planner:disabled,.btn-finalize-planner:disabled{animation:pulse 1.5s ease-in-out infinite}.signature-canvas-planner:focus,.text-input-planner:focus,.date-btn-planner:focus,.checkbox-input-planner:focus,.btn-draft-planner:focus,.btn-finalize-planner:focus,.btn-close-planner:focus,.clear-btn-planner:focus{outline:2px solid #2563eb;outline-offset:2px}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.status-badge.status-active{background:#dbeafe;color:#1e40af}.status-badge.status-draft{background:#f3f4f6;color:#4b5563}.status-badge.status-pending{background:#fef3c7;color:#92400e}.status-badge.status-partial{background:#e0e7ff;color:#3730a3}.status-badge.status-completed{background:#d1fae5;color:#065f46}.signature-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;margin-left:.5rem}.signature-badge.draft{background:#f3f4f6;color:#6b7280}.signature-badge.sent{background:#dbeafe;color:#1e40af}.signature-badge.partially_signed{background:#fef3c7;color:#92400e}.signature-badge.completed{background:#d1fae5;color:#065f46}.toast-notification{position:fixed;bottom:2rem;right:2rem;background:#1f2937;color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 10px 15px -3px #0000004d;font-size:.875rem;font-weight:500;z-index:9999;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media print{.action-buttons-planner,.btn-close-planner,.clear-btn-planner{display:none}.planner-signature-container{height:auto}.pdf-viewer-section-planner,.signature-fields-section-planner{height:auto;max-height:none;overflow:visible}}-viewer-section-planner{max-height:50vh;height:50vh}.fp-item{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:12px;color:#111827;-webkit-user-select:none;user-select:none;touch-action:none;z-index:2;box-shadow:0 2px 6px #0206171f;border:2px solid rgba(255,255,255,.6);transition:all .15s ease;background:#f0f9ff}.fp-item.selected{outline:3px solid rgba(59,130,246,.3);box-shadow:0 4px 12px #3b82f633;transform:scale(1.02);z-index:999}.fp-item.round{border-radius:50%}.fp-item.chair{border-radius:50%;min-width:22px;min-height:22px;font-size:10px}.fp-item.light{border-radius:50%;min-width:20px;min-height:20px;font-size:10px;background:#fff5e5}.fp-item.stage{border-radius:6px;opacity:.95;font-size:11px;background:#e5f7ff}.fp-label{pointer-events:none;font-weight:600;font-size:11px;color:#000c;text-shadow:0 1px 2px rgba(255,255,255,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fp-item.dragging{cursor:grabbing}.fp-item:hover{filter:brightness(1.05);cursor:grab}.floorplan-page{height:100vh;width:100vw;margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;display:flex;flex-direction:column;overflow:hidden;background:#f8fafc}.floorplan-topbar{display:flex;gap:1rem;padding:1rem;background:#fff;border-bottom:1px solid #e6edf3;box-shadow:0 1px 2px #0000000d;flex-wrap:wrap;z-index:10}.floorplan-topbar select{padding:.5rem;border-radius:8px;border:1px solid #e6edf3;background:#fff;color:#111827;font-size:.9rem;cursor:pointer}.floorplan-content{display:flex;flex:1;overflow:hidden}.floorplan-canvas-wrap{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:1rem;overflow:hidden;background:#f8fafc}.floorplan-canvas{width:100%;height:100%;max-width:1200px;max-height:100%;background:#fff;border:2px dashed #e6edf3;border-radius:12px;position:relative;box-shadow:0 6px 18px #1018280f;touch-action:none}.floorplan-sidebar{width:280px;min-width:220px;padding:1.5rem 1rem;background:#fff;border-left:1px solid #e6edf3;overflow-y:auto;box-sizing:border-box}.floorplan-sidebar::-webkit-scrollbar{display:none}.floorplan-sidebar{-ms-overflow-style:none;scrollbar-width:none}@media (max-width: 1200px){.floorplan-content{flex-direction:column}.floorplan-sidebar{width:100%;border-left:none;border-top:1px solid #e6edf3;min-width:auto}.floorplan-canvas{max-width:100%;height:60vh}}@media (max-width: 768px){.floorplan-topbar{flex-direction:column;gap:.5rem}.floorplan-canvas{height:50vh}}.month__table{width:100%;height:100%;border-collapse:collapse;table-layout:fixed;border-style:hidden;box-shadow:0 0 0 1px var(--cal-border);border-radius:.5rem}.month__weekday{font-weight:600;padding:.75rem .5rem;text-align:center;font-size:.875rem;color:var(--cal-text-secondary);border-bottom:1px solid var(--cal-border)}.month__cell{border:1px solid var(--cal-border);padding:.5rem;vertical-align:top;height:120px;box-sizing:border-box;cursor:pointer;background:var(--cal-bg);transition:background-color .2s ease;color:var(--cal-text-primary)}.month__cell:hover{background-color:var(--cal-button-hover-bg)}.month__cell--today{background:var(--cal-today-btn-bg)}.month__cell--today .month__date{background-color:#3b82f6;color:#fff;border-radius:50%}.month__cell--selected{box-shadow:inset 0 0 0 2px #3b82f6;background-color:var(--cal-button-hover-bg)}.month__cell-inner{display:flex;flex-direction:column;height:100%}.month__date{font-weight:500;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-bottom:.5rem}.month__events{list-style:none;padding:0;margin:0;overflow:hidden}.month__event{background:#3b82f6;color:#fff;margin:2px 0;padding:4px 6px;border-radius:4px;font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 2px #0000001a}@media (max-width: 768px){.month__cell{height:100px;padding:.25rem}.month__weekday{padding:.5rem .25rem}.month__event{font-size:.7rem}}.event-block{position:absolute;left:8px;right:8px;background:var(--cal-today-btn-bg);border-left:4px solid #3b82f6;border-radius:4px;padding:.25rem .5rem;box-sizing:border-box;overflow:hidden;font-size:.8rem;color:var(--cal-text-primary);box-shadow:var(--cal-shadow);cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.event-block:hover{background-color:#dbeafe;border-color:#2563eb}@media (prefers-color-scheme: dark){.event-block:hover{background-color:#0c4a6e;border-color:#60a5fa}}.event-block__header{margin:0 0 2px}.event-block__title{font-weight:600;line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-block__time{font-size:.75rem;color:var(--cal-text-secondary);margin:0;white-space:nowrap}.week{display:flex;flex-direction:column;height:100%;overflow:hidden}.week__header{display:grid;grid-template-columns:70px repeat(7,1fr);flex-shrink:0;border-bottom:1px solid var(--cal-border)}.week__header-time-gutter{border-right:1px solid var(--cal-border)}.week__day-head{text-align:center;padding:.5rem;border-right:1px solid var(--cal-border)}.week__day-head:last-child{border-right:none}.week__day-name{font-size:.75rem;font-weight:500;color:var(--cal-text-secondary);text-transform:uppercase}.week__day-number{font-size:1.25rem;font-weight:600;margin-top:.25rem;display:block}.week__day-head--today .week__day-number{background-color:#3b82f6;color:#fff;border-radius:50%;width:32px;height:32px;line-height:32px;margin:.25rem auto 0}.week__scroll-container{flex-grow:1;overflow:auto}.week__body{display:grid;grid-template-columns:70px repeat(7,1fr);position:relative}.week__timecol{grid-column:1 / 2;position:sticky;left:0;z-index:10;background:var(--cal-bg);border-right:1px solid var(--cal-border)}.week__hours{list-style:none;margin:0;padding:0}.week__hour{text-align:right;padding-right:.5rem;box-sizing:border-box}.week__hour span{position:relative;top:-.6em;font-size:.75rem;color:var(--cal-text-secondary)}.week__daycol{position:relative;border-right:1px solid var(--cal-border)}.week__daycol:last-child{border-right:none}.week__daycol--today{background-color:var(--cal-today-btn-bg)}.week__grid-rows{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;pointer-events:none}.week__grid-row{flex-grow:1;border-top:1px solid var(--cal-border)}.week__grid-row:first-child{border-top:none}.week__events-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.day{display:flex;flex-direction:column;height:100%}.day__header{padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--cal-border);display:flex;align-items:center;gap:.75rem}.day__title{margin:0;font-size:1.25rem;font-weight:600}.day__today-badge{background:var(--cal-today-btn-bg);color:var(--cal-text-primary);padding:.25rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600}.day__body-scroll{flex-grow:1;overflow:auto;border:1px solid var(--cal-border);border-radius:.5rem}.day__body{display:flex;position:relative}.day__timecol{width:70px;flex-shrink:0;padding-right:.5rem;box-sizing:border-box;background:var(--cal-bg);border-right:1px solid var(--cal-border);position:sticky;left:0;z-index:10}.day__hours{list-style:none;margin:0;padding:0}.day__hour{padding-right:.5rem;text-align:right;font-size:.75rem;color:var(--cal-text-secondary);box-sizing:border-box;position:relative;top:-.5em}.day__col{flex:1;position:relative}.day__col--today{background:var(--cal-today-btn-bg)}.day__grid-rows{list-style:none;margin:0;padding:0}.day__grid-row{border-top:1px solid var(--cal-border);box-sizing:border-box}.day__events-layer{position:absolute;top:0;right:0;bottom:0;left:0}.schedule{overflow-y:auto;height:100%;box-sizing:border-box;color:var(--cal-text-primary)}.schedule__list{list-style:none;margin:0;padding:0}.schedule__item{padding:1rem 1.5rem;border-bottom:1px solid var(--cal-border);background:var(--cal-bg);cursor:pointer;transition:background-color .2s ease}.schedule__item:hover{background-color:var(--cal-button-hover-bg)}.schedule__item--today{background:var(--cal-today-btn-bg);border-left:4px solid #3b82f6;padding-left:calc(1.5rem - 4px)}.schedule__title{font-weight:600;font-size:1rem;margin:0 0 .25rem}.schedule__meta{color:var(--cal-text-secondary);margin:0;font-size:.875rem}:root{--cal-bg: #ffffff;--cal-border: #e5e7eb;--cal-text-primary: #111827;--cal-text-secondary: #6b7280;--cal-button-bg: #ffffff;--cal-button-border: #d1d5db;--cal-button-hover-bg: #f9fafb;--cal-today-btn-bg: #e0f2fe;--cal-today-btn-border: #bae6fd;--cal-view-btn-active-bg: #f3f4f6;--cal-view-btn-active-border: #d1d5db;--cal-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1)}@media (prefers-color-scheme: dark){:root{--cal-bg: #1f2937;--cal-border: #374151;--cal-text-primary: #f9fafb;--cal-text-secondary: #9ca3af;--cal-button-bg: #374151;--cal-button-border: #4b5563;--cal-button-hover-bg: #4b5563;--cal-today-btn-bg: #0c4a6e;--cal-today-btn-border: #0369a1;--cal-view-btn-active-bg: #4b5563;--cal-view-btn-active-border: #6b7280}}.cal__container{width:100%;max-width:95vw;margin:auto;padding:1rem;border:1px solid var(--cal-border);border-radius:.75rem;background:var(--cal-bg);color:var(--cal-text-primary);display:flex;flex-direction:column;box-sizing:border-box;box-shadow:var(--cal-shadow)}.cal__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--cal-border)}.cal__nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.cal__nav-controls{display:flex;align-items:center}.cal__nav-btn{padding:.5rem;background:var(--cal-button-bg);border:1px solid var(--cal-button-border);cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--cal-text-secondary);transition:background-color .2s ease,border-color .2s ease}.cal__nav-btn:hover{background-color:var(--cal-button-hover-bg)}.cal__nav-btn:first-child{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.cal__nav-btn:last-child{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.cal__today-btn{background:var(--cal-today-btn-bg);border-color:var(--cal-today-btn-border);color:var(--cal-text-primary);border-radius:.5rem;margin-inline:.5rem;padding-inline:1rem;width:auto;font-weight:500}.cal__title{margin:0;font-size:1.25rem;font-weight:600;white-space:nowrap}.cal__view-switch{display:flex;background-color:var(--cal-button-hover-bg);border-radius:.5rem;padding:.25rem}.cal__view-btn{padding:.5rem 1rem;border:1px solid transparent;background:none;border-radius:.375rem;cursor:pointer;font-weight:500;color:var(--cal-text-secondary);transition:all .2s ease}.cal__view-btn.is-active{background:var(--cal-bg);color:var(--cal-text-primary);border-color:var(--cal-border);box-shadow:0 1px 2px #0000000d}.cal__body{flex-grow:1;min-height:0;overflow:auto}.newevent-container{max-width:800px;margin:0 auto;padding:2rem;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;flex-direction:column;align-items:center}.back-button-container{display:flex;width:100%;flex-direction:row;justify-content:flex-start;padding-bottom:1rem}.intro{text-align:center;margin-bottom:3rem;color:#fff}.newevent-title{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.newevent-subtitle{font-size:1.1rem;margin:0;opacity:.9;font-weight:300}.event-form{background:white;border-radius:16px;padding:2.5rem;box-shadow:0 20px 60px #0000001a;width:100%;max-width:600px}.form-group{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.95rem}.form-group input,.form-group select{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s ease;background:#fefefe;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:white}.form-group input:hover,.form-group select:hover{border-color:#d1d5db}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=US-ASCII,<svg viewBox='0 0 4 5' xmlns='http://www.w3.org/2000/svg'><path d='M2 0L0 2h4zm0 5L0 3h4z' fill='%23666'/></svg>");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px;padding-right:3rem}.form-hint{display:block;margin-top:.25rem;font-size:.875rem;color:#6b7280;font-style:italic}.create-event-btn{width:100%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem;text-transform:uppercase;letter-spacing:.5px}.create-event-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.create-event-btn:active{transform:translateY(0)}.message{margin-top:1.5rem;padding:1rem 1.5rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;font-weight:500;max-width:600px;width:100%}.message-icon{font-size:1.2rem}.error-message{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.success-message{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-group input::placeholder{color:#9ca3af;font-weight:400}.form-group label:after{content:""}@media (max-width: 768px){.newevent-container{padding:1rem}.newevent-title{font-size:2rem}.event-form{padding:1.5rem}.intro{margin-bottom:2rem}.back-button{font-size:.9rem;padding:.65rem 1.25rem}}@media (max-width: 480px){.newevent-container{padding:.5rem}.newevent-title{font-size:1.75rem}.event-form{padding:1.25rem}}.events-list{max-width:1200px;margin:0 auto;padding:40px 20px}.events-header{text-align:center;margin-bottom:40px;padding:0}.events-header h2{font-size:2.5rem;font-weight:700;color:#1f2937;margin:0 0 10px}.events-subtitle{color:#6b7280;font-size:1.1rem;font-weight:400;margin:0}.events-controls{margin-bottom:30px}.search-sort{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap}.search-bar{flex:1;min-width:200px;padding:14px 18px;border-radius:12px;border:2px solid #e5e7eb;background:white!important;font-size:1rem;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.search-bar:focus{outline:none;border-color:#6366f1;box-shadow:0 4px 16px #6366f133;transform:translateY(-1px)}.search-bar::placeholder{color:#6b7280;font-weight:400}.sort-select{padding:14px 18px;border-radius:12px;border:2px solid #e5e7eb;background:white;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;min-width:150px}.sort-select:focus{outline:none;border-color:#6366f1;box-shadow:0 4px 16px #6366f133;transform:translateY(-1px)}.status-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.status-filter-btn{padding:10px 18px;border:2px solid #e5e7eb;border-radius:12px;background:white;color:#6b7280;cursor:pointer;transition:all .3s ease;font-weight:500;font-size:.9rem}.status-filter-btn:hover{border-color:#6366f1;color:#6366f1;transform:translateY(-1px)}.status-filter-btn.active{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);color:#fff;border-color:#6366f1;box-shadow:0 4px 12px #6366f14d}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:25px}.event-card{border-radius:20px;padding:24px;background:linear-gradient(145deg,#ffffff 0%,#f8fafc 100%);box-shadow:0 10px 25px #0000001a,0 4px 12px #0000000d;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.event-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#6366f1 0%,#8b5cf6 50%,#ec4899 100%);opacity:0;transition:opacity .3s ease}.event-card:hover:before{opacity:1}.event-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #00000026,0 8px 20px #6366f11a}.event-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.event-card h3{margin:0;font-size:1.3rem;font-weight:600;color:#1f2937;line-height:1.2;flex:1}.event-status{padding:6px 12px;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;text-transform:capitalize;box-shadow:0 2px 8px #0003}.event-details{margin-bottom:16px}.event-details p{margin:8px 0;color:#4b5563;font-size:.95rem;display:flex;align-items:center;gap:8px}.event-description{margin-bottom:20px}.event-description p{color:#6b7280;font-size:.9rem;line-height:1.5;margin:0;font-style:italic}.event-buttons{display:flex;gap:12px}.event-buttons button{flex:1;border:none;border-radius:12px;padding:12px 16px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.create-event-btn button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:.75rem;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(100deg,#1d4ed8,#7c3aed);cursor:pointer;transition:all .2s ease;box-shadow:0 3px 8px #00000026}.select-btn{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);color:#fff;box-shadow:0 4px 12px #6366f14d}.select-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.quick-view-btn{background:rgba(255,255,255,.8);color:#6366f1;border:2px solid rgba(99,102,241,.2)}.quick-view-btn:hover{background:rgba(99,102,241,.1);border-color:#6366f1;transform:translateY(-2px);box-shadow:0 4px 12px #6366f133}.loading,.no-events{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px;color:#6b7280;font-size:1.1rem;min-height:200px}.spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media (max-width: 992px){.events-list{padding:30px 15px}.events-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.events-header h2{font-size:2.2rem}}@media (max-width: 600px){.events-list{padding:20px 10px}.events-header h2{font-size:1.8rem}.events-subtitle{font-size:1rem}.search-sort{flex-direction:column;gap:12px}.search-bar,.sort-select{width:100%;padding:12px 16px}.status-filters{justify-content:flex-start;gap:6px}.status-filter-btn{padding:8px 14px;font-size:.85rem}.events-grid{grid-template-columns:1fr;gap:20px}.event-card{padding:20px}.event-header{flex-direction:column;align-items:flex-start;gap:8px}.event-card h3{font-size:1.1rem}.event-details p{font-size:.9rem}.event-buttons{flex-direction:column;gap:10px}}@media (max-width: 400px){.events-list{padding:15px 8px}.events-header h2{font-size:1.6rem}.event-card{padding:16px}}.rsvp-page{min-height:100vh;background:white;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;align-items:center;justify-content:center}.rsvp-container{width:100%;max-width:600px}.success-card,.error-card,.loading-card{background:white;border-radius:20px;padding:3rem 2rem;box-shadow:0 20px 40px #0000001a;text-align:center;margin:0 auto}.brand-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.brand-title{color:#2563eb;font-size:2.5rem;font-weight:800;margin:0;letter-spacing:-.02em}.brand-subtitle{color:#6b7280;margin:.5rem 0 0;font-size:1rem}.status-section{padding:2rem 0;margin:2rem 0;border-radius:16px}.status-section.accepted{background:#ecfdf5;border:2px solid #10b981}.status-section.declined{background:#fef2f2;border:2px solid #ef4444}.status-icon{font-size:3rem;margin-bottom:1rem}.status-title{margin:0;font-size:1.75rem;font-weight:700}.status-section.accepted .status-title{color:#10b981}.status-section.declined .status-title{color:#ef4444}.event-details{margin:2rem 0;padding:1.5rem;background:#f9fafb;border-radius:12px}.event-title{color:#2563eb;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.event-date{color:#6b7280;margin:0;font-size:1rem}.message-section{margin:2rem 0}.main-message{font-size:1.1rem;color:#374151;margin-bottom:1rem;line-height:1.6}.additional-message{font-size:1rem;color:#6b7280;margin:0}.confirmation-section{margin:2rem 0;padding:1rem;background:#f0f9ff;border-radius:8px;border-left:4px solid #2563eb}.confirmation-text{margin:0;font-size:.9rem;color:#1e40af}.rsvp-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;color:#6b7280}.rsvp-footer p{margin:0 0 .25rem}.rsvp-footer strong{color:#374151}.loading-spinner{width:48px;height:48px;border:4px solid #f3f4f6;border-top:4px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}.loading-card h2{color:#2563eb;margin-bottom:1rem}.loading-card p{color:#6b7280;margin:0}.error-icon{font-size:3rem;margin-bottom:1rem}.error-card h2{color:#ef4444;margin-bottom:1rem}.error-card p{color:#6b7280;margin:.5rem 0;line-height:1.6}.retry-button{background:#2563eb;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;margin-top:1rem;transition:background .2s ease}.retry-button:hover{background:#1d4ed8}@media (max-width: 640px){.rsvp-page{padding:1rem}.success-card,.error-card,.loading-card{padding:2rem 1.5rem}.brand-title{font-size:2rem}.status-title{font-size:1.5rem}.event-title{font-size:1.25rem}}.vendor-profile{padding:0}.profile-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.profile-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.profile-subtitle{color:#6b7280;margin:0}.profile-actions{display:flex;gap:.75rem}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-delete{display:flex;align-items:center;gap:.5rem;background:white;border:2px solid #ef4444;color:#ef4444;padding:.75rem 1rem;border-radius:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-delete:hover:not(:disabled){background:#fef2f2}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:white;border-radius:.75rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb;transition:box-shadow .2s ease}.profile-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:2rem}.business-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.business-name-section h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.category-badge{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:.375rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500;display:inline-block}.profile-image-container{flex-shrink:0;text-align:center}.profile-image-wrapper{position:relative;display:inline-block;margin-bottom:.75rem}.profile-image-large{width:220px;height:220px;border-radius:50%;object-fit:cover;border:6px solid #e5e7eb;transition:all .3s ease;position:relative;z-index:2}.profile-image-hover{position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;border-radius:50%;background:linear-gradient(135deg,#1d4ed8,#7c3aed);opacity:0;transition:all .3s ease;z-index:1}.profile-image-wrapper:hover .profile-image-hover{opacity:.1;top:-8px;left:-8px;right:-8px;bottom:-8px}.profile-image-wrapper:hover .profile-image-large{border-color:#1d4ed8;transform:scale(1.05)}.verified-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.5rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:500;margin-top:.5rem}.verified-badge svg{flex-shrink:0}.description-section h4{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.description-section p{color:#6b7280;line-height:1.6;margin:0}.contact-item{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #f3f4f6}.contact-item:last-child{border-bottom:none;padding-bottom:0}.contact-icon{color:#1d4ed8;flex-shrink:0}.contact-details{display:flex;flex-direction:column;gap:.25rem}.contact-label{font-size:.875rem;font-weight:500;color:#6b7280}.contact-value{font-size:1rem;font-weight:500;color:#1f2937}.service-item:last-child{border-bottom:none;padding-bottom:0}.service-item h4{margin:0;font-size:1rem;font-weight:600;color:#1f2937}.service-notes{font-style:italic;color:#6b7280;background:#f8fafc;padding:.5rem;border-radius:.375rem;border-left:3px solid #1d4ed8;margin-top:.5rem!important}.service-actions{display:flex;gap:.5rem;flex-shrink:0}.error-text{color:#ef4444;font-size:.75rem;font-weight:500}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:white;border-radius:.75rem;width:100%;max-width:600px;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column;max-height:85vh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937}.close-btn{background:none;border:none;color:#9ca3af;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:all .2s ease}.close-btn:hover{color:#6b7280;background:#f3f4f6}.modal-body{padding:1.5rem;flex:1;overflow-y:auto;display:flex;flex-direction:column}.form-field input::placeholder,.form-field textarea::placeholder{color:#9ca3af;font-size:.8rem}.form-field textarea{resize:vertical;min-height:100px;font-family:inherit}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;flex-shrink:0;background:white;border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #1d4ed8;border-radius:50%;animation:spin 1s linear infinite}.error{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:.5rem;border-left:4px solid #dc2626;margin:1rem 0}#no-profile-found{text-align:center;color:#6b7280;font-size:1.125rem;margin:2rem 0}@media (max-width: 1024px){.profile-header{flex-direction:column;gap:1rem;align-items:flex-start}.profile-grid{grid-template-columns:1fr}.business-info{flex-direction:column;gap:1.5rem;text-align:center;align-items:center}}@media (max-width: 768px){.summary-grid{grid-template-columns:repeat(2,1fr)}.service-item{flex-direction:column;gap:1rem;align-items:flex-start}.service-actions{align-self:flex-end}.modal{padding:.5rem;align-items:flex-start}.modal-content.service-form{margin:0;max-height:95vh;max-width:95%}.modal-body{padding:1rem}.form-columns{grid-template-columns:1fr;gap:1rem}.modal-header{padding:1rem 1.5rem}.modal-actions{padding:1rem 1.5rem;flex-direction:column-reverse;gap:.5rem}.modal-actions button{width:100%;justify-content:center}.profile-image-large{width:180px;height:180px}}@media (max-width: 480px){.summary-grid{grid-template-columns:1fr}.profile-title,.summary-value{font-size:1.5rem}.profile-image-large{width:160px;height:160px}.modal{padding:.25rem}.modal-content.service-form{max-width:100%;width:100%}.modal-body{padding:.75rem}.form-field input,.form-field textarea{padding:.625rem}.verified-badge{font-size:.8rem;padding:.4rem .8rem}.form-field textarea{min-height:80px}}.description-section{margin-top:1.5rem}.description-section h4{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 .75rem}.description-content{border:2px solid #e5e7eb;border-radius:.75rem;padding:1.25rem;background:#fafafa;transition:all .2s ease}.description-content:hover{border-color:#d1d5db;background:#f8fafc}.description-content p{color:#6b7280;line-height:1.6;margin:0;font-size:.95rem}.summary-change{color:#10b981;font-size:.875rem;font-weight:500;background:rgba(16,185,129,.1);padding:.25rem .5rem;border-radius:.375rem}.summary-value.loading{color:#d1d5db;background:#d1d5db;border-radius:.25rem;min-width:60px;height:2rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.description-content{padding:1rem}.description-section h4{font-size:1rem}.description-content p{font-size:.9rem}}@media (max-width: 480px){.description-content{padding:.75rem}.description-content p{font-size:.85rem}}.popup-notifications-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:400px;width:100%}.popup-notification{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e5e7eb;transform:translate(400px);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;position:relative}.popup-notification.visible{transform:translate(0);opacity:1}.popup-notification.hidden{transform:translate(400px);opacity:0}.popup-notification.success{border-left:4px solid #10b981}.popup-notification.error{border-left:4px solid #ef4444}.popup-notification.warning{border-left:4px solid #f59e0b}.popup-notification.info{border-left:4px solid #3b82f6}.notification-content{display:flex;align-items:flex-start;gap:12px;padding:16px;position:relative;background:white}.notification-icon{flex-shrink:0;margin-top:2px;border-radius:50%;padding:4px}.popup-notification.success .notification-icon{color:#10b981;background:rgba(16,185,129,.1)}.popup-notification.error .notification-icon{color:#ef4444;background:rgba(239,68,68,.1)}.popup-notification.warning .notification-icon{color:#f59e0b;background:rgba(245,158,11,.1)}.popup-notification.info .notification-icon{color:#3b82f6;background:rgba(59,130,246,.1)}.notification-text{flex:1;min-width:0}.notification-title{font-weight:600;font-size:.95rem;color:#1f2937;margin-bottom:4px;line-height:1.2}.notification-message{font-size:.875rem;color:#6b7280;line-height:1.4}.notification-close{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;flex-shrink:0;margin-top:2px}.notification-close:hover{color:#6b7280;background:#f3f4f6}.notification-progress{height:3px;background:linear-gradient(90deg,#3b82f6,#60a5fa);width:100%;transform:scaleX(1);transform-origin:left;animation:progressShrink linear forwards}.popup-notification.success .notification-progress{background:linear-gradient(90deg,#10b981,#34d399)}.popup-notification.error .notification-progress{background:linear-gradient(90deg,#ef4444,#f87171)}.popup-notification.warning .notification-progress{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.popup-notification.info .notification-progress{background:linear-gradient(90deg,#3b82f6,#60a5fa)}@keyframes progressShrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.popup-notification:hover{box-shadow:0 25px 50px -12px #00000040;transform:translateY(-2px)}.popup-notification.visible:hover{transform:translate(0) translateY(-2px)}@media (max-width: 768px){.popup-notifications-container{top:10px;right:10px;left:10px;max-width:none}.popup-notification{border-left-width:3px}.notification-content{padding:12px}.notification-title{font-size:.9rem}.notification-message{font-size:.8rem}}@media (max-width: 480px){.popup-notifications-container{top:5px;right:5px;left:5px}.notification-content{padding:10px;gap:8px}}.delete-confirm-modal{max-width:450px;width:90%;background:white;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;overflow:hidden}.delete-confirm-header{display:flex;align-items:center;gap:12px;padding:24px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-bottom:1px solid #fecaca}.delete-confirm-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#ef4444;border-radius:50%;color:#fff;flex-shrink:0}.delete-confirm-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#dc2626}.delete-confirm-body{padding:24px}.delete-confirm-body p{margin:0 0 12px;color:#374151;line-height:1.5}.delete-confirm-body p:last-child{margin-bottom:0}.delete-warning-text{color:#ef4444!important;font-size:.875rem;font-weight:500;background:#fef2f2;padding:12px;border-radius:8px;border-left:3px solid #ef4444}.delete-confirm-actions{display:flex;gap:12px;padding:16px 24px 24px;border-top:1px solid #e5e7eb}.delete-confirm-actions .btn-secondary{flex:1;justify-content:center;background:white;border:2px solid #d1d5db;color:#374151}.delete-confirm-actions .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-delete-confirm{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:12px 24px;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-delete-confirm:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-delete-confirm:disabled{opacity:.7;cursor:not-allowed;transform:none}.loading-spinner-small{width:16px;height:16px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 480px){.delete-confirm-modal{width:95%;margin:10px}.delete-confirm-header{padding:20px;flex-direction:column;text-align:center;gap:8px}.delete-confirm-body{padding:20px}.delete-confirm-actions{flex-direction:column;gap:8px;padding:16px 20px 20px}}.vendor-apply-page{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:2rem;background-color:var(--dashboard-bg, #f5f7fb);box-sizing:border-box}.vendor-apply-card{background-color:#fff;border:2px solid #1d4ed8;border-radius:.75rem;padding:2rem;width:100%;max-width:600px;box-shadow:0 1px 3px #0000001a}.vendor-apply-card h1{font-size:1.75rem;font-weight:700;color:#1f2937;margin-bottom:1.5rem;text-align:center}.error{color:#dc2626;background-color:#fee2e2;padding:.5rem 1rem;border-radius:.5rem;margin-bottom:1rem;text-align:center}.success{color:#059669;background-color:#d1fae5;padding:.5rem 1rem;border-radius:.5rem;margin-bottom:1rem;text-align:center}.vendor-apply-form{display:flex;flex-direction:column;gap:1rem}.vendor-apply-form label{display:flex;flex-direction:column;font-weight:500;color:#1f2937;font-size:.95rem}.vendor-apply-form input[type=text],.vendor-apply-form input[type=email],.vendor-apply-form input[type=file],.vendor-apply-form textarea,.vendor-apply-form input[list]{margin-top:.25rem;padding:.5rem .75rem;font-size:.95rem;border:1px solid #d1d5db;border-radius:.5rem;background-color:#f9fafb;color:#1f2937;transition:border-color .2s ease,box-shadow .2s ease}.vendor-apply-form input:focus,.vendor-apply-form textarea:focus,.vendor-apply-form input[list]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;background-color:#fff}.vendor-apply-form input[type=file]{padding:.25rem;cursor:pointer}button{background:linear-gradient(100deg,#1d4ed8,#7c3aed);color:#fff}.btn.primary{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;background:linear-gradient(100deg,#1d4ed8,#7c3aed);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:opacity .2s ease,transform .2s ease;margin-top:1rem}.btn.primary:hover{opacity:.9;transform:translateY(-2px)}.profile-preview{margin:1rem 0;text-align:center}.profile-preview img{max-width:150px;max-height:150px;object-fit:cover;border-radius:12px;border:2px solid var(--primary-purple-blue)}@media (max-width: 768px){.vendor-apply-page{padding:1rem}.vendor-apply-card{padding:1.5rem}}.vendor-waiting-section{position:relative;top:0;left:0;width:100%;min-height:100vh;background-color:var(--dashboard-bg, #f5f7fb);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;text-align:center;box-sizing:border-box;z-index:1}.navbar{position:relative;z-index:10}.vendor-waiting-section h1{font-size:2rem;font-weight:700;margin-bottom:1rem}.vendor-waiting-section p{font-size:1rem;color:#6b7280;margin-bottom:2rem;max-width:500px}.vendor-waiting-section button{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;background:linear-gradient(100deg,#1d4ed8,#7c3aed);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.vendor-waiting-section button:hover{opacity:.9;transform:translateY(-2px)}.vendor-dashboard{padding:0}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.dashboard-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.dashboard-subtitle{color:#6b7280;margin:0}.dashboard-actions{display:flex;gap:.75rem}.btn-primary{display:flex;align-items:center;gap:.5rem;background:linear-gradient(100deg,#1d4ed8,#7c3aed);color:#fff;padding:.75rem 1rem;border-radius:.75rem;font-weight:500;border:none;cursor:pointer;transition:opacity .2s ease}.btn-primary:hover{opacity:.9}.btn-secondary{display:flex;align-items:center;gap:.5rem;background:white;border:2px solid #1d4ed8;color:#1d4ed8;padding:.75rem 1rem;border-radius:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#dbeafe}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;height:200px}.summary-card{background:white;border-radius:.75rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb;transition:box-shadow .2s ease;height:80%}.summary-card:hover{box-shadow:0 10px 15px -3px #0000001a}.summary-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.summary-icon{padding:.75rem;border-radius:.5rem;color:#fff}.summary-icon.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.summary-icon.green{background:linear-gradient(135deg,#10b981,#059669)}.summary-icon.yellow{background:linear-gradient(135deg,#f59e0b,#d97706)}.summary-icon.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.summary-change{color:#10b981;font-size:.875rem;font-weight:500}.summary-label{color:#6b7280;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.summary-value{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.25rem;margin-top:.25rem}.summary-subtext{font-size:.75rem;color:#9ca3af;margin:0}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr 350px;gap:2rem;margin-bottom:2rem}.dashboard-sidebar{display:flex;flex-direction:column;gap:1.5rem}.dashboard-card{background:white;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.card-header h3{font-weight:600;color:#1f2937;margin:0}.view-all-link{color:#1d4ed8;font-weight:500;font-size:.875rem;background:none;border:none;cursor:pointer;transition:color .2s ease}.view-all-link:hover{color:#7c3aed}.card-content{padding:1.5rem}.booking-item{padding:1rem 0;border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.booking-item:last-child{border-bottom:none;padding-bottom:0}.booking-item:hover{background-color:#f9fafb;margin:0 -1.5rem;padding-left:1.5rem;padding-right:1.5rem;border-radius:.5rem}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.booking-header h4{font-weight:500;color:#1f2937;margin:0}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge.pending{background-color:#fef3c7;color:#92400e}.booking-footer{display:flex;justify-content:space-between;font-size:.875rem;color:#6b7280}.booking-footer .amount{font-weight:600}.review-item{border-left:4px solid #dbeafe;padding-left:1rem;margin-bottom:1.5rem}.review-item:last-child{margin-bottom:0}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.review-user{display:flex;align-items:center;gap:.5rem}.review-user h4{font-weight:500;color:#1f2937;margin:0}.rating{display:flex;gap:.125rem}.star{color:#d1d5db}.star.filled{color:#fbbf24;fill:currentColor}.review-date{padding-left:10px;font-size:.75rem;color:#9ca3af;font-size:10px}.review-comment{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.contract-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9fafb;border-radius:.5rem;margin-bottom:.75rem}.contract-item:last-child{margin-bottom:0}.contract-item h4{font-weight:500;color:#1f2937;font-size:.875rem;margin:0 0 .25rem}.contract-item p{font-size:.75rem;color:#6b7280;margin:0}.contract-details{text-align:right}.contract-value{font-weight:600;font-size:.875rem;margin:0 0 .25rem}.venue-item{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.venue-item:last-child{margin-bottom:0}.venue-icon.available{color:#10b981}.venue-icon.booked{color:#f59e0b}.venue-name{font-weight:500;font-size:.875rem;color:#1f2937;margin:0 0 .125rem}.venue-details{font-size:.75rem;color:#6b7280;margin:0}.quick-actions{margin-top:2rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1.5rem}.action-card{padding:1rem;border-radius:.75rem;border:none;cursor:pointer;transition:all .2s ease;text-align:center}.action-card:hover{transform:scale(1.05)}.action-card.blue{background:#dbeafe;color:#1e40af}.action-card.blue:hover{background:#bfdbfe}.action-card.green{background:#d1fae5;color:#065f46}.action-card.green:hover{background:#a7f3d0}.action-card.purple{background:#e9d5ff;color:#6b21a8}.action-card.purple:hover{background:#ddd6fe}.action-card.orange{background:#fed7aa;color:#9a3412}.action-card.orange:hover{background:#fdba74}.action-card p{font-size:.875rem;font-weight:500;margin:.5rem 0 0}@media (max-width: 1024px){.dashboard-header{flex-direction:column;gap:1rem;align-items:flex-start}.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-sidebar{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}}@media (max-width: 768px){.dashboard-grid,.dashboard-sidebar{grid-template-columns:1fr}.summary-grid,.actions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.summary-grid,.actions-grid{grid-template-columns:1fr}}.service-item{border-bottom:1px solid #e5e7eb;padding:.75rem 0;display:flex;justify-content:space-between;align-items:flex-start}.service-item h4{margin:0;font-size:1rem;font-weight:600}.service-item p{margin:.2rem 0;color:#374151;font-size:.875rem}.service-notes{font-style:italic;color:#6b7280}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center}.modal-content{background:white;padding:1.5rem;border-radius:.5rem;width:400px;display:flex;flex-direction:column;gap:.75rem}.modal-content input,.modal-content textarea{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.25rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.distribution-item{display:flex;align-items:center;gap:.75rem;padding:.25rem 0}.distribution-stars{display:flex;align-items:center;gap:.5rem;min-width:90px}.distribution-rating{font-weight:600;color:#1f2937;font-size:.875rem;min-width:16px}.distribution-star-icons{display:flex;gap:.125rem}.distribution-progress{flex:1;height:.5rem;background:#f3f4f6;border-radius:.25rem;overflow:hidden}.distribution-progress-bar{height:100%;background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:.25rem;transition:width .3s ease}.no-distribution-data{text-align:center;padding:2rem 1rem;color:#6b7280}.no-distribution-data p{margin:0 0 .5rem;font-size:.875rem}.no-distribution-data small{font-size:.75rem;color:#9ca3af}.service-modal{max-width:500px}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.rating-bar,.rating-star,.rating-progress,.rating-fill,.rating-count{display:none}.booking-stats{display:flex;flex-direction:column;gap:1rem}.performance-metrics-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd}.performance-metrics{display:flex;flex-direction:column;gap:1.5rem}.metric-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:white;border-radius:.5rem;border:1px solid #e2e8f0}.metric-label{color:#475569;font-size:.875rem;font-weight:500;min-width:120px}.rating-distribution{display:flex;flex-direction:column;gap:.75rem}.distribution-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.distribution-stars{display:flex;align-items:center;gap:.5rem;min-width:60px}.distribution-rating{font-weight:700;color:#1f2937;font-size:1rem;min-width:16px}.distribution-progress{flex:1;height:.5rem;background:#f3f4f6;border-radius:.25rem;overflow:hidden;position:relative}.distribution-progress-bar{height:100%;background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:.25rem;transition:width .5s ease;position:relative;overflow:hidden}.distribution-progress-bar:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}.distribution-count{font-size:.875rem;color:#6b7280;min-width:30px;text-align:right;font-weight:600}.status-badge.highlight-accepted{background-color:#d1fae5;color:#065f46;border:2px solid #10b981;font-weight:600}.status-badge.highlight-rejected{background-color:#fee2e2;color:#dc2626;border:2px solid #ef4444;font-weight:600}.modal-content.service-form{max-width:600px;width:100%}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;width:100%}.form-column{display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column;width:100%}.form-label{font-weight:500;color:#374151;margin-bottom:.5rem;font-size:.875rem}.form-field input,.form-field textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;transition:all .2s ease;background:#f9fafb;box-sizing:border-box}.form-field input.error,.form-field textarea.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a;background:#fef2f2}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81a;background:white}.field-error{color:#ef4444;font-size:.75rem;margin-top:.25rem;font-weight:500}.character-count{text-align:right;font-size:.75rem;color:#6b7280;margin-top:.25rem}.error-message{background:#fef2f2;color:#dc2626;padding:.75rem;border-radius:.5rem;border-left:4px solid #dc2626;margin-bottom:1rem;font-size:.875rem}.quick-actions{display:none}@media (max-width: 768px){.form-columns{grid-template-columns:1fr;gap:1rem}.booking-stats-card .card-content,.performance-metrics-card .card-content{padding:1rem}.stat-item,.metric-item{padding:.5rem}.metric-label{min-width:100px;font-size:.8rem}}.status-badge{padding:.5rem 1rem!important;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize;border:2px solid transparent}.status-badge.confirmed{background-color:#d1fae5;color:#065f46}.status-badge.pending{background-color:#fef3c7!important;color:#92400e!important;border-color:#f59e0b!important}.status-badge.review{background-color:#dbeafe;color:#1e40af}.status-badge.highlight-accepted{background-color:#d1fae5!important;color:#065f46!important;border:2px solid #10b981!important;font-weight:600}.status-badge.highlight-pending{background-color:#fef3c7!important;color:#92400e!important;border:2px solid #f59e0b!important;font-weight:600}.status-badge.highlight-rejected{background-color:#fee2e2!important;color:#dc2626!important;border:2px solid #ef4444!important;font-weight:600}.rating-distribution{display:flex;flex-direction:column;gap:.5rem!important}.distribution-item{display:flex;align-items:center;gap:.5rem;padding:.375rem 0!important}.distribution-stars{display:flex;align-items:center;gap:.375rem;min-width:50px}.distribution-rating{font-weight:700;color:#1f2937;font-size:.9rem;min-width:14px}.distribution-progress{flex:1;height:.375rem!important;background:#f3f4f6;border-radius:.25rem;overflow:hidden;position:relative}.distribution-count{font-size:.8rem;color:#6b7280;min-width:25px;text-align:right;font-weight:600}.modal-content.service-form{background:white;color:#1f2937}@media (prefers-color-scheme: dark){.modal-content.service-form{background:#1f2937;color:#f9fafb}.form-label{color:#f9fafb!important}.form-field input,.form-field textarea{background:#374151!important;border-color:#4b5563!important;color:#f9fafb!important}.form-field input::placeholder,.form-field textarea::placeholder{color:#9ca3af!important}.form-field input:focus,.form-field textarea:focus{background:#4b5563!important;border-color:#3b82f6!important}.character-count{color:#9ca3af!important}}.performance-metrics-card{background:white!important;border:1px solid #e5e7eb!important}.loading-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:400px;gap:1rem}.loading-spinner{display:flex;justify-content:center;align-items:center}.spinner{width:24px;height:24px;border:3px solid #e5e7eb;border-top:3px solid #1d4ed8;border-radius:50%;animation:spin 1s linear infinite}.loading-reviews{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;color:#6b7280}.summary-card .loading-spinner{height:2.5rem;display:flex;align-items:center;justify-content:center}.summary-subtext .loading-spinner{height:1rem}.view-all-link .loading-spinner{display:inline-flex;margin-left:.5rem}.booking-stats-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0}.booking-stats{display:flex;flex-direction:column;gap:.75rem}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:white;border-radius:.5rem;border-left:4px solid #e2e8f0;transition:all .2s ease}.stat-item:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.stat-item.confirmed{border-left-color:#10b981}.stat-item.pending{border-left-color:#f59e0b}.stat-item.rejected{border-left-color:#ef4444}.stat-label{color:#64748b;font-size:.875rem;font-weight:500}.stat-value{font-weight:700;font-size:1.125rem}.stat-item.confirmed .stat-value{color:#10b981}.stat-item.pending .stat-value{color:#f59e0b}.stat-item.rejected .stat-value{color:#ef4444}.performance-metrics{display:flex;flex-direction:column;gap:1.25rem}.metric-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:.5rem;border:1px solid #e2e8f0}.metric-label{color:#475569;font-size:.875rem;font-weight:500;min-width:110px}.metric-bar{flex:1;height:.5rem;background:#f1f5f9;border-radius:.25rem;overflow:hidden;position:relative}.metric-fill{height:100%;background:linear-gradient(90deg,#0ea5e9,#0369a1);border-radius:.25rem;transition:width .5s ease;position:relative;overflow:hidden}.metric-fill:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.metric-value{color:#0ea5e9;font-weight:600;font-size:.875rem;min-width:40px;text-align:right}.metric-value-large{font-size:1.5rem;font-weight:700;color:#0ea5e9;background:linear-gradient(135deg,#0ea5e9,#0369a1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 768px){.status-badge{padding:.375rem .75rem!important}.distribution-item{gap:.375rem;padding:.25rem 0!important}.metric-item{gap:.5rem;padding:.5rem}.metric-label{min-width:90px;font-size:.8rem}}.loading-screen{position:fixed;top:var(--navbar-height, 60px);left:0;width:100%;height:calc(100vh - var(--navbar-height, 60px));overflow:hidden;z-index:999;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#f8fafc 0%,#e0f2fe 100%);color:#333;font-size:1.2rem;font-weight:500;opacity:0;animation:fadeIn .5s forwards}.spinner{width:50px;height:50px;border:5px solid rgba(0,0,0,.1);border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes fadeIn{to{opacity:1}}.booking-page{min-height:100vh;padding:2rem;color:#1f2937;font-family:Inter,sans-serif}.booking-page header{margin-bottom:2rem;margin-left:-2rem;margin-top:-2.5rem;text-align:center}.booking-page header h1{font-size:2rem;font-weight:700;color:#111827;margin-bottom:.5rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.booking-page header p{font-size:1.1rem;color:#6b7280;margin-bottom:2rem}.stats-summary{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:white;border-radius:12px;box-shadow:0 2px 4px #0000001a;font-weight:600;color:#374151;transition:transform .2s ease,box-shadow .2s ease}.stat-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.accepted-stat{border-left:4px solid #10b981}.pending-stat{border-left:4px solid #f59e0b}.rejected-stat{border-left:4px solid #ef4444}.filters{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;margin-left:-2rem;justify-content:center}.filters select{padding:.75rem 1.5rem;border:2px solid #e5e7eb;border-radius:12px;outline:none;background-color:#fff;cursor:pointer;font-size:1rem;color:#374151;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.filters select:hover{border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed26}.filters select:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.booking-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-left:-2rem;margin-bottom:100px}.booking-card{background:white;border-radius:16px;padding:2rem;box-shadow:0 4px 6px #0000000d;transition:all .3s ease;border:2px solid transparent;position:relative;overflow:hidden}.booking-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4f46e5,#7c3aed);opacity:.7}.booking-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.booking-card.accepted{border-color:#10b981}.booking-card.pending{border-color:#f59e0b}.booking-card.rejected{border-color:#ef4444}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f3f4f6}.booking-header h2{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-accepted{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.status-pending{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.status-rejected{background:linear-gradient(135deg,#fee2e2,#fca5a5);color:#991b1b}.booking-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.detail-row{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#6b7280;padding:.5rem 0}.detail-row svg{color:#4f46e5;flex-shrink:0}.services-section{margin-bottom:1.5rem}.services-section h4{font-size:1.1rem;font-weight:600;color:#374151;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.services-list{display:flex;flex-direction:column;gap:.75rem}.service-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb;transition:all .2s ease}.service-item:hover{background:#f3f4f6;border-color:#d1d5db}.service-name{font-weight:500;color:#374151;flex-grow:1}.service-status{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-right:.5rem}.service-actions{display:flex;gap:.5rem}.booking-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #f3f4f6}.booking-actions button{flex:1;min-width:120px;padding:.75rem 1rem;border-radius:10px;border:none;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.view-details-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.view-details-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.chat-btn{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.chat-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #06b6d466}.upload-contract-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.upload-contract-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.accept-booking-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.accept-booking-btn:hover:not(.disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.accept-booking-btn.disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);color:#fff;cursor:not-allowed;opacity:.7}.approve-btn.small,.reject-btn.small{padding:.4rem;border-radius:6px;width:32px;height:32px;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.approve-btn.small{background:#d1fae5;color:#065f46}.approve-btn.small:hover{background:#a7f3d0;transform:scale(1.05)}.reject-btn.small{background:#fee2e2;color:#991b1b}.reject-btn.small:hover{background:#fca5a5;transform:scale(1.05)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease}.modal-content{background:white;border-radius:16px;max-width:90vw;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideIn .3s ease}.event-modal{width:800px;padding:2rem}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.5rem;border-bottom:2px solid #f3f4f6;margin-bottom:2rem}.modal-header h2{font-size:1.75rem;font-weight:700;color:#111827;margin:0;background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-btn{background:#f3f4f6;border:none;border-radius:8px;padding:.5rem;cursor:pointer;color:#6b7280;transition:all .2s ease}.close-btn:hover{background:#e5e7eb;color:#374151;transform:scale(1.05)}.modal-body{margin-bottom:2rem}.event-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.detail-section{margin-bottom:2rem}.detail-section h3{font-size:1.25rem;font-weight:600;color:#374151;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.detail-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.75rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.detail-item svg{color:#4f46e5;margin-top:.25rem;flex-shrink:0}.detail-item strong{display:block;color:#374151;font-weight:600;margin-bottom:.25rem}.detail-item p{color:#6b7280;margin:0}.event-description{background:#f9fafb;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb;color:#374151;line-height:1.6;margin:0}.requirements-list{background:#f9fafb;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb;margin:0}.requirements-list li{color:#374151;margin-bottom:.5rem;padding-left:.5rem;border-left:3px solid #4f46e5}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.service-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;transition:all .2s ease}.service-card:hover{background:white;box-shadow:0 4px 6px #0000000d;transform:translateY(-1px)}.service-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.service-header h4{font-size:1.1rem;font-weight:600;color:#374151;margin:0}.service-description{color:#6b7280;font-size:.9rem;margin-bottom:.5rem;line-height:1.5}.service-price{color:#059669;font-weight:600;font-size:.95rem;margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:2px solid #f3f4f6}.modal-footer button{padding:.75rem 1.5rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.error{color:#dc2626;text-align:center;margin-top:2rem;padding:1.5rem;background:#fee2e2;border-radius:8px;font-weight:500}.no-bookings{text-align:center;color:#6b7280;margin-top:4rem;padding:3rem;background:white;border-radius:16px;box-shadow:0 4px 6px #0000000d}@media (max-width: 1024px){.booking-list{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.stats-summary{gap:1rem}.event-details-grid{grid-template-columns:1fr}}@media (max-width: 768px){.booking-page{padding:1rem}.booking-page header{margin-left:0;margin-top:0}.booking-page header h1{font-size:1.5rem}.filters{margin-left:0}.booking-list{grid-template-columns:1fr;margin-left:0}.booking-card{padding:1.5rem}.booking-header{flex-direction:column;align-items:flex-start;gap:1rem}.booking-details{grid-template-columns:1fr}.booking-actions{flex-direction:column}.booking-actions button{min-width:unset}.stats-summary{flex-direction:column;align-items:center}.event-modal{width:95vw;padding:1.5rem}.modal-header h2{font-size:1.5rem}.services-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column}}@media (max-width: 480px){.booking-page{padding:.5rem}.booking-card{padding:1rem}.booking-header h2{font-size:1.25rem}.service-item{flex-direction:column;align-items:flex-start;gap:.5rem}.service-actions{align-self:flex-end}}.vendor-app{min-height:100vh;background:linear-gradient(135deg,#f8fafc 0%,#e0f2fe 100%)}.vendor-navbar{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:50;box-shadow:0 1px 3px #0000001a}.vendor-logo{display:flex;align-items:center;gap:.5rem}.vendor-logo svg{color:#1d4ed8}.vendor-main{max-width:1280px;margin:0 auto;padding:1.5rem}.placeholder-page{text-align:center;padding:5rem 0}.placeholder-text{color:#6b7280;margin-bottom:1.5rem;line-height:1.6}.back-to-dashboard-btn{background:linear-gradient(100deg,#1d4ed8,#7c3aed);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;border:none;cursor:pointer;transition:opacity .2s ease}.back-to-dashboard-btn:hover{opacity:.9}@media (max-width: 768px){.navbar-container{padding:0 1rem}.navbar-left{gap:1rem}.nav-btn{padding:.375rem .75rem;font-size:.875rem}.vendor-main{padding:1rem}.placeholder-page{padding:3rem 0}.placeholder-title{font-size:1.5rem}}.vendor-reviews-page{min-height:100vh;padding:-.75rem 2rem;font-family:Inter,sans-serif;color:#1f2937}.review-page-title{margin-bottom:2rem}.review-page-title h2{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.review-page-title p{font-size:1rem;color:#6b7280;margin:0}.reviews-sort-controls{display:flex;justify-content:flex-end;margin-bottom:2rem}.sort-dropdown{display:flex;align-items:center;gap:.75rem}.sort-dropdown label{font-size:.875rem;font-weight:500;color:#374151;white-space:nowrap}.select-wrapper{position:relative;display:inline-block}.sort-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.5rem 2.5rem .5rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;font-size:.875rem;color:#374151;cursor:pointer;transition:all .2s ease;min-width:180px}.sort-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.sort-select:hover{border-color:#9ca3af}.select-chevron{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;color:#6b7280}.reviews-top-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.distribution-tile{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.distribution-tile h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem}.rating-distribution{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.distribution-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.distribution-stars{display:flex;align-items:center;gap:.25rem;width:50px}.distribution-rating{font-size:.875rem;font-weight:500;width:12px}.distribution-stars svg{color:#fbbf24!important;fill:#fbbf24!important}.distribution-progress{flex-grow:1;height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden;border:1px solid #d1d5db}.distribution-progress-bar{height:100%;border-radius:999px;transition:width .5s ease;background:#3b82f6}.distribution-count{font-size:.875rem;width:20px;text-align:right;font-weight:600}.distribution-summary{display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid #e5e7eb}.distribution-summary p{font-size:.875rem;color:#6b7280;margin:0}.distribution-summary strong{color:#1f2937}.rating-tile{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;display:flex;flex-direction:column;align-items:center}.rating-tile h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem;align-self:flex-start}.rating-circle{display:flex;justify-content:center;margin-bottom:1.5rem}.rating-circle-main{text-align:center;position:relative}.rating-circle-container{width:140px;height:140px;border-radius:50%;border:3px solid #3b82f6;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 4px 6px -1px #3b82f61a;position:relative}.rating-circle-container:before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:50%;border:1px solid #dbeafe;z-index:-1}.rating-circle-main h1{font-size:2.5rem;font-weight:700;color:#111827;margin:0 0 .25rem;line-height:1}.star-rating-small{display:flex;justify-content:center;margin-bottom:.25rem}.total-reviews{font-size:.75rem;color:#6b7280;margin:0;font-weight:500}.rating-breakdown{width:100%;display:flex;flex-direction:column;gap:1rem}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8fafc;border-radius:.5rem;border:2px solid #e5e7eb;transition:all .2s ease}.breakdown-item:nth-child(1){border-color:#3b82f6;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.breakdown-item:nth-child(2){border-color:#8b5cf6;background:linear-gradient(135deg,#faf5ff,#f3e8ff)}.breakdown-item.trend{background:transparent;border:2px solid #e5e7eb}.breakdown-item.trend .breakdown-value.positive{border-color:#10b981}.breakdown-item.trend .breakdown-value.negative{border-color:#ef4444}.breakdown-item.trend.positive{border-color:#10b981;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.breakdown-item.trend.negative{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.breakdown-label{font-size:.875rem;font-weight:500;color:#374151}.breakdown-value{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600}.breakdown-value .rating-number{color:#1f2937;margin-right:.5rem}.breakdown-value.positive{color:#10b981}.breakdown-value.negative{color:#ef4444}.breakdown-value .trend-value{font-weight:600}.breakdown-value .trend-value.stable{color:#6b7280;font-weight:500}.reviews-bottom-section{margin-top:2rem}.review-list-scroll-container{max-height:600px;overflow-y:auto;border-radius:.75rem;border:1px solid #e5e7eb;background:#fff;padding:1.5rem}.review-list-scroll-container::-webkit-scrollbar{width:8px}.review-list-scroll-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.review-list-scroll-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;transition:background .2s ease}.review-list-scroll-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.review-list-scroll-container::-webkit-scrollbar-thumb:active{background:#64748b}.review-list-scroll-container{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.review-list{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-content:flex-start}.review-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:all .2s ease;border:2px solid #3b82f6;position:relative}.review-card:hover{box-shadow:0 4px 12px #00000026;border-color:#1d4ed8;transform:translateY(-2px)}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.star-rating{display:flex;gap:2px}.review-comment{font-size:.875rem;color:#374151;margin-bottom:.75rem;line-height:1.4}.review-time{font-size:.75rem;color:#6b7280}.review-replies{margin-top:.75rem}.reply{background:#f3f4f6;padding:.75rem;border-radius:.5rem;border-left:3px solid #3b82f6}.reply-author{display:block;font-weight:600;margin-bottom:.25rem;color:#1f2937;font-size:.8rem}.reply-text{font-size:.8rem;color:#374151;margin:0;line-height:1.4}.review-reply-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.review-reply-actions button{padding:.25rem .6rem;font-size:.8rem;border:1px solid #3b82f6;border-radius:.375rem;background:transparent;color:#3b82f6;cursor:pointer;transition:all .2s ease}.review-reply-actions button:hover:not(:disabled){background:#3b82f6;color:#fff}.review-reply-actions button:disabled{opacity:.5;cursor:not-allowed;border-color:#9ca3af;color:#9ca3af}.reply-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.reply-form input{flex-grow:1;padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.85rem;border-color:#3b82f6}.reply-form input:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 2px #3b82f633}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.error{color:#ef4444;text-align:center;padding:1rem;border:1px solid #fecaca;border-radius:.5rem;background:#fef2f2}.no-reviews-container{display:flex;justify-content:center;align-items:center;min-height:400px;padding:2rem;background-color:#f9fafb;border-radius:8px;margin:2rem 0;box-shadow:0 1px 3px #0000000d}.no-reviews-content{text-align:center;max-width:600px}.no-reviews-content h3{color:#374151;font-size:1.5rem;margin-bottom:1rem}.no-reviews-content p{color:#6b7280;margin-bottom:2rem}.no-reviews-tips{text-align:left;background-color:#fff;padding:1.5rem;border-radius:6px;box-shadow:0 1px 2px #0000000d}.no-reviews-tips h4{color:#4b5563;margin-bottom:1rem;font-size:1.1rem}.no-reviews-tips ul{list-style-type:none;padding:0}.no-reviews-tips li{color:#6b7280;position:relative;padding:.5rem 0 .5rem 1.5rem;font-size:.95rem}.no-reviews-tips li:before{content:"•";color:#4f46e5;position:absolute;left:0}@media (max-width: 1024px){.review-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.reviews-top-section{grid-template-columns:1fr;gap:1.5rem}.rating-circle-container{width:120px;height:120px}.rating-circle-main h1{font-size:2rem}.review-card{padding:1rem}.reviews-sort-controls{justify-content:flex-start}.review-list-scroll-container{max-height:500px;padding:1rem}}@media (max-width: 480px){.vendor-reviews-page{padding:1rem}.review-card{padding:.75rem}.review-comment{font-size:.8rem}.review-list{grid-template-columns:1fr}.sort-dropdown{flex-direction:column;align-items:flex-start;gap:.5rem;width:100%}.select-wrapper{width:100%}.sort-select{width:100%;min-width:auto}.review-list-scroll-container{max-height:400px;padding:.75rem}.distribution-summary{flex-direction:column;gap:.5rem}.rating-circle-container{width:100px;height:100px}.rating-circle-main h1{font-size:1.75rem}.review-list-scroll-container::-webkit-scrollbar{width:6px}}.tile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.tile-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937}.view-toggle{display:flex;background:#f3f4f6;border-radius:.5rem;padding:.25rem;gap:.25rem}.toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:none;border-radius:.375rem;background:transparent;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.toggle-btn.active{background:#fff;color:#3b82f6;box-shadow:0 1px 2px #0000001a}.toggle-btn:hover:not(.active){color:#374151}.tile-content{min-height:200px;padding-top:.5rem}.monthly-chart{height:100%;display:flex;flex-direction:column;margin-top:.5rem}.chart-bars{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;height:180px;margin-bottom:.5rem;padding:.5rem 0;margin-top:.5rem;position:relative}.chart-bar-container{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.chart-bar-container:after{content:"";position:absolute;bottom:-.5rem;left:0;right:0;height:1px;background:#e5e7eb;z-index:1}.chart-bar-group{display:flex;flex-direction:column;align-items:center;height:100%;width:100%;justify-content:flex-end}.chart-bar-label{font-size:.75rem;color:#6b7280;margin-bottom:.5rem;font-weight:500;order:2;margin-top:.75rem;z-index:2;position:relative}.chart-bars-wrapper{display:flex;gap:.25rem;align-items:flex-end;height:calc(100% - 2rem);width:100%;max-width:60px;order:1;min-height:40px;position:relative;z-index:2}.chart-bar-count{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:.25rem .25rem 0 0;min-height:8px;position:relative;flex:1;display:flex;align-items:flex-start;justify-content:center;transition:all .3s ease;width:100%}.chart-bar-rating{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:.25rem .25rem 0 0;min-height:8px;position:relative;flex:1;display:flex;align-items:flex-start;justify-content:center;transition:all .3s ease;width:100%}.chart-bar-value{position:absolute;top:-1.5rem;font-size:.7rem;font-weight:600;color:#374151;background:#fff;padding:.125rem .25rem;border-radius:.25rem;border:1px solid #e5e7eb;white-space:nowrap;z-index:3}.chart-legend{display:flex;justify-content:center;gap:1.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#6b7280}.legend-color{width:12px;height:12px;border-radius:.125rem}.legend-color.count{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.legend-color.rating{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.no-monthly-data{text-align:center;padding:3rem 1rem;color:#6b7280}.no-monthly-data p{margin:0 0 .5rem;font-size:.875rem}.no-monthly-data small{font-size:.75rem;color:#9ca3af}.rating-distribution{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;margin-top:.5rem}.distribution-summary{display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid #e5e7eb;margin-top:1rem}@media (max-width: 768px){.chart-bars{height:160px;margin-top:.5rem}.chart-bar-value{font-size:.65rem;top:-1.25rem}.view-toggle{flex-direction:column}.toggle-btn{justify-content:center}.tile-content{padding-top:.5rem}.chart-bars-wrapper{height:calc(100% - 1.5rem)}.chart-bar-container:after{bottom:-.4rem}}@media (max-width: 480px){.tile-header{flex-direction:column;align-items:flex-start;gap:1rem}.view-toggle{width:100%}.chart-bars{height:140px;gap:.25rem;margin-top:.5rem}.chart-bar-value{font-size:.6rem;top:-1rem}.tile-content{padding-top:.5rem}.chart-legend{margin-top:1.5rem}.rating-distribution{margin-top:.5rem}.distribution-summary{margin-top:1rem}.chart-bars-wrapper{height:calc(100% - 1.25rem)}.chart-bar-container:after{bottom:-.3rem}}.vendor-contracts-page{padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:transparent}.vendor-contracts-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.vendor-header-left{display:flex;flex-direction:column;align-items:flex-start}.vendor-contracts-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.vendor-contracts-subtitle{color:#6b7280;margin:0;font-size:1rem}.vendor-search-container{position:relative;width:400px;margin-top:.5rem}.vendor-search-container svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none;z-index:1}.vendor-search-input{width:100%;padding:.75rem 3rem .75rem 2.75rem;border:2px solid #e5e7eb;border-radius:.75rem;font-size:.95rem;transition:all .2s ease;background:white;box-sizing:border-box}.vendor-search-input:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81a}.vendor-search-input::placeholder{color:#9ca3af}.vendor-clear-search{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:#e5e7eb;border:none;border-radius:.375rem;padding:.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:2}.vendor-clear-search:hover{background:#d1d5db}.vendor-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.vendor-summary-card{background:white!important;border-radius:.75rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb;transition:box-shadow .2s ease}.vendor-summary-card:hover{box-shadow:0 10px 15px -3px #0000001a}.vendor-summary-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.vendor-summary-card-content{background:transparent}.vendor-summary-icon{padding:.75rem;border-radius:.5rem;color:#fff}.vendor-summary-icon.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.vendor-summary-icon.yellow{background:linear-gradient(135deg,#f59e0b,#d97706)}.vendor-summary-icon.green{background:linear-gradient(135deg,#10b981,#059669)}.vendor-summary-icon.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.vendor-summary-label{color:#6b7280;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.vendor-summary-value{font-size:2rem;font-weight:700;color:#1f2937;margin:.25rem 0}.vendor-summary-subtext{font-size:.75rem;color:#9ca3af;margin:0}.vendor-clients-section{background:white;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb;overflow:hidden}.vendor-section-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.vendor-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.vendor-section-content{padding:1.5rem}.vendor-clients-list{display:flex;flex-direction:column;gap:1.5rem}.vendor-client-card{border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem;background:#fafafa;transition:all .2s ease}.vendor-client-card:hover{background:#f8fafc;box-shadow:0 2px 8px #0000000d}.vendor-client-info-section{display:flex;gap:2rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}.vendor-client-info-section p{display:flex;align-items:center;gap:.5rem;margin:0;color:#374151;font-size:.95rem;font-weight:500}.vendor-client-info-section svg{color:#1d4ed8;flex-shrink:0}.vendor-upload-section{margin-bottom:1rem}.vendor-upload-btn{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:.75rem 1.25rem;border-radius:.5rem;font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.vendor-upload-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.vendor-upload-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;transform:none}.vendor-upload-btn input[type=file]{display:none}.vendor-contracts-list{display:flex;flex-direction:column;gap:.75rem}.vendor-contract-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:white;border:1px solid #e5e7eb;border-radius:.75rem;transition:all .2s ease;gap:1.5rem}.vendor-contract-item:hover{box-shadow:0 4px 12px #00000014;border-color:#d1d5db}.vendor-contract-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.vendor-contract-name-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.vendor-file-name-btn{background:none;border:none;color:#1d4ed8;font-weight:600;cursor:pointer;text-decoration:none;padding:0;font-size:.95rem;transition:all .2s ease;text-align:left;display:flex;align-items:center;gap:.5rem}.vendor-file-name-btn:hover{color:#2563eb;text-decoration:underline}.vendor-contract-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.vendor-last-edited{color:#6b7280;font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:.25rem}.vendor-contract-amount{display:inline-flex;align-items:center;gap:.25rem;font-weight:700;color:#059669;font-size:.95rem}.vendor-status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.vendor-status-badge.status-pending,.vendor-status-badge.status-partial,.vendor-status-badge.status-partially_signed{background:#fef3c7;color:#92400e}.vendor-status-badge.status-completed{background:#d1fae5;color:#065f46}.vendor-status-badge.status-draft{background:#e5e7eb;color:#374151}.vendor-status-badge.status-active{background:#dbeafe;color:#1e40af}.vendor-status-badge.status-rejected{background:#fee2e2;color:#991b1b}.vendor-status-badge.status-review,.vendor-status-badge.status-sent{background:#fef3c7;color:#92400e}.vendor-contract-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0;flex-wrap:wrap}.vendor-btn-sign{display:flex;align-items:center;gap:.375rem;background:linear-gradient(135deg,#1d4ed8,#af1e97);color:#fff;padding:.625rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.vendor-btn-sign:hover:not(:disabled){background:linear-gradient(135deg,#af1e97,#7031e6);transform:translateY(-1px);box-shadow:0 4px 12px #1d4ed84d}.vendor-btn-sign:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;transform:none}.vendor-btn-replace{display:inline-flex;align-items:center;gap:.375rem;background:linear-gradient(135deg,#662dec,#0ec9eb);color:#fff;padding:.625rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.vendor-btn-replace:hover:not(:disabled){background:linear-gradient(135deg,#662dec,#0ec9eb);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.vendor-btn-replace input[type=file]{display:none}.vendor-btn-download{display:flex;align-items:center;gap:.375rem;background:linear-gradient(135deg,#059669,#10b981);color:#fff;padding:.625rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.vendor-btn-download:hover{background:linear-gradient(135deg,#047857,#059669);transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.vendor-btn-delete{display:flex;align-items:center;gap:.375rem;background:white!important;color:#dc2626!important;padding:.625rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;border:2px solid #dc2626!important;cursor:pointer;transition:all .3s ease;white-space:nowrap}.vendor-btn-delete:hover{background:#fef2f2!important;color:#991b1b!important;border-color:#991b1b!important;transform:translateY(-2px);box-shadow:0 4px 12px #dc262633}.vendor-btn-delete:active{transform:translateY(0);box-shadow:0 2px 6px #dc262633}.vendor-no-contracts{text-align:center;padding:2rem;color:#6b7280;font-size:.95rem}.vendor-pricing-modal{display:flex;flex-direction:column;max-height:80vh}.vendor-modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;position:relative}.vendor-modal-title-section h3{font-size:1.3rem;font-weight:700;color:#1f2937;margin:0 0 .5rem;padding-right:2rem}.vendor-modal-title-section p{color:#6b7280;font-size:.95rem;margin:0}.vendor-close-btn{position:absolute;top:1rem;right:1rem;background:#f3f4f6;border:none;border-radius:.375rem;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.vendor-close-btn:hover{background:#e5e7eb}.vendor-pricing-form{flex:1;overflow-y:auto;padding:1.5rem}.vendor-client-summary{display:flex;gap:2rem;padding:1rem;background:#f9fafb;border-radius:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.vendor-client-summary>div{display:flex;align-items:center;gap:.5rem;color:#374151;font-size:.95rem}.vendor-client-summary svg{color:#1d4ed8}.vendor-services-pricing h4{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.vendor-loading-services{display:flex;align-items:center;gap:.75rem;padding:2rem;justify-content:center;color:#6b7280}.vendor-spinner-small{width:20px;height:20px;border:3px solid #e5e7eb;border-top:3px solid #1d4ed8;border-radius:50%;animation:spin 1s linear infinite}.vendor-pricing-fields{display:flex;flex-direction:column;gap:1rem}.vendor-price-field{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:white;border:1px solid #e5e7eb;border-radius:.5rem;flex-wrap:wrap}.vendor-price-label{flex:1;min-width:200px}.vendor-service-name{display:block;font-weight:600;color:#1f2937;margin-bottom:.25rem}.vendor-service-description{display:block;font-size:.85rem;color:#6b7280}.vendor-price-input-container{position:relative;width:150px}.vendor-currency-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#6b7280;font-weight:600}.vendor-price-input{width:100%;padding:.625rem .75rem .625rem 2rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:.95rem;transition:all .2s ease}.vendor-price-input:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81a}.vendor-pricing-summary{margin-top:1.5rem;padding:1rem;background:#f0f9ff;border:2px solid #93c5fd;border-radius:.5rem}.vendor-total-calculation{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem}.vendor-total-label{font-weight:600;color:#1f2937}.vendor-total-amount{font-weight:700;font-size:1.5rem;color:#1d4ed8}.vendor-modal-footer{padding:1.5rem;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;background:#fafafa}.vendor-btn-secondary{padding:.75rem 1.5rem;border:2px solid #e5e7eb;background:white;color:#374151;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.vendor-btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.vendor-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#059669,#10b981);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.vendor-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#047857,#059669);transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.vendor-btn-primary:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.vendor-contract-details-modal{display:flex;flex-direction:column;max-height:90vh}.vendor-modal-quick-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.vendor-file-name-display{color:#6b7280;font-size:.95rem}.vendor-modal-header-actions{display:flex;gap:.5rem;align-items:center}.vendor-modal-body{flex:1;overflow-y:auto;display:flex;gap:1.5rem;padding:1.5rem;background:#f9fafb}.vendor-contract-viewer{flex:2;min-width:0}.vendor-contract-viewer iframe{width:100%;height:600px;border:1px solid #e5e7eb;border-radius:.5rem;background:white}.vendor-unsupported-file{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;background:white;border:1px solid #e5e7eb;border-radius:.5rem;color:#6b7280;gap:1rem}.vendor-contract-info-panel{flex:1;min-width:300px}.vendor-info-section{background:white;border-radius:.5rem;padding:1.25rem;margin-bottom:1rem;border:1px solid #e5e7eb}.vendor-info-section h4{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.vendor-info-grid{display:grid;gap:1rem}.vendor-info-item{display:flex;flex-direction:column;gap:.25rem}.vendor-info-item label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.vendor-info-item span{color:#1f2937;font-size:.95rem}.vendor-pricing-breakdown{display:flex;flex-direction:column;gap:.75rem}.vendor-price-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9fafb;border-radius:.375rem}.vendor-price-item .vendor-service-name{font-weight:500;color:#374151;font-size:.9rem;margin-bottom:0}.vendor-price-value{font-weight:600;color:#1f2937}.vendor-price-total{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f0f9ff;border-radius:.375rem;margin-top:.5rem;border:2px solid #93c5fd}.vendor-total-label{font-weight:600;color:#1f2937;font-size:1rem}.vendor-total-value{font-weight:700;color:#1d4ed8;font-size:1.25rem}.vendor-loading-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:400px;gap:1rem}.vendor-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #1d4ed8;border-radius:50%;animation:spin 1s linear infinite}.vendor-error{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:.5rem;border-left:4px solid #dc2626;margin:1rem 0}.vendor-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#6b7280}.vendor-empty-state svg{margin-bottom:1rem;color:#9ca3af}.vendor-empty-state h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.vendor-empty-state p{font-size:1rem;margin:0}.vendor-no-results{text-align:center;padding:3rem 2rem;color:#6b7280}.vendor-no-results svg{margin-bottom:1rem;color:#9ca3af}.vendor-no-results h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.vendor-no-results p{font-size:1rem;margin:0}.vendor-toast-notification{position:fixed;bottom:2rem;right:2rem;background:white;color:#1f2937;padding:1rem 1.5rem;border-radius:.5rem;box-shadow:0 10px 25px #0003;border:1px solid #e5e7eb;z-index:10000;font-weight:500}@media (max-width: 1024px){.vendor-contracts-header{flex-direction:column;gap:1.5rem;align-items:flex-start}.vendor-search-container{width:100%;max-width:500px}.vendor-modal-body{flex-direction:column}.vendor-contract-info-panel{min-width:100%}}@media (max-width: 768px){.vendor-summary-grid{grid-template-columns:repeat(2,1fr)}.vendor-contract-item{flex-direction:column;align-items:stretch;gap:1rem}.vendor-contract-actions{width:100%;justify-content:stretch}.vendor-contract-actions button,.vendor-contract-actions label{flex:1}.vendor-client-info-section{flex-direction:column;gap:.5rem}.vendor-modal-footer{flex-direction:column}.vendor-modal-footer button{width:100%}.vendor-price-field{flex-direction:column;align-items:stretch}.vendor-price-input-container{width:100%}}@media (max-width: 480px){.vendor-summary-grid{grid-template-columns:1fr}.vendor-contracts-title,.vendor-summary-value{font-size:1.5rem}.vendor-search-container{width:100%}.vendor-contract-actions{flex-direction:column}.vendor-contract-actions button,.vendor-contract-actions label{width:100%;justify-content:center}.vendor-client-summary{flex-direction:column;gap:.5rem}}.tiles-grid.minimized{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;max-height:70vh;overflow-y:auto;padding-right:.5rem}.tiles-grid.minimized::-webkit-scrollbar{width:8px}.tiles-grid.minimized::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.tiles-grid.minimized::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.tiles-grid.minimized::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tiles-grid.minimized{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.floorplan-page{width:100%;max-width:100%;margin:0 auto;padding:1rem -.75rem;box-sizing:border-box;font-family:Inter,sans-serif;display:flex;flex-direction:column;height:100vh}.floorplan-page header{text-align:left;margin-bottom:1.5rem;flex-shrink:0}.controls-row{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;width:100%;box-sizing:border-box;flex-shrink:0}.tiles-grid.minimized{flex:1;min-height:0}.floorplan-page{width:100%;max-width:100%;margin:0 auto;padding:-2rem -1rem;box-sizing:border-box;font-family:Inter,sans-serif}.floorplan-page header{text-align:left;margin-bottom:1.5rem;margin-top:1rem}.floorplan-page h1{font-size:2rem;color:#111827;font-weight:600;margin-bottom:8px;margin-top:-.25rem;padding-top:0}.floorplan-page p{color:#6b7280;margin-top:0;font-size:.95rem;padding-bottom:0;margin-bottom:0}.controls-row{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;width:100%;box-sizing:border-box}.left-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.search-input,.filter-dropdown,.sort-dropdown{padding:.5rem .75rem;border-radius:.5rem;border:1px solid #d1d5db;font-size:.95rem;box-sizing:border-box;min-width:150px;transition:border-color .2s ease,box-shadow .2s ease;background-color:#fff;color:#111827}.search-input::placeholder{color:#9ca3af}.search-input:focus,.filter-dropdown:focus,.sort-dropdown:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.no-floorplans-alert{grid-column:1 / -1;text-align:center;padding:3rem 2rem;color:#6b7280;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.rotating-cube{width:80px;height:80px;position:relative;transform-style:preserve-3d;animation:rotateCube 8s infinite linear;margin:0 auto}.cube-face{position:absolute;width:80px;height:80px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:2px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:2rem;backface-visibility:visible}.cube-front{transform:translateZ(40px)}.cube-back{transform:translateZ(-40px) rotateY(180deg)}.cube-right{transform:translate(40px) rotateY(90deg)}.cube-left{transform:translate(-40px) rotateY(-90deg)}.cube-top{transform:translateY(-40px) rotateX(90deg)}.cube-bottom{transform:translateY(40px) rotateX(-90deg)}@keyframes rotateCube{0%{transform:rotateX(0) rotateY(0) rotate(0)}25%{transform:rotateX(90deg) rotateY(45deg) rotate(45deg)}50%{transform:rotateX(180deg) rotateY(90deg) rotate(90deg)}75%{transform:rotateX(270deg) rotateY(135deg) rotate(135deg)}to{transform:rotateX(360deg) rotateY(180deg) rotate(180deg)}}.no-floorplans-alert h3{color:#374151;font-size:1.25rem;margin:0;font-weight:600}.no-floorplans-alert p{color:#6b7280;margin:0;font-size:.95rem}.tiles-grid.minimized{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.client-tile.minimized{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:.5rem;min-height:auto;position:relative}.client-tile.minimized:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#2563eb}.client-tile.minimized.has-floorplan{border-left:4px solid #10b981}.client-tile.minimized.no-floorplan{border-left:4px solid #6b7280}.tile-header{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.tile-header h3{margin:0;color:#111827;font-size:1rem;font-weight:500;flex:1;line-height:1.4}.new-indicator{position:relative;margin-left:.5rem}.ping{display:block;width:8px;height:8px;background:#ef4444;border-radius:50%;animation:ping 1.5s ease-in-out infinite both}@keyframes ping{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.7}}.event-date{color:#6b7280;font-size:.85rem;margin:0}.availability-tag{margin-top:.25rem}.tag{padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:500;display:inline-block}.tag.available{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.tag.unavailable{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.55);display:flex;justify-content:center;align-items:center;z-index:1000;padding:.5rem;opacity:0;pointer-events:none;transition:opacity .2s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-content{background:#fff;border-radius:12px;max-width:90vw;width:800px;max-height:90vh;overflow-y:auto;padding:1.5rem;box-sizing:border-box;box-shadow:0 10px 25px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem}.modal-header h2{font-size:1.25rem;font-weight:500;color:#111827}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;transition:color .2s ease}.close-btn:hover{color:#111827}.modal-body{width:100%}.event-info{color:#6b7280;font-size:.9rem;margin-bottom:1.5rem}.floorplan-display{display:flex;flex-direction:column;align-items:center;gap:1rem}.modal-floorplan-image{max-width:100%;max-height:60vh;object-fit:contain;border-radius:.5rem;border:2px solid #e5e7eb;cursor:pointer;transition:border-color .2s ease}.modal-floorplan-image:hover{border-color:#2563eb}.modal-actions{display:flex;gap:.75rem;justify-content:center}.enlarge-btn{padding:.5rem 1rem;background:#2563eb;color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-size:.9rem;transition:background-color .2s ease}.enlarge-btn:hover{background:#1d4ed8}.no-floorplan-message{text-align:center;padding:2rem;color:#6b7280}.no-floorplan-message .subtext{font-size:.85rem;margin-top:.5rem}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;color:#64748b;padding:2rem}.loading-screen h2{margin:1rem 0 .5rem;color:#1e293b;font-size:1.2rem}.spinner{border:3px solid #f1f5f9;border-top:3px solid #2563eb;border-radius:50%;width:36px;height:36px;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:.5rem;border:1px solid #fecaca;text-align:center;margin:2rem auto;max-width:400px}@media (max-width: 768px){.controls-row{flex-direction:column;align-items:stretch;gap:.75rem}.left-controls{justify-content:stretch}.search-input,.filter-dropdown,.sort-dropdown{flex:1;min-width:auto}.rotating-cube{width:60px;height:60px}.cube-face{width:60px;height:60px;font-size:1.5rem}.cube-front{transform:translateZ(30px)}.cube-back{transform:translateZ(-30px) rotateY(180deg)}.cube-right{transform:translate(30px) rotateY(90deg)}.cube-left{transform:translate(-30px) rotateY(-90deg)}.cube-top{transform:translateY(-30px) rotateX(90deg)}.cube-bottom{transform:translateY(30px) rotateX(-90deg)}}@media (max-width: 640px){.tiles-grid.minimized{grid-template-columns:1fr}.modal-content{padding:1rem;margin:.5rem}.modal-actions{flex-direction:column;width:100%}.enlarge-btn{width:100%}}.signature-editor-vendor{display:flex;flex-direction:column;height:100vh;background:#f8fafc;overflow:hidden}.pdf-section-vendor{flex:0 0 auto;background:white;border-bottom:2px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;overflow:hidden;height:60vh;max-height:60vh}.pdf-viewer-header-vendor{padding:1rem 2rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.pdf-viewer-header-vendor h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:#1e293b}.pdf-viewer-header-vendor p{margin:0;font-size:.875rem;color:#64748b;line-height:1.4}.pdf-viewer-container-vendor{padding:1.5rem;display:flex;justify-content:center;background:#e2e8f0;height:calc(60vh - 80px);overflow-y:auto}.pdf-object-vendor{box-shadow:0 4px 6px -1px #0000001a;border-radius:8px;background:white}.pdf-fallback-vendor{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:#64748b}.pdf-fallback-vendor p{margin:0 0 1rem;font-size:.95rem}.btn-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-link:hover{background:#1d4ed8;transform:translateY(-1px)}.signature-fields-section-vendor{flex:1;overflow-y:auto;overflow-x:hidden;padding:2rem;padding-bottom:120px;background:white;display:flex;flex-direction:column;gap:1.5rem;position:relative;height:40vh;max-height:40vh}.fields-header-vendor{text-align:center;margin-bottom:.5rem}.fields-header-vendor h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;color:#1e293b}.fields-header-vendor p{margin:0;font-size:.95rem;color:#64748b;line-height:1.5}.add-field-toolbar-vendor{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px dashed #cbd5e1;border-radius:12px;padding:1.5rem;text-align:center}.add-field-toolbar-vendor h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#475569}.field-type-buttons-vendor{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.add-field-btn-vendor{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:2px solid #d1d5db;background:white;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;color:#475569}.add-field-btn-vendor:hover{background:#f8fafc;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.fields-list-section-vendor{flex:1;min-height:200px}.empty-fields-vendor{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;min-height:250px}.empty-fields-vendor p{margin:.5rem 0;color:#64748b;font-size:.95rem}.hint-vendor{font-size:.875rem;color:#94a3b8}.fields-grid-vendor{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;margin-bottom:2rem}.field-card-vendor{background:white;border:1px solid #e2e8f0;border-left:4px solid #2563eb;border-radius:8px;overflow:hidden;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.field-card-vendor:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.field-card-header-vendor{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.field-type-indicator-vendor{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.delete-field-btn-vendor{background:none;border:none;cursor:pointer;padding:.4rem;border-radius:4px;color:#dc2626;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.delete-field-btn-vendor:hover{background:#fef2f2}.field-card-body-vendor{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.form-group-vendor{display:flex;flex-direction:column;gap:.4rem}.form-group-vendor label{font-size:.85rem;font-weight:500;color:#475569}.form-input-vendor,.form-select-vendor{width:100%;padding:.65rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;color:#1e293b;transition:all .2s ease;background:white}.form-input-vendor:focus,.form-select-vendor:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-input-vendor::placeholder{color:#94a3b8}.form-group-checkbox-vendor{display:flex;align-items:center;gap:.5rem}.form-group-checkbox-vendor label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:#475569;font-weight:500}.form-group-checkbox-vendor input[type=checkbox]{width:16px;height:16px;cursor:pointer}.field-position-info-vendor{padding:.5rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;text-align:center}.position-badge-vendor{font-size:.75rem;color:#0369a1;font-weight:500}.field-card-footer-vendor{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f8fafc;border-top:1px solid #e2e8f0}.field-number-vendor{font-size:.8rem;color:#64748b;font-weight:500}.required-badge-vendor{padding:.25rem .6rem;background:#fee2e2;color:#dc2626;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.action-buttons-fixed-vendor{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:1rem;padding:1.25rem 2rem;background:white;border-top:2px solid #e2e8f0;box-shadow:0 -4px 6px -1px #0000001a;z-index:100}.btn-save-vendor,.btn-send-vendor{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.btn-save-vendor{background:#059669;color:#fff}.btn-save-vendor:hover:not(:disabled){background:#047857;transform:translateY(-2px);box-shadow:0 4px 8px #0596694d}.btn-send-vendor{background:#2563eb;color:#fff}.btn-send-vendor:hover:not(:disabled){background:#1d4ed8;transform:translateY(-2px);box-shadow:0 4px 8px #2563eb4d}.btn-save-vendor:disabled,.btn-send-vendor:disabled{background:#cbd5e1;cursor:not-allowed;opacity:.6;transform:none}@media (max-width: 1200px){.fields-grid-vendor{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.signature-editor-vendor{height:auto}.pdf-section-vendor{max-height:50vh;height:50vh}.pdf-viewer-container-vendor{height:calc(50vh - 80px);padding:1rem}.signature-fields-section-vendor{padding:1.5rem 1rem;padding-bottom:140px;height:auto;max-height:none}.fields-grid-vendor{grid-template-columns:1fr}.field-type-buttons-vendor{flex-direction:column;align-items:stretch}.add-field-btn-vendor{justify-content:center}.action-buttons-fixed-vendor{flex-direction:column;padding:1rem;gap:.75rem}.btn-save-vendor,.btn-send-vendor{width:100%;justify-content:center}}@media (max-width: 480px){.pdf-viewer-header-vendor{padding:.75rem 1rem}.pdf-viewer-header-vendor h3{font-size:1rem}.pdf-viewer-header-vendor p{font-size:.8rem}.signature-fields-section-vendor{padding:1rem;padding-bottom:150px}.add-field-toolbar-vendor,.field-card-body-vendor{padding:1rem}.fields-header-vendor h3{font-size:1.25rem}.action-buttons-fixed-vendor{padding:.75rem}.btn-save-vendor,.btn-send-vendor{padding:.75rem 1.25rem;font-size:.875rem}}.vendor-signature-container{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;background:white;border-radius:12px;max-width:700px;margin:0 auto}.signature-header{text-align:center;border-bottom:2px solid #1d4ed8;padding-bottom:1.5rem}.signature-header h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;color:#1f2937}.signature-header p{margin:0 0 1rem;color:#6b7280;font-size:.95rem}.vendor-info-display{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-top:.75rem}.vendor-name{font-weight:600;color:#1f2937;font-size:1rem}.vendor-email{font-size:.875rem;color:#6b7280}.signature-canvas-wrapper{display:flex;flex-direction:column;gap:.75rem}.canvas-label{font-weight:600;color:#1f2937;font-size:.95rem}.signature-canvas{border:2px solid #e5e7eb;border-radius:8px;background:white;cursor:crosshair;touch-action:none;box-shadow:0 2px 4px #0000000d;transition:all .2s ease;display:block;width:100%;max-width:500px;height:150px}.signature-canvas:hover{border-color:#1d4ed8;box-shadow:0 4px 12px #1d4ed81a}.signature-canvas:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81a}.canvas-hint{margin:0;font-size:.8rem;color:#9ca3af;text-align:center}.signature-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb;flex-wrap:wrap}.btn-clear,.btn-cancel,.btn-save-signature{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.95rem}.btn-clear{background:white;color:#dc2626;border:2px solid #dc2626}.btn-clear:hover{background:#fef2f2}.btn-cancel{background:white;color:#6b7280;border:2px solid #d1d5db}.btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.btn-save-signature{background:linear-gradient(135deg,#1d4ed8,#7c3aed);color:#fff}.btn-save-signature:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #1d4ed84d}.btn-save-signature:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.vendor-signature-container{padding:1.5rem;max-width:100%}.signature-canvas{height:120px}.signature-actions{flex-direction:column}.btn-clear,.btn-cancel,.btn-save-signature{width:100%;justify-content:center}}@media (max-width: 480px){.vendor-signature-container{padding:1rem}.signature-header h3{font-size:1.25rem}.signature-canvas{height:100px}.btn-clear,.btn-cancel,.btn-save-signature{padding:.65rem 1.25rem;font-size:.85rem}}.highlights-page{max-width:1200px;margin:2rem auto;padding:1.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:#f9fafb}.highlights-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;margin-bottom:2rem;border-bottom:1px solid #e5e7eb}.highlights-header h1{font-size:2.25rem;font-weight:800;color:#1f2937}.primary-btn{background-color:#3b82f6;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s ease,transform .1s ease;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.primary-btn:hover{background-color:#2563eb}.primary-btn:active{transform:scale(.98)}.primary-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.secondary-btn,.danger-btn{flex:1;padding:10px;border-radius:6px;font-weight:600;cursor:pointer;border:1px solid #d1d5db;background-color:#fff;color:#374151;transition:all .2s ease}.secondary-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.danger-btn{color:#ef4444;border-color:#fca5a5}.danger-btn:hover{background-color:#ef4444;color:#fff}.error-banner,.empty-state,.loading-container{text-align:center;padding:3rem 2rem;background-color:#fff;border:1px dashed #d1d5db;border-radius:12px;margin-top:2rem}.error-banner{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca;display:flex;align-items:center;justify-content:center;gap:10px}.empty-state h3{font-size:1.5rem;margin-bottom:.5rem;color:#1f2937}.empty-state p{color:#6b7280;max-width:400px;margin:0 auto}.spinner{color:#3b82f6;animation:spin 1s linear infinite}.spinner-sm{width:20px;height:20px;color:#fff;animation:spin 1s linear infinite}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.highlight-card{background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.highlight-card:hover{transform:translateY(-5px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.card-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.card-description{color:#4b5563;flex-grow:1;margin:0 0 1.5rem;line-height:1.6}.card-actions{display:flex;gap:10px;margin-top:auto}.card-image-btn{padding:0;border:none;background:#f3f4f6;cursor:pointer;position:relative;display:block}.card-image-btn img{width:100%;height:220px;object-fit:cover;display:block}.card-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#141a2499;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;opacity:0;transition:opacity .3s ease}.card-image-btn:hover .card-image-overlay{opacity:1}.popup-loading{display:flex;align-items:center;gap:1rem;padding:2rem;justify-content:center}.reviews-list-popup{list-style:none;padding:0;margin:0;max-height:50vh;overflow-y:auto}.review-select-btn{width:100%;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin-bottom:10px;text-align:left;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s}.review-select-btn:hover{background-color:#f9fafb;border-color:#3b82f6;box-shadow:0 1px 2px #0000000d}.review-event-name{font-size:.9rem;color:#111827;margin:0 0 10px}.review-comment{font-style:italic;color:#4b5563;margin:0 0 8px}.review-details{font-size:.85rem;color:#6b7280}.highlight-form{display:flex;flex-direction:column;gap:1.5rem}.review-snippet{background-color:#f3f4f6;border:1px solid #e5e7eb;padding:1rem;border-radius:8px;margin-bottom:1rem}.review-snippet p{margin:0;font-size:.9rem;color:#4b5563}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#374151}.form-group input[type=file],.form-group textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;background-color:#fff;transition:border-color .2s,box-shadow .2s}.form-group input[type=file]:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f64d}.form-group textarea{resize:vertical;min-height:120px}.form-actions{display:flex;justify-content:flex-end;margin-top:1rem}.form-error{color:#991b1b;background-color:#fef2f2;padding:10px;border-radius:6px;display:flex;align-items:center;gap:8px}.field-note{font-size:.8rem;color:#6b7280;margin:-4px 0 0}.current-images{display:flex;gap:10px;flex-wrap:wrap}.current-images img{width:80px;height:80px;object-fit:cover;border-radius:6px;border:1px solid #e5e7eb}.view-highlight-body{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.gallery-container{min-width:0}.main-image-container{width:100%;background-color:#f3f4f6;border-radius:8px;overflow:hidden;margin-bottom:1rem;border:1px solid #e5e7eb}.gallery-main-image{width:100%;height:auto;max-height:450px;object-fit:contain;display:block}.thumbnail-container{display:flex;gap:10px;flex-wrap:wrap}.gallery-thumbnail{width:60px;height:60px;object-fit:cover;border-radius:5px;cursor:pointer;border:2px solid transparent;transition:border-color .2s;opacity:.6}.gallery-thumbnail:hover,.gallery-thumbnail.active{opacity:1}.gallery-thumbnail.active{border-color:#3b82f6}.highlight-details-content{min-width:0}.highlight-section{margin-bottom:1.5rem}.highlight-section h3{font-size:1.1rem;font-weight:600;color:#111827;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.highlight-section p{font-size:.95rem;line-height:1.6;color:#4b5563}.review-context{background-color:#f9fafb;padding:1rem;border-radius:8px;border:1px solid #e5e7eb}.context-item{display:flex;align-items:center;gap:10px;font-size:.9rem;color:#374151;margin-bottom:.75rem}.context-item svg{flex-shrink:0;color:#9ca3af}.review-quote{flex-direction:column;align-items:flex-start;border-top:1px solid #e5e7eb;padding-top:1rem;margin-top:1rem}.review-quote p{font-style:italic;color:#4b5563;margin-bottom:8px}.star-icon.filled{color:#f59e0b;fill:#f59e0b}.modal-body{max-height:65vh;overflow-y:auto;padding-right:1rem}.vendor-profile-edit{min-height:100vh;padding:2rem;font-family:Inter,sans-serif;color:#1f2937;background-color:#f9fafb}.edit-page-title{font-size:1.5rem;font-weight:700;margin-bottom:2rem;color:#1f2937;text-align:center}.profile-edit-form{display:flex;flex-direction:column;gap:1.5rem;max-width:600px;margin:0 auto;background:#fff;padding:2rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;transition:all .2s ease}.profile-edit-form:hover{box-shadow:0 4px 12px #00000026}.profile-pic-section{display:flex;align-items:center;gap:1rem}.profile-pic{width:100px;height:100px;border-radius:9999px;object-fit:cover;border:2px solid #6d28d9;box-shadow:0 2px 6px #00000014}.upload-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(100deg,#1d4ed8,#7c3aed);color:#fff;border-radius:.5rem;cursor:pointer;font-weight:500;font-size:.875rem;border:none;transition:opacity .2s ease}.upload-btn:hover{opacity:.9}.file-input{display:none}label{display:flex;flex-direction:column;font-weight:500;font-size:.875rem;gap:.25rem;color:#374151}input,textarea{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}input:focus,textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed33}textarea{resize:vertical;min-height:100px}.save-btn{padding:.75rem 1.5rem;background:linear-gradient(100deg,#1d4ed8,#7c3aed);color:#fff;border-radius:.5rem;font-weight:600;font-size:.9rem;cursor:pointer;border:none;align-self:flex-start;transition:opacity .2s ease}.save-btn:hover{opacity:.9}@media (max-width: 768px){.profile-edit-form{padding:1.5rem}.profile-pic{width:80px;height:80px}}@media (max-width: 480px){.vendor-profile-edit,.profile-edit-form{padding:1rem}}:root{--spinner-container-bg: rgba(255, 255, 255, .5);--spinner-color: #4f46e5;--spinner-text-color: #1f2937}@media (prefers-color-scheme: dark){:root{--spinner-container-bg: rgba(31, 41, 55, .5);--spinner-text-color: #f9fafb}}.loading-spinner-container{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:var(--spinner-container-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;border-radius:8px}.loading-spinner-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.loading-spinner-icon{margin-top:5vw;width:10vw;height:10vw;color:var(--spinner-color);animation:spin 2s linear infinite}.loading-spinner-text{font-size:2.5vw;font-weight:500;color:var(--spinner-text-color);text-align:center}.admin-report-main-container{overflow-y:auto}.admin-report-reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.admin-report-summary-card{background:rgba(0,0,0,.1);border:1px solid rgba(255,255,255,.1);border-radius:15px;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.admin-report-summary-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0003;border-color:#fff3}.admin-report-card-header{display:flex;align-items:center;gap:.75rem;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.admin-report-card-header .admin-report-header-icon{color:var(--purple-700)}.admin-report-card-header h2{margin:0;font-size:1.25rem;color:var(--white)}.admin-report-card-body{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column;gap:2rem;justify-content:center}.admin-report-kpi-metric{text-align:center;margin:0;display:flex;flex-direction:column;align-items:center}.admin-report-kpi-header{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.5rem}.admin-report-kpi-value{margin-top:.5rem;font-size:clamp(1.75rem,5vw,2.75rem);font-weight:700;color:var(--white);line-height:1;word-break:break-all}.admin-report-kpi-label{font-size:.9rem;color:var(--muted)}.admin-report-card-footer{padding:1.5rem;margin-top:auto;border-top:1px solid rgba(255,255,255,.1)}.admin-report-card-footer button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:2rem;background:var(--purple-700);color:var(--white);font-weight:600;cursor:pointer;transition:background-color .2s ease}.admin-report-card-footer button:hover{background-color:var(--blue-700)}.admin-report-detailed-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.admin-report-detailed-chart{background:rgba(0,0,0,.1);padding:1rem;border-radius:10px}.admin-report-stats-list{display:flex;flex-direction:column;gap:1rem}.admin-report-stat-label{color:var(--muted);font-weight:600}.admin-report-stat-value{font-size:1.5rem;font-weight:700;color:var(--white);margin-left:0}@keyframes spin{to{transform:rotate(360deg)}}.admin-spinner{width:20vw;height:20vw;color:var(--purple-700);animation:spin 2.5s linear infinite;margin-left:40vw;margin-right:40vw;margin-top:10vw}.admin-report-loading-screen p{text-align:center;font-size:7.5vh;color:var(--purple-700)}.main-container{grid-area:main;overflow-y:auto;padding:20px;background-color:transparent}.main-title h3{color:var(--black);font-size:1.8rem;font-weight:700}.card{display:flex;flex-direction:column;justify-content:space-around;padding:25px;border-radius:12px;color:var(--black);box-shadow:0 8px 24px #0003;transition:transform .2s ease,box-shadow .2s ease;border:1px solid rgba(255,255,255,.1);background-color:#fff}.card:hover{transform:translateY(-5px);box-shadow:0 12px 32px #0000004d}.card-inner{display:flex;align-items:center;justify-content:space-between}.card-inner>h3{font-size:1.2rem;font-weight:600}.card-inner>.card_icon{font-size:35px;opacity:.8}.card h1{font-size:2.5rem;margin-top:10px}:root{--admin-profile-bg: transparent;--admin-profile-card-bg: #ffffff;--admin-profile-card-border: #e5e7eb;--admin-profile-text-primary: #111827;--admin-profile-text-secondary: #6b7280;--admin-profile-accent-gradient: linear-gradient(100deg, #1d4ed8, #7c3aed);--admin-profile-btn-text: #ffffff;--admin-profile-input-bg: #f9fafb;--admin-profile-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1)}@media (prefers-color-scheme: dark){:root{--admin-profile-card-bg: #1f2937;--admin-profile-card-border: #374151;--admin-profile-text-primary: #f9fafb;--admin-profile-text-secondary: #9ca3af;--admin-profile-input-bg: #374151}}.admin-profile-container{height:100vh;width:85vw;padding:1rem;justify-self:center}.admin-profile-card{background:var(--admin-profile-card-bg);border:1px solid var(--admin-profile-card-border);border-radius:1rem;padding:1.5rem;box-shadow:var(--admin-profile-shadow);color:var(--admin-profile-text-primary)}.admin-profile-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.admin-profile-title{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.admin-profile-subtitle{color:var(--admin-profile-text-secondary);margin:0}.admin-profile-figure{display:flex;flex-direction:column;align-items:center;gap:1rem;margin:0 0 1.5rem}.admin-profile-picture{width:20vw;height:20vw;border-radius:50%;object-fit:cover;border:4px solid var(--admin-profile-card-bg);outline:2px solid var(--admin-profile-primary, #4f46e5)}.admin-profile-body{text-align:center}.admin-profile-name{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.admin-profile-badge{display:inline-block;background:var(--admin-profile-accent-gradient);color:var(--admin-profile-btn-text);padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500;margin-bottom:1.5rem}.admin-profile-contact{display:flex;flex-direction:column;align-items:center;gap:.75rem;font-style:normal}.admin-profile-contact-item{display:flex;align-items:center;gap:.5rem;color:var(--admin-profile-text-secondary);text-decoration:none;transition:color .2s ease}.admin-profile-contact-item:hover{color:var(--admin-profile-text-primary)}.admin-profile-btn-edit,.admin-profile-btn-save,.admin-profile-btn-cancel,.admin-profile-upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:.5rem;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap}.admin-profile-btn-edit{background:var(--admin-profile-accent-gradient);color:var(--admin-profile-btn-text);margin-top:1rem;width:100%}.admin-profile-btn-save{background:var(--admin-profile-accent-gradient);color:var(--admin-profile-btn-text);width:50%}.admin-profile-btn-edit:hover,.admin-profile-btn-save:hover{opacity:.9}.admin-profile-btn-save:disabled{opacity:.7;cursor:not-allowed}.admin-profile-btn-cancel{background-color:var(--admin-profile-input-bg);border-color:var(--admin-profile-card-border);color:var(--admin-profile-text-secondary);width:50%}.admin-profile-btn-cancel:hover{border-color:var(--admin-profile-text-secondary);color:var(--admin-profile-text-primary)}.admin-profile-upload-btn{background-color:var(--admin-profile-input-bg);border-color:var(--admin-profile-card-border);color:var(--admin-profile-text-secondary);font-size:.875rem;padding:.5rem 1rem}.admin-profile-form{display:flex;flex-direction:column}.admin-profile-form-fields{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.admin-profile-form-group{display:flex;flex-direction:column;gap:.5rem}.admin-profile-form-group label{font-weight:500}.admin-profile-form-group input{padding:.75rem 1rem;border:1px solid var(--admin-profile-card-border);border-radius:.5rem;font-size:1rem;background-color:var(--admin-profile-input-bg);color:var(--admin-profile-text-primary);transition:border-color .2s,box-shadow .2s}.admin-profile-form-group input:focus{outline:none;border-color:var(--admin-profile-primary, #4f46e5);box-shadow:0 0 0 3px #4f46e533}.admin-profile-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.admin-profile-error{color:#dc2626;background-color:#fee2e2;padding:1rem;border-radius:.5rem;margin-bottom:1rem;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.admin-app{background:linear-gradient(135deg,#f8fafc 0%,#e0f2fe 100%);height:100vh;width:100vw;overflow-y:auto}.admin-navbar{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:50;box-shadow:0 1px 3px #0000001a}.navbar-container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.navbar-content{display:flex;justify-content:space-between;align-items:center;height:4rem}.navbar-left{display:flex;align-items:center;gap:1.5rem}.home-btn{display:flex;align-items:center;gap:.5rem;color:#1d4ed8;font-weight:500;background:none;border:none;cursor:pointer;transition:color .2s ease}.home-btn:hover{color:#f97316}.admin-logo{display:flex;align-items:center;gap:.5rem}.admin-logo svg{color:#1d4ed8}.logo-text{font-weight:700;font-size:1.25rem;background:linear-gradient(100deg,#1d4ed8,#7c3aed);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.navbar-right{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none}.navbar-right::-webkit-scrollbar{display:none}.nav-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-weight:500;background:none;border:none;color:#4b5563;cursor:pointer;transition:all .2s ease;white-space:nowrap}.nav-btn:hover{background:#fed7aa;color:#ea580c}.nav-btn.active{background:linear-gradient(100deg,#1d4ed8,#7c3aed);color:#fff;box-shadow:0 4px 6px -1px #0000001a}.admin-main{margin:0 auto;padding:1rem}.placeholder-page{text-align:center;padding:1rem}.placeholder-content{max-width:28rem;margin:0 auto}.placeholder-icon{width:5rem;height:5rem;background:linear-gradient(100deg,#1d4ed8,#7c3aed);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#fff}.placeholder-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.placeholder-text{margin-bottom:1.5rem;line-height:1.6;color:#374151}@media (prefers-color-scheme: dark){.admin-app{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);color:#e2e8f0}.admin-navbar{background:rgba(30,41,59,.85);border-bottom:1px solid #334155;box-shadow:0 1px 4px #0006}.home-btn{color:#93c5fd}.home-btn:hover{color:#fbbf24}.admin-logo svg{color:#93c5fd}.logo-text{background:linear-gradient(100deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nav-btn{color:#cbd5e1}.nav-btn:hover{background:#334155;color:#facc15}.nav-btn.active{background:linear-gradient(100deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 4px 6px -1px #00000080}.placeholder-icon{background:linear-gradient(100deg,#3b82f6,#8b5cf6)}.placeholder-title{color:#f1f5f9}.placeholder-text{color:#cbd5e1}}.admin-vendor-management-container{width:90%;margin-left:auto;margin-right:auto;padding:2rem 1rem}.admin-vendor-management-header{margin-bottom:2rem}.admin-vendor-management-header h1{font-size:1.875rem;font-weight:700;color:var(--text-color);margin-bottom:.5rem}.admin-vendor-management-subtitle{color:var(--muted);font-size:1rem;margin:0}.admin-vendor-management-section{margin-bottom:3rem;background-color:var(--background);border:1px solid var(--border-color);border-radius:15px;padding:1.5rem;box-shadow:0 4px 12px #0000000d}.admin-vendor-management-heading{margin-top:0;margin-bottom:1.5rem;color:var(--text-color);border-bottom:1px solid var(--border-color);padding-bottom:.75rem;font-size:1.25rem;font-weight:600}.admin-vendor-management-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.admin-vendor-management-search{display:flex;align-items:center;background-color:#0000000d;padding:.5rem 1rem;border-radius:2rem;border:1px solid var(--border-color);flex-grow:1;min-width:250px}.admin-vendor-management-search svg{color:var(--muted);margin-right:.5rem}.admin-vendor-management-search input{background:none;border:none;color:var(--text-color);outline:none;width:100%;font-size:1rem}.admin-vendor-management-dropdown{padding:.6rem 1rem;border-radius:2rem;color:var(--text-color);border:1px solid var(--border-color);cursor:pointer;font-size:.95rem;outline:none;min-width:150px}.admin-vendor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.admin-vendor-summary-card{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:15px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s ease}.admin-vendor-summary-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a;border-color:var(--purple-300)}.admin-vendor-profile-pic-card{width:40%;aspect-ratio:1;border-radius:50%;object-fit:cover;margin-bottom:1rem;border:3px solid var(--purple-500)}.admin-vendor-summary-card h4{margin:0 0 .5rem;color:var(--text-color);font-size:1.2rem}.admin-vendor-category{font-size:.9rem;color:var(--muted);margin-bottom:1rem}.admin-vendor-status-tag{color:var(--white);padding:4px 12px;border-radius:15px;font-size:.8rem;font-weight:600;text-transform:capitalize;display:inline-block;margin-bottom:1rem}.admin-vendor-status-approved{background-color:#2e7d32}.admin-vendor-status-rejected,.admin-vendor-status-suspended{background-color:#d50000}.admin-vendor-status-pending{background-color:#f57c00}.admin-vendor-status-unknown{background-color:#666}.admin-vendor-stats{display:flex;justify-content:space-around;width:100%;margin-top:1rem;margin-bottom:1.5rem;border-top:1px dashed var(--border-color);padding-top:1rem}.admin-vendor-stat{display:flex;align-items:center;gap:.3rem;font-size:.9rem;color:var(--muted);font-weight:500}.admin-vendor-stat span{color:var(--text-color);font-weight:700;font-size:1.1rem;margin:0;display:inline}.admin-vendor-stat svg{color:var(--purple-500);flex-shrink:0}.admin-vendor-btn-view-details{margin-top:auto;padding:.75rem 1.5rem;border:none;border-radius:2rem;background:var(--purple-700);color:var(--white);font-weight:600;cursor:pointer;transition:background-color .2s ease;width:100%}.admin-vendor-btn-view-details:hover{background-color:var(--blue-700)}.admin-vendor-modal-details,.admin-vendor-modal-header,.admin-vendor-modal-body,.admin-vendor-modal-body li{box-sizing:border-box}.admin-vendor-modal-details{width:100%;margin-left:auto;margin-right:auto;text-align:center;overflow-y:auto}.admin-vendor-modal-header{border-bottom:1px solid var(--border-color);padding-bottom:1rem;margin-bottom:1.5rem;width:100%}.admin-vendor-profile-pic-modal{width:40%;aspect-ratio:1;border-radius:50%;object-fit:cover;margin:0 auto 1rem;border:4px solid var(--purple-500)}.admin-vendor-modal-header h2{margin:.5rem 0 .25rem;font-size:1.75rem;color:var(--text-color)}.admin-vendor-modal-header .admin-vendor-category{font-size:1rem;color:var(--muted);margin-bottom:.75rem}.admin-vendor-modal-header .admin-vendor-status-tag{margin-top:.5rem;margin-bottom:0}.admin-vendor-modal-body{width:90%;margin-left:auto;margin-right:auto}.admin-vendor-modal-body h4{margin:1.5rem 0 1rem;color:var(--text-color);font-size:1.2rem;text-align:left}.admin-vendor-contact-info,.admin-vendor-description,.admin-vendor-services-offered,.admin-vendor-events-worked-on,.admin-vendor-reviews{color:var(--text-color);padding:1.5rem;border-radius:8px;text-align:left;background:var(--background-secondary);border:1px solid var(--border-color);margin-bottom:1.5rem}.admin-vendor-contact-info p{margin:.75rem 0;font-size:1rem;color:var(--text-color);display:flex;align-items:center;gap:.75rem}.admin-vendor-contact-info strong{color:var(--muted);opacity:.9;min-width:70px}.admin-vendor-contact-info svg{color:var(--purple-500);flex-shrink:0}.admin-vendor-description p{margin:0;font-size:1rem;line-height:1.6;color:var(--muted)}.admin-vendor-services-offered ul{list-style:none;padding:0;margin:0}.admin-vendor-services-offered li{padding:1rem 0;border-bottom:1px dashed var(--border-color)}.admin-vendor-services-offered li:last-child{border-bottom:none}.admin-vendor-services-offered .service-name{font-weight:600;color:var(--text-color);font-size:1rem;margin-bottom:.5rem}.admin-vendor-services-offered .service-pricing{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--muted);margin-bottom:.5rem}.admin-vendor-services-offered .service-pricing span{display:inline-flex;align-items:center;gap:.3rem}.admin-vendor-services-offered .service-notes{font-size:.85rem;color:var(--muted);font-style:italic}.admin-vendor-events-worked-on ul{list-style-type:none;padding:0;margin:0}.admin-vendor-events-worked-on li{background-color:var(--background-secondary);padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--purple-500)}.admin-vendor-events-worked-on li:last-child{margin-bottom:0}.admin-vendor-event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.admin-vendor-event-header strong{flex-grow:1;text-align:left;color:var(--text-color)}.admin-vendor-event-status{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.event-status-planning,.event-status-upcoming{background-color:#fff3cd;color:#856404;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.event-status-passed{background-color:#d4edda;color:#155724;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.event-status-cancelled{background-color:#f8d7da;color:#721c24;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.event-status-unknown{background-color:#e0e0e0;color:#666;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.admin-vendor-reviews ul{list-style-type:none;padding:0;margin:0}.admin-vendor-reviews li{background-color:var(--background-secondary);padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--purple-300)}.admin-vendor-reviews li:last-child{margin-bottom:0}.review-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.review-rating{display:flex}.review-rating svg{color:#e0e0e0}.review-rating svg[fill="#ffc107"]{color:#ffc107;fill:#ffc107}.review-date{font-size:.85rem;color:var(--muted)}.review-text{margin:.75rem 0;font-style:italic;color:var(--text-color);font-size:1rem;line-height:1.6}.review-reply{margin-top:1rem;padding:1rem;border-left:4px solid var(--blue-500);font-size:.95rem;background-color:var(--background-secondary);border-radius:0 6px 6px 0;color:var(--text-color)}.review-reply strong{display:block;margin-bottom:.35rem;color:var(--text-color);font-size:.9rem}.error-message{color:#dc3545;text-align:center;margin-top:1rem;padding:.75rem;background-color:#dc35451a;border:1px solid rgba(220,53,69,.2);border-radius:4px}.admin-vendor-management-empty{text-align:center;padding:3rem;color:var(--muted);font-style:italic;grid-column:1 / -1;font-size:1rem}.vendor-table{width:100%;border-collapse:collapse}.vendor-table th,.vendor-table td{padding:15px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.vendor-table th{font-weight:600;font-size:1.25rem;text-transform:uppercase;letter-spacing:.5px}.vendor-table tbody tr{cursor:pointer;transition:background-color .2s ease}.vendor-table tbody tr:hover{background-color:#ffffff0d}.vendor-profile-pic{margin-left:30%;margin-right:30%;width:40%;aspect-ratio:1;border-radius:50%;object-fit:cover;border:3px solid var(--purple-700)}.vendor-profile-pic.placeholder{margin-left:auto;margin-right:auto;background:var(--purple-700);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:var(--white)}.vendor-popup-content h2,.vendor-popup-content p{text-align:center}.application-actions{display:flex;justify-content:center;gap:15px;margin-top:auto}.application-actions button{flex:1;padding:10px 0;border:none;border-radius:8px;font-weight:600;cursor:pointer;color:#fff;transition:opacity .2s ease}.btn-approve{background:#22c55e}.btn-reject{background:#ef4444}.application-actions button:hover{opacity:.75}:root{--text-color: #000;--muted: #666;--white: #fff;--purple-300: #a78bfa;--purple-500: #8b5cf6;--purple-600: #7c3aed;--purple-700: #6d28d9;--blue-500: #3b82f6;--blue-700: #1d4ed8;--background: #fff;--background-secondary: #f9f9f9;--border-color: #eee}@media (prefers-color-scheme: dark){:root{--text-color: #fff;--muted: #ccc;--background: #1e293b;--background-secondary: #334155;--border-color: #4b5563}}.admin-planner-management-page{width:90%;margin-left:auto;margin-right:auto;padding:2rem 1rem}.admin-planner-management-page .admin-planner-management-page-header{margin-bottom:2rem}.admin-planner-management-page .admin-planner-management-event-header h1{font-size:1.875rem;font-weight:700;color:var(--text-color);margin-bottom:.5rem}.admin-planner-management-page .admin-planner-management-filters-section{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap;align-items:center}.admin-planner-management-search-bar{display:flex;align-items:center;background-color:#0003;padding:.5rem 1rem;border-radius:2rem;border:1px solid rgba(255,255,255,.1);flex-grow:1;min-width:250px}.admin-planner-management-grid{background-color:var(--background);border:1px solid var(--border-color);border-radius:15px;padding:1.5rem;box-shadow:0 4px 12px #0000000d;margin-bottom:3rem}.admin-planner-management-search-bar svg{color:var(--muted);margin-right:.5rem}.admin-planner-management-search-bar input{background:none;border:none;color:var(--text-color);outline:none;width:100%;font-size:1rem}.admin-planner-management-filters-section select{padding:.6rem 1rem;border-radius:2rem;background-color:#0003;color:var(--text-color);border:1px solid rgba(255,255,255,.1);cursor:pointer}.admin-planner-management-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.admin-planner-management-summary-card{background:rgba(0,0,0,.1);border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-planner-management-summary-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a}.admin-planner-management-card-info{flex-grow:1;width:100%}.admin-planner-management-card-info h4{margin:0 0 .5rem;color:var(--white);font-size:1.2rem}.admin-planner-management-status-tag{color:var(--white);padding:4px 12px;border-radius:15px;font-size:.8rem;font-weight:600;text-transform:capitalize;display:inline-block;margin-bottom:1rem}.admin-planner-management-status-tag.admin-planner-management-status-active{background-color:#2e7d32}.admin-planner-management-status-tag.admin-planner-management-status-suspended{background-color:#d50000}.admin-planner-management-status-tag.admin-planner-management-status-pending{background-color:#f57c00}.admin-planner-management-stat{color:var(--muted);font-weight:600;margin:.5rem 0}.admin-planner-management-stat span{color:var(--white);font-size:1.5rem;font-weight:700;margin-right:.25rem;display:block}.admin-planner-management-btn-view-details{margin-top:1.5rem;padding:.75rem 1.5rem;border:none;border-radius:2rem;background:var(--purple-700);color:var(--white);font-weight:600;cursor:pointer;transition:background-color .2s ease;width:100%}.admin-planner-management-btn-view-details:hover{background-color:var(--blue-700)}.admin-planner-management-modal-details,.admin-planner-management-modal-header,.admin-planner-management-modal-body,.admin-planner-management-events li{box-sizing:border-box}.admin-planner-management-modal-details{width:100%;margin-left:auto;margin-right:auto;text-align:center;overflow-y:auto}.admin-planner-management-modal-header{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem;margin-bottom:1.5rem;width:100%}.admin-planner-management-modal-name{color:var(--text-color);font-size:2rem;margin:0 0 .5rem}.admin-planner-management-modal-body{width:90%;margin-left:auto;margin-right:auto}.admin-planner-management-modal-body .admin-planner-management-contact-info{color:var(--text-color);padding:1.5rem;border-radius:8px;text-align:center;font-size:1rem;background:rgba(0,0,0,.05);margin-bottom:1.5rem}.admin-planner-management-modal-body p{color:var(--text-color);margin:.75rem 0}.admin-planner-management-modal-body strong{color:var(--text-color);opacity:.9}.admin-planner-management-modal-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}.admin-planner-management-btn-edit{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:2rem;background:var(--blue-700);color:var(--text-color);font-weight:600;cursor:pointer;transition:background-color .2s ease}.admin-planner-management-btn-edit:hover{background-color:var(--purple-700)}.admin-planner-management-profile-pic{width:40%;aspect-ratio:1;margin-left:auto;margin-right:auto;border-radius:50%;object-fit:cover;margin-bottom:1rem;border:3px solid var(--purple-700)}.admin-planner-management-events{margin-top:1.5rem;text-align:left}.admin-planner-management-events h4{margin-bottom:1rem;color:var(--text-color);font-size:1.2rem}.admin-planner-management-events ul{list-style-type:none;padding:0;max-height:300px;overflow-y:auto}.admin-planner-management-events li{background-color:#0000000d;padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--purple-700)}.admin-planner-management-event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.admin-planner-management-event-header strong{flex-grow:1;text-align:left;color:var(--text-color)}.admin-planner-management-event-status{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.admin-planner-management-event-status-planning{background-color:#fff3cd;color:#856404}.admin-planner-management-event-status-active{background-color:#d1ecf1;color:#0c5460}.admin-planner-management-event-status-completed{background-color:#d4edda;color:#155724}.admin-planner-management-event-status-cancelled{background-color:#f8d7da;color:#721c24}.admin-planner-management-event-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;margin:.5rem 0}.admin-planner-management-event-detail{display:flex;align-items:center;gap:.5rem;color:#666;font-size:.9rem}.admin-planner-management-event-detail svg{color:var(--purple-700)}.admin-planner-management-event-description{color:#666;font-style:italic;margin-top:.5rem;font-size:.9rem;line-height:1.4}
