:root{--bg:#0d0d0e;--surface:#171719;--surface2:#202024;--gold:#d2a34d;--gold2:#f0c66f;--text:#f8f5ef;--muted:#a5a3a0;--line:#2d2d31;--light:#f4f5f7;--ink:#17181a;--danger:#c94646;--radius:16px;--shadow:0 14px 40px rgba(0,0,0,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:10px;border:1px solid transparent;font-weight:800;transition:.2s}.btn.gold,.btn.primary{background:var(--gold);color:#15120c}.btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.btn.ghost{border-color:#454348;background:transparent}.btn.small{min-height:38px;padding:0 15px;font-size:.875rem}.btn.wide{width:100%}.public-nav{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);border-bottom:1px solid #242426;position:sticky;top:0;background:rgba(13,13,14,.94);backdrop-filter:blur(14px);z-index:20}.logo{display:flex;gap:12px;align-items:center;font-weight:900;letter-spacing:.06em}.logo span,.panel-brand span,.brand-mark{display:grid;place-items:center;background:var(--gold);color:#15120c;font-weight:950}.logo span{width:36px;height:36px;border-radius:50%;font-size:.75rem}.public-nav nav{display:flex;gap:32px;color:#c7c5c1;font-size:.9rem}.public-nav nav a:hover{color:var(--gold2)}.hero{min-height:670px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:80px max(6vw,32px);overflow:hidden}.eyebrow{font-size:.75rem;font-weight:900;letter-spacing:.22em;color:var(--gold2)}.hero h1{font-family:Georgia,serif;font-size:clamp(3.5rem,7vw,7rem);line-height:.91;max-width:760px;margin:22px 0 28px;letter-spacing:-.05em}.hero-copy>p{color:#b7b4af;font-size:1.15rem;max-width:620px}.hero-actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}.hero-art{min-height:470px;position:relative;border-radius:220px 220px 16px 16px;border:1px solid #3a3429;background:radial-gradient(circle at 50% 30%,#3e362a 0,#191816 43%,#101011 70%);display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-number{font-family:Georgia,serif;font-size:14rem;color:transparent;-webkit-text-stroke:1px #ad8a4c;opacity:.45}.hero-lines{position:absolute;inset:9%;border:1px solid rgba(210,163,77,.25);border-radius:50% 50% 4px 4px}.hero-art p{position:absolute;bottom:30px;letter-spacing:.26em;color:#b5955c;font-size:.7rem}.section{padding:100px max(6vw,32px);background:#f3f1ed;color:var(--ink)}.section .eyebrow{color:#8c6728}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.section h2,.gallery-band h2,.contact h2{font-family:Georgia,serif;font-size:clamp(2.4rem,4vw,4rem);margin:8px 0}.filters{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid #d7d2c9;background:#fff;padding:9px 15px;border-radius:999px}.chip.active{background:#171719;color:#fff;border-color:#171719}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:white;border:1px solid #dedbd5;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 20px rgba(38,31,20,.05);transition:.25s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-card img,.service-placeholder{width:100%;height:220px;object-fit:cover}.service-placeholder{display:flex;align-items:end;justify-content:space-between;padding:22px;background:linear-gradient(135deg,#191919,#474135);color:#e0b969}.service-placeholder span{font-family:Georgia,serif;font-size:4rem;opacity:.55}.service-placeholder b{font-size:.75rem;letter-spacing:.15em}.service-info{padding:22px}.service-title{display:flex;align-items:start;justify-content:space-between;gap:15px}.service-title h3{margin:0;font-size:1.15rem}.service-title strong{color:#8f651d;font-size:1.18rem}.service-info p{color:#676460;min-height:48px}.service-meta{display:flex;justify-content:space-between;border-top:1px solid #ece9e3;padding-top:16px;font-size:.85rem;color:#77736d}.service-meta a{color:#7f5b1e;font-weight:800}.gallery-band{text-align:center;padding:110px 20px;background:linear-gradient(145deg,#141414,#29251f);border-block:1px solid #342e23}.gallery-band p{max-width:680px;margin:0 auto 30px;color:#bbb6ae}.contact{display:flex;justify-content:space-between;align-items:center;padding:80px max(6vw,32px)}footer{display:flex;justify-content:space-between;padding:28px max(6vw,32px);border-top:1px solid #29292b;color:#888;font-size:.85rem}
.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#3b3224,#111 45%)}.auth-card{width:min(100%,460px);background:#fff;color:var(--ink);border-radius:22px;padding:38px;box-shadow:0 30px 80px #0008}.brand-mark{width:58px;height:58px;border-radius:18px;margin-bottom:22px}.auth-card h1{margin:0 0 8px}.auth-card>p{color:#666}.form-grid{display:grid;gap:16px;margin-top:26px}.form-grid label,.checkout label{display:grid;gap:7px;font-size:.86rem;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.checkout input,.checkout select,.checkout textarea{width:100%;border:1px solid #d8d9dc;background:#fff;color:#17181a;border-radius:10px;padding:11px 12px;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#aa782b;box-shadow:0 0 0 3px #d2a34d26}.form-grid hr{width:100%;border:0;border-top:1px solid #eee}.text-link{text-align:center;color:#7b5a24;font-weight:700}.alert{padding:13px 15px;border-radius:10px;margin:0 0 18px}.alert.ok{background:#e5f8ed;color:#17663a}.alert.error{background:#ffeded;color:#a52d2d}
.panel{background:var(--light);color:var(--ink);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#121214;color:#ddd;padding:22px 15px;display:flex;flex-direction:column;z-index:30}.panel-brand{display:flex;align-items:center;gap:11px;padding:0 9px 24px}.panel-brand span{width:38px;height:38px;border-radius:11px;font-size:.75rem}.panel-brand b{letter-spacing:.06em}.sidebar nav{display:grid;gap:4px}.sidebar nav a,.sidebar-bottom a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:9px;color:#aaa;font-size:.9rem}.sidebar nav a i{font-style:normal;width:20px;text-align:center}.sidebar nav a.active,.sidebar nav a:hover{background:#27231d;color:#f2c66f}.sidebar-bottom{display:grid;gap:4px;margin-top:auto;border-top:1px solid #2b2b2e;padding-top:13px}.panel-main{margin-left:250px;padding:0 32px 50px}.topbar{height:92px;display:flex;align-items:center;gap:15px;border-bottom:1px solid #dddfe2;margin-bottom:28px}.topbar h1{font-size:1.45rem;margin:0}.topbar p{font-size:.82rem;color:#777;margin:3px 0 0}.avatar{margin-left:auto;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#19191b;color:#f0c66f;font-weight:900}.menu-btn{display:none;border:0;background:transparent;font-size:1.5rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stats article{background:#fff;border:1px solid #e0e1e3;border-radius:var(--radius);padding:21px;box-shadow:0 5px 18px #00000008}.stats span{display:block;color:#686a6e;font-size:.84rem}.stats strong{display:block;font-size:1.75rem;margin:5px 0}.stats small{color:#95979b}.stats .accent{background:#1b1b1d;color:#fff;border-color:#1b1b1d}.stats .accent span,.stats .accent small{color:#b9b6af}.stats .accent strong{color:#f0c66f}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.card{background:#fff;border:1px solid #e0e1e3;border-radius:var(--radius);padding:22px;box-shadow:0 5px 18px #00000008}.card h2{font-size:1rem;margin:0}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.card-head>a{color:#8a6427;font-size:.85rem;font-weight:800}.muted,.card-head>span{color:#888;font-size:.84rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th{text-align:left;color:#777;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:11px 10px;border-bottom:1px solid #e4e5e7}td{padding:13px 10px;border-bottom:1px solid #efeff1;white-space:nowrap}.table-sub{display:block;color:#92949a;margin-top:3px}.quick{display:grid;gap:10px;align-content:start}.quick h2{font-size:1rem}.quick>a{display:flex;gap:12px;align-items:center;padding:14px;background:#fff;border:1px solid #e0e1e3;border-radius:12px}.quick>a>b{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#f5ead4;color:#7f5a1e}.quick span{font-weight:800;font-size:.88rem}.quick small{display:block;color:#888;font-weight:400}.sale-layout{display:grid;grid-template-columns:1fr 350px;gap:20px}.pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pos-item input{position:absolute;opacity:0}.pos-item span{display:grid;gap:4px;padding:15px;border:1px solid #dedfe2;border-radius:12px;cursor:pointer;min-height:115px}.pos-item small{color:#888}.pos-item strong{margin-top:auto;color:#8b6427}.pos-item input:checked+span{border-color:#b6812f;background:#fff8e9;box-shadow:0 0 0 2px #d2a34d45}.checkout{display:grid;gap:14px;align-content:start;position:sticky;top:15px}.total-line{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed #ccc;padding-top:16px}.total-line strong{font-size:1.7rem}.split{display:grid;grid-template-columns:1.6fr .8fr;gap:20px}.split.equal{grid-template-columns:1fr 1fr}.form-card{align-self:start}.form-card h2{font-size:1.1rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checks{display:flex;gap:20px}.checks label{display:flex;align-items:center;gap:7px}.checks input{width:auto}.status{display:inline-flex;padding:4px 8px;border-radius:99px;font-size:.72rem;font-weight:800}.status.on{background:#e5f7ec;color:#237241}.status.off{background:#eee;color:#777}.actions{display:flex;gap:9px}.actions a,.actions button{border:0;background:none;padding:0;color:#865f22;font-size:.8rem}.actions button{color:#b34444}.settings-card{max-width:760px}
@media(max-width:1050px){.service-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.pos-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:760px){.public-nav nav{display:none}.public-nav{padding:0 16px}.hero{grid-template-columns:1fr;padding:65px 20px}.hero-art{min-height:330px;margin-top:40px}.hero-number{font-size:9rem}.section{padding:70px 18px}.section-head{display:block}.filters{margin-top:24px}.service-grid{grid-template-columns:1fr}.contact{display:block;padding:65px 20px}.contact .btn{margin-top:20px}footer{padding:25px 20px}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.panel-main{margin-left:0;padding:0 14px 35px}.menu-btn{display:block}.topbar{height:80px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats article{padding:15px}.stats strong{font-size:1.35rem}.sale-layout{grid-template-columns:1fr}.checkout{position:static}.pos-grid{grid-template-columns:1fr 1fr}.split.equal{grid-template-columns:1fr}.auth-card{padding:28px 22px}.two{grid-template-columns:1fr}}
@media(max-width:440px){.public-nav .btn{display:none}.hero h1{font-size:3.4rem}.stats{grid-template-columns:1fr}.pos-grid{grid-template-columns:1fr}.service-card img,.service-placeholder{height:190px}}

/* BARBERSHOP — identidad monocromática */
:root{--gold:#111;--gold2:#fff;--bg:#050505;--surface:#111;--surface2:#191919;--text:#fff;--light:#f5f5f5;--ink:#101010;--line:#292929;--radius:4px}.btn.white,.btn.primary{background:#fff;color:#050505;border-color:#fff}.btn.primary{background:#101010;color:#fff}.public-nav{height:78px;background:rgba(5,5,5,.92);border-color:#272727}.logo{letter-spacing:.16em}.logo img{width:46px;height:46px;object-fit:contain;filter:grayscale(1)}.public-nav nav{letter-spacing:.09em;text-transform:uppercase;font-size:.78rem}.public-nav nav a:hover{color:#fff}.hero{min-height:760px;display:flex;position:relative;align-items:flex-end;padding:110px max(6vw,32px);isolation:isolate}.hero-photo,.hero-overlay{position:absolute;inset:0}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transform:scale(1.015)}.hero-overlay{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.62) 48%,rgba(0,0,0,.18) 100%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%)}.hero-copy{position:relative;z-index:2;max-width:820px;padding-bottom:20px}.hero h1{font-family:Georgia,serif;font-size:clamp(4rem,8vw,8rem);max-width:850px}.eyebrow{color:#fff}.hero-copy>p{color:#dedede;max-width:650px}.hero-stamp{position:absolute;z-index:2;right:max(6vw,32px);bottom:125px;width:140px;height:140px;border:1px solid #fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;letter-spacing:.12em}.hero-stamp b{font-family:Georgia,serif;font-size:2rem}.hero-stamp span{font-size:.62rem}.section{background:#f6f6f4}.section .eyebrow{color:#111}.chip{border-radius:2px}.chip.active{background:#050505}.service-card{border-color:#d6d6d6;border-radius:2px;box-shadow:none}.service-card img{filter:grayscale(1);height:270px}.service-title strong,.service-meta a{color:#111}.gallery-band{display:grid;grid-template-columns:1.2fr .8fr;gap:0;text-align:left;padding:0;background:#070707;border:0}.gallery-images{display:grid;grid-template-columns:1fr 1fr;height:580px}.gallery-images img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.gallery-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:70px}.gallery-copy p{margin:0 0 30px}.contact{background:#fff;color:#111}.contact .eyebrow{color:#111}.contact .btn{background:#111;color:#fff;border-color:#111}.auth{background:#080808}.auth-card{border-radius:4px}.auth-logo{width:78px;height:78px;object-fit:contain;background:#050505;margin-bottom:24px}.panel-brand img{width:42px;height:42px;object-fit:contain}.panel-brand span{background:#fff!important;color:#111!important;background-image:url('images/logo-barbershop.png')!important;background-size:contain!important;background-position:center!important;font-size:0!important}.sidebar nav a.active,.sidebar nav a:hover{background:#282828;color:#fff}.stats .accent strong,.avatar{color:#fff}.quick>a>b{background:#111;color:#fff}.card-head>a,.actions a,.text-link{color:#111}.pos-item input:checked+span{border-color:#111;background:#f4f4f4;box-shadow:0 0 0 2px #1112}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#111;box-shadow:0 0 0 3px #1112}
@media(max-width:760px){.hero{min-height:680px;padding:90px 20px 55px;align-items:flex-end}.hero-stamp{display:none}.hero h1{font-size:3.8rem}.gallery-band{grid-template-columns:1fr}.gallery-images{height:360px}.gallery-copy{padding:55px 24px}.logo img{width:40px;height:40px}.logo b{font-size:.85rem}footer{flex-direction:column;gap:10px}}

/* Experiencia móvil tipo aplicación */
.mobile-dock,.admin-mobile-dock{display:none}.service-card img{filter:none;background:#ddd}.service-card{background:#fff}.service-info{display:flex;flex-direction:column}.service-meta a{border:1px solid #111;padding:8px 12px;line-height:1}.service-meta{align-items:center}.panel{padding-bottom:0}
@media(max-width:760px){body.public{padding-bottom:76px}.public-nav{position:fixed;left:0;right:0;top:0;height:66px}.public-nav nav,.public-nav>.btn{display:none}.hero{min-height:510px;padding-top:120px}.hero h1{font-size:3.15rem}.hero-copy>p{font-size:1rem}.hero-actions .btn{min-height:42px;padding:0 16px}.section{padding:52px 14px}.section-head{margin-bottom:22px}.section h2{font-size:2.25rem}.filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;margin-right:-14px}.chip{flex:0 0 auto}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-card img{height:165px}.service-info{padding:13px;min-height:168px}.service-title{display:block}.service-title h3{font-size:.98rem;line-height:1.2;min-height:38px}.service-title strong{display:block;margin-top:5px}.service-info p{font-size:.78rem;line-height:1.35;min-height:42px;margin:8px 0}.service-meta{font-size:.68rem;gap:5px}.service-meta a{padding:7px 8px}.gallery-images{height:280px}.gallery-copy{padding:45px 20px}.contact{padding:50px 20px}footer{padding-bottom:30px}.mobile-dock,.admin-mobile-dock{position:fixed;z-index:80;left:0;right:0;bottom:0;height:72px;padding:7px 8px max(7px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);background:rgba(8,8,8,.97);border-top:1px solid #303030;box-shadow:0 -10px 30px #0004}.mobile-dock a,.admin-mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#aaa;font-size:.64rem}.mobile-dock b,.admin-mobile-dock b{font-size:1.15rem;color:#fff}.mobile-dock .dock-book b,.admin-mobile-dock .dock-sale b{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#050505;margin-top:-24px;box-shadow:0 5px 18px #0008}.panel{padding-bottom:78px}.admin-mobile-dock{background:#111}.admin-mobile-dock span{color:#bbb}.panel-main{padding-bottom:25px}.topbar{position:sticky;top:0;background:#f5f5f5;z-index:15;margin:0 -14px 18px;padding:0 14px}.card{border-radius:12px;padding:16px}.sale-layout{display:block}.sale-layout>.card{margin-bottom:14px}.checkout{margin-top:14px}.form-grid input,.form-grid select,.form-grid textarea,.checkout input,.checkout select,.checkout textarea{min-height:46px;font-size:16px}.btn{min-height:48px}.table-wrap{margin-inline:-8px}.table-wrap table{min-width:650px}}
@media(max-width:370px){.service-grid{grid-template-columns:1fr}.service-card img{height:230px}.service-info{min-height:auto}.service-title h3{min-height:0}}
