:root{--ink:#121210;--graphite:#252421;--soft:#f7f6f2;--gold:#c8a455;--line:#e4e0d8}
html{font-size:16px;overflow-x:hidden}body{font-family:"DM Sans",system-ui,sans-serif;font-weight:400;letter-spacing:-.01em;overflow-x:hidden}
h1,h2,h3,.metric strong{font-family:"Playfair Display",Georgia,serif;font-weight:600;letter-spacing:-.025em}
p{line-height:1.7}.brand-logo{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 4px 9px rgba(0,0,0,.12))}
.brand-mark{display:none}.brand b{font-weight:600;letter-spacing:.18em}.desktop-nav a{font-weight:500;letter-spacing:.01em}
.hero{min-height:calc(100vh - 78px);padding-block:clamp(3rem,7vw,7rem);overflow:hidden}.hero h1{font-size:clamp(3.2rem,6.2vw,6.7rem)}
.hero-art{height:min(70vw,650px);min-height:520px}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 22%;border-radius:clamp(26px,5vw,80px) clamp(26px,5vw,80px) 18px 18px;box-shadow:0 34px 90px rgba(18,18,16,.24)}
.hero-logo-seal{position:absolute;left:-28px;bottom:28px;width:clamp(110px,13vw,170px);aspect-ratio:1;background:rgba(18,18,16,.86);backdrop-filter:blur(14px);border:1px solid rgba(202,169,91,.5);border-radius:50%;display:grid;place-items:center;box-shadow:0 18px 48px rgba(0,0,0,.28)}
.hero-logo-seal img{width:86%;height:86%;object-fit:contain}.trust-row{gap:12px;flex-wrap:wrap}.trust-row span{display:block;border-left:1px solid var(--gold);padding-left:14px;color:#4d4942}.trust-row b{display:none}
.section,.experience{padding-block:clamp(4.5rem,8vw,7rem)}.section-head{align-items:start}.section-head>p{margin-top:4px}
.service-card,.panel,.metric,.user-chip{box-shadow:0 12px 36px rgba(27,24,18,.045)}button,input,select,textarea{font-size:1rem}button{touch-action:manipulation}
.sidebar nav{overflow-y:auto;overscroll-behavior:contain}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-thumb{background:#4a463f;border-radius:4px}
.side-brand span{background:#111;color:var(--gold2);font-family:"Playfair Display"}.side-logo{width:46px;height:46px;object-fit:contain;flex:none}.workspace{max-width:1600px;width:100%;margin-inline:auto}.workspace-top h2{font-weight:600}
.data-wrap{max-width:100%;overflow:auto}.data-table{min-width:680px}.modal{overscroll-behavior:contain}
.login-logo{width:90px;height:90px;border:0}.login-logo img{width:100%;height:100%;object-fit:contain}.empty-page{padding:28px}
@media(max-width:1100px){.topbar{padding-inline:3vw}.hero{padding-inline:4vw;grid-template-columns:1fr 1fr;gap:4vw}.hero h1{font-size:clamp(3rem,5.8vw,5rem)}.hero-art{height:560px}.section,.experience{padding-inline:4vw}.workspace{padding-inline:24px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.desktop-nav{display:none}.hero{grid-template-columns:1fr;padding-top:46px}.hero-content{max-width:700px}.hero-art{height:620px;margin-top:28px}.hero-photo{border-radius:44px 44px 16px 16px}.hero-logo-seal{left:18px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.experience,.split{grid-template-columns:1fr}.app-view{grid-template-columns:76px minmax(0,1fr)}.sidebar{width:76px}.side-brand b,.sidebar nav span,.exit-btn{display:none}}
@media(max-width:700px){.topbar{height:70px;padding:0 14px}.brand-logo{width:46px;height:46px}.brand>span{display:none}.top-actions{gap:7px}.top-actions .icon-btn,.top-actions .compact{display:none}#installBtn{display:inline-flex;min-height:42px;padding:0 12px;font-size:.78rem}.top-actions #loginBtn{display:inline-flex;min-height:42px;padding:0 14px}.menu-btn{display:none}.hero{display:flex;flex-direction:column;padding:36px 18px 52px}.hero h1{font-size:clamp(2.75rem,13.5vw,4rem);line-height:1.01}.hero-copy{font-size:1rem;margin:22px 0}.hero-actions{gap:18px}.trust-row{margin-top:34px;display:grid;grid-template-columns:1fr}.hero-art{width:100%;height:480px;min-height:0;margin-top:34px}.hero-photo{border-radius:34px 34px 12px 12px}.hero-logo-seal{width:108px;left:14px;bottom:14px}.ticker{height:50px}.section,.experience{padding:64px 18px}.section h2,.experience h2,.cta-section h2{font-size:2.45rem}.section-head{display:block}.service-grid{grid-template-columns:1fr}.service-visual{height:210px}.cta-section{margin:0 12px 20px;padding:38px 24px}.app-view{display:block}.sidebar{position:fixed;z-index:50;left:-270px;width:260px;padding:20px 14px}.sidebar.open{left:0}.side-brand b,.sidebar nav span,.exit-btn{display:flex}.workspace{padding:0 14px 72px}.workspace-top{height:88px;position:sticky;top:0;background:rgba(247,246,242,.95);backdrop-filter:blur(12px);z-index:12}.workspace-top h2{font-size:1.45rem}.workspace-top small{display:none}.mobile-side{display:inline-block;min-width:44px;min-height:44px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:16px}.metric strong{font-size:1.8rem}.dash-grid{grid-template-columns:1fr}.page-toolbar{flex-direction:column}.page-toolbar .gold-btn,.search-input{max-width:none;width:100%}.agenda-row{grid-template-columns:52px 8px minmax(0,1fr);gap:9px}.agenda-row>.status{grid-column:3;justify-self:start}.modal{width:calc(100% - 16px);max-height:94dvh;padding:30px 18px;border-radius:20px}.modal-head h2{font-size:2rem}.form-grid,.record-grid{grid-template-columns:1fr}.time-options{display:grid;grid-template-columns:1fr 1fr}.time-options button{min-height:48px}.toast{left:12px;right:12px;bottom:12px}.user-chip{padding:6px}.user-chip>span:not(.avatar),.user-chip button{display:none}}
@media(max-width:420px){.metric-grid{grid-template-columns:1fr}.hero-art{height:420px}.hero h1{font-size:2.8rem}.top-actions #loginBtn{padding-inline:11px}.modal{padding-inline:16px}.section h2,.experience h2,.cta-section h2{font-size:2.15rem}}
@media(min-width:1400px){.topbar{padding-inline:max(5vw,72px)}.hero,.section,.experience{padding-inline:max(7vw,110px)}.hero{grid-template-columns:1fr .9fr}.workspace{padding-inline:44px}}
.hero{position:relative;isolation:isolate;background:#0d0e0d url("makeup-powder-bg.webp") center/cover no-repeat;color:#fff}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,8,7,.86),rgba(9,10,9,.62) 48%,rgba(9,10,9,.18)),radial-gradient(circle at 30% 45%,rgba(17,70,48,.20),transparent 42%)}
.hero-content{padding:clamp(24px,4vw,54px);border:1px solid rgba(255,255,255,.16);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.055));box-shadow:0 28px 80px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.24);backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%)}
.hero .hero-copy,.hero .trust-row span{color:rgba(255,255,255,.76)}.hero .text-link{color:#fff}.hero .eyebrow{color:#e8c979}.hero-photo{border:1px solid rgba(255,255,255,.20);box-shadow:0 34px 90px rgba(0,0,0,.52)}
.topbar{background:rgba(247,246,242,.78);border-color:rgba(255,255,255,.55);box-shadow:0 10px 40px rgba(12,12,10,.08)}
.service-card,.panel,.metric,.user-chip,.cta-section{background:rgba(255,255,255,.78);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);border-color:rgba(255,255,255,.72)}
.patriotic-confetti{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}.confetti-piece{position:absolute;top:-8%;width:5px;height:13px;border-radius:2px;opacity:0;animation:confettiFall var(--fall,12s) linear infinite;animation-delay:var(--delay,0s);background:var(--color,#fff);filter:drop-shadow(0 2px 2px rgba(0,0,0,.22))}
@keyframes confettiFall{0%{transform:translate3d(0,-10vh,0) rotate(0);opacity:0}8%{opacity:.46}78%{opacity:.32}100%{transform:translate3d(var(--drift,30px),112vh,0) rotate(540deg);opacity:0}}
@media(max-width:820px){.hero::before{background:linear-gradient(180deg,rgba(7,8,7,.83),rgba(9,10,9,.42))}.hero-content{border-radius:28px}.confetti-piece:nth-child(n+15){display:none}}@media(max-width:700px){.hero-content{padding:28px 22px;border-radius:25px}}@media(prefers-reduced-motion:reduce){.confetti-piece{display:none}}

/* Fixed-depth background and calmer first viewport */
#publicView{position:relative;isolation:isolate}
#publicView::before{content:"";position:fixed;inset:0;z-index:-2;background:#0b0c0b url("makeup-powder-bg.webp") center/cover no-repeat;transform:scale(1.035)}
.hero{background:transparent;min-height:calc(100svh - 78px);padding:44px clamp(34px,5vw,88px);gap:clamp(30px,4vw,72px);align-items:center}
.hero::before{position:fixed;z-index:-1;background:linear-gradient(90deg,rgba(7,8,7,.84),rgba(9,10,9,.58) 50%,rgba(9,10,9,.17))}
.hero-content{max-width:720px;padding:clamp(28px,3vw,44px)}
.hero h1{font-size:clamp(3.3rem,4.5vw,5.35rem);line-height:.98}
.hero-copy{margin:22px 0;font-size:1.05rem}.trust-row{margin-top:30px}
.hero-art{height:clamp(500px,68svh,650px);min-height:0;align-self:center}.hero-logo-seal{width:clamp(96px,9vw,138px);left:-18px;bottom:20px}
@media(min-width:821px) and (max-height:900px){.hero{padding-block:28px}.hero-content{padding:32px 38px}.hero h1{font-size:clamp(3.15rem,4.15vw,4.75rem)}.hero-copy{margin:18px 0;line-height:1.55}.trust-row{margin-top:22px}.hero-art{height:calc(100svh - 142px);max-height:590px}.hero-logo-seal{width:110px}}
@media(max-width:820px){#publicView::before{transform:scale(1.08)}.hero{padding:38px 22px 58px;gap:30px}.hero::before{position:absolute}.hero-content{max-width:none;width:100%}.hero-art{height:min(72svh,580px)}}
@media(max-width:700px){.hero{padding:28px 16px 48px}.hero-content{padding:26px 20px}.hero h1{font-size:clamp(2.55rem,12vw,3.65rem)}.hero-copy{font-size:1rem}.hero-art{height:min(65svh,480px);margin-top:0}.hero-logo-seal{width:92px;left:10px;bottom:10px}.trust-row{margin-top:24px}}

/* High-contrast liquid glass surfaces */
.hero-content{background:linear-gradient(145deg,rgba(22,28,25,.58),rgba(8,10,9,.38));border:1px solid rgba(255,255,255,.30);box-shadow:0 30px 90px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.24)}
.hero h1{color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.5)}.hero h1 em{color:#ddb75e}.hero .hero-copy{color:rgba(255,255,255,.90)}
.section{width:auto;margin:26px clamp(14px,3vw,54px);padding:clamp(62px,7vw,96px) clamp(22px,4vw,72px);border:1px solid rgba(255,255,255,.62);border-radius:34px;background:rgba(250,249,246,.82);box-shadow:0 30px 90px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.85);backdrop-filter:blur(30px) saturate(145%);-webkit-backdrop-filter:blur(30px) saturate(145%)}
.section h2,.section h3,.section p,.section .muted{color:var(--ink)}.section .eyebrow{color:#8c681f}.section-head>p{color:#4f4b44}
.filter-row button{color:#292722;background:rgba(255,255,255,.52);border-color:rgba(34,31,26,.24)}.filter-row button.active{color:#fff;background:#171614}
.experience{margin:26px clamp(14px,3vw,54px);border-radius:34px;background:rgba(17,18,16,.84);border:1px solid rgba(255,255,255,.15);box-shadow:0 30px 90px rgba(0,0,0,.28);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%)}.experience h2,.experience h3{color:#fff}.experience p{color:rgba(255,255,255,.72)!important}
.cta-section{background:rgba(250,249,246,.84);border:1px solid rgba(255,255,255,.66);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%)}
.service-card,.panel{background:rgba(255,255,255,.88)}.service-card p,.panel p{color:#57524a}
@media(max-width:700px){.section,.experience{margin:14px 10px;border-radius:24px;padding:54px 18px}.hero-content{background:linear-gradient(155deg,rgba(19,24,21,.66),rgba(8,10,9,.44));border-color:rgba(255,255,255,.34)}}

/* HF reception-inspired system */
:root{--ink:#28231f;--graphite:#4b443e;--soft:#f3ede3;--gold:#d0a448;--gold2:#f0ce75;--muted:#746b62;--line:#d8cec0;--green:#657469}
body{background:linear-gradient(135deg,#f7f2e9 0%,#e9dfd2 55%,#f6f1e8 100%);color:var(--ink)}
.topbar{position:fixed;inset:0 0 auto 0;width:100%;z-index:80;background:rgba(250,246,238,.82);border-bottom:1px solid rgba(174,137,67,.26);box-shadow:0 12px 42px rgba(77,58,38,.12);backdrop-filter:blur(26px) saturate(145%);-webkit-backdrop-filter:blur(26px) saturate(145%)}
#publicView{padding-top:78px}.topbar .gold-btn,.gold-btn{background:linear-gradient(135deg,#bd8b32,#e2bf69);color:#241b10;box-shadow:0 10px 28px rgba(169,119,34,.25)}.ghost-btn{border-color:rgba(111,91,63,.25);background:rgba(255,255,255,.34)}
.brand b{color:#3f342b}.brand small,.desktop-nav a{color:#74685d}
.ticker{background:rgba(43,38,33,.94);border-block:1px solid rgba(225,190,112,.25)}
.section{background:linear-gradient(145deg,rgba(255,252,247,.89),rgba(231,222,211,.76));border-color:rgba(255,255,255,.82);box-shadow:0 30px 90px rgba(96,72,45,.15),inset 0 1px rgba(255,255,255,.95)}
.service-card,.panel,.metric,.user-chip{background:linear-gradient(145deg,rgba(255,253,249,.94),rgba(232,225,216,.80));border-color:rgba(180,164,145,.34);box-shadow:0 14px 38px rgba(75,56,36,.09),inset 0 1px rgba(255,255,255,.9)}
.service-visual{background:linear-gradient(145deg,#c79d55,#5e554e)!important}.quote-card{background:linear-gradient(145deg,#e1bb69,#b98535);box-shadow:0 24px 60px rgba(139,91,24,.24)}
.experience{position:relative;isolation:isolate;background:linear-gradient(90deg,rgba(30,26,22,.92),rgba(57,46,35,.77)),url("hf-reception.webp") center/cover no-repeat;border-color:rgba(231,196,122,.30)}
.experience::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(120deg,rgba(255,210,113,.09),transparent 45%)}
.cta-section{background:linear-gradient(135deg,rgba(248,243,234,.91),rgba(210,197,181,.80));border-color:rgba(255,255,255,.84)}
.app-view{background:linear-gradient(135deg,#f4eee5,#dfd4c7)}.sidebar{background:linear-gradient(165deg,#302a25,#181613 62%,#3f352d);box-shadow:12px 0 40px rgba(44,32,22,.16)}
.side-brand{border-bottom:1px solid rgba(226,190,111,.22)}.sidebar nav button{color:#c9beb1}.sidebar nav button.active{background:linear-gradient(90deg,rgba(208,164,72,.30),rgba(255,255,255,.06));color:#fff;border:1px solid rgba(226,190,111,.18)}
.workspace-top{border-bottom:1px solid rgba(158,135,105,.16)}.metric strong,.workspace h2{color:#3b3028}.status{background:#eee1c7;color:#735523}.status.green{background:#dfe9df;color:#4a6350}
input,select,textarea{background:rgba(255,253,248,.88);border-color:#d4c7b7;color:#312a24}input:focus,select:focus,textarea:focus{outline:2px solid rgba(201,156,67,.42);border-color:#c89c43}
@media(max-width:700px){#publicView{padding-top:70px}.topbar{height:70px}.workspace-top{top:0;background:rgba(244,238,229,.93)}}

/* Brand-forward header and hero */
.topbar{height:88px;padding-inline:clamp(18px,4vw,68px)}
#publicView{padding-top:88px}
.brand{gap:14px}.brand-logo{width:70px;height:70px;padding:3px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.98),rgba(213,205,195,.78));border:1px solid rgba(190,145,56,.38);box-shadow:0 9px 26px rgba(94,66,28,.18),inset 0 1px rgba(255,255,255,.95);filter:drop-shadow(0 3px 5px rgba(0,0,0,.12))}
.brand b{font-family:"Playfair Display",Georgia,serif;font-size:1.08rem;letter-spacing:.16em}.brand small{font-size:.72rem;letter-spacing:.04em}
.hero-logo-seal{width:clamp(142px,13vw,190px);left:-30px;bottom:24px;background:radial-gradient(circle,rgba(39,36,33,.91),rgba(12,12,11,.95));border:2px solid rgba(227,192,112,.7);box-shadow:0 24px 60px rgba(0,0,0,.42),0 0 0 8px rgba(255,255,255,.08)}
.hero-logo-seal img{width:91%;height:91%}
@media(max-width:700px){.topbar{height:72px;padding-inline:12px}#publicView{padding-top:72px}.brand-logo{width:56px;height:56px}.hero-logo-seal{width:116px;left:10px;bottom:12px}.top-actions{gap:5px}#installBtn{padding-inline:10px}.top-actions #loginBtn{padding-inline:12px}}

/* Profile, support and system */
.profile-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:26px;align-items:start}.profile-card{text-align:center;position:sticky;top:24px;padding:38px 28px}.profile-photo{width:168px;aspect-ratio:1;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#e7c76f,#77634c);border:5px solid rgba(255,255,255,.96);box-shadow:0 18px 44px rgba(87,61,31,.20),0 0 0 1px rgba(193,146,46,.28);font:600 2.9rem "Playfair Display";color:#fff}.profile-photo img{width:100%;height:100%;object-fit:cover}.photo-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 20px;border-radius:999px;background:#3b342e;color:#fff;cursor:pointer;box-shadow:0 10px 24px rgba(49,41,34,.15);transition:.2s ease}.photo-button:hover{transform:translateY(-1px);background:#211d1a}.photo-button input{display:none}.profile-card>small{display:block;margin:10px 0 25px;color:var(--muted)}.profile-card h3{margin:0 0 6px;font-size:1.35rem}.profile-card p{margin:0 0 17px;overflow-wrap:anywhere;color:var(--muted)}.profile-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.role-badge,.branch-badge{display:inline-flex;padding:8px 13px;border-radius:999px;font-size:.76rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.role-badge{background:linear-gradient(135deg,#f6e9c5,#e8c66b);color:#6b4b15}.branch-badge{background:#ece9e4;color:#625d57;border:1px solid #d8d2ca}.profile-details{padding:0;background:none;border:0;box-shadow:none;display:grid;gap:20px}.profile-details .panel-head{margin-bottom:24px}.profile-details .panel-head h3{font-size:1.55rem}.profile-section{padding:28px;margin-bottom:20px}.profile-section h3{margin:0}.profile-save{min-width:240px;margin:0 0 20px}.avatar.has-photo{background-size:cover;background-position:center;color:transparent}.schedule-box{margin:22px 0;padding:20px;border:1px solid rgba(192,151,67,.35);border-radius:18px;background:rgba(255,252,246,.62)}.schedule-box legend{padding:0 9px;font:600 1.08rem "Playfair Display"}.schedule-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.schedule-head p{margin:0;color:var(--muted)}#scheduleList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.schedule-row{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border:1px solid #ddd4c8;border-radius:14px;background:#fff}.schedule-row span{display:grid;gap:2px}.schedule-row small{color:var(--muted)}.schedule-row button{border:0;background:transparent;font-size:1.4rem;color:#8b4b42}.empty-schedule{grid-column:1/-1;margin:0;padding:20px;text-align:center;border:1px dashed #cfc4b5;border-radius:14px;color:var(--muted)}.consent-box{display:grid;gap:12px;margin-top:18px;padding:18px;border:1px solid #ddd4c8;border-radius:16px}.consent-box label{display:flex;align-items:flex-start;gap:10px}.consent-box input{width:18px;height:18px;min-height:0}.signature-pad{display:block;width:100%;height:180px;border:2px dashed #d4ad56;border-radius:18px;background:#fff;touch-action:none}.signature-actions{display:flex;justify-content:flex-end;margin-top:12px}.profile-section input[type=file]{padding:12px}
.support-head,.system-intro{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:22px}.support-head h2,.system-intro h2{margin:3px 0 5px}.gold-btn:disabled{opacity:.45;cursor:not-allowed}.limit-note{padding:14px 18px;border:1px solid #d6b05d;border-radius:16px;background:#fff4d9;color:#684b17}.support-filters{display:flex;gap:8px;margin:18px 0}.support-filters button{padding:10px 16px;border-radius:999px;border:1px solid rgba(111,91,63,.2);background:rgba(255,255,255,.55)}.support-filters button.active{background:#302923;color:#fff}.ticket-list{display:grid;gap:12px}.ticket-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.ticket-card h3{margin:2px 0 5px}.ticket-card p{margin:0}.ticket-side{display:flex;align-items:center;gap:10px;flex:none}
.system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.system-group h3{margin:0 0 14px}.system-group button{width:100%;display:grid;grid-template-columns:1fr auto;gap:2px 14px;text-align:left;padding:15px 2px;border:0;border-bottom:1px solid rgba(120,100,75,.15);background:transparent;color:var(--ink)}.system-group button span{font-weight:650}.system-group button small{grid-column:1;color:var(--muted)}.system-group button b{grid-column:2;grid-row:1/3;align-self:center;font-size:1.5rem;color:#b38635}
.ticket-dialog{max-width:720px}.support-thread{display:grid;gap:12px;max-height:42vh;overflow:auto;margin:22px 0;padding:4px}.thread-message{max-width:84%;padding:14px 16px;border-radius:18px 18px 18px 5px;background:#eee7dd}.thread-message.mine{justify-self:end;border-radius:18px 18px 5px 18px;background:#dec17e}.thread-message p{margin:5px 0}.thread-message small{color:#665e55}.ticket-side{flex-wrap:wrap}
@media(max-width:820px){.profile-layout,.system-grid{grid-template-columns:1fr}.profile-card{position:static}.support-head,.system-intro{align-items:flex-start}}
@media(max-width:700px){#scheduleList{grid-template-columns:1fr}.schedule-head{align-items:stretch;flex-direction:column}.schedule-head .ghost-btn{width:100%}.profile-section{padding:20px}}
@media(max-width:560px){.support-head,.system-intro,.ticket-card{align-items:stretch;flex-direction:column}.support-head .gold-btn{width:100%}.ticket-side{justify-content:space-between}.profile-photo{width:128px}}

/* HF Salón corporate interior: pearl gray, warm white, honey wood and luminous gold */
:root{--ink:#393532;--graphite:#67635f;--soft:#faf8f3;--gold:#d6a33d;--gold2:#f5d77b;--muted:#77716b;--line:#d9d3ca;--green:#7c8a80}
html,body{background:#f8f5ef;color:var(--ink)}
#publicView::before{background:linear-gradient(118deg,rgba(252,249,243,.90),rgba(232,229,224,.78)),url("hf-reception.webp") center/cover no-repeat;filter:none;transform:scale(1.02)}
.hero::before{background:linear-gradient(90deg,rgba(250,247,240,.88),rgba(239,236,231,.62) 52%,rgba(255,255,255,.18))}
.hero{color:var(--ink)}
.hero-content{background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(211,211,211,.55));border:1px solid rgba(255,255,255,.96);box-shadow:0 28px 72px rgba(104,94,80,.16),inset 0 1px rgba(255,255,255,1),inset 0 -1px rgba(195,151,63,.12);backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%)}
.hero h1{color:#3d3935;text-shadow:0 2px 16px rgba(255,255,255,.9)}.hero h1 em{color:#bd8523;text-shadow:0 0 20px rgba(244,198,91,.34)}.hero .hero-copy,.hero .trust-row span{color:#605b55}.hero .text-link{color:#3d3935}.hero .eyebrow{color:#9b6c1d}
.hero-photo{border:2px solid rgba(255,255,255,.94);box-shadow:0 30px 75px rgba(92,79,65,.22),0 0 34px rgba(230,181,70,.16)}
.hero-logo-seal{background:radial-gradient(circle at 45% 35%,#fffef9,#d7d4cf 68%,#aaa8a5);border-color:#efc65e;box-shadow:0 20px 46px rgba(112,91,57,.22),0 0 30px rgba(246,201,91,.55),0 0 0 7px rgba(255,255,255,.52)}
.topbar{background:rgba(255,253,248,.90);border-bottom-color:rgba(207,161,63,.36);box-shadow:0 10px 34px rgba(105,93,77,.11),0 1px 14px rgba(238,190,76,.12)}
.brand-logo{background:radial-gradient(circle,#fff 42%,#d5d3cf 100%);border-color:#e2b54c;box-shadow:0 8px 24px rgba(105,91,70,.15),0 0 18px rgba(239,190,67,.36)}
.ticker{background:linear-gradient(90deg,#a7a6a5,#d8d5cf 48%,#9a9998);border-color:rgba(255,255,255,.72);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.6),0 10px 26px rgba(92,88,83,.12)}.ticker i{color:#ffd86d;text-shadow:0 0 12px #ffc342}
.section{background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(225,223,219,.79));border-color:#fff;box-shadow:0 28px 70px rgba(111,99,83,.13),inset 0 1px #fff}
.service-card,.panel,.metric,.user-chip{background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(226,224,220,.84));border-color:rgba(183,178,170,.42);box-shadow:0 14px 34px rgba(103,92,78,.10),inset 0 1px #fff}
.service-visual{background:linear-gradient(145deg,#eeeae3,#9d9b98)!important}.service-initial{color:#b77b18;text-shadow:0 0 18px rgba(255,210,101,.65)}
.service-visual{position:relative;overflow:hidden}.service-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}.service-card:hover .service-visual img{transform:scale(1.045);filter:saturate(1.05) contrast(1.03)}
.experience{background:linear-gradient(90deg,rgba(255,253,247,.93),rgba(223,219,212,.77)),url("hf-reception.webp") center/cover no-repeat;border-color:rgba(255,255,255,.92);box-shadow:0 28px 72px rgba(103,87,66,.15),inset 0 1px #fff}.experience::before{background:radial-gradient(circle at 76% 18%,rgba(255,208,92,.34),transparent 34%)}.experience h2,.experience h3{color:#3b3733}.experience p{color:#635e58!important}
.quote-card{background:linear-gradient(145deg,#f2d277,#b87b1d);color:#342619;box-shadow:0 24px 54px rgba(167,111,23,.23),0 0 28px rgba(245,198,77,.22)}
.cta-section{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(211,209,204,.82));border-color:#fff;box-shadow:0 24px 64px rgba(100,89,76,.13)}
.gold-btn{background:linear-gradient(120deg,#a96f12 0%,#f3cf67 42%,#fff0a5 54%,#c98d22 100%);color:#33220d;border:1px solid rgba(255,228,142,.9);box-shadow:0 10px 27px rgba(180,121,21,.25),inset 0 1px rgba(255,255,255,.75)}
.gold-btn:hover{filter:brightness(1.06);box-shadow:0 13px 34px rgba(180,121,21,.32),0 0 18px rgba(244,200,91,.30)}
.app-view{background:linear-gradient(135deg,#fbf9f5,#e6e3de 55%,#f7f2e9)}
.sidebar{background:linear-gradient(165deg,#f9f7f3,#ceccc8 58%,#f2eee8);border-right:1px solid rgba(181,151,90,.28);box-shadow:12px 0 38px rgba(83,76,67,.10)}
.side-brand{border-bottom-color:rgba(175,135,55,.25)}.sidebar nav button{color:#625e59}.sidebar nav button:hover{background:rgba(255,255,255,.58);color:#443e38}.sidebar nav button.active{background:linear-gradient(90deg,rgba(240,198,100,.42),rgba(255,255,255,.74));color:#503a18;border:1px solid rgba(211,164,69,.35);box-shadow:0 7px 18px rgba(160,114,34,.12)}.exit-btn{color:#665f57;border-color:rgba(115,104,91,.18)}
.workspace-top{background:rgba(249,247,242,.87);border-bottom-color:rgba(176,146,89,.22);backdrop-filter:blur(18px)}
.status{background:#efe1bd;color:#75520e}.status.green{background:#e3ebe4;color:#4d6653}
input,select,textarea{background:rgba(255,255,255,.94);border-color:#ccc6bd;color:#393532}
@media(max-width:700px){.hero::before{background:linear-gradient(180deg,rgba(250,247,241,.88),rgba(230,227,222,.58))}.hero-content{background:linear-gradient(150deg,rgba(255,255,255,.82),rgba(209,208,205,.62))}.sidebar{box-shadow:12px 0 36px rgba(69,63,57,.16)}}

/* Locations, contact and complete public footer */
.locations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.location-card{overflow:hidden;border:1px solid rgba(183,178,170,.42);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(226,224,220,.86));box-shadow:0 18px 42px rgba(103,92,78,.12)}.location-photo{display:block;width:100%;height:230px;object-fit:cover}.map-frame{height:250px;background:#dedbd5;border-top:1px solid rgba(255,255,255,.8)}.map-frame iframe{display:block;width:100%;height:100%;border:0}.location-copy{padding:26px}.location-copy h3{margin:5px 0 12px;font-size:1.45rem}.location-copy>p:not(.eyebrow){line-height:1.65}.location-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.location-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;text-decoration:none;border-radius:999px}
.contact-section{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:34px;align-items:start}.contact-intro{padding:18px 0}.contact-intro h2{margin:8px 0 15px}.contact-form{padding:28px}.contact-form>label{display:grid;gap:8px;margin-top:16px}.contact-form .check{display:flex;align-items:flex-start}.review-link{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-top:28px;padding:18px;border:1px solid rgba(205,160,66,.35);border-radius:20px;background:rgba(255,255,255,.66);color:var(--ink);text-decoration:none;box-shadow:0 12px 28px rgba(103,92,78,.08)}.review-link>span{font-size:1.8rem;color:#cf941f;text-shadow:0 0 14px rgba(247,199,80,.55)}.review-link b,.review-link small{display:block}.review-link small{margin-top:3px;color:var(--muted)}.review-link strong{font-size:1.4rem;color:#b77b18}
.site-footer{display:grid;grid-template-columns:1.2fr .8fr 1fr 1fr;gap:28px;margin:26px clamp(14px,3vw,54px) 34px;padding:38px clamp(24px,4vw,58px);border:1px solid #fff;border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(209,208,205,.84));box-shadow:0 24px 64px rgba(100,89,76,.13);color:var(--ink)}.footer-brand img{width:104px;height:104px;object-fit:contain;border-radius:50%;background:#d2d0cc;box-shadow:0 10px 25px rgba(111,92,62,.16)}.site-footer h3{margin:6px 0 14px;font-family:"Playfair Display",Georgia,serif}.site-footer p{color:#625e59;line-height:1.55}.site-footer a{display:block;width:max-content;max-width:100%;margin:0 0 9px;color:#625e59;text-decoration:none}.site-footer a:hover{color:#a76f12}.site-footer>small{grid-column:1/-1;padding-top:20px;border-top:1px solid rgba(128,115,98,.18);color:#77716b}
.social-links{display:grid;gap:9px;margin-top:16px}.social-links a{display:flex;align-items:center;gap:9px;min-height:38px;margin:0}.social-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#fff;font:700 1rem Arial,sans-serif;box-shadow:0 6px 14px rgba(54,47,40,.15)}.social-icon.facebook{background:#1877f2}.social-icon.instagram{background:radial-gradient(circle at 30% 105%,#ffd600 0 20%,#ff7a00 35%,#ff0169 58%,#d300c5 76%,#7638fa 100%);font-size:1.25rem}
@media(max-width:900px){.locations-grid,.contact-section{grid-template-columns:1fr}.site-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-nav{gap:14px}.desktop-nav a{font-size:.78rem}}
@media(max-width:600px){.map-frame{height:270px}.location-copy,.contact-form{padding:20px}.location-actions a{width:100%}.site-footer{grid-template-columns:1fr;margin-inline:10px;padding:30px 22px}.site-footer>small{grid-column:1}.contact-section{gap:12px}}

/* Client portal */
.client-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:clamp(24px,4vw,42px);overflow:hidden;border:1px solid rgba(255,255,255,.95);border-radius:28px;background:linear-gradient(125deg,rgba(255,255,255,.97),rgba(214,211,207,.82) 58%,rgba(238,194,91,.44));box-shadow:0 20px 54px rgba(103,92,78,.13)}.client-welcome h2{margin:5px 0;font-size:clamp(2rem,4vw,3.4rem)}.client-welcome p{color:#625e59}.client-welcome img{width:clamp(105px,14vw,170px);height:clamp(105px,14vw,170px);object-fit:contain;border-radius:50%;background:#d2d0cc;filter:drop-shadow(0 14px 22px rgba(124,88,29,.2))}.client-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.client-appointment h3{margin:7px 0 12px}.client-appointment p{line-height:1.6}.client-next strong{font:600 1.45rem "Playfair Display",Georgia,serif}.client-next p{color:var(--muted)}.credential-note{margin:18px 0;padding:14px 16px;border-left:3px solid #d6a33d;border-radius:10px;background:#fbf4df;color:#5e5140;line-height:1.5}
@media(max-width:900px){.client-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.client-welcome{padding:24px}.client-welcome img{width:88px;height:88px}.client-card-grid{grid-template-columns:1fr}}

/* Minimal access controls and staff registration */
.top-minimal-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid rgba(116,101,82,.18);border-radius:999px;background:rgba(255,255,255,.58);color:#4e473f;font-weight:650;letter-spacing:.01em;box-shadow:inset 0 1px rgba(255,255,255,.95),0 8px 22px rgba(91,79,64,.08);backdrop-filter:blur(14px);transition:.2s ease}.top-minimal-btn span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(214,163,61,.14);color:#a56d12}.top-minimal-btn:hover{transform:translateY(-1px);border-color:rgba(202,151,48,.42);background:#fff;box-shadow:0 10px 26px rgba(116,83,30,.13)}.access-minimal{border-color:rgba(202,151,48,.34)}
.register-access{display:grid;gap:8px;margin:18px 0 4px;padding-top:17px;border-top:1px solid rgba(128,115,98,.16);text-align:center;color:var(--muted);font-size:.9rem}.register-access button{min-height:44px;border:1px solid rgba(196,146,46,.35);border-radius:999px;background:rgba(255,255,255,.72);color:#7e5714;font-weight:750}.register-access button:hover{background:#fbf1d7}.staff-register-modal{width:min(720px,calc(100% - 28px))}.staff-register-modal .login-logo{overflow:hidden;background:#dad8d4}.staff-register-modal .login-logo img{width:100%;height:100%;object-fit:contain}.staff-register-modal .modal-head{text-align:center;margin:16px 0 26px}.registration-note{text-align:center;color:var(--muted);font-size:.82rem}.professional-welcome{background:linear-gradient(125deg,rgba(255,255,255,.97),rgba(220,218,214,.84) 58%,rgba(238,194,91,.34))}
@media(max-width:700px){.top-minimal-btn{min-height:42px;padding:0 12px;font-size:.78rem}.top-minimal-btn span{display:none}.staff-register-modal{width:calc(100% - 16px)}}

/* Service catalog 2026 */
.service-toolbar{align-items:center}.service-tools{display:flex;gap:10px;flex:1}.service-tools .search-input{max-width:420px}.service-tools select{min-height:46px;min-width:220px;border:1px solid #ded7ca;border-radius:12px;background:#fff;padding:0 14px;color:#39342d}.catalog-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:2px 10px 18px;border-bottom:1px solid #eee7dc}.catalog-summary span{color:var(--muted);font-size:.86rem}.service-catalog .data-table td:first-child{min-width:280px}.service-catalog .data-table td:first-child small{display:block;margin-top:5px;color:var(--muted);font-weight:400}.service-catalog .data-table td strong{color:#8d671e}.category-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f4ead2;color:#765718;font-weight:700;font-size:.78rem}.no-service-results{text-align:center;color:var(--muted);padding:42px 16px}
@media(max-width:700px){.service-tools{display:grid;width:100%}.service-tools .search-input,.service-tools select{width:100%;max-width:none;min-width:0}.catalog-summary{align-items:flex-start;flex-direction:column}.service-catalog .data-table,.service-catalog .data-table tbody,.service-catalog .data-table tr,.service-catalog .data-table td{display:block;min-width:0}.service-catalog .data-table thead{display:none}.service-catalog .data-table tr{padding:16px 4px;border-bottom:1px solid #eee7dc}.service-catalog .data-table td{border:none;padding:5px 8px}.service-catalog .data-table td:first-child{min-width:0;font-size:1.04rem}.service-catalog .data-table td:nth-child(3):before{content:'Duración · ';color:var(--muted)}.service-catalog .data-table td:nth-child(4):before{content:'Precio · ';color:var(--muted)}}

/* Punto de venta por sucursal */
.pos-branch{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;padding:22px 26px;border:1px solid #e4d7bd;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(231,218,194,.72));box-shadow:0 18px 40px rgba(93,76,54,.1)}.pos-branch h2{margin:3px 0;font-size:28px}.pos-branch p{margin:0;color:var(--muted)}.branch-tabs{display:flex;background:#eee9df;border-radius:14px;padding:4px;gap:4px}.branch-tabs button{border:0;background:transparent;padding:11px 16px;border-radius:11px;font-weight:800;color:#6f675d}.branch-tabs button.active{background:#fff;color:#7a5713;box-shadow:0 5px 16px rgba(89,71,40,.14)}.pos-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:20px;align-items:start}.pos-catalog,.pos-ticket,.pos-history{padding:22px}.pos-filters{display:grid;grid-template-columns:1fr 180px 200px;gap:10px;margin:16px 0}.pos-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:570px;overflow:auto;padding-right:5px}.pos-items>button{border:1px solid #e5ddd0;background:linear-gradient(145deg,#fff,#f7f3eb);border-radius:14px;padding:14px;text-align:left;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;color:var(--ink)}.pos-items>button:hover{border-color:var(--gold);box-shadow:0 7px 18px rgba(155,112,25,.12)}.pos-items small,.pos-cart-line small{display:block;color:var(--muted);margin-bottom:4px;font-size:10px;letter-spacing:.07em}.pos-items i{font-style:normal;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#e0b84e;color:#231d13}.pos-ticket{position:sticky;top:112px}.pos-cart-line{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.qty{display:flex;align-items:center;gap:6px}.qty button{width:27px;height:27px;border:1px solid var(--line);background:#fff;border-radius:8px}.pos-empty{padding:30px 8px;text-align:center;color:var(--muted)}.pos-adjustments{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}.pos-adjustments label:last-child{grid-column:1/-1}.pos-summary{border-top:1px solid var(--line);padding-top:12px}.pos-summary span,.pos-summary>strong{display:flex;justify-content:space-between;padding:5px 0}.pos-summary>strong{font-size:20px;color:#76530d;border-top:1px solid var(--line);margin-top:6px;padding-top:12px}.pos-history{margin-top:20px}.pos-sales>div{display:grid;grid-template-columns:1fr 1.2fr .8fr auto;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.receipt{text-align:center}.receipt img{width:74px;height:74px;object-fit:contain}.receipt h2{margin:8px 0}.receipt>div{display:flex;justify-content:space-between;text-align:left;padding:6px 0}.receipt-total{font-size:21px;border-top:2px solid #c79a31;margin-top:8px}.receipt-dialog{max-width:460px}@media(max-width:980px){.pos-layout{grid-template-columns:1fr}.pos-ticket{position:static}.pos-filters{grid-template-columns:1fr 1fr}.pos-filters input{grid-column:1/-1}}@media(max-width:650px){.pos-branch{align-items:flex-start;flex-direction:column}.branch-tabs{width:100%}.branch-tabs button{flex:1}.pos-items{grid-template-columns:1fr;max-height:none}.pos-filters{grid-template-columns:1fr}.pos-filters input{grid-column:auto}.pos-sales>div{grid-template-columns:1fr auto}.pos-sales>div span{grid-column:1/-1}.pos-cart-line{grid-template-columns:1fr auto}.pos-cart-line>strong{grid-column:2}.pos-adjustments{grid-template-columns:1fr}}
/* Perfil responsivo: mantiene todos los formularios dentro del área visible */
.workspace{min-width:0;max-width:none}
#pageContent{width:100%;min-width:0;max-width:1440px;margin-inline:auto}
.profile-layout{width:100%;min-width:0;grid-template-columns:minmax(240px,290px) minmax(0,1fr);gap:clamp(18px,2vw,28px);margin-inline:auto}
.profile-layout>*,.profile-details,.profile-details form,.profile-section,.profile-section .form-grid,.profile-section label{min-width:0;max-width:100%}
.profile-section{overflow:visible}
.profile-section .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(14px,1.5vw,22px)}
.profile-section input,.profile-section select,.profile-section textarea{display:block;width:100%;min-width:0;max-width:100%}
.profile-card{width:100%;padding:clamp(24px,3vw,36px) clamp(18px,2vw,28px)}
.profile-card h3,.profile-card p{max-width:100%;overflow-wrap:anywhere}
.profile-save{display:flex;align-items:center;justify-content:center;margin-inline:auto}
.signature-pad{max-width:100%}
@media(max-width:1180px){
 .workspace{padding-inline:22px}
 .profile-layout{grid-template-columns:1fr}
 .profile-card{position:static;display:block;max-width:620px;margin-inline:auto;text-align:center}
 .profile-photo{margin:0 auto 18px;width:138px}.profile-card h3,.profile-card p{margin:0 0 7px}
 .profile-card .photo-button{display:inline-flex}.profile-card>small{display:block}.profile-badges{justify-content:center}
}
@media(max-width:760px){
 .workspace{width:100%;padding:0 14px 72px}#pageContent{max-width:640px}.workspace-top{height:auto;min-height:82px;gap:10px}
 .profile-layout{display:block}.profile-card{display:block;text-align:center;padding:24px 18px;margin-bottom:16px}.profile-photo{width:116px;margin:0 auto 15px}
 .profile-card h3,.profile-card p{margin:0 0 6px}.profile-card .photo-button{display:inline-flex;margin-top:10px}.profile-card>small{display:block;margin:8px 0 16px}.profile-badges{justify-content:center}
 .profile-section{padding:22px 18px;margin-bottom:14px;border-radius:20px}.profile-section .form-grid{grid-template-columns:1fr;gap:0}
 .profile-details .panel-head{margin-bottom:18px}.profile-details .panel-head h3{font-size:1.35rem}.schedule-box{padding:16px;margin:18px 0}#scheduleList{grid-template-columns:1fr}
 .profile-save{width:100%;min-width:0}.signature-pad{height:150px}
}
@media(max-width:420px){.workspace{padding-inline:10px}.profile-section{padding:19px 14px}.profile-photo{width:104px}.role-badge,.branch-badge{font-size:.68rem;padding:7px 10px}.schedule-head{gap:10px}}
/* Tipografía corporativa ligera en toda la plataforma */
body{font-weight:400}
h1,h2,h3,h4,h5,h6,
.hero h1,.section h2,.experience h2,.cta-section h2,.workspace h2,.modal h2,
.profile-photo,.metric strong,.client-next strong{font-weight:500!important}
b,strong,th,label,legend,
button,.gold-btn,.ghost-btn,.light-btn,.mini-btn,
.brand b,.sidebar nav button,.exit-btn,.role-badge,.branch-badge,
.status,.category-pill,.eyebrow,.service-meta b,.user-chip b,
.data-table th,.data-table td b,.data-table td strong{font-weight:500!important}
input,select,textarea{font-weight:400!important}
::placeholder{font-weight:400;opacity:.72}

/* Horario semanal simplificado */
.weekly-schedule .schedule-head{display:block}.weekly-schedule .schedule-head h4{margin:0 0 5px;font:500 1.05rem "Playfair Display",Georgia,serif}.week-time{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.week-time label{display:grid;gap:8px}.week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week-day{position:relative;min-width:0;cursor:pointer}.week-day input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.week-day span{display:grid;gap:4px;min-height:66px;padding:12px 8px;border:1px solid #d8d0c5;border-radius:13px;background:#f4f1ec;text-align:center;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.week-day b{overflow:hidden;text-overflow:ellipsis;font-size:.82rem}.week-day small{color:#766f67;font-size:.72rem}.week-day.is-working span{border-color:#c99a37;background:#fff8e6;box-shadow:0 8px 18px rgba(153,109,28,.1)}.week-day.is-working small{color:#805d18}.week-day input:focus-visible+span{outline:3px solid rgba(202,151,48,.28);outline-offset:2px}
@media(max-width:900px){.week-days{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.week-time{grid-template-columns:1fr}.week-days{grid-template-columns:repeat(2,minmax(0,1fr))}.week-day:last-child{grid-column:1/-1}}

/* RH: asistencia biométrica, ubicación y horarios */
.hr-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,38px);margin-bottom:18px;background:linear-gradient(125deg,rgba(255,255,255,.98),rgba(229,226,220,.88) 62%,rgba(230,188,86,.34));border-color:#fff}.hr-hero h2{margin:5px 0 8px;font-size:clamp(1.8rem,3vw,2.7rem)}.hr-hero p{margin:0;color:var(--muted)}.hr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.hr-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px;padding:24px}.hr-card h3{margin:4px 0 7px}.hr-card p{margin:0;color:var(--muted);line-height:1.5}.hr-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:linear-gradient(145deg,#f8df96,#bc8121);color:#4a3512;font-size:1.5rem;box-shadow:0 10px 24px rgba(172,115,24,.18)}.hr-punch{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;margin-bottom:18px}.hr-punch h3{margin:4px 0}.hr-punch p{margin:0;color:var(--muted)}.attendance-button{min-width:210px;min-height:54px}.attendance-button:disabled{filter:grayscale(.65);opacity:.55;cursor:not-allowed}.hr-columns{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;margin-bottom:18px}.hr-section{padding:25px}.hr-schedule>div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--line)}.hr-records>div{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.hr-records p{margin:0}.hr-records small{display:block;margin-top:4px;color:var(--muted)}.hr-records a{color:#8b6318}.hr-event{display:inline-flex;justify-content:center;padding:7px 9px;border-radius:999px;background:#eee8dc;color:#675c4b;font-size:.72rem}.hr-event.entrada{background:#e3ebe4;color:#44644d}.hr-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hr-team-grid article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72)}.hr-person{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#e2c374,#977037);color:#fff}.hr-team-grid small,.hr-team-grid time{display:block;color:var(--muted);font-size:.75rem}.hr-team-grid time{grid-column:2/-1}
@media(max-width:900px){.hr-grid,.hr-columns{grid-template-columns:1fr}.hr-team-grid{grid-template-columns:1fr}}
@media(max-width:620px){.hr-hero,.hr-punch{align-items:flex-start;flex-direction:column}.hr-card{grid-template-columns:auto 1fr}.hr-card>button,.hr-card>.status{grid-column:1/-1;width:100%}.attendance-button{width:100%}.hr-records>div{grid-template-columns:1fr auto}.hr-records .hr-event{width:max-content}.hr-records p{grid-column:1/-1;grid-row:2}.hr-team-grid article{grid-template-columns:auto 1fr}.hr-team-grid .status{grid-column:1/-1;width:max-content}.hr-team-grid time{grid-column:1/-1}}

.hr-journey{margin-bottom:18px}.hr-alert{margin:0 0 16px;padding:12px 14px;border:1px solid #e3c26d;border-radius:12px;background:#fff9e8;color:#664b13}.hr-event-sequence{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.hr-event-sequence button{display:grid;min-width:0;min-height:126px;align-content:start;gap:8px;padding:15px;border:1px solid #d8d0c5;border-radius:15px;background:#f5f2ed;color:#615a50;text-align:left}.hr-event-sequence button b{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#e6dfd4;color:#665d51}.hr-event-sequence button span{font-weight:700}.hr-event-sequence button small{color:#777067;line-height:1.35}.hr-event-sequence button.available{border-color:#c89b3c;background:linear-gradient(145deg,#fffdf7,#fff4d8);box-shadow:0 10px 24px rgba(159,112,28,.12);cursor:pointer}.hr-event-sequence button.available b{background:#a97a23;color:#fff}.hr-event-sequence button.completed{border-color:#a7ccb4;background:#eef8f1}.hr-event-sequence button.completed b{background:#377b50;color:#fff}.hr-event-sequence button.locked{opacity:.62}.hr-supervisor{margin-top:18px}.hr-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:6px 0 18px}.hr-filters label{display:grid;gap:7px;color:#5f584f;font-size:.78rem;font-weight:600}.hr-filters input,.hr-filters select{width:100%;min-height:44px;padding:9px 11px;border:1px solid #d1c7b8;border-radius:11px;background:#fff;color:#29251f}.hr-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.hr-summary article{display:grid;gap:4px;padding:16px;border:1px solid #e1d8cb;border-radius:14px;background:#faf8f4}.hr-summary b{font:500 1.75rem "Playfair Display",Georgia,serif;color:#755319}.hr-summary span{color:#6d665d;font-size:.78rem}.hr-report-table{overflow:auto;border:1px solid #e1d9ce;border-radius:14px}.hr-report-table table{width:100%;min-width:880px;border-collapse:collapse}.hr-report-table th,.hr-report-table td{padding:12px;border-bottom:1px solid #ebe5dc;text-align:left;vertical-align:top}.hr-report-table th{background:#f3eee6;color:#655d52;font-size:.72rem;letter-spacing:.04em}.hr-report-table td{color:#4f4a43;font-size:.82rem}.hr-report-table td small{display:block;margin-top:3px;color:#81796f}.hr-report-table a{color:#835f1d}.hr-report-status{display:inline-flex;padding:6px 9px;border-radius:99px;background:#f0ece6;white-space:nowrap}.hr-report-status.present{background:#e3f3e8;color:#27613a}.hr-report-status.late{background:#fff0c7;color:#7a5500}.hr-report-status.absent{background:#f9e5e3;color:#8b3029}
@media(max-width:1000px){.hr-event-sequence{grid-template-columns:repeat(3,minmax(0,1fr))}.hr-filters,.hr-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.hr-event-sequence,.hr-filters{grid-template-columns:1fr}.hr-event-sequence button{min-height:0}.hr-summary{grid-template-columns:1fr 1fr}.hr-section{padding:18px}}
.hr-report-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.hr-report-actions .gold-btn,.hr-report-actions .ghost-btn{min-height:42px;padding-inline:16px}.hr-report-history{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.hr-report-history h3{margin:0 0 10px}.hr-report-history article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid #ebe5dc}.hr-report-history article:first-of-type{border-top:0}.hr-report-history small{display:block;margin-top:4px;color:var(--muted)}.hr-report-history article>span{color:var(--muted);font-size:.78rem;white-space:nowrap}
@media(max-width:760px){.hr-supervisor>.panel-head{align-items:stretch;flex-direction:column}.hr-report-actions{display:grid;grid-template-columns:1fr}.hr-report-actions button{width:100%}.hr-report-history article{align-items:flex-start;flex-direction:column;gap:5px}.hr-report-history article>span{white-space:normal}}

/* Soporte como lista de modificaciones */
.support-board-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 2px 22px}.support-board-head h2{margin:0 0 7px;font-size:clamp(1.75rem,3vw,2.5rem)}.support-board-head p{max-width:68ch;margin:0;color:#625e59;line-height:1.55}.support-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px;overflow:hidden;border:1px solid rgba(158,139,110,.2);border-radius:16px;background:rgba(255,255,255,.74);box-shadow:0 14px 36px rgba(83,72,59,.08)}.support-summary>div{display:flex;align-items:baseline;gap:10px;padding:19px 22px}.support-summary>div+div{border-left:1px solid rgba(158,139,110,.18)}.support-summary span{font-family:"Playfair Display",Georgia,serif;font-size:1.75rem;color:#8a641b}.support-summary p{margin:0;color:#625e59}.modification-list{display:grid;gap:12px}.modification-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:start;padding:22px;border:1px solid rgba(158,139,110,.2);border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 12px 30px rgba(83,72,59,.07);transition:background .2s ease,opacity .2s ease,box-shadow .2s ease}.modification-item:hover{box-shadow:0 16px 38px rgba(83,72,59,.11)}.modification-item.is-done{background:rgba(242,245,241,.82)}.modification-item.is-done .modification-copy h3,.modification-item.is-done .modification-copy p{opacity:.62}.modification-check{position:relative;display:block;width:34px;height:34px;margin-top:2px;cursor:pointer}.modification-check input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.modification-check span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #b7aa95;border-radius:10px;background:#fff;color:transparent;font-size:1.1rem;transition:.18s ease}.modification-check input:checked+span{border-color:#8e702f;background:linear-gradient(145deg,#ddbd69,#9e7426);color:#fff;box-shadow:0 7px 16px rgba(155,112,31,.22)}.modification-check input:focus-visible+span{outline:3px solid rgba(202,151,48,.3);outline-offset:3px}.modification-check input:disabled+span{cursor:default}.modification-copy{min-width:0}.modification-copy h3{margin:8px 0 7px;font-size:1.1rem;overflow-wrap:anywhere}.modification-copy>p{max-width:72ch;margin:0 0 8px;color:#59544e;line-height:1.55;white-space:pre-line}.modification-copy>small{color:#77716b}.modification-meta{display:flex;flex-wrap:wrap;gap:7px 12px;color:#77716b;font-size:.78rem}.modification-meta span:first-child{color:#8a641b}.modification-actions{display:grid;justify-items:end;gap:10px;min-width:112px}.modification-actions .ghost-btn{min-height:40px}.modification-item[hidden]{display:none}
@media(max-width:700px){.support-board-head{align-items:stretch;flex-direction:column}.support-board-head .gold-btn{width:100%}.support-summary>div{display:grid;gap:2px;padding:15px}.support-summary span{font-size:1.45rem}.support-summary p{font-size:.8rem}.modification-item{grid-template-columns:auto minmax(0,1fr);padding:17px;gap:13px}.modification-actions{grid-column:2;display:flex;align-items:center;justify-content:space-between;width:100%}.support-filters{overflow-x:auto;padding-bottom:3px}.support-filters button{white-space:nowrap}}
@media(max-width:420px){.support-summary{grid-template-columns:1fr}.support-summary>div{display:flex;justify-content:space-between;align-items:center}.support-summary>div+div{border-left:0;border-top:1px solid rgba(158,139,110,.18)}}

@media print{body>*{display:none!important}.receipt-dialog[open]{display:block!important;position:static;border:0;box-shadow:none}.receipt-dialog .close,.receipt-dialog>.gold-btn{display:none!important}.receipt-dialog .receipt{display:block!important}}

/* Portada cinematográfica HF · temporada Halloween */
body:has(#publicView:not(.hidden)){background:#100a07}
.topbar{
 position:fixed;top:0;right:0;left:0;z-index:100;height:86px;
 padding:0 clamp(20px,3.2vw,58px);margin:0;
 color:#fff;background:linear-gradient(90deg,rgba(19,14,12,.88),rgba(48,34,25,.78),rgba(18,13,11,.88));
 border-bottom:1px solid rgba(239,197,125,.32);box-shadow:0 14px 42px rgba(0,0,0,.32);
 backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)
}
.topbar .brand{min-width:245px;color:#fff}.topbar .brand-logo{width:64px;height:64px;border-radius:50%;background:#ece9e2;box-shadow:0 0 0 1px rgba(234,194,117,.72),0 9px 24px rgba(0,0,0,.28)}
.topbar .brand b{font-family:"Playfair Display",Georgia,serif;font-size:1.02rem;font-weight:500!important;letter-spacing:.19em}.topbar .brand small{color:rgba(255,255,255,.72);font-size:.7rem;letter-spacing:.04em}
.topbar .desktop-nav{gap:clamp(18px,2.5vw,38px)}.topbar .desktop-nav a{position:relative;color:rgba(255,255,255,.82);font-size:.83rem}.topbar .desktop-nav a:after{content:"";position:absolute;right:0;bottom:-8px;left:0;height:1px;background:#e5ad53;transform:scaleX(0);transition:transform .2s}.topbar .desktop-nav a:hover:after{transform:scaleX(1)}
.topbar .icon-btn{color:#fff}.topbar .top-minimal-btn{color:#fff;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.34);box-shadow:inset 0 1px rgba(255,255,255,.13)}.topbar .top-minimal-btn:hover{color:#fff;background:rgba(255,255,255,.12)}
.topbar .gold-btn{background:linear-gradient(110deg,#c98728,#ffe093 55%,#cc8d2f);box-shadow:0 0 26px rgba(232,170,67,.42);font-weight:500!important}.topbar .menu-btn{color:#fff}
#publicView{padding-top:86px;background:#f7f3ec}
.halloween-hero{position:relative;display:block;min-height:calc(100svh - 86px);padding:clamp(52px,7vh,82px) clamp(30px,4.5vw,74px) 238px;overflow:hidden;isolation:isolate;color:#fff;background:#110b08}
.halloween-hero:before{content:none}.hero-scene{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero-vignette{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(9,7,6,.92) 0%,rgba(9,7,6,.79) 28%,rgba(9,7,6,.14) 60%,rgba(9,7,6,.42) 100%),linear-gradient(0deg,rgba(8,6,5,.9) 0%,transparent 35%,rgba(5,4,3,.16) 100%)}
.halloween-hero .hero-content{max-width:650px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.halloween-hero .eyebrow{margin-bottom:18px;color:#efb65d;font-size:.78rem;font-weight:500!important;letter-spacing:.3em}.halloween-hero h1{max-width:650px;margin:0;color:#fff8ea;font-size:clamp(3.5rem,6vw,6.5rem);line-height:.92;text-shadow:0 8px 40px rgba(0,0,0,.7)}.halloween-hero h1 em{display:inline-block;margin-top:.08em;color:#e99c42;font-weight:500;text-shadow:0 0 30px rgba(224,124,37,.28)}
.halloween-hero .hero-copy{max-width:555px;margin:27px 0;color:rgba(255,255,255,.82);font-size:1.05rem;line-height:1.6}.halloween-hero .hero-actions{gap:16px}.halloween-hero .hero-actions .gold-btn,.hero-outline-btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:0 28px;border-radius:999px;text-decoration:none}
.halloween-hero .hero-actions .gold-btn{background:linear-gradient(110deg,#d2922d,#ffe29b 55%,#d19430);box-shadow:0 0 30px rgba(227,154,45,.32)}.hero-outline-btn{color:#fff;border:1px solid rgba(255,255,255,.62);background:rgba(12,8,6,.26);backdrop-filter:blur(10px)}
.halloween-hero .trust-row{display:flex;gap:0;margin-top:34px}.halloween-hero .trust-row span{display:flex;align-items:center;gap:10px;padding:0 24px;border-left:1px solid rgba(229,173,83,.55);color:rgba(255,255,255,.72);font-size:.83rem}.halloween-hero .trust-row span:first-child{padding-left:0;border-left:0}.halloween-hero .trust-row i{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(229,173,83,.72);border-radius:50%;color:#efb65d;font-style:normal}
.season-note{position:absolute;right:4.8vw;top:31%;display:grid;gap:10px;width:180px;text-align:center;text-shadow:0 3px 16px #000}.season-note small,.season-note span{color:#eab562;font-size:.65rem;letter-spacing:.25em}.season-note strong{font-family:"Playfair Display",Georgia,serif;font-size:1.5rem;font-style:italic;font-weight:500!important;line-height:1.18}
.hero-service-strip{position:absolute;right:clamp(28px,3.5vw,62px);bottom:32px;left:clamp(28px,3.5vw,62px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.hero-service-card{position:relative;height:186px;overflow:hidden;border:1px solid rgba(255,255,255,.38);border-radius:22px;color:#fff;text-decoration:none;background:#21140e;box-shadow:0 15px 34px rgba(0,0,0,.36);transition:transform .22s,border-color .22s}.hero-service-card:hover{transform:translateY(-5px);border-color:#e9b662}.hero-service-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.hero-service-card:hover img{transform:scale(1.04)}.hero-service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,7,5,.95),rgba(12,7,5,.03) 70%)}.hero-service-card>span{position:absolute;right:50px;bottom:15px;left:18px;z-index:1;display:grid}.hero-service-card strong{font-family:"Playfair Display",Georgia,serif;font-size:1.35rem;font-weight:500!important}.hero-service-card small{margin-top:2px;color:rgba(255,255,255,.66);font-size:.61rem;letter-spacing:.12em;text-transform:uppercase}.hero-service-card>b{position:absolute;right:15px;bottom:16px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-weight:400!important}
@media(max-width:1160px){.topbar .brand{min-width:auto}.topbar .desktop-nav{display:none}.topbar .menu-btn{display:block}.topbar.is-menu-open .desktop-nav{position:absolute;top:calc(100% + 8px);right:18px;display:grid;gap:0;width:min(300px,calc(100vw - 36px));padding:10px;border:1px solid rgba(239,197,125,.3);border-radius:18px;background:rgba(22,15,12,.96);box-shadow:0 24px 50px rgba(0,0,0,.35)}.topbar.is-menu-open .desktop-nav a{padding:13px 14px}.season-note{display:none}.halloween-hero{padding-bottom:432px}.hero-service-strip{grid-template-columns:repeat(2,1fr)}.hero-service-card{height:180px}}
@media(max-width:700px){.topbar{height:72px;padding:0 12px}.topbar .brand-logo{width:52px;height:52px}.topbar #installBtn{display:none}.topbar .top-actions #loginBtn{min-height:42px;padding:0 13px}.topbar .menu-btn{display:block;font-size:1.3rem}.topbar .compact{display:none}#publicView{padding-top:72px}.halloween-hero{min-height:auto;padding:58px 18px 435px}.hero-scene{object-position:61% center}.hero-vignette{background:linear-gradient(90deg,rgba(8,6,5,.88),rgba(8,6,5,.45) 76%,rgba(8,6,5,.25)),linear-gradient(0deg,rgba(8,6,5,.94) 0%,rgba(8,6,5,.15) 70%)}.halloween-hero .hero-content{max-width:100%}.halloween-hero h1{font-size:clamp(3rem,13vw,4.6rem)}.halloween-hero .hero-copy{max-width:92%;font-size:.95rem}.halloween-hero .hero-actions{align-items:stretch;flex-direction:column;max-width:320px}.halloween-hero .hero-actions .gold-btn,.hero-outline-btn{width:100%}.halloween-hero .trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.halloween-hero .trust-row span{display:grid;justify-items:center;gap:7px;padding:0 5px;border-left:0;text-align:center;font-size:.68rem}.hero-service-strip{right:14px;bottom:18px;left:14px;gap:8px}.hero-service-card{height:184px;border-radius:16px}.hero-service-card>span{right:42px;bottom:12px;left:12px}.hero-service-card strong{font-size:1.08rem}.hero-service-card small{font-size:.52rem}.hero-service-card>b{right:10px;bottom:11px;width:28px;height:28px}}
@media(max-width:440px){.topbar .brand>span{display:none}.halloween-hero{padding-top:46px;padding-bottom:732px}.halloween-hero .eyebrow{font-size:.65rem}.halloween-hero h1{font-size:2.85rem}.halloween-hero .hero-copy{max-width:100%}.halloween-hero .trust-row{grid-template-columns:1fr}.halloween-hero .trust-row span{display:flex;justify-items:initial;text-align:left}.hero-service-strip{grid-template-columns:1fr}.hero-service-card{height:168px}}

/* Barra superior funcional del portal */
.workspace-top{position:sticky;top:0;z-index:45;height:82px;margin:0 -34px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(255,255,255,.88);border-bottom:1px solid rgba(128,119,106,.16);box-shadow:0 8px 28px rgba(80,70,58,.07);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
.workspace-route,.workspace-actions{display:flex;align-items:center}.workspace-route{min-width:0;gap:15px;color:#657083}.workspace-route>span{font-size:1.4rem;color:#a0a7b2}.workspace-route strong{max-width:240px;overflow:hidden;color:#25334a;font-size:.92rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.route-home{border:0;background:transparent;color:#6b778a;font-size:.9rem;padding:10px 0}.route-home:hover{color:#9a7029}.workspace-actions{gap:10px}.module-search{width:clamp(180px,22vw,320px);height:44px;margin:0;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid transparent;border-radius:14px;background:rgba(246,244,240,.72);color:#748094}.module-search:focus-within{border-color:rgba(199,153,62,.42);background:#fff;box-shadow:0 0 0 3px rgba(210,170,88,.1)}.module-search input{width:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;outline:0;font-size:.86rem;font-weight:400}.shell-icon-button{position:relative;width:44px;height:44px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:#657083;font-size:1.45rem;font-weight:400;transition:.2s}.shell-icon-button:hover{background:#f1eee8;color:#9a7029}.shell-icon-button.is-loading{animation:shell-spin .8s linear infinite}.notification-badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border:2px solid #fff;border-radius:99px;display:grid;place-items:center;background:#ad7a24;color:#fff;font-size:.58rem;line-height:1}.notification-center{position:relative}.notification-popover{position:absolute;top:54px;right:0;width:min(390px,calc(100vw - 30px));max-height:min(560px,75vh);overflow:auto;border:1px solid rgba(171,143,94,.22);border-radius:20px;background:rgba(255,255,255,.98);box-shadow:0 24px 70px rgba(54,45,35,.18);backdrop-filter:blur(22px)}.notification-head{position:sticky;top:0;z-index:1;padding:18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee9e0;background:rgba(255,255,255,.96)}.notification-head span,.notification-head small{display:block}.notification-head span{color:#27364d;font-family:"Playfair Display",Georgia,serif;font-size:1.22rem}.notification-head small{margin-top:3px;color:#7a818c;font-size:.72rem}.notification-head button{width:32px;height:32px;border:0;border-radius:50%;background:#f2efe9;color:#655f58}.notification-item{width:100%;padding:15px 18px;border:0;border-bottom:1px solid #eee9e0;display:grid;gap:4px;background:#fff;color:#3d4655;text-align:left}.notification-item:hover{background:#fbf6eb}.notification-item.is-seen{opacity:.68}.notification-item>span{color:#a0742a;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase}.notification-item strong{font-size:.88rem;font-weight:500}.notification-item small{color:#7d838d;font-size:.76rem}.notification-empty{min-height:150px;display:grid;place-content:center;gap:5px;color:#7b818a;text-align:center}.notification-empty b{color:#394556;font-weight:500}.user-chip{min-width:0;border:1px solid rgba(190,178,160,.3);color:#344157;text-align:left;box-shadow:none}.user-chip:hover{border-color:rgba(193,148,60,.48);background:#fff}.user-chip .avatar{flex:0 0 38px;background-position:center;background-size:cover}.user-chip i{color:#8d96a2;font-style:normal}.workspace-heading{padding:26px 0 18px}.workspace-heading small{color:#8b857d;font-size:.68rem;letter-spacing:.13em}.workspace-heading h2{margin:4px 0 0;font-size:1.75rem;font-weight:400}.mobile-side{flex:0 0 auto}.app-view .sidebar{z-index:48}
#notificationButton{font-size:0}#notificationButton:before{content:"🔔";font-size:1.05rem;filter:grayscale(1);opacity:.8}
@keyframes shell-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.workspace-top{margin-inline:-22px;padding-inline:22px}.module-search{width:190px}.user-chip>span:not(.avatar){display:none}.user-chip{padding:6px}.user-chip i{display:none}}
@media(max-width:760px){.workspace-top{min-height:70px;height:70px;margin-inline:-14px;padding-inline:14px;gap:8px}.workspace-route{gap:8px}.workspace-route .route-home,.workspace-route>span{display:none}.workspace-route strong{max-width:120px;font-size:.84rem}.workspace-actions{gap:3px}.module-search{display:none}.shell-icon-button{width:40px;height:40px;font-size:1.2rem}.user-chip{border:0;background:transparent}.user-chip .avatar{width:38px;height:38px}.notification-popover{position:fixed;top:76px;right:10px;left:10px;width:auto;max-height:70vh}.notification-popover small{display:block}.workspace-heading{padding-top:20px}.workspace-heading h2{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.hero-service-card,.hero-service-card img{transition:none}}
.history-intro{padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.history-intro h2{margin:5px 0;font-size:26px}.history-intro p{max-width:680px}.history-intro a{color:inherit;text-decoration:underline;white-space:nowrap}.history-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px;margin-bottom:20px}.history-filters label,.history-source label{display:flex;flex-direction:column;gap:8px;font-size:14px}.history-filters input,.history-filters select,.history-source select{width:100%;min-height:44px;padding:10px;border:1px solid #ccc;border-radius:8px;background:white;color:#24211d;font:inherit}.history-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.history-caption{font-size:14px;margin:16px 0}.history-table{min-width:1150px}.history-table td{white-space:pre-wrap}.history-source{padding:22px;margin-top:24px}.history-source p{max-width:850px}.history-source summary{cursor:pointer;padding:16px 0;font-weight:600}.history-source details{border-top:1px solid #ddd}.history-source small{display:block;margin-top:18px}.history-original{max-height:480px;overflow:auto;margin:12px 0}.history-original td{min-width:120px;white-space:pre-wrap}.history-original th{position:sticky;top:0;background:#f0ece5}.history-message{padding:28px}@media(max-width:700px){.history-intro{align-items:flex-start;flex-direction:column}.history-filters{grid-template-columns:1fr 1fr}.history-metrics{grid-template-columns:1fr}.history-source{padding:16px}}@media(max-width:400px){.history-filters{grid-template-columns:1fr}}

/* Perfil: controles de autorización alineados y legibles en escritorio */
.profile-section .consent-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}
.profile-section .consent-box label{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:11px;margin:0;padding:14px;border:1px solid #e3ddd3;border-radius:13px;background:#fff;line-height:1.45;text-align:left}
.profile-section .consent-box input[type=checkbox]{display:block;width:20px;min-width:20px;height:20px;min-height:0;margin:1px 0 0;padding:0;accent-color:#b78322}
@media(max-width:700px){.profile-section .consent-box{grid-template-columns:1fr;padding:14px}}

/* Estructura fija del portal: solo el escritorio central se desplaza */
.app-view{
 height:100vh;
 height:100dvh;
 min-height:0;
 overflow:hidden;
}
.app-view .sidebar{
 height:100%;
 min-height:0;
 overflow:hidden;
}
.app-view .sidebar nav{
 min-height:0;
 overflow-y:auto;
 overscroll-behavior:contain;
}
.app-view .workspace{
 height:100%;
 min-height:0;
 overflow-x:hidden;
 overflow-y:auto;
 overscroll-behavior:contain;
 scrollbar-gutter:stable;
 -webkit-overflow-scrolling:touch;
}
.app-view .workspace-top{
 position:sticky;
 top:0;
 z-index:45;
}
