:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-accent:#f59e0b;--color-bg:#fff;--color-bg-alt:#f4f7fb;--color-text:#1f2937;--color-text-muted:#5b6472;--color-border:#e2e8f0;--radius:12px;--max-width:1100px;--shadow:0 4px 16px #0f172a14;--color-error:#dc2626;--color-success:#16a34a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{color:var(--color-text);background:var(--color-bg);-webkit-text-size-adjust:100%;margin:0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;overflow-x:hidden}img,picture{max-width:100%;height:auto}h1,h2,h3{margin:0 0 .5em;line-height:1.25}p{margin:0 0 1em}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.site-header{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-border);background:#fffffff2;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:70px;display:flex}.logo{color:var(--color-text);font-size:1.2rem;font-weight:700;text-decoration:none}.logo span{color:var(--color-primary);margin-left:6px;font-weight:400}.main-nav ul{align-items:center;gap:28px;margin:0;padding:0;list-style:none;display:flex}.main-nav a{color:var(--color-text);font-weight:500}.main-nav a:hover{color:var(--color-primary);text-decoration:none}.nav-cta{background:var(--color-primary);border-radius:999px;padding:8px 16px;color:#fff!important}.nav-cta:hover{background:var(--color-primary-dark)}.nav-toggle{box-sizing:content-box;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:26px;height:20px;margin-right:-12px;padding:12px;display:none}.nav-toggle span{background:var(--color-text);border-radius:2px;width:100%;height:2px;display:block}.hero{text-align:left;background-image:linear-gradient(90deg,#fffffff0 0%,#ffffffd9 45%,#ffffff59 70%,#fff0 100%),url(/img/herobanner.png);background-position:top;background-size:cover;padding:160px 0 120px}@supports (background-image:image-set(url("i.webp") type("image/webp"))){.hero{background-image:-webkit-linear-gradient(270deg,#fffffff0 0%,#ffffffd9 45%,#ffffff59 70%,#fff0 100%),-webkit-image-set(url(/img/herobanner.webp) 1x type("image/webp"),url(/img/herobanner.png) 1x type("image/png"));background-image:linear-gradient(90deg,#fffffff0 0%,#ffffffd9 45%,#ffffff59 70%,#fff0 100%),image-set("/img/herobanner.webp" 1x type("image/webp"),"/img/herobanner.png" 1x type("image/png"))}}.hero-inner{padding-top:20px}.hero h1{max-width:640px;font-size:clamp(2rem,5vw,2.8rem)}.hero-sub{max-width:640px;color:var(--color-text-muted);margin-left:4px;font-size:1.1rem}.hero-actions{flex-wrap:wrap;justify-content:start;gap:16px;display:flex}.btn{cursor:pointer;border:2px solid #0000;border-radius:999px;padding:12px 28px;font-weight:600;transition:transform .15s,background .15s;display:inline-block}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{border-color:var(--color-primary);color:var(--color-primary);background:0 0}.profile-picture{object-fit:cover;object-position:center top;border-radius:50%;width:250px;height:250px}.section{padding:70px 0}.section-alt{background:var(--color-bg-alt)}.section h2{text-align:center;font-size:1.8rem}.section-intro{text-align:center;color:var(--color-text-muted);max-width:600px;margin:0 auto 2.5em}.about-inner{flex-wrap:wrap;align-items:center;gap:48px;display:flex}.about-photo{flex:none;justify-content:center;align-items:center;display:flex}.about-text{flex:400px}.qualifications{color:var(--color-text-muted);padding-left:20px}.qualifications li{margin-bottom:6px}.card-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.card-grid.two-col{grid-template-columns:repeat(2,1fr)}.card-grid.single-col{grid-template-columns:1fr;max-width:360px;margin:0 auto}.card{border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-direction:column;justify-content:space-between;align-items:start;padding:28px 24px;display:flex}.card-icon{margin-bottom:12px;font-size:2rem}.card-meta{color:var(--color-text-muted);margin:0;font-size:.9rem}.testimonial-card .stars{color:var(--color-accent);letter-spacing:2px;margin-bottom:10px}.testimonial-card .quote{color:var(--color-text);font-style:italic}.testimonial-author{color:var(--color-text-muted);margin:0;font-size:.9rem;font-weight:600}.price-card{text-align:center}.price-card.featured{border-color:var(--color-primary);box-shadow:0 6px 20px #2563eb2e}.price-card.seasonal{border-color:var(--color-accent);box-shadow:0 6px 20px #f59e0b2e}.price{color:var(--color-primary);margin:8px 0;font-size:2rem;font-weight:700}.price span{color:var(--color-text-muted);font-size:1rem;font-weight:400}.price-note{text-align:center;color:var(--color-text-muted);margin-top:2em;font-size:.9rem}.contact-inner{grid-template-columns:1.4fr 1fr;align-items:start;gap:48px;display:grid}.form-row{flex-direction:column;margin-bottom:18px;display:flex}label{margin-bottom:6px;font-size:.95rem;font-weight:600}input,textarea,select{font:inherit;border:1px solid var(--color-border);color:var(--color-text);background:#fff;border-radius:8px;padding:10px 14px}input:focus,textarea:focus,select:focus{outline:2px solid var(--color-primary);outline-offset:1px}input.invalid,textarea.invalid{border-color:var(--color-error)}.error-msg{color:var(--color-error);min-height:1.2em;font-size:.85rem}.form-note{margin-top:14px;font-weight:600}.form-note.success{color:var(--color-success)}.form-note.error{color:var(--color-error)}.contact-direct{background:var(--color-bg-alt);border-radius:var(--radius);padding:28px}.contact-list{margin:0;padding:0;list-style:none}.contact-list li{flex-direction:column;margin-bottom:16px;display:flex}.contact-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:.85rem}.site-footer{border-top:1px solid var(--color-border);padding:24px 0}.footer-inner{color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.9rem;display:flex}.footer-nav a{color:var(--color-text-muted);margin-left:16px}.legal-page{max-width:800px;margin:0 auto;padding:60px 0}.legal-page h1{margin-bottom:.6em}.legal-page h2{text-align:left;margin-top:1.6em;font-size:1.3rem}.back-link{margin-bottom:24px;display:inline-block}@media (max-width:900px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:800px){.hero{background-image:linear-gradient(#ffffffeb,#ffffffeb),url(/img/herobanner.png);padding:120px 0 56px}@supports (background-image:image-set(url("i.webp") type("image/webp"))){.hero{background-image:-webkit-linear-gradient(#ffffffeb,#ffffffeb),-webkit-image-set(url(/img/herobanner.webp) 1x type("image/webp"),url(/img/herobanner.png) 1x type("image/png"));background-image:linear-gradient(#ffffffeb,#ffffffeb),image-set("/img/herobanner.webp" 1x type("image/webp"),"/img/herobanner.png" 1x type("image/png"))}}.main-nav{border-bottom:1px solid var(--color-border);box-shadow:var(--shadow);background:#fff;display:none;position:absolute;top:70px;left:0;right:0}.main-nav.open{display:block}.main-nav ul{flex-direction:column;align-items:stretch;gap:4px;padding:12px 20px 20px}.main-nav a{border-bottom:1px solid var(--color-border);padding:12px 4px;display:block}.main-nav li:last-child a{border-bottom:none}.nav-cta{margin-top:8px;display:inline-block}.nav-toggle{display:flex}.section{padding:48px 0}.card-grid,.card-grid.two-col{grid-template-columns:1fr}.about-inner,.contact-inner{flex-direction:column;grid-template-columns:1fr;gap:28px;display:flex}.about-photo{align-self:center}}@media (max-width:560px){.container{padding:0 16px}.hero{padding:104px 0 48px}.hero h1{font-size:clamp(1.7rem,8vw,2.2rem)}.hero-sub{font-size:1rem}.hero-actions{gap:12px}.hero-actions .btn{text-align:center;flex:100%}.section{padding:40px 0}.section h2{font-size:1.5rem}.card,.contact-direct{padding:22px 20px}.footer-inner{flex-direction:column;align-items:flex-start}.footer-nav a{margin-left:0;margin-right:16px}}.login-page{min-height:100vh;padding:var(--space-5);background:var(--color-bg-alt);justify-content:center;align-items:center;display:flex}.login-card{border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-6);background:#fff;width:100%;max-width:380px}.login-card h1{margin-bottom:var(--space-2);font-size:1.5rem}.login-intro{color:var(--color-text-muted);margin-bottom:var(--space-5);font-size:.95rem}.login-card .btn{text-align:center;width:100%}.app-nav{border-bottom:1px solid var(--color-border);z-index:20;background:#fff;position:sticky;top:0}.app-nav-inner{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:64px;display:flex}.app-nav-links ul{align-items:center;gap:var(--space-4);margin:0;padding:0;list-style:none;display:flex}.app-nav-links a{color:var(--color-text-muted);border-bottom:2px solid #0000;padding:6px 0;font-size:.95rem;font-weight:600}.app-nav-links a:hover{color:var(--color-text);text-decoration:none}.app-nav-links a.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.link-button{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:.95rem;font-weight:600}.link-button:hover{color:var(--color-error)}.app-main{padding:var(--space-6) 20px var(--space-6)}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-head h1{margin:0;font-size:1.6rem}.page-head .sub{color:var(--color-text-muted);margin:var(--space-1) 0 0;font-size:.95rem}.toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.toolbar input[type=search],.toolbar input[type=month],.toolbar select{min-width:180px}.btn-sm{padding:7px 16px;font-size:.9rem}.stat-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.stat{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);background:#fff}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 var(--space-2);font-size:.8rem}.stat-value{margin:0;font-size:1.6rem;font-weight:700;line-height:1.2}.stat-value.muted{color:var(--color-text-muted)}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.95rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:12px 16px}.data-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-bg-alt);font-size:.8rem}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:var(--color-bg-alt)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table td.wrap{white-space:normal;min-width:220px}.row-actions{gap:var(--space-3);justify-content:flex-end;display:flex}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:600;display:inline-block}.badge-draft{background:var(--color-bg-alt);color:var(--color-text-muted);border-color:var(--color-border)}.badge-open{color:#92400e;background:#fef3c7}.badge-paid{color:#166534;background:#dcfce7}.badge-cancelled{color:#991b1b;background:#fee2e2}.badge-planned{color:#1e40af;background:#dbeafe}.badge-held{color:#166534;background:#dcfce7}.badge-no_show{color:#9a3412;background:#ffedd5}.empty-state{text-align:center;padding:var(--space-6) var(--space-5);color:var(--color-text-muted)}.empty-state p{margin-bottom:var(--space-4)}.form-grid{gap:0 var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}.form-grid .form-row.full{grid-column:1/-1}.form-section{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);margin-bottom:var(--space-5);background:#fff}.form-section h2{text-align:left;margin:0 0 var(--space-2);font-size:1.1rem}.form-section .hint{color:var(--color-text-muted);margin:0 0 var(--space-4);font-size:.9rem}.form-actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.notice{border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-5);border:1px solid;font-size:.95rem}.notice-warn{color:#92400e;background:#fffbeb;border-color:#fcd34d}.notice-error{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.notice-info{background:var(--color-bg-alt);border-color:var(--color-border);color:var(--color-text-muted)}@media (max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:800px){.form-grid{grid-template-columns:1fr}.app-nav-links{border-bottom:1px solid var(--color-border);box-shadow:var(--shadow);background:#fff;display:none;position:absolute;top:64px;left:0;right:0}.app-nav-links.open{display:block}.app-nav-links ul{padding:var(--space-2) 20px var(--space-4);flex-direction:column;align-items:stretch;gap:0}.app-nav-links li{border-bottom:1px solid var(--color-border)}.app-nav-links a,.link-button{border-bottom:0;padding:12px 0;display:block}}@media (max-width:560px){.stat-grid{grid-template-columns:1fr}.app-main{padding:var(--space-5) 16px}}.calendar-grid{background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-weekday{background:var(--color-bg-alt);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);text-align:center;padding:10px 8px;font-size:.8rem;font-weight:700}.calendar-day{background:#fff;flex-direction:column;gap:4px;min-height:110px;padding:6px;display:flex}.calendar-day.other-month{background:var(--color-bg-alt)}.calendar-day.other-month .calendar-daynum{color:var(--color-text-muted);opacity:.6}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--color-primary)}.calendar-daynum{text-align:right;font-size:.85rem;font-weight:700}.calendar-daynum a{color:inherit;min-width:22px;padding:2px;display:inline-block}.calendar-day.today .calendar-daynum a{color:var(--color-primary)}.calendar-event{color:#1e40af;background:#dbeafe;border-radius:6px;justify-content:space-between;align-items:center;gap:4px;padding:3px 5px;font-size:.78rem;line-height:1.3;display:flex}.calendar-event a{color:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-event.held{color:#166534;background:#dcfce7}.calendar-event.cancelled{color:var(--color-text-muted);background:#f1f5f9;text-decoration:line-through}.calendar-event.no_show{color:#9a3412;background:#ffedd5}.hold-button{color:inherit;cursor:pointer;background:#ffffffb3;border:1px solid;border-radius:4px;flex-shrink:0;padding:2px 5px;font-size:.7rem;line-height:1}.hold-button:hover{background:#fff}.calendar-agenda{display:none}.calendar-agenda ul{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;margin:0;padding:0;list-style:none}.calendar-agenda li{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);flex-wrap:wrap;padding:12px 16px;display:flex}.calendar-agenda li:last-child{border-bottom:0}.calendar-agenda .agenda-price{font-variant-numeric:tabular-nums;color:var(--color-text-muted);margin-left:auto}@media (max-width:800px){.calendar-grid{display:none}.calendar-agenda{display:block}}.print-bar{gap:var(--space-3);max-width:210mm;margin:var(--space-5) auto 0;padding:0 var(--space-5);justify-content:flex-end;display:flex}.invoice-sheet{max-width:210mm;margin:var(--space-5) auto var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;padding:20mm 18mm;font-size:11pt;line-height:1.5}.invoice-sender-line{color:var(--color-text-muted);border-bottom:.5pt solid var(--color-border);margin:0 0 2mm;padding-bottom:2mm;font-size:7.5pt}.invoice-address-field{width:85mm;min-height:27mm;margin-bottom:12mm;font-style:normal}.invoice-meta{justify-content:flex-end;margin-bottom:8mm;display:flex}.invoice-meta table{border-collapse:collapse;font-size:10pt}.invoice-meta th{text-align:left;color:var(--color-text-muted);padding:1mm 6mm 1mm 0;font-weight:600}.invoice-meta td{text-align:right;padding:1mm 0}.invoice-title{margin:0 0 4mm;font-size:15pt}.invoice-intro{margin:0 0 6mm}.invoice-items{border-collapse:collapse;width:100%;margin-bottom:6mm}.invoice-items th,.invoice-items td{text-align:left;border-bottom:.5pt solid var(--color-border);vertical-align:top;padding:2mm 3mm}.invoice-items thead th{border-bottom:1pt solid var(--color-text);text-transform:uppercase;letter-spacing:.03em;font-size:9.5pt}.invoice-items .num,.invoice-totals .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-totals{border-collapse:collapse;min-width:70mm;margin-left:auto}.invoice-totals th{text-align:left;padding:1.5mm 6mm 1.5mm 0;font-weight:400}.invoice-totals td{padding:1.5mm 0}.invoice-totals .grand th,.invoice-totals .grand td{border-top:1pt solid var(--color-text);padding-top:2mm;font-size:12pt;font-weight:700}.invoice-tax-note{margin:6mm 0;font-size:10pt}.invoice-payment{margin-top:8mm;font-size:10pt}.invoice-payment table{border-collapse:collapse;margin-top:2mm}.invoice-payment th{text-align:left;color:var(--color-text-muted);padding:.5mm 6mm .5mm 0;font-weight:600}.invoice-footer-note{color:var(--color-text-muted);margin-top:6mm;font-size:9.5pt}.invoice-footer{border-top:.5pt solid var(--color-border);justify-content:space-between;gap:var(--space-5);color:var(--color-text-muted);margin-top:12mm;padding-top:3mm;font-size:8.5pt;display:flex}@page{size:A4;margin:18mm 16mm}@media print{.print-bar,.app-nav,.toolbar,.btn{display:none!important}body{background:#fff}.invoice-sheet{max-width:none;box-shadow:none;border:0;border-radius:0;margin:0;padding:0}thead{display:table-header-group}tr,.invoice-totals,.invoice-payment{break-inside:avoid}a[href]:after{content:""}}.series-mark{opacity:.7;margin-left:4px;font-size:.9em}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.nav-badge{background:var(--color-primary);color:#fff;text-align:center;border-radius:999px;min-width:18px;margin-left:6px;padding:1px 6px;font-size:.75rem;line-height:1.5;display:inline-block}.template-preview{color:var(--color-text-muted);gap:var(--space-3);flex-wrap:wrap;align-items:baseline;margin:0;font-size:.9rem;display:flex}.template-preview strong{color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.template-help{margin:var(--space-2) 0 0;padding:var(--space-3);background:var(--color-bg-alt);color:var(--color-text-muted);border-radius:8px;font-size:.85rem;list-style:none}.template-help li{margin-bottom:2px}.template-help code{color:var(--color-text);margin-right:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
