:root{--ink:#263b34;--muted:#78827b;--line:#e4e7e0;--paper:#fbfaf7;--accent:#765b55;--green:#314f42;--soft:#eff2eb;--radius:16px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:15px;line-height:1.6}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0 0 14px}h1,h2,h3{line-height:1.18;font-weight:500;letter-spacing:-.035em}h1{font-size:42px}h2{font-size:28px}h3{font-size:19px}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;line-height:1.7}.wrap{max-width:1216px;margin:auto;padding-left:48px;padding-right:48px}.narrow{max-width:850px;padding-top:48px;padding-bottom:64px}.brand{display:flex;gap:12px;align-items:center;font-size:21px;letter-spacing:-.04em;font-weight:600;white-space:nowrap}.brand img{object-fit:contain}.brand-mark{display:inline-flex;justify-content:center;align-items:center;background:var(--green);color:white;width:40px;height:40px;border-radius:50%;font-family:Georgia,serif;font-size:25px}.button{border:1px solid transparent;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:13px 21px;background:var(--green);color:#fff;font-size:13px;font-weight:600;line-height:1.45;min-height:46px;transition:background .15s}.button:hover{background:#203c30;text-decoration:none}.button.secondary{background:transparent;border-color:#d6ddd6;color:var(--ink)}.button.secondary:hover{background:#e9eee7}.button.danger{background:#fbefed;border-color:#eddad5;color:#9e4940}.button.small{font-size:12px;padding:10px 15px;min-height:42px}.button.full{width:100%}.button:disabled{opacity:.5;cursor:not-allowed}.text-button{border:0;background:transparent;padding:8px 0;font-size:12px;color:inherit;text-decoration:underline;text-underline-offset:4px}.skip{position:fixed;top:-100px;left:16px;background:white;padding:14px;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}:focus-visible{outline:3px solid #a88346;outline-offset:4px}label{display:block;font-size:12px;font-weight:600;margin-bottom:16px;letter-spacing:.01em}input,select,textarea{display:block;width:100%;border:1px solid #dce1da;border-radius:6px;background:white;color:#263b34;padding:11px 12px;margin-top:7px;min-height:46px;max-width:100%;font-size:14px}textarea{resize:vertical;line-height:1.6}input[type=color]{padding:5px}input[type=file]{font-size:12px}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--green);margin:0;flex-shrink:0}.check{display:flex;gap:11px;align-items:flex-start;font-weight:400;line-height:1.6;padding:8px 0}.check a{text-decoration:underline}fieldset{border:0;padding:0;margin:15px 0 24px}legend{font-weight:600;font-size:14px;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid>*{min-width:0}.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline-form input,.inline-form select{width:auto;margin:0}.inline-form label{margin:0}.inline-form label input{margin-top:5px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-bottom:22px;min-width:0}.panel h2{font-size:23px;margin-bottom:22px}.panel h3{margin-top:22px}.panel p{font-size:13px;line-height:1.8}.panel form:last-child{margin-bottom:0}hr{height:1px;border:0;background:var(--line);margin:26px 0}.notice{padding:17px 22px;margin:0 0 24px;background:#f7f0df;border:1px solid #eadfbe;border-radius:9px;font-size:13px}.notice a{text-decoration:underline}.notice.success{background:#eef5eb;border-color:#d1e4cc}.notice.error{background:#fcf0ed;border-color:#edcfc6;color:#7c3b31}.notice ul{padding-left:20px;margin-bottom:0}.public #main>.notice{max-width:1120px;margin:16px auto}.preserve{white-space:pre-line}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:260px;font-size:13px;color:var(--muted)}.empty{padding:40px 20px;text-align:center;color:var(--muted);width:100%}.empty-symbol{display:block;font-size:42px;margin-bottom:15px;color:#94a38e}.badge{display:inline-flex;padding:5px 10px;border-radius:5px;background:#f0f1ee;font-size:10px;letter-spacing:.02em;font-weight:600;color:#606c64;white-space:nowrap}.badge.confirmed{background:#edf2e6;color:#5c714b}.badge.completed{background:#e6f2eb;color:#397354}.badge.cancelled{background:#f2e9e6;color:#7d4f43}.badge.no_show{background:#f8edda;color:#92723a}
/* A vendég oldala */
.public{background:var(--paper);--green:var(--accent);color:#3e3935}.public h1,.public h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}.public.font-sans h1,.public.font-sans h2{font-family:Arial,Helvetica,sans-serif}.demo-strip{text-align:center;padding:7px 16px;background:#ece8e1;color:#6f645e;font-size:10px;letter-spacing:.025em}.public-header{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7e0d9;gap:20px}.public-header nav{display:flex;gap:28px;align-items:center;font-size:12px}.public-header .brand{font-family:Georgia,serif;font-size:23px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;padding-top:60px;padding-bottom:65px;min-height:440px}.hero h1{font-size:clamp(44px,4.5vw,66px);line-height:1.07;max-width:580px;margin-top:20px;margin-bottom:25px}.hero .eyebrow{color:var(--ink)}.hero-copy{max-width:450px;font-size:14px;line-height:1.9;color:#7f746c}.hero .button{margin-top:10px}.hero-note{font-size:10px;letter-spacing:.05em;margin-top:17px;color:#8d8179}.hero-art{position:relative;height:340px;background:#eee7dd;overflow:hidden;border-radius:160px 160px 3px 3px;display:flex;align-items:center;justify-content:center}.art-arch{border:1px solid #b7a293;border-radius:180px 180px 0 0;width:210px;height:270px;position:absolute;bottom:-20px;display:flex;align-items:center;justify-content:center;background:#d6c9ba;box-shadow:28px 2px 0 -1px #e1d6c8,28px 2px 0 0 #c7b6a5}.art-arch span{font:italic 150px Georgia,serif;color:#a48b77;position:relative;top:0}.art-orbit{position:absolute;width:400px;height:400px;border:1px solid #d0bfae;border-radius:50%;top:60px;left:-100px;transform:rotate(-30deg)}.art-caption{position:absolute;left:22px;bottom:26px;letter-spacing:.18em;font-size:9px;line-height:1.9}.art-star{position:absolute;right:30px;top:65px;font-size:58px;color:#ad9076;font-weight:200}.services-section{padding-top:34px;padding-bottom:50px;border-top:1px solid #e7e0d9}.service-list{border-top:1px solid #e0d8cf}.service-row{padding:24px 0;display:grid;grid-template-columns:36px 1fr 170px 42px;gap:24px;align-items:center;border-bottom:1px solid #e0d8cf}.service-number{color:#a49587;font:italic 18px Georgia,serif}.service-row h3{font:24px Georgia,serif;margin:5px 0 7px}.service-row p{font-size:12px;max-width:470px;color:#8a7c71;margin:0}.service-row .eyebrow{font-size:9px;color:#8e7b68}.service-meta{text-align:right}.service-meta strong{display:block;font-size:17px;font-weight:500}.service-meta span{display:block;font-size:11px;color:#8a7c71}.round-link{border:1px solid #d9cec2;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:20px}.team-section{padding-top:36px;padding-bottom:70px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.team-card{border:1px solid #e4dbd1;padding:28px;display:flex;gap:24px;border-radius:3px}.team-card .avatar{background:#e9ded3;color:#9a7d64;flex-shrink:0}.team-card h3{font:25px Georgia,serif;margin-top:4px}.team-card p{font-size:12px;color:#8a7c71}.team-card a{font-size:11px;color:var(--ink)}.avatar{width:68px;height:68px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eaf0e5;color:#72816c;font:28px Georgia,serif}.contact-section{display:grid;grid-template-columns:1fr 1fr 1fr;gap:44px;padding-top:52px;padding-bottom:60px;background:#f0ebe4;border-radius:3px}.contact-section h2{font-size:35px}.contact-section p,.contact-section a{font-size:12px;line-height:1.9}.contact-section h3{font-size:15px}.contact-section .button{margin-top:12px}.opening-line{display:flex;justify-content:space-between;gap:20px;font-size:11px;padding:5px 0;border-bottom:1px solid #e1d8cd}.public-footer{padding-top:40px;padding-bottom:40px;display:flex;justify-content:space-between;gap:24px;font-size:11px}.public-footer p{color:#9a8b7d;margin:6px 0 0}.public-footer>div:last-child{display:flex;gap:24px;align-items:center}.booking-wrap{padding-top:40px;padding-bottom:50px}.page-title{font-size:46px;margin-bottom:25px}.steps{display:flex;list-style:none;padding:0;gap:34px;margin:26px 0 40px;border-bottom:1px solid var(--line);padding-bottom:20px;color:var(--ink);font-size:10px;letter-spacing:.08em}.steps span{color:#8d847c;margin-left:8px}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.booking-summary{position:sticky;top:24px}.booking-summary h2{margin-top:16px}.summary-price{font-size:29px;font-family:Georgia,serif;margin-top:20px}.booking-summary p{font-size:12px;color:#7d8279}.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:360px;overflow:auto;padding:3px}.slot{margin:0;position:relative;cursor:pointer}.slot input{position:absolute;opacity:0;top:12px;left:12px}.slot span{display:block;padding:10px;border:1px solid #e0e4db;border-radius:6px;background:#fafbf8;text-align:center}.slot strong{display:block;font-size:16px;font-weight:500}.slot small{font-size:9px;font-weight:400;color:#7a8277;display:block}.slot input:checked+span{background:var(--green);border-color:var(--green);color:white}.slot input:checked+span small{color:#e2e9df}.slot input:focus-visible+span{outline:3px solid #a88346;outline-offset:1px}.success-page{text-align:center}.success-page h1{font-size:50px}.success-symbol{display:inline-flex;background:#e6efdf;color:#567346;border-radius:50%;width:70px;height:70px;align-items:center;justify-content:center;font-size:32px;margin-bottom:24px}.success-page>.panel{margin-top:30px}.login-wrap{max-width:560px;padding-top:60px;padding-bottom:80px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0 60px}.gallery img{aspect-ratio:1;width:100%;border-radius:4px}.barber{--paper:#171c1a;--ink:#f0e9db;--muted:#a5ada6;color:#f0e9db}.barber .demo-strip{background:#31372e;color:#d6cfb8}.barber .public-header,.barber .services-section,.barber .service-row,.barber .service-list{border-color:#3b4036}.barber .brand-mark{background:var(--accent);color:#171c1a}.barber .hero-art{background:#343c30}.barber .art-arch{background:#4f5840;border-color:#928667;box-shadow:28px 2px 0 -1px #3f4838,28px 2px 0 0 #928667}.barber .art-arch span{color:#b8a775}.barber .hero-copy,.barber .hero-note,.barber .service-row p,.barber .team-card p,.barber .service-meta span{color:#b0b3a2}.barber .contact-section{background:#242d26}.barber .team-card{border-color:#3d453a}.barber .panel{background:#252c27;border-color:#424a3b;color:#e9e5d7}.barber .public-footer p{color:#a4aa99}.barber .hero .button,.barber .public-header .button{color:#171c1a}.barber .slot{color:#233428}.barber .button{color:#171c1a}.barber .button.secondary{color:#e9e5d7}.barber .slot input:checked+span,.barber .slot input:checked+span small{color:#171c1a}
/* A napi munkafelület */
.admin{background:#f5f6f2}.sidebar{position:fixed;left:0;top:0;bottom:0;width:230px;background:#fff;border-right:1px solid var(--line);padding:31px 21px;display:flex;flex-direction:column}.sidebar .brand{padding:0 10px}.sidebar .brand-mark{border-radius:12px;width:34px;height:34px;font-size:27px}.workspace-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9ba294;margin:32px 12px 20px;overflow-wrap:anywhere}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav a{font-size:12px;display:flex;align-items:center;gap:15px;padding:12px 15px;border-radius:7px;color:#768275;min-height:45px}.sidebar nav a span{font-size:19px;width:18px;text-align:center}.sidebar nav a.active{background:#edf2e7;color:#354b36;font-weight:600}.sidebar nav a:hover{background:#f4f6ef;text-decoration:none}.sidebar-bottom{margin-top:auto;padding:20px 12px 0}.sidebar-bottom>a{font-size:11px;color:#52634f}.sidebar-bottom p{font-size:12px;margin-top:24px}.sidebar-bottom small{display:block;font-size:10px;color:#52634f}.admin-shell{margin-left:230px;min-height:100vh}.admin-top{display:flex;justify-content:space-between;align-items:center;padding:23px 44px;border-bottom:1px solid var(--line);height:76px;background:#fafbf7}.admin-top .eyebrow{color:#a0a792;font-size:9px}.admin-top>div{font-size:10px;color:#929d88}.live-dot{display:inline-block;background:#849d71;width:6px;height:6px;border-radius:50%;margin-right:7px}.admin-content{max-width:1450px;padding:39px 44px 50px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.page-heading h1{font-size:32px;margin:9px 0 11px;letter-spacing:-.045em}.page-heading p{font-size:12px;margin-bottom:0}.page-heading .eyebrow{font-size:9px;color:#8f9a81}.page-heading .button{flex-shrink:0}.next-guest{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#e9eee0;border:1px solid #dde4d2;border-radius:13px;margin-bottom:24px;padding:28px 33px;position:relative;overflow:hidden}.next-guest:after{content:"";position:absolute;width:220px;height:220px;border:1px solid #d9e1cc;border-radius:50%;right:170px;top:-100px;pointer-events:none}.next-guest .eyebrow{font-size:9px;color:#7c8a6a}.next-guest h2{font-size:28px;margin-bottom:7px}.next-guest p{font-size:12px;color:#8a947b}.next-guest a{font-size:11px}.next-time{font:50px Georgia,serif;color:#5d7151;line-height:1.1;text-align:right;position:relative;z-index:1}.next-time small{display:block;font:10px Arial,sans-serif;margin-top:12px}.stats{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:18px;margin-bottom:30px}.stats article{border:1px solid var(--line);border-radius:12px;background:#fff;padding:21px 24px;display:flex;flex-direction:column}.stats article>span{font-size:11px;color:#929d86}.stats article>strong{font-size:32px;font-weight:500;line-height:1.4;margin:7px 0}.stats article>strong small{font-size:15px}.stats article>small{font-size:9px;color:#a1a994}.calendar-panel{padding:26px 0 0;overflow:hidden}.calendar-panel .section-heading{padding:0 28px;align-items:center}.calendar-panel .section-heading h2{font-size:20px;margin-top:6px}.calendar-panel .eyebrow{font-size:8px;color:#9da88f}.calendar-panel .inline-form input,.calendar-panel .inline-form select{font-size:11px;padding:8px;min-height:38px}.appointment{display:grid;grid-template-columns:60px minmax(0,1.5fr) minmax(0,1fr) 130px 20px;align-items:center;gap:22px;padding:24px 29px;border-top:1px solid #eef0e9}.appointment-time{display:flex;flex-direction:column;line-height:1.5;border-right:2px solid #d5dfc6;padding-right:15px}.appointment-time strong{font-size:16px;font-weight:500}.appointment-time small{font-size:10px;color:#a8b29d}.appointment-main{display:flex;flex-direction:column;gap:4px}.appointment-main a{font-weight:600;font-size:13px}.appointment-main span{font-size:10px;color:#929c87}.appointment-staff{display:flex;gap:8px;align-items:center;font-size:10px;color:#8b967f}.mini-avatar{width:24px;height:24px;background:#ecefe7;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;color:#8d9a7f;flex-shrink:0}.source-label{display:block;font-size:8px;color:#a8b09e;margin-top:6px}.appointment-arrow{font-size:16px;color:#9baa8e}.calendar-foot{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:17px 28px;font-size:9px;color:#98a48b;background:#fbfcf8}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line)}.week-day{min-height:300px;padding:13px 8px;border-right:1px solid var(--line)}.week-day h3{font-size:12px;font-weight:600;margin:0 0 20px;color:#8e9b81}.week-booking{background:#edf2e5;border-left:2px solid #8fa573;border-radius:4px;padding:9px;display:block;margin-bottom:10px;overflow-wrap:anywhere}.week-booking strong,.week-booking span,.week-booking small{display:block}.week-booking strong{font-size:12px}.week-booking span{font-size:10px}.week-booking small{font-size:8px;line-height:1.5;color:#88977a}.week-booking.cancelled{background:#f4eeea;border-color:#c5a79b}.admin-footer{padding:20px 44px;font-size:10px;color:#52634f;display:flex;justify-content:space-between;border-top:1px solid var(--line)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.detail-grid small{display:block;color:#9ba68f;font-size:10px}.detail-grid strong{display:block;font-weight:500;font-size:14px;margin-top:8px}.actions{display:flex;gap:10px;flex-wrap:wrap}.audit-row{padding:15px 0;border-top:1px solid var(--line);font-size:12px}.audit-row small{display:block;color:#939e88;margin-top:4px;font-size:10px}.audit-row p{font-size:11px;margin:7px 0}.guest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.guest-card .avatar{margin-bottom:20px;width:48px;height:48px;font-size:20px}.guest-card h2{font-size:20px;margin-bottom:12px}.guest-card p{color:#8e9b81;overflow-wrap:anywhere}.guest-card .eyebrow{font-size:8px;color:#8e9b81}.guest-card:hover{text-decoration:none;border-color:#a5b591}.history-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.history-row:last-child{border-bottom:0}.history-row p{margin:7px 0 0;color:#8c9980}.history-row a{font-size:12px}.history-row small{color:#8c9980}summary{cursor:pointer;font-size:16px;font-weight:500;min-height:24px}details[open]>summary{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.hours-head,.hours-row{display:grid;grid-template-columns:90px repeat(4,minmax(0,1fr)) 40px;gap:10px;align-items:center}.hours-head{font-size:9px;color:#8c9980;margin-bottom:12px}.hours-row{margin-bottom:10px}.hours-row strong{font-size:11px}.hours-row input{font-size:12px;padding:7px;margin:0;min-height:38px}.hours-row label{margin:0}.hours-row input[type=checkbox]{min-height:18px}.setup-list{font-size:13px;line-height:2.2;padding-left:22px}.setup-list a{text-decoration:underline}.admin-content>nav[role=navigation]{font-size:12px}.admin-content svg{width:20px;height:20px}
@media(min-width:1500px){.admin-content{padding-top:48px}.appointment{padding-top:28px;padding-bottom:28px}}
@media(max-width:1150px){.wrap{padding-left:30px;padding-right:30px}.sidebar{width:200px;padding-left:14px;padding-right:14px}.admin-shell{margin-left:200px}.admin-content{padding:30px 26px}.admin-top{padding-left:26px;padding-right:26px}.appointment{gap:15px;grid-template-columns:50px minmax(0,1.5fr) minmax(0,1fr) 110px 16px;padding:22px}.booking-grid{grid-template-columns:minmax(0,1fr) 250px}.slots{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-panel .section-heading{flex-wrap:wrap}.team-card{padding:20px;gap:18px}.contact-section{gap:24px}.hero{gap:30px}}
@media(max-width:900px){.sidebar{position:static;width:auto;height:auto;padding:18px 24px 0}.sidebar .brand{font-size:20px;padding:0}.workspace-label{position:absolute;right:24px;top:14px;max-width:45%;margin:12px 0}.sidebar nav{flex-direction:row;overflow-x:auto;margin-top:18px;gap:4px;padding-bottom:10px}.sidebar nav a{white-space:nowrap;padding:9px 12px;font-size:11px;gap:7px}.sidebar nav a span{font-size:16px}.sidebar-bottom{display:none}.admin-shell{margin-left:0}.admin-top{height:50px;padding-top:12px;padding-bottom:12px}.hero-art{height:310px}.hero h1{font-size:48px}.hero{padding-top:40px;padding-bottom:45px}.public-header nav{gap:18px}.contact-section{grid-template-columns:1fr 1fr}.contact-section>div:last-child{grid-column:1/-1}.guest-grid{grid-template-columns:1fr 1fr}.public-footer{flex-direction:column}.form-grid.three{grid-template-columns:1fr 1fr}.booking-grid{grid-template-columns:minmax(0,1fr) 235px}.public-header .brand{font-size:20px}}
@media(max-width:640px){.wrap{padding-left:20px;padding-right:20px}.demo-strip{font-size:9px}.public-header{height:80px}.public-header nav>a:not(.button){display:none}.public-header .brand{font-size:19px;gap:8px}.public-header .brand-mark{width:32px;height:32px;font-size:21px}.public-header .button{font-size:10px;padding:10px 12px;gap:8px;min-height:40px}.hero{grid-template-columns:1fr;gap:28px;padding-top:32px;padding-bottom:38px}.hero h1{font-size:47px;margin-top:17px}.hero-copy{font-size:13px}.hero-art{height:230px;border-radius:130px 130px 3px 3px}.art-arch{height:200px;width:175px}.art-arch span{font-size:110px}.art-star{top:35px;font-size:44px}.art-caption{font-size:8px}.hero .button{font-size:12px;gap:15px}.section-heading{align-items:flex-start;gap:16px;flex-direction:column}.section-heading h2{font-size:29px}.section-heading>p{margin:0}.service-row{grid-template-columns:1fr 95px 34px;gap:12px;padding:22px 0}.service-number{display:none}.service-row h3{font-size:20px}.service-row p{font-size:11px}.service-meta strong{font-size:14px}.service-meta span{font-size:10px}.round-link{width:34px;height:34px}.team-grid{grid-template-columns:1fr}.team-section{padding-bottom:35px}.team-card{padding:23px}.team-card h3{font-size:23px}.team-card .avatar{width:50px;height:50px}.contact-section{grid-template-columns:1fr;border-radius:0;padding-top:35px;padding-bottom:35px}.contact-section>div:last-child{grid-column:auto}.public-footer{padding-top:30px;padding-bottom:30px;font-size:10px}.public-footer>div:last-child{gap:15px;flex-wrap:wrap}.booking-wrap,.narrow{padding-top:28px;padding-bottom:36px}.page-title{font-size:36px}.steps{gap:15px;font-size:9px;align-items:flex-start;line-height:1.7}.steps span{display:block;margin:5px 0 0}.booking-grid{grid-template-columns:1fr;gap:0}.booking-summary{position:static;grid-row:1}.booking-summary h2{margin-top:10px}.summary-price{font-size:25px}.panel{padding:22px;border-radius:11px;margin-bottom:18px}.panel h2{font-size:22px}.slots{grid-template-columns:repeat(2,minmax(0,1fr));max-height:305px}.form-grid,.form-grid.three{grid-template-columns:1fr;gap:0}.gallery{grid-template-columns:1fr 1fr;gap:10px}.login-wrap{padding-top:35px;padding-bottom:40px}.success-page h1{font-size:40px}.sidebar{padding:15px 16px 0}.sidebar .brand{font-size:19px}.sidebar .brand-mark{width:30px;height:30px}.workspace-label{right:16px;top:12px;font-size:8px}.sidebar nav a{font-size:11px;padding:8px 10px}.admin-top{padding:10px 20px}.admin-top .eyebrow{font-size:7px}.admin-top>div{font-size:9px}.admin-content{padding:26px 16px 35px}.page-heading{align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-heading h1{font-size:28px;margin-top:9px}.page-heading p{font-size:11px}.page-heading .eyebrow{font-size:8px}.page-heading .button{font-size:11px;padding:11px 15px}.next-guest{padding:24px 20px;gap:15px}.next-guest h2{font-size:24px}.next-guest p{font-size:10px}.next-time{font-size:38px}.next-time small{font-size:9px}.stats{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.stats article{padding:17px 18px}.stats article>span{font-size:9px}.stats article>strong{font-size:27px;margin:4px 0}.stats article>small{font-size:8px}.stats article:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 12px;align-items:center}.stats article:last-child>strong{grid-column:2;grid-row:1/3;text-align:right;font-size:29px}.calendar-panel{padding-top:22px}.calendar-panel .section-heading{padding:0 20px;align-items:flex-start}.calendar-panel .inline-form{gap:6px}.calendar-panel .inline-form input{max-width:138px;font-size:11px}.calendar-panel .inline-form select{max-width:104px;font-size:10px}.calendar-panel .button.small{font-size:10px;padding:8px 12px;min-height:38px}.appointment{grid-template-columns:44px minmax(0,1fr) 105px;gap:7px 13px;padding:20px}.appointment-time{grid-row:1/3;padding-right:7px;align-self:start}.appointment-time strong{font-size:14px}.appointment-main a{font-size:12px}.appointment-main span{font-size:10px}.appointment-staff{grid-column:2;grid-row:2;font-size:9px}.appointment>div:nth-child(4){grid-column:3;grid-row:1/3;text-align:right}.appointment-arrow{display:none}.badge{font-size:8px;padding:5px 7px}.source-label{font-size:7px}.calendar-foot{padding:15px 20px;flex-direction:column;gap:8px;font-size:9px}.week-grid{grid-template-columns:1fr}.week-day{min-height:80px;border-right:0;border-bottom:1px solid var(--line);padding:15px 20px}.week-day h3{margin-bottom:10px}.week-booking{padding:12px;display:grid;grid-template-columns:50px 1fr;gap:4px 12px}.week-booking strong{grid-row:1/3}.week-booking small{grid-column:2}.admin-footer{padding:20px 16px;font-size:8px}.detail-grid{grid-template-columns:1fr;gap:18px}.actions{gap:8px}.actions .button{font-size:11px;flex-grow:1}.guest-grid{grid-template-columns:1fr;gap:0}.history-row{gap:12px}.hours-head{display:none}.hours-row{grid-template-columns:65px 1fr 1fr 28px;gap:8px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.hours-row strong{grid-column:1}.hours-row input{font-size:11px;min-width:0;width:100%;padding:7px 4px}.hours-row input:nth-of-type(3){grid-column:2;grid-row:2}.hours-row input:nth-of-type(4){grid-column:3;grid-row:2}.hours-row .check{grid-column:4;grid-row:1}.hours-row:after{content:'Szünet:';font-size:9px;color:var(--muted);grid-row:2;grid-column:1}.hours-row .check input{width:18px}.setup-list{font-size:12px;padding-left:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}


.admin .muted,.admin .workspace-label,.admin .page-heading .eyebrow,.admin .admin-top .eyebrow,.admin .admin-top>div,.admin .stats article>span,.admin .stats article>small,.admin .source-label,.admin .appointment-main span,.admin .appointment-staff,.admin .appointment-time small,.admin .calendar-foot,.admin .detail-grid small,.admin .history-row p,.admin .history-row small,.admin .audit-row small,.admin .hours-head,.admin .slot small,.admin .guest-card p,.admin .guest-card .eyebrow,.admin .guest-card .avatar,.admin .booking-summary p{color:#52634f}.admin .sidebar nav a{font-size:13px;color:#52634f}.admin .stats article>small{font-size:11px}.admin .appointment-main a{font-size:14px}.admin .appointment-main span,.admin .appointment-staff{font-size:11px}.admin .slot small,.admin .guest-card .eyebrow{font-size:12px}.admin .badge.cancelled{color:#7d4f43}

.mobile-logout{display:none}@media(max-width:900px){.mobile-logout{display:block}.mobile-logout .text-button{font-size:10px;min-height:40px}.admin-top{gap:12px}.admin-top>.eyebrow{display:none}}

.calendar-unavailable{border-top:1px solid var(--line);padding:22px 28px}
.calendar-connect-link{display:inline-block;margin-top:10px;font-size:12px;font-weight:600}
.calendar-unavailable h3{font-size:15px;margin:0 0 14px}
.calendar-unavailable-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.calendar-unavailable-item{display:flex;flex-direction:column;gap:5px;padding:13px 15px;background:#f5f7f1;border-left:3px solid #8fa573;border-radius:4px;font-size:12px}
.calendar-unavailable-item strong{font-size:12px}
.calendar-unavailable-item small{font-size:11px;color:#536547}
.calendar-unavailable-item .calendar-conflict{font-weight:700;color:#8a322c}

@media(max-width:640px){
 .calendar-panel{padding-inline:0}
 .calendar-unavailable{padding:20px}
 .appointment{grid-template-columns:44px minmax(0,1fr);gap:5px 12px;padding:16px 20px;align-items:start}
 .appointment-time{grid-column:1;grid-row:1/4}
 .appointment-main{grid-column:2;grid-row:1;min-width:0}
 .appointment-main a,.appointment-main span{overflow-wrap:break-word}
 .appointment-staff{grid-column:2;grid-row:2;min-width:0}
 .appointment>div:nth-child(4){grid-column:2;grid-row:3;display:flex;align-items:center;gap:6px 9px;flex-wrap:wrap;text-align:left}
 .appointment .source-label{display:inline;margin:0}
 .week-booking strong{grid-row:1/4}
 .week-booking span{font-size:12px;font-weight:600}
 .week-booking small{font-size:11px;line-height:1.4;color:#536547}
 .week-booking-status{font-weight:600}
}

/* Admin naptár és napi munkanézet */
.calendar-page-heading{margin-bottom:24px}
.calendar-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.calendar-heading-actions .calendar-connect-link{margin:0;text-decoration:underline;text-underline-offset:4px}
.calendar-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:22px}
.calendar-summary article{background:#fff;border:1px solid #dfe5dc;border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;min-width:0;box-shadow:0 4px 16px #263b3408}
.calendar-summary article>span{font-size:11px;font-weight:600;color:#52664e}
.calendar-summary article>strong{font-size:31px;line-height:1.2;font-weight:600;color:#273e33;margin:7px 0 6px;white-space:nowrap}
.calendar-summary article>strong small{font-size:15px}
.calendar-summary article>small{font-size:11px;color:#687865}
.calendar-workspace{padding:0;overflow:hidden;border-color:#dce4d9;box-shadow:0 9px 30px #263b3409}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #e2e9e0;background:#fff;flex-wrap:wrap}
.calendar-toolbar h2{font-size:22px;margin:4px 0 0}
.calendar-toolbar .eyebrow,.calendar-agenda-heading .eyebrow,.calendar-unavailable-heading .eyebrow{color:#60755a;font-size:9px;margin:0}
.calendar-controls{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.calendar-period-nav,.calendar-view-switch{display:flex;align-items:center;border:1px solid #d8e1d5;border-radius:9px;overflow:hidden;background:#fff}
.calendar-period-nav a,.calendar-view-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:39px;min-height:40px;padding:7px 11px;font-size:12px;font-weight:600;border-right:1px solid #d8e1d5}
.calendar-period-nav a:last-child,.calendar-view-switch a:last-child{border-right:0}
.calendar-period-nav a:hover,.calendar-view-switch a:hover{background:#f1f5ef;text-decoration:none}
.calendar-period-nav .calendar-period-today{min-width:47px}
.calendar-view-switch a.active{background:#314f42;color:#fff}
.calendar-date-form{display:flex;align-items:center;gap:6px;margin:0}
.calendar-date-form input[type=date]{width:144px;min-height:40px;margin:0;padding:6px 8px;font-size:12px}
.calendar-date-form .button{min-height:40px;padding:7px 11px}
.calendar-day-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;min-width:0}
.calendar-timeline{min-width:0;background:#fff}
.calendar-timeline-scroll{overflow:auto;max-width:100%;max-height:680px}
.calendar-timeline-inner{width:100%}
.calendar-timeline-head,.calendar-timeline-body{display:grid;position:relative}
.calendar-timeline-head{position:sticky;top:0;background:#f6f8f4;border-bottom:1px solid #dfe7dc;z-index:3}
.calendar-timeline-head>span,.calendar-timeline-head>div{padding:12px 11px;border-right:1px solid #e1e7df;min-height:60px}
.calendar-timeline-head>span{font-size:10px;color:#52634f}
.calendar-timeline-head strong,.calendar-timeline-head small{display:block;overflow-wrap:anywhere}
.calendar-timeline-head strong{font-size:12px;font-weight:700;color:#304b3c}
.calendar-timeline-head small{font-size:10px;color:#96674d;margin-top:3px}
.calendar-time-rail{position:relative;background:#fafbf8;border-right:1px solid #dce5d9}
.calendar-time-rail span{position:absolute;left:7px;font-size:10px;font-weight:600;color:#52634f;transform:translateY(-8px)}
.calendar-time-rail span:first-child{transform:translateY(4px)}
.calendar-timeline-track{position:relative;overflow:hidden;border-right:1px solid #e4ebe2;background-image:linear-gradient(to bottom,transparent calc(100% - 1px),#e3eae1 calc(100% - 1px));background-size:100% 90px}
.calendar-timeline-track.is-closed{background-color:#f4f1ef}
.calendar-timeline-event,.calendar-timeline-unavailable{position:absolute;left:5px;right:5px;border-radius:5px;padding:5px 7px;overflow:hidden;line-height:1.2;overflow-wrap:anywhere}
.calendar-timeline-event{z-index:2;background:#dcece2;border-left:3px solid #4d8963;color:#204b35;display:block}
.calendar-timeline-event:hover{background:#cce4d4;text-decoration:none}
.calendar-timeline-event.completed{background:#e4eee2;border-color:#688c69}
.calendar-timeline-event.no_show{background:#f8ecd9;border-color:#b88a43;color:#684a20}
.calendar-timeline-event strong,.calendar-timeline-event small{display:block}
.calendar-timeline-event strong{font-size:10px}
.calendar-timeline-event small{font-size:9px;margin-top:3px}
.calendar-timeline-unavailable{z-index:1;background:#e8e7dd;border-left:3px solid #a39b82;color:#605943;font-size:9px}
.calendar-timeline-unavailable.google{background:#e5eaf2;border-color:#7d98bd;color:#3e587a}
.calendar-now-line{position:absolute;left:64px;right:0;border-top:2px solid #ad5948;z-index:4;pointer-events:none}
.calendar-now-line span{position:absolute;right:6px;top:-17px;background:#ad5948;color:white;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}
.calendar-agenda{border-left:1px solid #e2e9e0;background:#fbfcfa;min-width:0}
.calendar-agenda-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 17px 13px;border-bottom:1px solid #e4ebe2}
.calendar-agenda-heading h3{font-size:17px;margin:3px 0 0}
.calendar-agenda-heading>span{display:inline-flex;align-items:center;justify-content:center;background:#e9f0e7;color:#3a5d45;font-size:12px;font-weight:700;border-radius:50%;width:29px;height:29px}
.calendar-agenda-list{list-style:none;margin:0;padding:0}
.calendar-agenda-list li+li{border-top:1px solid #e4ebe2}
.calendar-agenda-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;padding:15px 16px;color:#263b34;border-left:3px solid #79a780}
.calendar-agenda-item:hover{background:#f0f5ef;text-decoration:none}
.calendar-agenda-item.completed{border-color:#668b69}
.calendar-agenda-item.cancelled{border-color:#b5a99f;color:#52634f;opacity:1}
.calendar-agenda-item.no_show{border-color:#b88a43}
.calendar-agenda-time{font-size:13px;font-weight:700;line-height:1.3}
.calendar-agenda-time small{display:block;font-size:10px;font-weight:400;color:#52634f;margin-top:3px}
.calendar-agenda-detail{min-width:0;overflow-wrap:anywhere}
.calendar-agenda-detail strong,.calendar-agenda-detail span,.calendar-agenda-detail small{display:block}
.calendar-agenda-detail strong{font-size:13px;line-height:1.35}
.calendar-agenda-detail span{font-size:11px;line-height:1.5;color:#52664e;margin-top:3px}
.calendar-agenda-detail small{font-size:10px;line-height:1.4;color:#52634f;margin-top:4px}
.calendar-agenda-empty{display:flex;flex-direction:column;gap:4px;color:#52634f;padding:25px 17px;font-size:12px}
.calendar-agenda-empty strong{color:#334d3c;font-size:14px}
.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#e5ebe3;gap:1px}
.calendar-week-day{background:#fff;min-width:0;min-height:250px}
.calendar-week-day.is-today{background:#f7faf5}
.calendar-week-day-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:12px 9px;border-bottom:1px solid #e4ebe2}
.calendar-week-day-heading a{display:flex;align-items:center;gap:5px;min-width:0}
.calendar-week-day-heading a span{font-size:10px;text-transform:uppercase;color:#60755a;white-space:nowrap}
.calendar-week-day-heading a strong{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:50%;font-size:14px;color:#304b3c}
.calendar-week-day.is-today .calendar-week-day-heading a strong{background:#314f42;color:#fff}
.calendar-week-day-heading small{font-size:10px;color:#687865;white-space:nowrap}
.calendar-week-entries{display:flex;flex-direction:column;gap:6px;padding:8px}
.calendar-week-booking,.calendar-week-unavailable{border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere;line-height:1.35}
.calendar-week-booking{background:#e7f2e9;border-left:3px solid #70a67b;color:#244a34}
.calendar-week-booking:hover{background:#d9ebdd;text-decoration:none}
.calendar-week-booking.completed{background:#e8f0e5;border-color:#779471}
.calendar-week-booking.cancelled{background:#f3efec;border-color:#b8a79a;color:#655f59}
.calendar-week-booking.no_show{background:#f8eddb;border-color:#bd9251;color:#6a4f2d}
.calendar-week-booking-time,.calendar-week-booking strong{font-size:12px;font-weight:700}
.calendar-week-booking span:not(.calendar-week-booking-time){font-size:11px}
.calendar-week-booking small{font-size:10px;opacity:.85}
.calendar-week-unavailable{background:#efeee8;border-left:3px solid #aaa18b;color:#5d594d}
.calendar-week-unavailable.google{background:#e9eef4;border-color:#8ba3c4;color:#425c7b}
.calendar-week-unavailable.closed{background:#f3ece9;border-color:#ba9080;color:#765348}
.calendar-week-unavailable strong,.calendar-week-unavailable small{font-size:9px}
.calendar-week-empty{font-size:10px;color:#7b8876;padding:14px 4px;margin:0}
.calendar-unavailable{padding:23px 24px}
.calendar-unavailable-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:15px}
.calendar-unavailable-heading h3{font-size:16px;margin:3px 0 0}
.calendar-unavailable-heading a{font-size:11px;text-decoration:underline;text-underline-offset:3px}
.calendar-unavailable-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.calendar-unavailable-item.google{background:#e9eef4;border-color:#8ba3c4}
.calendar-unavailable-item.closed{background:#f3ece9;border-color:#ba9080}
.calendar-workspace .calendar-foot{border-top:1px solid #e2e9e0;background:#f9fbf8}
@media(max-width:1300px){.calendar-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.calendar-day-layout{grid-template-columns:1fr}.calendar-agenda{border-left:0;border-top:1px solid #e2e9e0}.calendar-agenda-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-agenda-list li{border-bottom:1px solid #e4ebe2}.calendar-agenda-list li+li{border-top:0}.calendar-agenda-list li:nth-child(even){border-left:1px solid #e4ebe2}}
@media(max-width:900px){.calendar-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-toolbar{align-items:flex-start}.calendar-controls{justify-content:flex-start}.calendar-heading-actions{justify-content:flex-start}}
@media(max-width:700px){.calendar-timeline{display:none}.calendar-agenda-list{display:block}.calendar-agenda-list li+li{border-top:1px solid #e4ebe2;border-left:0}.calendar-agenda-list li{border-bottom:0}}
@media(max-width:560px){.calendar-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.calendar-summary article{padding:12px 9px}.calendar-summary article>span,.calendar-summary article>small{font-size:9px;line-height:1.4}.calendar-summary article>strong{font-size:23px}.calendar-summary article:nth-child(4){grid-column:1/-1}.calendar-page-heading{align-items:flex-start}.calendar-heading-actions{width:100%;justify-content:space-between}.calendar-heading-actions .calendar-connect-link{font-size:11px}.calendar-toolbar{padding:18px 15px}.calendar-toolbar h2{font-size:20px}.calendar-controls{width:100%;gap:7px}.calendar-date-form{width:100%}.calendar-date-form input[type=date]{flex:1;width:auto;min-width:0}.calendar-week-grid{grid-template-columns:1fr}.calendar-week-day{min-height:0}.calendar-week-day-heading{padding:11px 15px}.calendar-week-entries{padding:9px 12px}.calendar-week-booking,.calendar-week-unavailable{padding:10px 12px}.calendar-week-booking-time,.calendar-week-booking strong{font-size:12px}.calendar-week-booking span:not(.calendar-week-booking-time),.calendar-week-booking small,.calendar-week-unavailable strong,.calendar-week-unavailable small{font-size:11px}.calendar-unavailable{padding:20px 15px}.calendar-unavailable-heading{align-items:flex-start;flex-direction:column}.calendar-unavailable-list{grid-template-columns:1fr}.calendar-workspace .calendar-foot{padding:16px}}

.admin .next-guest .eyebrow,.admin .next-guest p,.admin .next-time small{color:#43563d;font-size:12px}
.admin .eyebrow,.admin .badge,.admin .workspace-label,.admin .sidebar-bottom small,.admin .admin-top>div,.admin .stats article>span,.admin .stats article>small,.admin .appointment-time small,.admin .appointment-main span,.admin .appointment-staff,.admin .mini-avatar,.admin .source-label,.admin .calendar-foot,.admin .week-booking span,.admin .week-booking small,.admin .admin-footer,.admin .detail-grid small,.admin .audit-row small,.admin .hours-head,.admin .hours-row:after,.admin .mobile-logout .text-button,.admin .calendar-panel .inline-form select,.admin .calendar-panel .button.small,.admin .calendar-toolbar .eyebrow,.admin .calendar-agenda-heading .eyebrow,.admin .calendar-unavailable-heading .eyebrow,.admin .calendar-timeline-head>span,.admin .calendar-timeline-head small,.admin .calendar-time-rail span,.admin .calendar-timeline-event strong,.admin .calendar-timeline-event small,.admin .calendar-timeline-unavailable,.admin .calendar-now-line span,.admin .calendar-agenda-time small,.admin .calendar-agenda-detail small,.admin .calendar-week-day-heading a span,.admin .calendar-week-day-heading small,.admin .calendar-week-booking small,.admin .calendar-week-unavailable strong,.admin .calendar-week-unavailable small,.admin .calendar-week-empty,.admin .calendar-summary article>span,.admin .calendar-summary article>small{font-size:11px}
.admin .next-guest p.eyebrow,.admin .guest-card p.eyebrow{font-size:12px}
.admin .hours-row:after{font-size:11px}
.error-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f6f2;color:#263b34}.error-page main{width:100%;max-width:620px;margin:0;padding:32px}.error-page h1{font-size:clamp(28px,6vw,40px)}.error-page p{font-size:16px}.error-page a{text-decoration:underline}.error-page .eyebrow{color:#52634f}

.public :where(.notice:not(.error)){color:#513f1b}
