/* Layout and controls from the supplied design screens; long forms scroll naturally. */
.result-badge{display:inline-block;background:#daf7e9;color:#006446!important;font:600 13px "Segoe UI",sans-serif;padding:4px 10px;border-radius:999px;vertical-align:middle;margin-left:5px}
.design-workflow:has(#login-panel:not([hidden]))>.header{display:none}.design-workflow .login-panel{padding:20px 0}.login-brand{display:flex;align-items:center;justify-content:center;gap:8px;font-size:30px;letter-spacing:-1px;font-weight:650;margin:10px 0 15px}.brand-domain{color:#006446}.cover-caption{position:absolute;left:0;right:0;bottom:0;padding:50px 20px 18px;color:#fff;background:linear-gradient(transparent,#000b)}.cover-caption small{font-family:Georgia,serif;font-size:14px}.cover-caption h1{font-family:"Segoe UI",sans-serif!important;font-size:23px!important;margin:5px 0 0!important}.shop-profile-card #profile-shop-name,.shop-profile-card .form-card>.eyebrow{display:none}
.sms-code{text-align:center;font-size:28px;letter-spacing:16px;font-variant-numeric:tabular-nums;margin:20px 0 26px}
html:has(.design-workflow){height:auto;overflow:auto;scroll-padding-top:90px}
.app-shell.design-workflow{height:auto;min-height:100dvh;overflow:visible;display:flex}
.design-workflow .header{position:sticky;top:0;z-index:20;background:#faf9f8f5;backdrop-filter:blur(14px);width:100%;padding:0 max(20px,calc((100% - 1200px)/2));margin:0;height:76px;min-height:76px;border:0;box-shadow:0 2px 12px #17171704}
.design-workflow .wrap:not(.header){width:min(1200px,calc(100% - 40px));margin:0 auto}
.design-workflow .screen-stack{padding:24px 0 30px;flex:1;min-height:auto}.design-workflow .screen{height:auto;min-height:auto}.design-workflow .app-footer{margin-top:auto!important;height:48px;min-height:48px}
.design-workflow .screen-heading{margin-bottom:8px}.design-workflow .catalog-screen{gap:18px}.design-workflow .catalog-tools{margin:0}.design-workflow .catalog-screen>.view-switch{margin:0;width:100%;justify-content:center;max-width:550px}.design-workflow .catalog-screen>.view-switch button{flex:1}
#catalog-screen>.view-switch{margin-left:0}
.design-workflow .catalog-grid{flex:none;grid-auto-rows:auto;align-items:stretch;gap:20px;min-height:0}.design-workflow .barber-card{min-height:170px;padding:18px;gap:16px;border-radius:20px;box-shadow:0 4px 20px -2px #17171705;align-items:center}.design-workflow .barber-card-copy{gap:6px}.design-workflow .barber-avatar{width:94px;height:120px;object-fit:cover;border-radius:14px}.design-workflow .barber-card-copy>strong{font-size:17px;white-space:normal;display:flex;justify-content:space-between;gap:8px}.barber-card-copy>strong small{white-space:nowrap;color:#775a00;font-size:12px}.design-workflow .barber-card-copy>span.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;overflow:visible}.card-bottom>small{color:#929a95;font-size:10px}.card-price{color:var(--lime);font-size:14px}.design-workflow .card-arrow{font-size:12px;border-radius:12px;margin:4px 0 0;min-height:38px;display:flex;align-items:center;justify-content:center;padding:10px 14px}.design-workflow .pagination{margin:12px 0;justify-content:center}.design-workflow .pagination>span{min-width:65px;text-align:center}.design-workflow .catalog-map{min-height:65dvh}.design-workflow .catalog-map iframe{min-height:55dvh}
.design-workflow .landing-screen{min-height:65dvh;grid-template-columns:1fr 1fr}.design-workflow .landing-screen .hero-image{height:500px}.design-workflow .barber-profile{min-height:55dvh}.design-workflow .profile-art{min-height:280px}
.design-workflow .booking-screen{gap:20px;padding-bottom:20px}.design-workflow .booking-screen>.screen-heading{margin:0}.design-workflow .booking-screen>.screen-heading>div{display:none}.design-workflow .booking-screen #mode-notice{font-size:11px;max-width:420px}.booking-shop{background:white;border-radius:20px;overflow:hidden;border:1px solid #eeedeb}.shop-cover{height:270px;position:relative;overflow:hidden;background:linear-gradient(135deg,#d8ebe1,#faf5e8);display:grid;place-items:center}.shop-cover img{width:100%;height:100%;object-fit:cover}.cover-placeholder{color:#087f5b;font-size:76px;opacity:.6}.shop-intro{padding:24px}.shop-intro h1{font-size:28px;margin:0 0 10px;letter-spacing:-.8px}.shop-intro p{color:var(--muted);font-size:14px}.shop-intro-meta{display:flex;align-items:center;gap:20px;margin-top:12px}.shop-intro-meta>strong{color:var(--lime);font-size:20px}.shop-intro-meta a{margin-left:auto}.gold{color:#775a00!important}
.client-masters>h2{font-size:22px;margin:5px 0 16px}.client-master-list{display:flex;gap:12px;flex-wrap:wrap}.client-master{display:flex;align-items:center;gap:12px;background:white;border:1px solid #e9e8e7;border-radius:16px;padding:14px;flex:1;min-width:220px;text-align:left}.client-master.selected{border-color:#087f5b;background:#f1faf5}.client-master>span:last-child{margin-left:auto}.client-master strong,.client-master small{display:block}.client-master small{font-size:12px;color:var(--muted);margin-top:5px}.master-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#e2f0e7;display:inline-flex;align-items:center;justify-content:center;color:#006446;font-family:"Segoe UI",sans-serif;font-size:24px;font-weight:700;flex-shrink:0}.master-avatar.large{width:100px;height:100px;font-size:36px}
.design-workflow .booking-layout{align-items:start;min-height:auto;grid-template-columns:1.65fr 1fr;display:grid}.design-workflow .booking-panel{min-height:0;padding:24px;display:block}.booking-panel>#selected-master-name{font-size:18px;margin-bottom:20px}.design-workflow .booking-summary{position:sticky;top:96px;align-self:start;padding:24px}.design-workflow .slots{flex:none;grid-auto-rows:54px;grid-template-columns:repeat(6,1fr)}.design-workflow .slot{border:0;background:#f4f3f2;min-height:48px;font-size:16px}.design-workflow .slot.selected{background:#087f5b}.design-workflow .slot[data-reason="break"]{background:#fff3cd;color:#775a00;text-decoration:none}.design-workflow .slot[data-reason="booked"]{background:#e8e5fc;color:#6555a5;text-decoration:none}.design-workflow .break-note{line-height:1.7}.design-workflow .slot-pagination{display:none}.design-workflow .booking-summary h3{margin:20px 0}.design-workflow .booking-summary .summary-meta{font-size:13px}
.design-workflow .admin-main{padding:30px 0 115px;min-height:calc(100dvh - 76px);flex:1}.design-workflow #dashboard{height:auto;display:block;max-width:1040px;margin:auto}.workspace-panel{min-width:0}.workspace-heading{margin-bottom:20px}.workspace-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:30px;line-height:1.2;margin:4px 0}.workspace-heading .muted{margin-top:6px}.add-master{justify-content:space-between;max-width:100%;min-height:62px;font-size:17px;padding:16px 22px;margin-bottom:24px;border-radius:16px}.add-master span{font-size:24px}.staff-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.master-card{background:white;padding:22px;border-radius:18px;box-shadow:0 2px 4px #17171703}.master-identity{display:flex;gap:14px;align-items:center}.master-identity h2{font-family:Georgia,"Times New Roman",serif;font-size:21px;letter-spacing:-.3px;margin:0}.master-identity p{color:var(--muted);font-size:14px;margin-top:5px}.master-facts{border-radius:14px;background:#f7f7f5;padding:8px 12px;margin-top:20px}.master-facts>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ecece8;font-size:13px}.master-facts>div:last-child{border:0}.master-facts strong{font-family:"Segoe UI",sans-serif;font-size:18px;white-space:nowrap}.master-card-actions{display:flex;gap:12px;margin-top:20px}.master-card-actions>.button:first-child{flex:1}.danger{background:#fff0f0;color:#ba1a1a;box-shadow:none}.danger:hover{background:#ffe3e3}.bottom-nav{position:fixed;bottom:0;left:0;width:100%;padding:8px 20px max(10px,env(safe-area-inset-bottom));background:#fffffff2;backdrop-filter:blur(15px);z-index:30;display:flex;justify-content:center;gap:60px;box-shadow:0 -3px 20px #17171704}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:100px;min-height:55px;background:transparent;color:#6e7a73;font-family:Georgia,serif;font-size:14px}.bottom-nav button span{font-family:"Segoe UI",sans-serif;font-size:24px}.bottom-nav button.active{color:#006446;font-weight:700}
.form-card{background:#fff;padding:24px;border-radius:18px;margin:20px 0;box-shadow:0 2px 4px #17171703}.form-card h2{font-family:Georgia,serif;font-size:21px;letter-spacing:0;margin:0 0 22px;line-height:1.4;display:flex;justify-content:space-between;align-items:center;gap:10px}.form-card h3{font-family:Georgia,serif;font-size:18px;margin:22px 0 15px}.form-card>p.muted{margin:-7px 0 18px;font-family:Georgia,serif}.form-card label{font-family:Georgia,serif;font-size:15px;margin-bottom:22px}.form-card label:last-child{margin-bottom:0}.form-card input{font-family:"Segoe UI",Arial,sans-serif}.required{color:#ba1a1a;font-size:12px;float:right}.avatar-editor{text-align:center;background:linear-gradient(120deg,#fff,#f0fbf5)}.avatar-editor h2{display:block;margin:12px 0 0}.photo-picker{position:relative;display:inline-flex;gap:8px;align-items:center;color:#087f5b;font-size:13px;cursor:pointer;margin:12px 0!important}.photo-picker input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;margin:0}.duration-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.duration-options button{background:#f4f3f2;min-height:48px;border-radius:10px;font-weight:600}.duration-options button.selected,.weekday-tabs button.selected{background:#006446;color:#fff;box-shadow:0 3px 7px #087f5b22}.weekday-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:16px 0 22px}.weekday-tabs button{background:#f4f3f2;padding:12px 2px;border-radius:10px}.weekday-tabs button small{display:block;font-size:10px;font-weight:400;margin-top:5px}.day-off{display:flex;align-items:center;gap:10px;font-weight:500!important}.day-off input{width:20px;min-height:20px;height:20px;padding:0;margin:0;accent-color:#087f5b}.editor-actions{display:grid;gap:10px}.editor-actions button{min-height:54px}.design-workflow #editor-panel{max-width:600px;margin:auto}.design-workflow .input-pair{min-width:0}.design-workflow input[type="time"]{width:100%;min-width:0}
.design-workflow .login-panel{height:auto!important;min-height:70dvh;max-width:440px;display:flex;flex-direction:column;justify-content:center;margin:0 auto!important}.design-workflow .login-panel h1{font-family:Georgia,serif;font-size:30px;margin:20px 0 30px}.design-workflow .login-panel form{padding:26px;border:0}.design-workflow .login-panel label{font-family:Georgia,serif;font-size:16px;color:#1a1c1c}.password-field{display:block;position:relative}.password-field input{padding-right:48px}.password-field button{position:absolute;right:9px;top:7px;height:40px;min-width:40px;background:transparent;color:#6e7a73;font-size:22px}.register-line{font-family:Georgia,serif;font-size:14px!important;padding:20px!important;font-weight:400}.register-line strong{font-weight:500}.register-line p{margin:8px 0 12px}.register-line a{font-family:"Segoe UI",sans-serif;font-size:14px;color:#1a1c1c!important}.design-workflow .register-line a{padding:14px}
.design-workflow #profile-panel{max-width:560px;margin:auto}.shop-profile-card{background:white;border-radius:20px;overflow:hidden}.shop-profile-card .form-card{margin:0;box-shadow:none}.shop-profile-card h1{font-family:Georgia,serif;font-size:26px;margin:10px 0}.price-input{position:relative}.price-input input{padding:16px 50px 16px 20px;font-size:24px;font-weight:600}.price-input>span{position:absolute;right:20px;top:17px}.profile-contact{background:#f4f3f2;display:flex;align-items:center;gap:14px;padding:20px;border-radius:16px;margin-top:26px}.profile-contact>span{color:#087f5b;font-size:28px}.profile-contact p{font-size:13px;color:var(--muted);margin-top:5px}.profile-contact>span:last-child{margin-left:auto}.logout{display:block;margin:20px auto 0;color:#ba1a1a}
.calendar-legend{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;font-size:12px;color:#3e4943}.calendar-legend>span{display:flex;align-items:center;gap:8px}.calendar-legend i{display:block;width:12px;height:12px;border-radius:3px}.online{background:#e5e0fb;color:#6555a5}.free{background:#087f5b;color:white}.lunch{background:#fff3cd;color:#9a7618}.offline{background:#e1eefc;color:#3977ac}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.calendar-toolbar .muted{font-size:11px}.admin-calendar{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-master{background:white;padding:20px;border-radius:18px}.calendar-master>.muted{font-size:12px;margin:18px 0 12px}.calendar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.calendar-slot{border-radius:12px;padding:12px 3px;min-height:64px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}.calendar-slot strong{font-size:15px}.calendar-slot small{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-slot.past{background:#f4f3f2;color:#929994}.calendar-slot:disabled{opacity:.75;cursor:default}.day-off-message{font-size:14px;color:var(--muted);padding:24px 0;line-height:1.7}.booking-detail{background:#f4f3f2;border-radius:20px;padding:20px;margin:20px 0}.booking-detail>small{color:var(--muted);font-size:11px;font-weight:600}.booking-detail h2{font-size:24px;margin:5px 0 20px}.detail-pair{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:12px;padding:15px;gap:16px;margin:15px 0}.detail-pair small,.detail-pair strong{display:block;font-size:12px;line-height:1.6}.detail-pair small{color:var(--muted);margin-bottom:6px}.payment-status{background:white;border-radius:12px;padding:18px;font-size:13px;line-height:1.8;margin-top:16px}.payment-status strong{color:#006446}.booking-recap{margin:16px 0}.booking-recap p{color:var(--muted);font-size:14px;margin-top:10px}.confirmation{text-align:center}.confirmation .success-mark{margin:10px auto 20px}.confirmation .dialog-title{font-size:24px;padding:0}.ticket{border:1px solid #e2e5e1;border-radius:18px;overflow:hidden;margin:20px 0;text-align:left}.ticket>header{display:flex;justify-content:space-between;background:#f7f7f5;padding:14px}.ticket-body{padding:18px}.ticket-body>p{color:var(--muted);font-size:13px;line-height:1.6;margin:8px 0}.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:20px;border-top:2px dashed #e3e7e2;margin-top:10px}.ticket-grid>div:last-child{grid-column:1/-1}.ticket-grid small,.ticket-grid strong{display:block;font-size:13px;line-height:1.6}.ticket-grid small{color:var(--muted);margin-bottom:3px}.confirmation>.button{margin-top:10px}.design-workflow dialog{max-height:90dvh!important}.design-workflow .toast{bottom:90px}
@media(min-width:1100px){.design-workflow .booking-shop{display:grid;grid-template-columns:1.3fr 1fr}.booking-shop .shop-cover{height:320px}.shop-intro{align-self:center}.design-workflow .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.design-workflow .barber-avatar{width:90px;height:110px}.design-workflow .barber-card-copy>strong{font-size:16px}.card-bottom{flex-wrap:wrap}}
@media(max-width:760px){.design-workflow .header{height:68px;min-height:68px;padding:0 20px}.design-workflow .header .admin-link{flex-basis:auto!important;font-size:10px!important}.design-workflow .header .city-label{font-size:11px}.design-workflow .header:has(.city-label){height:84px;min-height:84px}.design-workflow .header:has(.city-label) .admin-link{position:absolute;right:22px;bottom:5px;font-size:9px!important}.design-workflow .wrap:not(.header){width:calc(100% - 36px)}.design-workflow .screen-stack{padding-top:22px}.design-workflow .catalog-screen{gap:16px}.design-workflow .catalog-heading h2{font-size:20px}.design-workflow .catalog-grid{grid-template-columns:1fr;gap:16px}.design-workflow .barber-card{min-height:160px;padding:15px;gap:15px}.design-workflow .barber-avatar{width:92px;height:112px}.design-workflow .barber-card-copy>strong{font-size:16px}.design-workflow .barber-card-copy>span{font-size:12px}.design-workflow .card-arrow{font-size:13px;padding:10px 16px}.card-bottom>small{font-size:10px}.design-workflow .pagination .button{font-size:12px;min-height:44px}.design-workflow .app-footer>span:last-child{display:none}.design-workflow .admin-main{padding:25px 0 115px;min-height:calc(100dvh - 68px)}.staff-list{grid-template-columns:1fr;gap:20px}.workspace-heading h1{font-size:28px}.master-card{padding:20px}.master-facts>div{font-family:Georgia,serif;font-size:13px}.master-facts strong{font-size:18px}.bottom-nav{justify-content:space-around;gap:8px}.bottom-nav button{min-width:70px}.design-workflow #dashboard{display:block}.design-workflow .login-panel{min-height:calc(100dvh - 190px)}.design-workflow .login-panel form{padding:24px}.design-workflow .login-panel h1{font-size:28px;margin:20px 0 25px}.form-card{padding:20px;margin:20px 0}.form-card h2{font-size:19px}.form-card .badge{font-size:11px}.form-card .input-pair{gap:12px}.form-card .input-pair label{font-size:13px}.weekday-tabs button strong{font-size:13px}.editor-actions{padding-bottom:10px}.design-workflow .booking-screen{padding-bottom:105px}.shop-cover{height:220px}.shop-intro{padding:20px}.shop-intro h1{font-size:25px}.shop-intro p{font-size:13px}.client-master-list{display:grid;grid-template-columns:1fr;gap:10px}.client-master{min-width:0}.design-workflow .booking-layout{display:block}.design-workflow .booking-panel{padding:18px}.design-workflow .slots{grid-template-columns:repeat(4,1fr);grid-auto-rows:50px;gap:8px}.design-workflow .booking-summary{position:fixed;left:0;bottom:0;top:auto;width:100%;z-index:15;background:#fffffffa;padding:14px 18px max(14px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;display:grid;grid-template-columns:1fr auto;gap:10px}.design-workflow .booking-summary>.button{grid-column:auto;grid-row:1/3;grid-column:2;align-self:center;padding:12px 16px;max-width:180px}.design-workflow .booking-summary .summary-meta:has(#selection){font-size:11px;grid-column:1}.design-workflow .booking-summary .price-row{grid-column:1;grid-row:2}.design-workflow .booking-summary .price-row strong{font-size:20px}.design-workflow .booking-summary .my-booking{grid-column:1/-1;grid-row:auto;max-width:none}.design-workflow .booking-summary h3,.design-workflow .booking-summary .summary-meta:has(#duration),.design-workflow .summary-top,.design-workflow .payment-hint{display:none}.admin-calendar{grid-template-columns:1fr}.calendar-master{padding:18px}.calendar-grid{gap:7px}.calendar-slot{min-height:62px}.calendar-legend{font-size:11px;gap:12px 8px}.design-workflow .day-tabs{gap:10px}.design-workflow .day-tab{font-size:14px;min-height:50px;padding:12px}.design-workflow .shop-profile-card .shop-cover{height:240px}.design-workflow dialog{padding:38px 22px 24px}.design-workflow .landing-screen{grid-template-columns:1fr}.design-workflow .landing-screen .hero-image{height:300px}}
@media(max-width:360px){.design-workflow .barber-avatar{width:72px;height:102px}.design-workflow .barber-card{padding:13px;gap:12px}.design-workflow .barber-card-copy>strong{font-size:15px}.card-bottom{flex-wrap:wrap}.design-workflow .card-arrow{padding:8px 14px}.master-facts{padding:8px}.master-facts>div{font-size:11px;gap:6px}.master-facts strong{font-size:16px}.master-card{padding:17px}.master-card-actions .button{font-size:13px;padding:12px 14px}.form-card{padding:17px}.form-card h2{font-size:17px}.duration-options{gap:6px}.duration-options button{font-size:13px}.weekday-tabs{gap:3px}.weekday-tabs button small{font-size:9px}.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.design-workflow .booking-summary>.button{max-width:148px;font-size:12px;padding:12px}.detail-pair{gap:10px;padding:12px}}
