:root{--ink:#f0ede6;--green:#d6bd87;--muted:#a5a5a5;--paper:#080808;--line:#303030;--gold:#d6bd87;color-scheme:dark}
body{background:#080808;color:#f0ede6}aside{background:#0b0b0b;border-right:1px solid #2c2c2c}aside nav a,aside .logout,aside .identity,aside footer{color:#d0d0d0}aside nav a:hover,aside nav a:focus-visible{background:#282828;color:#fff}.eyebrow{color:#d6bd87}a{color:inherit}button,.button{background:#d6bd87;color:#111}input,select,textarea{background:#141414;color:#f3f3f3;border-color:#454545!important}input:focus,select:focus,textarea:focus{outline-color:#d6bd87}input[type=checkbox]{accent-color:#d6bd87}section,.editor,.table,.card,.team-section,.team-card{background:#101010;border-color:#303030}.table th,th{background:#181818;color:#bcbcbc}.badge{background:#282828;color:#eee}.notice{background:#23201a;color:#eadcbb;border-color:#584e37}.app-topbar{background:#0b0b0b;border:1px solid #292929;border-radius:0;padding:0;margin:0 0 25px;color:#f0ede6}.status-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;padding:13px 24px;width:100%;min-height:110px}.status-weather{display:flex;gap:10px;align-items:center;min-width:0;text-align:left}.weather-symbol{font-size:33px;flex:none}.status-weather>div{display:grid;gap:3px}.status-weather strong{font-size:15px}.status-weather span:not(.weather-symbol){font-size:12px;line-height:1.4;color:#ddd}.status-weather small{font-size:10px;color:#a3a3a3;line-height:1.5}.status-weather a{color:#b2a287}.status-brand{display:flex;align-items:center;gap:12px;color:#f3f0e9;text-decoration:none}.status-brand img{width:84px;height:84px;object-fit:contain}.status-brand>span{display:grid;gap:4px}.status-brand strong{font-size:28px;letter-spacing:1.5px;font-weight:750;white-space:nowrap}.status-brand small{color:#d6bd87;font-size:11px;letter-spacing:4px}.status-clock{display:grid;gap:5px;text-align:right}.status-clock time{font-size:clamp(25px,3.2vw,44px);font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:1px}.status-clock>span{color:#bdbdbd;font-size:11px;line-height:1.4}.site-header{display:block;padding:0 5%;background:#090909;border-bottom:1px solid #2b2b2b}.site-header .status-bar{padding-left:0;padding-right:0}.site-header nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;font-size:15px;padding:14px 0 19px;border-top:1px solid #282828}.site-header nav a{padding:5px 0;color:#d8d8d8}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:#d6bd87}.site-header nav a:focus-visible{outline:2px solid #d6bd87;outline-offset:5px}
.hero.stilo{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px}.hero.stilo>img{width:min(100%,600px);height:auto;max-height:none;object-fit:contain;object-position:center;justify-self:center;display:block}.person{background:#121212;border-color:#303030}.person-profile{display:block}.person-profile img,.person-profile .placeholder{display:block;width:100%;height:168px;object-fit:cover;object-position:center 25%;background:#232323}.person-profile h3{margin:9px 0 4px!important;font-size:17px!important}.person-profile p{margin:3px 0!important;font-size:12px}.person-profile span{display:block;margin-top:10px;font-size:11px}.person-booking{display:block;border-top:1px solid #343434;padding:10px 0 0;margin-top:10px;color:#d6bd87;font-size:12px;font-weight:650}#equipe .team{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:center;gap:20px;margin-top:15px}#equipe .person{padding:10px}#equipe h2{font-size:30px;margin:8px 0}#equipe{padding-top:12px;padding-bottom:16px}#referencias .gallery-track{grid-auto-columns:160px!important;gap:14px}#referencias .gallery-photo img{height:155px;object-fit:cover}#referencias .gallery-photo span{font-size:11px}#referencias h2{font-size:28px}.gallery-photo{background:#141414;border-color:#333;color:#eee}.gallery-strip{max-width:100%;overflow:hidden}.gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:260px;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding:4px 0 14px;cursor:grab}.gallery-track.dragging{cursor:grabbing;scroll-snap-type:none}.gallery-track .gallery-photo img{width:100%;height:275px;object-fit:cover}.gallery-track .gallery-photo{scroll-snap-align:start;min-width:0}.gallery-mini-copy{display:grid;gap:3px}.gallery-mini-copy small{font-size:11px;line-height:1.4}.gallery-professional-mini,.gallery-professional{background:#121212;border-color:#303030}.gallery-professional-mini{align-items:center}.gallery-professional-list{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-professional-mini img{width:64px;height:78px;object-fit:cover;flex:none}.gallery-professional h2{margin:0 0 5px}.gallery-professional p{margin:3px 0}.profile,.booking-page article{background:#111;border-color:#454035}.professional-detail{max-width:1160px}.profile-detail-heading{display:flex;align-items:center;gap:30px;padding:25px 0}.profile-detail-heading>img{width:200px;height:240px;object-fit:cover}.profile-detail-heading h1{font-size:42px;margin:10px 0}.profile-detail-heading p{margin:5px 0}.profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.profile-details>div{padding:16px 18px;background:#141414;border:1px solid #303030}.profile-details dt{font-size:12px;color:#d6bd87;margin-bottom:8px}.profile-details dd{margin:0;line-height:1.7;white-space:normal;overflow-wrap:anywhere}.professional-detail .gallery-track{grid-auto-columns:280px}
.gallery-lightbox{position:fixed;inset:0;width:min(94vw,1100px);height:min(90dvh,850px);max-width:94vw;max-height:90dvh;padding:45px 65px 20px;background:#090909;border:1px solid #414141;border-radius:6px;color:#fff;overflow:hidden}.gallery-lightbox::backdrop{background:#000d;backdrop-filter:blur(3px)}.gallery-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:0}.gallery-lightbox figure>img{position:static!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100% - 50px)!important;object-fit:contain!important}.gallery-lightbox figcaption{flex:none;margin-top:15px;color:#ddd;text-align:center;font-size:13px;max-width:100%;overflow-wrap:anywhere}.gallery-lightbox button{position:absolute;background:#242424;color:white;border:1px solid #555;padding:0;width:40px;height:40px;display:grid;place-items:center;z-index:2;font-size:30px;border-radius:50%;cursor:pointer}.gallery-lightbox .gallery-close{top:10px;right:12px}.gallery-lightbox .gallery-previous{top:50%;left:10px}.gallery-lightbox .gallery-next{top:50%;right:10px}.gallery-lightbox button[hidden]{display:none}
#servicos .services{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:230px;overflow-x:auto;gap:12px;padding-bottom:12px}#servicos .service-choice{background:#121212;border-color:#343434}#servicos .service-choice:hover{background:#232323}.service-choice .service-action{font-size:13px!important}.services article.package-card{padding:20px;background:#121212;border-color:#39332b}.package-card .plan-heading{font-size:24px;font-weight:750;color:#f6f3ed;margin:0;line-height:1.2}.package-card .package-days{font-size:13px;color:#b4b4b4;margin:4px 0 12px;line-height:1.3}.package-card h3{margin:9px 0 6px;font-size:17px}.package-card p,.package-card ul{margin:5px 0;line-height:1.45}.package-card ul{padding-left:19px}.plan-price{display:flex;align-items:baseline;gap:5px;margin-top:16px}.plan-price strong{font-size:37px;font-variant-numeric:tabular-nums;line-height:1.2}.plan-price small{font-size:13px;color:#bcbcbc}.package-card .plan-savings{color:#dec28c;font-size:12px;font-weight:750;margin:12px 0 5px}.savings-basis{display:block;color:#939393;font-size:10px;line-height:1.5}.cards{gap:12px;margin:25px 0}.cards .card{padding:18px;min-height:90px;display:flex;align-items:center;transition:background .15s,border-color .15s,transform .15s}.cards .card span{font-size:18px;font-weight:650;line-height:1.35}.cards .card:hover,.cards .card:focus-visible{background:#292929;border-color:#b5a071;transform:translateY(-2px);outline:none}.profile-editor-heading,.personal-photos-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.professional-fields .privacy-choice{display:flex;gap:8px;align-items:center;margin-top:10px;font-weight:400;font-size:12px;color:#cbbd9d}.privacy-choice input{width:17px;height:17px;flex:none}.personal-photo{background:#121212;border:1px solid #303030;padding:10px}.personal-photo a{font-size:12px}.personal-photo p{font-size:12px}.personal-photo form{margin:10px 0 0}.photo-delete{font-size:12px;padding:7px 12px;background:#333;color:#eee}.personal-track{grid-auto-columns:260px}.personal-photos-title h1{margin-bottom:4px}.personal-photos-title p{margin:0}.login-page{display:block;min-height:100dvh;background:#050505 url('brand/barbershop-dashboard.png') center/cover fixed no-repeat}.login-page::before{content:'';position:fixed;inset:0;background:linear-gradient(90deg,#0008,#0006);pointer-events:none}.login-page main{position:relative;margin:0;padding:0;width:100%;max-width:none;min-height:100dvh}.login-page .app-topbar{margin:0;background:#080808e8;border:0;border-bottom:1px solid #454038}.login-stage{display:grid;place-items:center;min-height:calc(100dvh - 138px);padding:45px 20px}.login-page .login{margin:0;width:min(100%,430px);padding:34px 38px;background:#090909e8;border:1px solid #514937;border-radius:10px;box-shadow:0 20px 70px #0007;backdrop-filter:blur(8px)}.login-page .login h1{font-size:38px;line-height:1.15}.login-page .login input{width:100%;background:#181818;border:1px solid #484848;padding:12px;border-radius:5px}.login-page .login label{font-size:13px;color:#ddd}.login-page .login p{line-height:1.5}.login-page .login button{font-size:16px}.login-page .login .eyebrow{margin:0 0 12px}.login-page #login-status:empty{display:none}#login-status{color:#e6ca93;font-size:13px}.login-page .errorlist{color:#f1b4a8;font-size:13px}
@media(max-width:1100px){.status-bar{gap:14px;padding:12px 16px}.status-brand img{width:65px;height:65px}.status-brand strong{font-size:22px}.status-clock time{font-size:30px}.status-weather span:not(.weather-symbol){font-size:11px}.status-weather small{font-size:9px}.weather-symbol{font-size:26px}.site-header nav{gap:10px 22px;font-size:14px}.gallery-professional-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.hero.stilo{grid-template-columns:1fr;gap:20px}.hero.stilo>img{width:min(100%,600px);height:auto;object-fit:contain}.status-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px;min-height:120px;padding:12px}.status-brand{grid-column:2;grid-row:1;justify-content:flex-end;gap:7px}.status-brand img{width:58px;height:58px}.status-brand strong{font-size:20px;letter-spacing:.5px}.status-brand small{font-size:9px;letter-spacing:2px}.status-weather{grid-column:1;grid-row:1/3;gap:6px}.status-weather strong{font-size:13px}.status-weather small{font-size:9px}.status-clock{grid-column:2;grid-row:2}.status-clock time{font-size:25px}.status-clock>span{font-size:9px}.site-header nav{justify-content:center;gap:8px 17px;font-size:13px;padding:12px 0}#equipe .team{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.person-profile img,.person-profile .placeholder{height:185px}#referencias .gallery-track{grid-auto-columns:145px!important}.gallery-track{grid-auto-columns:240px}.gallery-track .gallery-photo img{height:260px}.profile-details{grid-template-columns:1fr}.profile-detail-heading>img{width:140px;height:175px}.profile-detail-heading h1{font-size:30px}.profile-detail-heading{gap:20px}.profile-editor-heading{align-items:flex-start;flex-wrap:wrap}.profile-editor-heading .button{margin-bottom:12px}.login-stage{min-height:calc(100dvh - 156px);padding:30px 16px}.login-page .login{padding:28px}.cards .card span{font-size:17px}}
@media(max-width:480px){.site-header{padding:0 12px}.status-bar{gap:8px;padding:10px 0}.status-brand img{width:47px;height:47px}.status-brand strong{font-size:17px}.status-brand small{font-size:8px}.status-weather strong{font-size:12px}.status-weather .weather-symbol{font-size:22px}.status-weather span:not(.weather-symbol){font-size:10px}.status-weather small{font-size:8px}.status-clock time{font-size:23px}.status-clock>span{font-size:8px}.app-topbar .status-bar{padding:10px}.gallery-professional-list{grid-template-columns:1fr}.profile-detail-heading{align-items:flex-start;gap:12px}.profile-detail-heading>img{width:100px;height:135px}.profile-detail-heading h1{font-size:26px}.profile-detail-heading .button{padding:10px 12px;font-size:12px}.gallery-lightbox{padding:50px 46px 15px;height:82dvh}.gallery-lightbox button{width:34px;height:34px}.gallery-lightbox .gallery-previous{left:5px}.gallery-lightbox .gallery-next{right:5px}.login-page .login h1{font-size:33px}.cards .card{padding:13px;min-height:78px}.cards .card span{font-size:16px}.package-card .plan-heading{font-size:22px}}
/* Keep the administration banner and empty avatars within the black palette. */
.admin-hero{background:linear-gradient(90deg,#080808ec 0%,#08080888 52%,#08080818 100%),url('brand/barbershop-dashboard.png') center/cover no-repeat}.team-avatar,.placeholder,.gallery-mini-placeholder,.gallery-professional-placeholder{background:#252525;color:#d6bd87}.person-profile .placeholder{display:grid;place-items:center}.gallery-track::-webkit-scrollbar{display:block;height:7px}.gallery-track::-webkit-scrollbar-thumb{background:#62594a;border-radius:9px}.gallery-track::-webkit-scrollbar-track{background:#181818}

/* Equal cards span the team section; booking actions share the same baseline. */
#equipe .person{display:flex;flex-direction:column;min-width:0;text-align:center;padding:14px}
#equipe .person-profile{display:flex;flex-direction:column;flex:1;min-width:0}
#equipe .person-profile>img,#equipe .person-profile>.placeholder{width:100%;height:clamp(200px,17vw,245px);flex:none}
#equipe .person-profile>span{margin-top:auto;padding-top:12px}
#equipe .person-booking{display:flex;align-items:center;justify-content:center;min-height:38px;margin-top:12px;font-size:13px}
.status-left{display:contents}.status-spacer{display:none}
@media(min-width:801px){.status-left>.status-brand{grid-column:2;grid-row:1}.status-left>.status-weather{grid-column:1;grid-row:1}}
/* Public Stilo Vip header: logo and forecast on the left, clock at the center. */
.site-header .status-bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.site-header .status-left{display:flex;flex-wrap:wrap;align-items:center;gap:12px;grid-column:1;grid-row:1;min-width:0}
.site-header .status-brand{justify-content:flex-start;gap:8px;flex:none}
.site-header .status-brand img{width:70px;height:70px}
.site-header .status-brand strong{font-size:21px;letter-spacing:.7px}
.site-header .status-brand small{font-size:9px;letter-spacing:2px}
.site-header .status-weather{flex:1 1 150px;max-width:250px;min-width:0;gap:7px}
.site-header .status-clock{grid-column:2;grid-row:1;text-align:center;justify-self:center;max-width:250px}
.site-header .status-spacer{display:block;grid-column:3;grid-row:1}
@media(max-width:1100px){.site-header .status-brand img{width:58px;height:58px}.site-header .status-brand strong{font-size:17px}.site-header .status-weather{flex-basis:135px}.site-header .status-clock{max-width:190px}}
@media(max-width:800px){#equipe .team{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#equipe .person{padding:11px}#equipe .person-profile>img,#equipe .person-profile>.placeholder{height:200px}.site-header .status-bar{gap:10px;min-height:130px}.site-header .status-left{flex-direction:column;align-items:flex-start;gap:7px}.site-header .status-brand>span{display:none}.site-header .status-weather{flex:0 1 auto;width:100%;max-width:100%;align-items:flex-start}.site-header .status-weather .weather-symbol{display:none}.site-header .status-clock{max-width:175px}.site-header .status-clock time{font-size:29px}.site-header .status-clock>span{font-size:10px}.site-header .status-brand img{width:54px;height:54px}}
@media(max-width:480px){#equipe .person-profile>img,#equipe .person-profile>.placeholder{height:190px}#equipe .person-booking{font-size:12px;padding-left:0;padding-right:0}.site-header .status-clock{max-width:155px}.site-header .status-clock time{font-size:27px}.site-header .status-clock>span{font-size:9px}.site-header .status-weather strong{font-size:11px}.site-header .status-weather span:not(.weather-symbol){font-size:9px}.site-header .status-weather small{font-size:8px}}

/* Services follow the plan typography and occupy one complete desktop row. */
#servicos>.eyebrow,#servicos>h2{text-align:center}
#servicos .service-choice{display:flex;flex-direction:column;align-items:stretch;text-align:center;padding:18px 14px}
#servicos .service-choice h3{font-size:24px;line-height:1.2;min-height:58px;margin:0 0 8px}
#servicos .service-choice p{font-size:13px;margin:3px 0 8px}
#servicos .service-choice strong{display:block;font-size:34px;line-height:1.2;margin:5px 0;color:#dec28c;white-space:nowrap}
#servicos .service-choice .service-action{margin-top:auto;padding-top:12px;font-size:14px;font-weight:700}
@media(min-width:801px){#servicos .services{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:16px;overflow-x:visible;padding-bottom:0;justify-content:center}#servicos .service-choice{min-width:0}}
@media(min-width:801px) and (max-width:1100px){#servicos .services{gap:10px}#servicos .service-choice{padding:15px 10px}#servicos .service-choice h3{font-size:20px;min-height:72px}#servicos .service-choice strong{font-size:28px}}
@media(max-width:800px){#servicos .service-choice h3{font-size:22px;min-height:54px}#servicos .service-choice strong{font-size:30px}}

/* Standard Stilo Vip header on public pages and the management/login bar. */
.status-bar,.site-header .status-bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.status-bar .status-left,.site-header .status-left{display:contents}
.status-bar .status-brand,.site-header .status-brand{grid-column:1;grid-row:1;justify-self:start;justify-content:flex-start}
.status-bar .status-clock,.site-header .status-clock{grid-column:2;grid-row:1;justify-self:center;text-align:center;max-width:250px}
.status-bar .status-weather,.site-header .status-weather{grid-column:3;grid-row:1;justify-self:end;justify-content:flex-end;align-items:center;text-align:right;min-width:0;max-width:100%;width:auto}
.status-bar .status-weather>div{min-width:0;text-align:right}
.status-bar .status-spacer,.site-header .status-spacer{display:none}
@media(max-width:800px){.status-bar .status-brand>span{display:none}.status-bar .status-weather .weather-symbol{display:none}.status-bar .status-clock,.site-header .status-clock{max-width:175px}.status-bar .status-clock time{font-size:29px}.status-bar .status-clock>span{font-size:10px}.status-bar .status-weather{align-items:flex-start}.status-bar .status-weather strong{font-size:12px}.status-bar .status-weather span:not(.weather-symbol){font-size:10px}.status-bar .status-weather small{font-size:8px}}
@media(max-width:480px){.status-bar .status-clock,.site-header .status-clock{max-width:155px}.status-bar .status-clock time{font-size:27px}.status-bar .status-clock>span{font-size:9px}}

.status-bar .status-brand{gap:8px}.status-bar .status-brand img{width:70px;height:70px}.status-bar .status-brand strong{font-size:21px;letter-spacing:.7px}.status-bar .status-brand small{font-size:9px;letter-spacing:2px}
.hero.stilo{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:30px}
.hero.stilo .storefront-photo{width:min(100%,680px);aspect-ratio:1366/930;overflow:hidden;justify-self:center;border-radius:4px}
.hero.stilo .storefront-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
@media(max-width:1100px){.status-bar .status-brand img{width:58px;height:58px}.status-bar .status-brand strong{font-size:17px}}
@media(max-width:800px){.hero.stilo{grid-template-columns:1fr;gap:20px}.status-bar .status-brand img{width:54px;height:54px}}

/* Compact service details, with one- and two-line names centered in equal rows. */
#servicos>.eyebrow,#servicos>h2{text-align:left}
#servicos .service-choice{padding-top:13px;padding-bottom:13px}
#servicos .service-choice h3{display:flex;align-items:center;justify-content:center;height:2.4em;min-height:2.4em;flex:none;margin:0;line-height:1.2;letter-spacing:0}
#servicos .service-choice p{margin:0;line-height:1.3}
#servicos .service-choice strong{margin:2px 0 0;line-height:1.15}
#servicos .service-choice .service-action{margin-top:0;padding-top:3px;line-height:1.3}
/* Previsão mais legível no cabeçalho compartilhado. */
.status-bar .status-weather strong{font-size:17px}.status-bar .status-weather span:not(.weather-symbol){font-size:14px}.status-bar .status-weather small{font-size:12px}
@media(max-width:1100px){.status-bar .status-weather strong{font-size:16px}.status-bar .status-weather span:not(.weather-symbol){font-size:13px}.status-bar .status-weather small{font-size:11px}}
@media(max-width:800px){.status-bar .status-weather strong{font-size:14px}.status-bar .status-weather span:not(.weather-symbol){font-size:11px}.status-bar .status-weather small{font-size:9px}}
@media(max-width:480px){.status-bar .status-weather strong{font-size:13px}.status-bar .status-weather span:not(.weather-symbol){font-size:11px}.status-bar .status-weather small{font-size:9px}}

/* Keep BARBEARIA legible in the shared identity. */
.status-bar .status-brand small,.site-header .status-brand small{font-size:12px;letter-spacing:2px}.brand small{font-size:11px}@media(max-width:480px){.brand small{font-size:10px}}

/* Navegação compacta, centralizada com o conteúdo em monitores largos. */
body:not(.alexhost-panel):not(.login-page)>aside{width:270px;padding:24px 22px;left:max(0px,calc((100vw - 1720px)/2));overflow-y:auto}
body:not(.alexhost-panel):not(.login-page)>aside nav{gap:1px}body:not(.alexhost-panel)>aside nav a{padding:4px 12px;font-size:13px}
body:has(>aside):not(.alexhost-panel):not(.login-page)>main{margin-left:calc(270px + max(0px,(100vw - 1720px)/2));width:calc(100% - 270px - max(0px,(100vw - 1720px)/2));max-width:1450px;padding:32px clamp(22px,3vw,48px)}
body:not(.alexhost-panel)>aside .identity{padding:14px 0;margin-bottom:12px}body:not(.alexhost-panel)>aside .logout{margin-top:15px}.page-back{display:inline-flex;align-items:center;font-size:13px;margin:0 0 15px;text-decoration:none;color:#d6bd87;gap:6px}
@media(max-width:1024px){body:not(.alexhost-panel):not(.login-page)>aside{left:auto;width:100%;padding:10px 16px;overflow:visible}body:has(>aside):not(.alexhost-panel):not(.login-page)>main{margin-left:0;width:100%;max-width:none;padding:24px 18px}body:not(.alexhost-panel)>aside nav a{padding:9px 10px}}
@media(max-width:600px){body:has(>aside):not(.alexhost-panel):not(.login-page)>main{padding:16px 12px}}
body:not(.alexhost-panel)>aside .brand{max-width:100%;overflow:hidden}body:not(.alexhost-panel)>aside .brand-wordmark strong{overflow:hidden;text-overflow:ellipsis}
.row-actions{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap}.row-action-button{min-width:82px;padding:8px 10px!important;margin:0!important;text-align:center;line-height:1.2;white-space:nowrap}.row-action-delete{background:#a72f2f!important;color:#fff!important;border:1px solid #c34b4b!important;border-radius:7px;text-decoration:none;cursor:pointer;font:inherit;font-size:13px;display:inline-block}.row-action-delete:hover{background:#c13a3a!important}.delete-confirmation{max-width:620px;margin:28px auto;padding:28px}.delete-confirmation .editor{display:grid;gap:12px}.delete-confirmation .editor input{max-width:360px}.delete-confirmation .row-actions{justify-content:flex-start;margin-top:10px}
.booking-unavailable-notice{max-width:820px;margin:24px auto;padding:28px;background:#111;border:1px solid #5c4c2e;text-align:center}.booking-unavailable-notice h2{margin:0 0 10px;color:#e0c58b}.booking-unavailable-notice p:last-child{margin:0;color:#ddd4c3;line-height:1.6}

/* Mais altura útil para selecionar os itens do administrativo. */
@media(min-width:1025px){
 body:not(.alexhost-panel):not(.login-page)>aside{padding-top:12px;padding-bottom:12px}
 body:not(.alexhost-panel)>aside .brand img{width:52px;height:52px;flex-basis:52px}
 body:not(.alexhost-panel)>aside .identity{padding:6px 0;margin-bottom:6px}
 body:not(.alexhost-panel)>aside #main-nav{flex:1;min-height:0;align-content:start}
 body:not(.alexhost-panel)>aside .logout{margin-top:8px}
}
@media(max-width:1024px){body:not(.alexhost-panel)>aside #main-nav{max-height:78vh;max-height:calc(100dvh - 120px)}}

/* Rótulo legível e navegação lateral também em notebooks com janela menor. */
body:not(.alexhost-panel):not(.login-page)>aside>.menu-toggle{background:#d6bd87;color:#111;border-color:#d6bd87;font-size:14px;font-weight:750;min-height:42px;line-height:1.2;white-space:nowrap}
@media(min-width:900px) and (hover:hover) and (pointer:fine){
 body:not(.alexhost-panel):not(.login-page)>aside{position:fixed;top:0;left:max(0px,calc((100vw - 1720px)/2));display:flex;flex-direction:column;width:270px;height:100vh;height:100dvh;padding:12px 22px;overflow-y:auto}
 body:not(.alexhost-panel)>aside>.menu-toggle{display:none}
 body:not(.alexhost-panel)>aside>.brand,body:not(.alexhost-panel)>aside>form{flex-shrink:0}
 body:not(.alexhost-panel)>aside>.identity{display:block;padding:6px 0;margin-bottom:6px}
 body:not(.alexhost-panel)>aside>#main-nav{display:grid;grid-template-columns:1fr;flex:1;min-height:0;max-height:none;margin-top:0;padding:0;border-top:0;align-content:start}
 body:not(.alexhost-panel)>aside>#main-nav a{padding:4px 12px;font-size:13px}
 body:has(>aside):not(.alexhost-panel):not(.login-page)>main{margin-left:calc(270px + max(0px,(100vw - 1720px)/2));width:calc(100% - 270px - max(0px,(100vw - 1720px)/2));max-width:1450px;padding:32px clamp(22px,3vw,48px)}
}
@media(max-width:1366px) and (pointer:coarse){
 body:not(.alexhost-panel):not(.login-page){display:block}
 body:not(.alexhost-panel):not(.login-page)>aside{position:sticky;top:0;left:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px;width:100%;height:auto;padding:10px 16px;overflow:visible;z-index:20}
 body:not(.alexhost-panel)>aside>.brand{grid-column:1;grid-row:1}
 body:not(.alexhost-panel)>aside>.identity{display:none}
 body:not(.alexhost-panel)>aside>.menu-toggle{display:block;grid-column:2;grid-row:1;margin:0;padding:9px 14px}
 body:not(.alexhost-panel)>aside>#main-nav{display:none;grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;margin-top:10px;padding:8px 0 4px;max-height:calc(100dvh - 120px);overflow-y:auto}
 body.menu-open:not(.alexhost-panel)>aside>#main-nav{display:grid}
 body:not(.alexhost-panel)>aside>form{grid-column:1/-1}
 body:has(>aside):not(.alexhost-panel):not(.login-page)>main{margin-left:0;width:100%;max-width:none;padding:24px 18px}
}
