@font-face{font-family:DM Sans;src:url(/fonts/font-03.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/fonts/font-05.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/fonts/font-02.woff2) format("woff2");font-style:italic;font-weight:700;font-display:swap}:root{--paper: #fbf8f3;--paper-warm: #f3ede2;--ink: #1d1610;--soft: #746a5f;--dark: #151009;--dark-2: #20170f;--gold: #b88e34;--gold-soft: rgba(184, 142, 52, .14);--pink: #ff3b9d;--pink-deep: #d71670;--pink-soft: rgba(255, 59, 157, .12);--cream: #f2ebdc;--line: rgba(29, 22, 16, .12);--dark-line: rgba(242, 235, 220, .12)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{min-width:320px;min-height:100%;margin:0}body{color:var(--ink);background:var(--paper-warm);font-family:DM Sans,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(420px,.85fr) minmax(520px,1.15fr);background:var(--paper)}.login-card{width:min(100%,560px);margin:auto;padding:54px 74px}.login-brand{margin-bottom:74px;display:inline-flex;align-items:center;gap:13px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-brand img{width:58px;height:58px;border-radius:13px}.dash-eyebrow{margin:0 0 16px;display:flex;align-items:center;gap:10px;color:var(--pink-deep);font-size:10px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.dash-eyebrow span{width:27px;height:1px;background:linear-gradient(90deg,var(--gold),var(--pink))}.login-card h1,.dash-header h1,.appointment-card h2{margin:0;font-family:Barlow Condensed,Impact,sans-serif;font-size:70px;line-height:.92;text-transform:uppercase}.login-card h1 em{color:var(--pink-deep)}.login-intro{max-width:410px;margin:24px 0 30px;color:var(--soft);line-height:1.6}.login-form{display:grid;gap:15px}.login-form label,.appointment-card>label,.appointment-schedule label{display:grid;gap:7px;color:#5b5147;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.login-form input,.appointment-card select,.appointment-schedule input{width:100%;height:50px;padding:0 15px;border:1px solid var(--line);border-radius:11px;outline:0;color:var(--ink);background:#fff}.login-form input:focus,.appointment-card select:focus,.appointment-schedule input:focus{border-color:var(--pink);box-shadow:0 0 0 3px var(--pink-soft)}.login-feedback,.appointment-feedback{min-height:17px;margin:0;color:var(--pink-deep);font-size:12px}.dash-button{min-height:50px;padding:0 22px;border:0;border-radius:999px;font-weight:700}.dash-button-primary{color:#fffaf0;background:linear-gradient(135deg,#bd953d,#a97e2c 72%,#d71670 145%);box-shadow:0 12px 26px #b88e343d,0 0 22px #ff3b9d14}.demo-login{margin-top:24px;padding:16px;border:1px dashed rgba(184,142,52,.4);border-radius:13px;background:var(--gold-soft)}.demo-login p{margin:0 0 11px;color:var(--soft);font-size:11px}.demo-login div{display:flex;gap:8px}.demo-login button{min-height:36px;padding:0 13px;border:1px solid rgba(184,142,52,.45);border-radius:999px;color:var(--ink);background:#fff9;font-size:11px;font-weight:700}.back-link{margin-top:23px;display:inline-block;color:var(--soft);font-size:12px}.login-art{position:relative;min-height:100vh;overflow:hidden;background:var(--dark)}.login-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,16,9,.25),transparent 40%),linear-gradient(0deg,rgba(21,16,9,.65),transparent 55%)}.login-art>img{width:100%;height:100vh;object-fit:cover;opacity:.72}.neon-word{position:absolute;right:7%;top:7%;z-index:2;color:transparent;font-family:Barlow Condensed,Impact,sans-serif;font-size:150px;font-style:italic;font-weight:700;line-height:1;-webkit-text-stroke:2px #ff63b4;text-shadow:0 0 12px rgba(255,59,157,.75),0 0 38px rgba(255,59,157,.5);opacity:.8}.login-art-caption{position:absolute;left:52px;bottom:48px;z-index:3;display:flex;flex-direction:column;color:var(--cream)}.login-art-caption strong{font-family:Barlow Condensed,Impact,sans-serif;font-size:38px;text-transform:uppercase}.login-art-caption span{color:#d3c7b4;font-size:13px}.dashboard-app{min-height:100vh;display:grid;grid-template-columns:246px minmax(0,1fr)}.dash-sidebar{position:sticky;top:0;height:100vh;padding:28px 21px 22px;display:flex;flex-direction:column;color:var(--cream);background:radial-gradient(circle at 20% 10%,rgba(255,59,157,.12),transparent 26%),var(--dark)}.sidebar-brand{display:flex;align-items:center;gap:11px}.sidebar-brand img{width:47px;height:47px;border-radius:11px}.sidebar-brand div,.sidebar-profile div{display:flex;flex-direction:column}.sidebar-brand strong{font-family:Barlow Condensed,Impact,sans-serif;font-size:19px;text-transform:uppercase}.sidebar-brand span,.sidebar-profile span{color:#9f9382;font-size:10px}.sidebar-nav{margin-top:55px;display:grid;gap:8px}.sidebar-nav button{height:45px;padding:0 13px;border:1px solid transparent;border-radius:10px;display:flex;align-items:center;gap:12px;color:#afa392;background:transparent;font-size:12px;font-weight:600;text-align:left}.sidebar-nav button.is-active{color:#fff;border-color:#ff3b9d2e;background:linear-gradient(90deg,#ff3b9d29,#b88e3414)}.sidebar-nav button span{color:var(--pink);font-size:18px}.sidebar-nav button:disabled{opacity:.42}.sidebar-site-link{margin-top:auto;padding:15px 11px;border-top:1px solid var(--dark-line);color:#ad9f8d;font-size:11px}.sidebar-profile{padding-top:16px;border-top:1px solid var(--dark-line);display:grid;grid-template-columns:38px 1fr 30px;align-items:center;gap:10px}.sidebar-profile img{width:38px;height:38px;border:1px solid rgba(255,59,157,.4);border-radius:50%;object-fit:cover}.sidebar-profile strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile button{width:30px;height:30px;padding:0;border:1px solid var(--dark-line);border-radius:50%;color:#c1b5a4;background:transparent}.dash-main{min-width:0;padding:42px clamp(24px,4vw,64px) 64px;background:radial-gradient(circle at 90% 0%,rgba(255,59,157,.06),transparent 24%),var(--paper-warm)}.dash-header{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.dash-header .dash-eyebrow{margin-bottom:10px}.dash-header h1{font-size:54px}.dash-header>div>p:last-child{margin:9px 0 0;color:var(--soft);font-size:12px}.header-tools{display:flex;align-items:flex-end;gap:12px}.backend-pill{min-height:39px;padding:0 12px;border:1px solid rgba(255,59,157,.24);border-radius:999px;display:inline-flex;align-items:center;color:var(--pink-deep);background:var(--pink-soft);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.barber-filter-label{display:grid;gap:5px;color:var(--soft);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.barber-filter-label select{min-width:175px;height:39px;padding:0 36px 0 12px;border:1px solid var(--line);border-radius:10px;outline:0;color:var(--ink);background:#ffffffb8;font-size:12px;text-transform:none}.stats-grid{margin-top:34px;display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stats-grid article{min-height:126px;padding:20px;border:1px solid var(--line);border-radius:15px;display:flex;flex-direction:column;background:#ffffffa3}.stats-grid article:nth-child(3){border-color:#ff3b9d38;background:linear-gradient(145deg,#ffffffb3,#ff3b9d0f)}.stats-grid span{color:var(--soft);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stats-grid strong{margin-top:6px;font-family:Barlow Condensed,Impact,sans-serif;font-size:38px;line-height:1}.stats-grid small{margin-top:auto;color:#958a7d;font-size:10px}.calendar-panel{margin-top:17px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#ffffffbf;box-shadow:0 20px 50px #4631190f}.calendar-toolbar{margin-bottom:19px;display:flex;align-items:center;justify-content:space-between;gap:20px}.calendar-toolbar p{margin:0 0 3px;color:var(--pink-deep);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.calendar-toolbar h2{margin:0;font-family:Barlow Condensed,Impact,sans-serif;font-size:28px;text-transform:uppercase}.week-navigation{display:flex;gap:6px}.week-navigation button{min-width:38px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--paper);font-size:11px;font-weight:700}.calendar-loading{padding:55px 20px;color:var(--soft);text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:8px;overflow-x:auto;scrollbar-color:rgba(255,59,157,.28) transparent}.calendar-day{min-height:390px;padding:12px 9px;border:1px solid rgba(29,22,16,.09);border-radius:12px;background:#fbf8f3b8}.calendar-day.is-today{border-color:#ff3b9d52;box-shadow:inset 0 3px 0 var(--pink)}.calendar-day-header{margin-bottom:12px;padding:1px 3px 10px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.calendar-day-header>div{display:grid;gap:2px}.calendar-day-header span{color:var(--soft);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calendar-day-header small{color:var(--gold);font-size:7px;font-weight:700;letter-spacing:.03em}.calendar-day-header strong{font-family:Barlow Condensed,Impact,sans-serif;font-size:24px}.day-appointments{display:grid;gap:8px}.appointment-item{width:100%;padding:10px;border:1px solid rgba(184,142,52,.19);border-left:3px solid var(--gold);border-radius:9px;display:grid;gap:3px;color:var(--ink);background:#fff;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.appointment-item:hover,.appointment-item:focus-visible{transform:translateY(-2px);border-color:#ff3b9d59;box-shadow:0 8px 18px #4b2d1c14}.appointment-item[data-accent=pink]{border-left-color:var(--pink)}.appointment-item time{color:var(--pink-deep);font-size:10px;font-weight:700}.appointment-item strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.appointment-item span{overflow:hidden;color:var(--soft);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.status-pill{width:max-content;margin-top:4px;padding:3px 6px;border-radius:999px;color:#7a5c1a;background:var(--gold-soft);font-size:7px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.status-pill.pending{color:var(--pink-deep);background:var(--pink-soft)}.status-pill.completed{color:#327353;background:#3273531a}.status-pill.cancelled,.status-pill.no_show{color:#81776b;background:#81776b1a}.empty-day{padding:16px 4px;color:#a59b90;font-size:9px;text-align:center}.working-hours-view{margin-top:34px}.working-hours-intro{min-height:210px;padding:clamp(26px,4vw,42px);border:1px solid rgba(255,59,157,.18);border-radius:20px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);align-items:end;gap:38px;overflow:hidden;color:var(--cream);background:radial-gradient(circle at 82% 18%,rgba(255,59,157,.24),transparent 27%),linear-gradient(125deg,var(--dark),#271a10);box-shadow:0 24px 55px #291b0e1f}.working-hours-intro .dash-eyebrow{color:#ff86c6}.working-hours-intro h2{margin:0;font-family:Barlow Condensed,Impact,sans-serif;font-size:clamp(43px,5vw,66px);line-height:.9;text-transform:uppercase}.working-hours-intro h2 em{color:#d6ae51}.working-hours-intro>div>p:last-child{max-width:590px;margin:19px 0 0;color:#c8bdac;font-size:12px;line-height:1.65}.working-hours-impact{padding:21px;border:1px solid rgba(242,235,220,.14);border-radius:15px;display:grid;gap:5px;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.working-hours-impact span{color:#ff86c6;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.working-hours-impact strong{font-family:Barlow Condensed,Impact,sans-serif;font-size:25px;text-transform:uppercase}.working-hours-impact small{color:#a99d8c;font-size:10px;line-height:1.5}.working-hours-form{margin-top:17px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#ffffffc2;box-shadow:0 20px 50px #4631190f}.working-hours-toolbar{margin-bottom:17px;padding:4px 2px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:22px}.working-hours-toolbar p{margin:0 0 3px;color:var(--pink-deep);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.working-hours-toolbar h3{margin:0;font-family:Barlow Condensed,Impact,sans-serif;font-size:28px;text-transform:uppercase}.working-hours-toolbar small{display:block;margin-top:3px;color:var(--soft);font-size:9px}.working-hours-list{display:grid;gap:9px}.working-hours-loading{padding:55px 20px;color:var(--soft);text-align:center}.workday-row{min-height:84px;padding:13px 15px;border:1px solid rgba(29,22,16,.1);border-radius:13px;display:grid;grid-template-columns:minmax(190px,1fr) minmax(260px,.9fr) 92px;align-items:center;gap:20px;background:#fbf8f3c2;transition:opacity .16s ease,border-color .16s ease,background .16s ease}.workday-row:not(.is-off){border-color:#b88e3440;background:linear-gradient(90deg,rgba(184,142,52,.07),transparent 34%),#fbf8f3e6}.workday-row.is-off{opacity:.68}.workday-toggle{position:relative;display:flex;align-items:center;gap:13px;cursor:pointer}.workday-toggle input{position:absolute;width:1px;height:1px;opacity:0}.workday-switch{position:relative;width:45px;height:25px;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#d9d1c6;transition:background .16s ease,box-shadow .16s ease}.workday-switch i{position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #1d161033;transition:transform .16s ease}.workday-toggle input:checked+.workday-switch{background:linear-gradient(135deg,var(--gold),#d4a544);box-shadow:0 0 0 3px var(--gold-soft)}.workday-toggle input:checked+.workday-switch i{transform:translate(20px)}.workday-toggle input:focus-visible+.workday-switch{outline:2px solid var(--pink);outline-offset:3px}.workday-name{display:grid;gap:2px}.workday-name strong{font-family:Barlow Condensed,Impact,sans-serif;font-size:20px;text-transform:uppercase}.workday-name small{color:var(--soft);font-size:9px}.workday-date{margin-left:auto;padding:5px 8px;border:1px solid rgba(184,142,52,.24);border-radius:999px;color:#7a5c1a;background:var(--gold-soft);font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.workday-row.is-off .workday-date{border-color:var(--line);color:var(--soft);background:#81776b14}.workday-times{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:8px}.workday-times>span{padding-bottom:10px;color:var(--gold);font-size:14px}.workday-times label{display:grid;gap:5px;color:var(--soft);font-size:8px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.workday-times input{width:100%;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:9px;outline:0;color:var(--ink);background:#fff;font-size:11px;color-scheme:light}.workday-times input:focus{border-color:var(--pink);box-shadow:0 0 0 3px var(--pink-soft)}.workday-times input:disabled{color:#9f9589;background:#eee9e1}.workday-summary{justify-self:end;min-width:80px;padding:6px 9px;border-radius:999px;color:#7a5c1a;background:var(--gold-soft);font-size:9px;font-weight:700;text-align:center}.workday-row.is-off .workday-summary{color:#81776b;background:#81776b1a}.working-hours-footer{margin-top:17px;display:flex;align-items:center;justify-content:flex-end;gap:22px}.working-hours-feedback{min-height:17px;margin:0 auto 0 0;color:var(--pink-deep);font-size:11px}.working-hours-footer .dash-button{min-width:190px}.appointment-dialog{width:min(530px,calc(100% - 28px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:18px;color:var(--ink);background:transparent;box-shadow:0 30px 90px #1510096b}.appointment-dialog::backdrop{background:#151009bd;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.appointment-card{position:relative;padding:34px;border-top:2px solid var(--pink);border-radius:18px;display:grid;gap:17px;background:var(--paper);overflow-y:auto}.appointment-card h2{font-size:45px}.appointment-close{position:absolute;top:15px;right:15px;width:37px;height:37px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;font-size:23px}.appointment-meta{color:var(--soft);font-size:12px}.appointment-details{margin:0;border-top:1px solid var(--line)}.appointment-details>div{padding:11px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:105px 1fr;gap:14px}.appointment-details dt{color:#978c80;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.appointment-details dd{margin:0;font-size:12px}.appointment-details a{color:var(--pink-deep);font-weight:700}.appointment-schedule{padding:16px;border:1px solid rgba(184,142,52,.24);border-radius:14px;display:grid;gap:14px;background:radial-gradient(circle at 100% 0%,rgba(255,59,157,.07),transparent 45%),#b88e340f}.appointment-schedule p{margin:0 0 2px;color:var(--ink);font-family:Barlow Condensed,Impact,sans-serif;font-size:20px;font-style:italic;font-weight:700;text-transform:uppercase}.appointment-schedule small{color:var(--soft);font-size:10px}.appointment-schedule-fields{display:grid;grid-template-columns:minmax(0,1fr) 138px;gap:10px}.appointment-schedule input{color-scheme:light}.appointment-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.dash-button-danger-outline{border:1px solid rgba(183,52,64,.3);color:#a22e39;background:#ffffff8c}.delete-confirmation{padding:16px;border:1px solid rgba(183,52,64,.25);border-radius:14px;display:grid;gap:13px;background:#b7344012}.delete-confirmation>div:first-child{display:grid;gap:2px}.delete-confirmation strong{color:#87242e;font-size:12px}.delete-confirmation span{color:var(--soft);font-size:10px}.delete-confirmation-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px}.delete-confirmation .dash-button{min-height:42px;padding:0 14px;font-size:10px}.dash-button-quiet{border:1px solid var(--line);color:var(--ink);background:#ffffffb8}.dash-button-danger{color:#fff;background:linear-gradient(135deg,#a52e39,#761f28);box-shadow:0 10px 22px #761f282e}.dash-toast{position:fixed;right:24px;bottom:24px;z-index:100;max-width:320px;padding:13px 17px;border-radius:11px;color:var(--cream);background:var(--dark);box-shadow:0 16px 36px #15100940;font-size:11px;opacity:0;transform:translateY(12px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}.dash-toast.is-visible{opacity:1;transform:translateY(0)}@media(max-width:1020px){.login-view{grid-template-columns:1fr}.login-art{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.calendar-grid{grid-template-columns:repeat(7,minmax(150px,1fr))}}@media(max-width:760px){.login-card{padding:32px 24px}.login-brand{margin-bottom:50px}.login-card h1{font-size:58px}.dashboard-app{display:block}.dash-sidebar{position:relative;width:100%;height:auto;padding:13px 20px;display:grid;grid-template-columns:1fr auto;align-items:center}.sidebar-brand img{width:42px;height:42px}.sidebar-site-link{display:none}.sidebar-nav{grid-column:1 / -1;grid-template-columns:1fr 1fr;margin-top:12px}.sidebar-nav button{justify-content:center}.sidebar-nav button:last-child{display:none}.sidebar-profile{padding:0;border:0}.dash-main{padding:28px 17px 45px}.dash-header{align-items:flex-start;flex-direction:column}.header-tools{width:100%;align-items:stretch}.barber-filter-label{flex:1}.barber-filter-label select{width:100%;min-width:0}.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-grid article{min-height:112px}.calendar-panel{padding:16px}.calendar-toolbar{align-items:flex-start;flex-direction:column}.working-hours-intro{grid-template-columns:1fr;align-items:stretch}.working-hours-toolbar{align-items:flex-start;flex-direction:column}.working-hours-toolbar .week-navigation{width:100%}.working-hours-toolbar .week-navigation button{flex:1}.workday-row{grid-template-columns:1fr;gap:13px}.workday-summary{justify-self:start}}@media(max-width:430px){.demo-login div{align-items:stretch;flex-direction:column}.dash-header h1{font-size:47px}.stats-grid{gap:9px}.stats-grid article{padding:15px}.week-navigation{width:100%}.week-navigation button{flex:1}.appointment-card{padding:29px 22px 23px}.appointment-schedule-fields,.appointment-actions,.delete-confirmation-actions{grid-template-columns:1fr}.working-hours-view{margin-top:25px}.working-hours-intro,.working-hours-form{padding:20px}.working-hours-intro h2{font-size:46px}.workday-row{padding:15px;grid-template-columns:1fr;gap:13px}.workday-summary{justify-self:start}.working-hours-footer{align-items:stretch;flex-direction:column;gap:10px}.working-hours-footer .dash-button{width:100%}}
