:root{--primary:#38bdf8;--primary-dark:#0284c7;--accent:#8b5cf6;--dark:#f1f5f9;--text:#dbe5f2;--muted:#a0aec0;--light:#111c30;--white:#f8fafc;--border:#263750;--shadow:0 10px 35px #00000040;--shadow-hover:0 18px 45px #38bdf829;--radius:16px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:90px}body{color:var(--text);background:#080f1e;font-family:Poppins,Arial,sans-serif;line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.section{width:100%;padding:100px 8%;scroll-margin-top:75px;position:relative}.section-title{color:var(--white);text-align:center;margin-bottom:18px;font-size:clamp(2rem,4vw,2.8rem);font-weight:700;line-height:1.25}.section-title:after{content:"";background:linear-gradient(90deg, var(--primary), var(--accent));border-radius:10px;width:65px;height:4px;margin:18px auto 0;display:block;box-shadow:0 0 15px #38bdf859}.section-description{text-align:center;max-width:720px;color:var(--muted);margin:0 auto 50px;font-size:1rem}.navbar{z-index:1000;-webkit-backdrop-filter:blur(16px);background:#080f1ee0;border-bottom:1px solid #38bdf81f;width:100%;position:fixed;top:0;left:0}.nav-container{justify-content:space-between;align-items:center;gap:25px;max-width:1400px;min-height:76px;margin:auto;padding:0 8%;display:flex}.logo{color:var(--white);letter-spacing:-1px;font-size:1.8rem;font-weight:800}.logo span{color:var(--primary)}.nav-links{align-items:center;gap:25px;list-style:none;display:flex}.nav-links a{color:var(--text);font-size:.9rem;font-weight:500;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--primary);width:0;height:2px;transition:width .3s;position:absolute;bottom:-7px;left:0}.nav-links a:hover{color:var(--primary)}.nav-links a:hover:after{width:100%}.menu-toggle{color:var(--white);cursor:pointer;background:0 0;border:none;font-size:1.5rem;display:none}.hero{isolation:isolate;background:#080f1e;justify-content:space-between;align-items:center;gap:50px;min-height:100vh;padding-top:120px;padding-bottom:70px;display:flex;overflow:hidden}.hero-video{z-index:-3;object-fit:cover;opacity:.4;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{z-index:-2;background:linear-gradient(110deg,#080f1ef5,#080f1ec7,#080f1ee6);position:absolute;inset:0}.hero-content{z-index:3;flex:1;max-width:720px;position:relative}.hero-subtitle{color:var(--primary);margin-bottom:12px;font-size:1.1rem;font-weight:600}.hero-content h1{color:var(--white);margin-bottom:15px;font-size:clamp(2.5rem,5vw,4.4rem);font-weight:800;line-height:1.15}.hero-content h1 span{color:var(--primary);text-shadow:0 0 25px #38bdf833}.typing-title{min-height:42px;color:var(--accent);margin-bottom:22px;font-size:clamp(1.2rem,3vw,1.8rem);font-weight:600}.typing-cursor{color:var(--primary);animation:.8s infinite typingBlink}@keyframes typingBlink{50%{opacity:0}}.hero-description{max-width:620px;color:var(--muted);margin-bottom:30px;font-size:1.05rem;line-height:1.9}.hero-buttons{flex-wrap:wrap;gap:16px;margin-bottom:32px;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:13px 24px;font-size:.95rem;font-weight:600;transition:transform .3s,box-shadow .3s,background .3s;display:inline-flex}.btn-primary{color:#06111f;border:1px solid var(--primary);background:linear-gradient(120deg, var(--primary), #67e8f9);box-shadow:0 5px 22px #38bdf833}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 9px 28px #38bdf859}.btn-secondary{color:var(--primary);border:1px solid var(--primary);background:#38bdf80d}.btn-secondary:hover{color:#06111f;background:var(--primary);transform:translateY(-3px);box-shadow:0 8px 25px #38bdf833}.social-links{align-items:center;gap:15px;display:flex}.social-links a{width:43px;height:43px;color:var(--primary);background:#38bdf80f;border:1px solid #38bdf866;border-radius:50%;justify-content:center;align-items:center;font-size:1.15rem;transition:all .3s;display:flex}.social-links a:hover{color:#06111f;background:var(--primary);transform:translateY(-4px);box-shadow:0 0 20px #38bdf859}.hero-image{z-index:3;flex:0 0 340px;justify-content:center;align-items:center;display:flex;position:relative}.profile-photo{object-fit:cover;border:5px solid #38bdf8bf;border-radius:50%;width:320px;height:320px;box-shadow:0 0 25px #38bdf859,0 0 65px #8b5cf626}.particles{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.particle{background:var(--primary);width:4px;height:4px;box-shadow:0 0 12px var(--primary);border-radius:50%;position:absolute}.floating-icons{z-index:1;pointer-events:none;position:absolute;inset:0}.floating-icon{opacity:.55;filter:drop-shadow(0 0 12px);justify-content:center;align-items:center;font-size:2.5rem;display:flex;position:absolute}.floating-python{color:#facc15;top:20%;left:5%}.floating-react{color:#38bdf8;top:25%;right:8%}.floating-js{color:#facc15;bottom:18%;left:10%}.floating-database{color:#a78bfa;bottom:15%;right:10%}.about{background:radial-gradient(circle at 10% 20%,#38bdf80f,#0000 30%),#0b1425}.about-content{flex-direction:column;align-items:center;max-width:1100px;margin:0 auto;display:flex}.about-text{text-align:center;max-width:850px;color:var(--muted);margin:0 auto 35px;font-size:1.05rem}.about-text p+p{margin-top:16px}.about-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:100%;margin-bottom:35px;display:grid}.about-card{text-align:center;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(145deg,#142339f2,#0d192bf2);padding:30px 22px;transition:border-color .3s,box-shadow .3s}.about-card:hover{box-shadow:var(--shadow-hover);border-color:#38bdf8a6}.about-icon{width:60px;height:60px;color:var(--primary);background:#38bdf81a;border-radius:16px;justify-content:center;align-items:center;margin:0 auto 18px;font-size:1.7rem;display:flex}.about-card h3{color:var(--white);margin-bottom:10px;font-size:1.1rem}.about-card p{color:var(--muted);font-size:.92rem}.about-button{justify-content:center;display:flex}.skills{background:#080f1e}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1100px;margin:0 auto;display:grid}.skill-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--light);min-height:160px;box-shadow:var(--shadow);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:25px;transition:border-color .3s,box-shadow .3s;display:flex}.skill-card:hover{border-color:var(--primary);box-shadow:var(--shadow-hover)}.skill-icon{color:var(--primary);filter:drop-shadow(0 0 8px #38bdf833);font-size:2.6rem}.skill-card h3{color:var(--white);font-size:1.05rem}.projects{background:radial-gradient(circle at 90% 15%,#8b5cf60f,#0000 30%),#0b1425}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1250px;margin:0 auto;display:grid}.project-card{border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);transform-style:preserve-3d;background:linear-gradient(145deg,#142238,#0e192b);transition:border-color .3s,box-shadow .3s;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-hover);border-color:#38bdf899}.project-image{background:#101c30;height:245px;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%}.project-content{padding:25px}.project-icon{width:52px;height:52px;color:var(--primary);background:#38bdf81a;border-radius:14px;justify-content:center;align-items:center;margin-bottom:17px;font-size:1.5rem;display:flex}.project-content h3{color:var(--white);margin-bottom:12px;font-size:1.25rem}.project-content p{color:var(--muted);margin-bottom:20px;font-size:.94rem;line-height:1.8}.project-technologies{flex-wrap:wrap;gap:9px;display:flex}.project-technologies span{color:var(--primary);background:#38bdf812;border:1px solid #38bdf840;border-radius:20px;padding:6px 11px;font-size:.78rem;font-weight:600}.project-carousel{background:#07101e;justify-content:center;align-items:center;height:245px;display:flex;position:relative;overflow:hidden}.carousel-image-button{cursor:zoom-in;background:0 0;border:none;width:100%;height:100%;padding:0}.carousel-image{object-fit:contain;width:100%;height:100%}.carousel-arrow{z-index:4;width:38px;height:38px;color:var(--white);cursor:pointer;background:#080f1ecc;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow:hover{color:#06111f;background:var(--primary)}.carousel-prev{left:12px}.carousel-next{right:12px}.carousel-indicators{z-index:4;gap:8px;display:flex;position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.carousel-dot{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .3s}.carousel-dot.active{background:var(--primary);border-radius:10px;width:22px}.carousel-counter{z-index:4;color:var(--white);background:#080f1ecc;border-radius:20px;padding:5px 10px;font-size:.75rem;position:absolute;top:12px;right:12px}.image-lightbox{z-index:2000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#02060ff2;flex-direction:column;justify-content:center;align-items:center;padding:65px 70px;display:flex;position:fixed;inset:0}.image-lightbox img{object-fit:contain;border-radius:12px;width:auto;max-width:min(90vw,1100px);height:auto;max-height:78vh;box-shadow:0 0 35px #38bdf826}.lightbox-close{width:45px;height:45px;color:var(--white);border:1px solid var(--border);cursor:pointer;background:#142238;border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;display:flex;position:absolute;top:25px;right:30px}.lightbox-arrow{z-index:5;width:48px;height:48px;color:var(--white);border:1px solid var(--border);cursor:pointer;background:#142238e6;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover,.lightbox-close:hover{color:#06111f;background:var(--primary)}.lightbox-prev{left:25px}.lightbox-next{right:25px}.lightbox-caption{color:var(--white);text-align:center;margin-top:18px}.lightbox-counter{color:var(--muted);margin-top:7px;font-size:.85rem}.pricing{background:#080f1e}.pricing-promo{border-radius:var(--radius);max-width:900px;box-shadow:var(--shadow);background:linear-gradient(120deg,#38bdf81a,#8b5cf61a);border:1px solid #38bdf859;align-items:center;gap:22px;margin:0 auto 45px;padding:25px 30px;display:flex}.pricing-promo-icon{width:65px;height:65px;color:var(--primary);background:#38bdf821;border-radius:18px;flex:0 0 65px;justify-content:center;align-items:center;font-size:1.9rem;display:flex}.pricing-promo-content{flex:1}.pricing-promo-label{color:var(--primary);letter-spacing:1.5px;font-size:.78rem;font-weight:700}.pricing-promo-content h3{color:var(--white);margin:5px 0 7px;font-size:1.2rem}.pricing-promo-content p{color:var(--muted);font-size:.9rem}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1050px;margin:0 auto;display:grid}.pricing-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(145deg,#142238,#0e192b);padding:30px;transition:border-color .3s,box-shadow .3s}.pricing-card:hover{box-shadow:var(--shadow-hover);border-color:#38bdf899}.pricing-card-icon{width:58px;height:58px;color:var(--primary);background:#38bdf81a;border-radius:16px;justify-content:center;align-items:center;margin-bottom:18px;font-size:1.8rem;display:flex}.pricing-card h3{color:var(--white);margin-bottom:12px;font-size:1.25rem}.pricing-description{min-height:105px;color:var(--muted);font-size:.92rem;line-height:1.8}.pricing-price{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 12px;display:flex}.pricing-original{color:var(--muted);font-size:.83rem;text-decoration:line-through}.pricing-discount{color:#fef3c7;background:#f59e0b2e;border-radius:20px;padding:5px 10px;font-size:.8rem;font-weight:700}.pricing-discounted{background:#38bdf814;border-radius:12px;flex-direction:column;gap:4px;padding:16px;display:flex}.pricing-discounted span{color:var(--muted);font-size:.82rem}.pricing-discounted strong{color:var(--primary);font-size:1.8rem}.pricing-features{flex-direction:column;gap:12px;margin:22px 0;list-style:none;display:flex}.pricing-features li{color:var(--text);align-items:flex-start;gap:10px;font-size:.9rem;display:flex}.pricing-check{color:var(--primary);font-weight:800}.pricing-button{color:#06111f;background:linear-gradient(120deg, var(--primary), #67e8f9);border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;padding:12px 18px;font-size:.92rem;font-weight:700;transition:all .3s;display:flex}.pricing-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #38bdf840}.pricing-note{max-width:850px;color:var(--muted);text-align:center;margin:35px auto 0;font-size:.86rem}.reservation{background:radial-gradient(circle at 10% 15%,#38bdf812,#0000 32%),#0b1425}.reservation-layout{grid-template-columns:.85fr 1.15fr;align-items:start;gap:30px;max-width:1150px;margin:0 auto;display:grid}.reservation-info{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(145deg,#142238,#0e192b);padding:32px}.reservation-info-icon{width:65px;height:65px;color:var(--primary);background:#38bdf81a;border-radius:18px;justify-content:center;align-items:center;margin-bottom:22px;font-size:1.9rem;display:flex}.reservation-info h3{color:var(--white);margin-bottom:12px;font-size:1.4rem}.reservation-info>p{color:var(--muted);font-size:.94rem;line-height:1.8}.reservation-detail{color:var(--primary);align-items:flex-start;gap:15px;margin-top:25px;font-size:1.2rem;display:flex}.reservation-detail div{flex-direction:column;gap:3px;display:flex}.reservation-detail strong{color:var(--white);font-size:.92rem}.reservation-detail span{color:var(--muted);font-size:.88rem}.reservation-info .reservation-timezone{border-top:1px solid var(--border);color:var(--primary);margin-top:25px;padding-top:18px;font-size:.85rem}.reservation-form-wrapper{min-width:0}.reservation-form{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(145deg,#142238,#0e192b);flex-direction:column;gap:12px;padding:32px;display:flex}.reservation-form h3{color:var(--white);margin-bottom:10px;font-size:1.35rem}.reservation-form label{color:var(--text);margin-top:7px;font-size:.9rem;font-weight:600}.reservation-form input,.reservation-form textarea{width:100%;color:var(--white);border:1px solid var(--border);background:#0a1526;border-radius:9px;outline:none;padding:13px 15px;transition:border-color .3s,box-shadow .3s}.reservation-form input::placeholder,.reservation-form textarea::placeholder{color:#718096}.reservation-form input:focus,.reservation-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #38bdf81a}.reservation-form input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.reservation-form textarea{resize:vertical;min-height:110px}.slots-heading{justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.slots-heading label{margin:0}.slots-loading{color:var(--primary);font-size:.8rem}.reservation-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.slot-button{min-height:42px;color:var(--text);border:1px solid var(--border);cursor:pointer;background:#0a1526;border-radius:8px;padding:9px;transition:all .25s}.slot-button:hover{color:var(--primary);border-color:var(--primary);background:#38bdf814}.slot-button.selected{color:#06111f;border-color:var(--primary);background:var(--primary);font-weight:700;box-shadow:0 0 15px #38bdf833}.slots-message{color:var(--muted);border:1px dashed var(--border);background:#0a152699;border-radius:8px;padding:13px;font-size:.88rem}.reservation-submit{color:#06111f;background:linear-gradient(120deg, var(--primary), #67e8f9);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-height:50px;margin-top:12px;padding:13px 20px;font-weight:700;transition:all .3s;display:flex}.reservation-submit:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #38bdf84d}.reservation-submit:disabled{opacity:.45;cursor:not-allowed}.reservation-note{color:var(--muted);text-align:center;margin-top:8px;font-size:.8rem}.contact{background:#080f1e}.contact-container{grid-template-columns:.9fr 1.1fr;align-items:stretch;gap:30px;max-width:1100px;margin:0 auto;display:grid}.contact-info{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(145deg,#142238,#0e192b);padding:32px}.contact-info h3{color:var(--white);margin-bottom:14px;font-size:1.4rem}.contact-info>p{color:var(--muted);margin-bottom:28px;font-size:.93rem}.contact-item{color:var(--primary);align-items:center;gap:13px;margin:20px 0;font-size:1.1rem;display:flex}.contact-item a,.contact-item span{color:var(--text);overflow-wrap:anywhere;font-size:.9rem}.contact-item a:hover{color:var(--primary)}.whatsapp-contact{margin-top:28px}.whatsapp-contact a{color:#fff;background:#16a34a;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 16px;font-size:.9rem;font-weight:600;transition:all .3s;display:flex}.whatsapp-contact a:hover{background:#15803d;transform:translateY(-3px);box-shadow:0 8px 20px #16a34a33}.contact-form{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(145deg,#142238,#0e192b);flex-direction:column;gap:16px;padding:32px;display:flex}.contact-form input,.contact-form textarea{width:100%;color:var(--white);border:1px solid var(--border);background:#0a1526;border-radius:9px;outline:none;padding:14px 16px;transition:border-color .3s,box-shadow .3s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#718096}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #38bdf81a}.contact-form textarea{resize:vertical;min-height:140px}.contact-form .btn-primary{border:none}.contact-form button:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-feedback{border-radius:8px;padding:12px 14px;font-size:.88rem}.form-feedback.success{color:#86efac;background:#22c55e14;border:1px solid #22c55e4d}.form-feedback.error{color:#fca5a5;background:#ef444414;border:1px solid #ef44444d}.footer{border-top:1px solid var(--border);background:#060c17;justify-content:space-between;align-items:center;gap:20px;min-height:100px;padding:25px 8%;display:flex}.footer p{color:var(--muted);font-size:.88rem}.footer-socials{align-items:center;gap:14px;display:flex}.footer-socials a{width:38px;height:38px;color:var(--primary);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.footer-socials a:hover{color:#06111f;border-color:var(--primary);background:var(--primary);transform:translateY(-3px)}@media (width<=1024px){.section{padding:85px 6%}.nav-container{padding:0 6%}.nav-links{gap:17px}.nav-links a{font-size:.83rem}.hero-image{flex-basis:280px}.profile-photo{width:270px;height:270px}.projects-grid,.pricing-grid,.skills-grid,.reservation-layout{gap:20px}}@media (width<=768px){.section{padding:75px 6%}.nav-container{min-height:68px}.menu-toggle{display:block}.nav-links{border-bottom:1px solid var(--border);width:100%;box-shadow:var(--shadow);background:#080f1efa;flex-direction:column;align-items:stretch;gap:0;padding:20px 6% 25px;display:none;position:absolute;top:68px;left:0}.nav-links.active{display:flex}.nav-links li{width:100%}.nav-links a{padding:12px 0;font-size:.95rem;display:block}.nav-links a:after{display:none}.hero{text-align:center;flex-direction:column-reverse;gap:35px;min-height:auto;padding-top:115px;padding-bottom:75px}.hero-content{max-width:100%}.hero-description{margin-left:auto;margin-right:auto}.hero-buttons,.social-links{justify-content:center}.hero-image{flex:none}.profile-photo{width:230px;height:230px}.about-cards,.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-grid,.pricing-grid,.reservation-layout,.contact-container{grid-template-columns:1fr;max-width:600px}.pricing-promo{padding:22px}.footer{text-align:center;flex-direction:column}}@media (width<=480px){.section{padding:65px 5%}.section-title{font-size:1.85rem}.section-description{margin-bottom:35px;font-size:.9rem}.hero-content h1{font-size:2.35rem}.typing-title{font-size:1.2rem}.hero-description{font-size:.94rem}.hero-buttons{flex-direction:column;align-items:stretch}.hero-buttons a{width:100%}.profile-photo{width:195px;height:195px}.about-cards{grid-template-columns:1fr}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skill-card{min-height:135px;padding:18px 10px}.skill-icon{font-size:2.1rem}.skill-card h3{font-size:.9rem}.project-image,.project-carousel{height:205px}.project-content{padding:21px}.project-content h3{font-size:1.1rem}.pricing-promo{flex-direction:column;align-items:flex-start;padding:20px}.pricing-promo-content h3{font-size:1.05rem}.pricing-card{padding:23px}.pricing-description{min-height:auto}.reservation-info,.reservation-form{padding:22px}.reservation-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-button{font-size:.88rem}.contact-info,.contact-form{padding:22px}.contact-item{align-items:flex-start;font-size:1rem}.image-lightbox{padding:60px 15px}.image-lightbox img{max-width:94vw;max-height:65vh}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-arrow{width:38px;height:38px;font-size:1rem}.lightbox-close{top:12px;right:12px}.footer{padding:25px 5%}.footer p{font-size:.8rem}.floating-icon{opacity:.35;font-size:1.8rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.typing-cursor{animation:none}.btn-primary,.btn-secondary,.nav-links a,.social-links a,.footer-socials a,.pricing-button,.reservation-submit{transition:none}}.admin-login-page{background:radial-gradient(circle at 100% 0,#123b60,#0000 45%),linear-gradient(135deg,#07111f,#101d32);justify-content:center;align-items:center;min-height:100vh;padding:25px;font-family:Arial,sans-serif;display:flex}.admin-login-card{text-align:center;background:#fffffff7;border-radius:18px;width:100%;max-width:430px;padding:40px 32px;box-shadow:0 20px 60px #0000004d}.admin-login-icon{margin-bottom:15px;font-size:42px}.admin-login-card h1{color:#101827;margin-bottom:12px;font-size:25px}.admin-login-description{color:#64748b;margin-bottom:30px;font-size:14px;line-height:1.6}.admin-form-group{text-align:left;margin-bottom:20px}.admin-form-group label{color:#334155;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.admin-form-group input{box-sizing:border-box;border:1px solid #dbe3ed;border-radius:9px;outline:none;width:100%;padding:14px;font-size:14px;transition:border-color .3s,box-shadow .3s}.admin-form-group input:focus{border-color:#0077b6;box-shadow:0 0 0 3px #0077b61f}.admin-login-button{color:#fff;cursor:pointer;background:#0077b6;border:none;border-radius:9px;width:100%;padding:15px;font-size:15px;font-weight:700;transition:background .3s,transform .3s}.admin-login-button:hover:not(:disabled){background:#005f92;transform:translateY(-2px)}.admin-login-button:disabled{opacity:.6;cursor:not-allowed}.admin-login-error{color:#b91c1c;text-align:left;background:#fee2e2;border-radius:8px;margin-bottom:18px;padding:12px;font-size:13px}.admin-login-footer{color:#94a3b8;margin-top:25px;font-size:12px}@media (width<=480px){.admin-login-card{padding:30px 22px}.admin-login-card h1{font-size:22px}}.admin-dashboard{color:#1e293b;background:#f4f6fb;min-height:100vh;padding:40px;font-family:Arial,sans-serif}.admin-loading{color:#334155;justify-content:center;align-items:center;min-height:100vh;font-size:18px;display:flex}.dashboard-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.dashboard-label{color:#2563eb;letter-spacing:2px;font-size:12px;font-weight:700}.dashboard-header h1{margin:10px 0;font-size:32px}.dashboard-header p{color:#64748b}.refresh-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:12px 20px;font-weight:700}.refresh-button:hover{background:#1d4ed8}.dashboard-alert{border-radius:8px;margin-bottom:20px;padding:15px}.dashboard-alert.error{color:#b91c1c;background:#fee2e2}.dashboard-alert.success{color:#166534;background:#dcfce7}.dashboard-stats{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:25px;display:grid}.stat-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 3px 12px #0000000d}.stat-card span{color:#64748b;font-size:14px;display:block}.stat-card strong{color:#2563eb;margin-top:12px;font-size:32px;display:block}.professional-status-card{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px;padding:25px;display:flex;box-shadow:0 3px 12px #0000000d}.professional-status-card h2{margin-top:0}.professional-status-card p{color:#64748b}.status-controls{align-items:center;gap:15px;display:flex}.status-indicator{border-radius:20px;padding:9px 14px;font-size:13px;font-weight:700}.status-indicator.available{color:#15803d;background:#dcfce7}.status-indicator.unavailable{color:#b91c1c;background:#fee2e2}.status-controls select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px}.bookings-section{margin-top:30px}.section-heading{margin-bottom:20px}.section-heading h2{margin-bottom:8px}.section-heading p{color:#64748b}.empty-bookings{text-align:center;color:#64748b;background:#fff;border-radius:12px;padding:35px}.bookings-list{gap:20px;display:grid}.booking-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 3px 12px #0000000d}.booking-top{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.booking-top h3{margin:0 0 7px}.booking-id{color:#94a3b8;font-size:12px}.booking-status{border-radius:20px;padding:8px 13px;font-size:12px;font-weight:700}.booking-status.pending{color:#92400e;background:#fef3c7}.booking-status.accepted{color:#166534;background:#dcfce7}.booking-status.rejected{color:#b91c1c;background:#fee2e2}.booking-status.cancelled{color:#475569;background:#e2e8f0}.booking-information{overflow-wrap:anywhere;line-height:1.7}.booking-information p{margin:10px 0}.booking-information a{color:#2563eb}.booking-actions{gap:12px;margin-top:20px;display:flex}.booking-actions button{color:#fff;cursor:pointer;border:none;border-radius:7px;padding:11px 20px;font-weight:700}.accept-button{background:#16a34a}.accept-button:hover{background:#15803d}.reject-button{background:#dc2626}.reject-button:hover{background:#b91c1c}.booking-actions button:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.admin-dashboard{padding:20px 15px}.dashboard-header,.professional-status-card{flex-direction:column;align-items:flex-start}.dashboard-stats{grid-template-columns:1fr}.status-controls{flex-wrap:wrap}.booking-top{flex-direction:column;align-items:flex-start}.booking-actions{flex-direction:column}.booking-actions button{width:100%}}.meeting-link-form{background:#f8fafc;border-radius:10px;flex-direction:column;gap:12px;margin-top:22px;padding:18px;display:flex}.meeting-link-form label{font-size:14px;font-weight:700}.meeting-link-form input{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:7px;width:100%;padding:12px;font-size:14px}.save-link-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:7px;align-self:flex-start;padding:11px 18px;font-weight:700}.save-link-button:hover{background:#1d4ed8}.save-link-button:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.save-link-button{width:100%}}.messages-section{background:#fff;border-radius:14px;margin-top:35px;padding:25px;box-shadow:0 4px 20px #0000000d}.unread-counter{color:#d35400;background:#fff0e6;border-radius:20px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-block}.messages-list{gap:18px;margin-top:20px;display:grid}.message-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.message-unread{background:#f8fcff;border-left:4px solid #0077b6}.message-read{border-left:4px solid #cbd5e1}.message-top{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px;display:flex}.message-top h3{color:#101827;margin:0 0 7px;font-size:18px}.message-date{color:#64748b;font-size:13px}.message-status{border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600}.message-status.unread{color:#005f92;background:#dff3ff}.message-status.read{color:#64748b;background:#edf1f5}.message-information{overflow-wrap:anywhere;margin-bottom:15px}.message-information p{color:#334155;margin:0}.message-information a{color:#0077b6;text-decoration:none}.message-information a:hover{text-decoration:underline}.message-content{color:#334155;background:#f5f8fc;border-radius:8px;padding:15px}.message-content p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;line-height:1.7}.message-actions{margin-top:15px}.mark-read-button{color:#fff;cursor:pointer;background:#0077b6;border:none;border-radius:7px;padding:10px 16px;transition:background .3s}.mark-read-button:hover{background:#005f92}.mark-read-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=600px){.messages-section{padding:15px}.message-top{flex-direction:column}}
