:root{
    --dqlpc-black:#141414;
    --dqlpc-deep:#0B0B0B;
    --dqlpc-gold:#C5A052;
    --dqlpc-champagne:#E3C77B;
    --dqlpc-ivory:#F8F5EF;
    --dqlpc-warm-white:#F5F1E8;
    --dqlpc-graphite:#5F6368;
    --dqlpc-bronze:#7C6142;
    --dqlpc-walnut:#6C4E37;
    --dqlpc-taupe:#A79B8B;
    --dqlpc-border:#D8CCB5;
    --dqlpc-shadow:0 18px 45px rgba(20,20,20,.12)
}
.dqlpc-shell{box-sizing:border-box;width:100%;max-width:1180px;margin:28px auto;color:var(--dqlpc-black);font-family:Montserrat,"Helvetica Neue",Arial,sans-serif}
.dqlpc-shell *{box-sizing:border-box}
.dqlpc-shell h2,.dqlpc-shell h3{font-family:"Playfair Display",Georgia,serif;margin:0 0 10px;color:var(--dqlpc-black);font-weight:700}
.dqlpc-shell h2{font-size:clamp(30px,4vw,48px)}.dqlpc-shell h3{font-size:clamp(23px,3vw,32px)}
.dqlpc-shell p{color:var(--dqlpc-graphite)}
.dqlpc-muted{margin-top:0!important;color:var(--dqlpc-graphite)!important;line-height:1.55}
.dqlpc-card,.dqlpc-section{background:var(--dqlpc-ivory);border:1px solid var(--dqlpc-border);border-radius:18px;box-shadow:var(--dqlpc-shadow)}
.dqlpc-card{padding:28px}.dqlpc-section{padding:30px;margin:24px 0}
.dqlpc-eyebrow{font-size:12px;letter-spacing:.22em;color:var(--dqlpc-champagne);font-weight:800;margin-bottom:10px}
.dqlpc-auth-shell{max-width:560px}.dqlpc-auth-shell .dqlpc-card{background:linear-gradient(145deg,var(--dqlpc-ivory),var(--dqlpc-warm-white));border-top:3px solid var(--dqlpc-gold)}
.dqlpc-form{display:grid;gap:16px}.dqlpc-form label,.dqlpc-notes{display:grid;gap:7px;font-size:13px;font-weight:700;color:var(--dqlpc-black)}
.dqlpc-form input,.dqlpc-form select,.dqlpc-form textarea,.dqlpc-date-tools input,.dqlpc-notes textarea,.dqlpc-inline-form select,.dqlpc-holiday-row input,.dqlpc-holiday-row select{width:100%;border:1px solid var(--dqlpc-border);border-radius:10px;background:#fff;padding:12px 13px;font:inherit;color:var(--dqlpc-black)}
.dqlpc-form input:focus,.dqlpc-form select:focus,.dqlpc-form textarea:focus,.dqlpc-date-tools input:focus,.dqlpc-holiday-row input:focus,.dqlpc-holiday-row select:focus{outline:2px solid rgba(197,160,82,.25);border-color:var(--dqlpc-gold)}
.dqlpc-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--dqlpc-gold);border-radius:11px;padding:13px 20px;background:var(--dqlpc-gold);color:var(--dqlpc-black);font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:.2s ease}
.dqlpc-button:hover{background:var(--dqlpc-champagne);border-color:var(--dqlpc-champagne);color:var(--dqlpc-black);transform:translateY(-1px)}
.dqlpc-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.dqlpc-button-small{padding:10px 13px;font-size:11px}.dqlpc-button-secondary{background:var(--dqlpc-black);color:var(--dqlpc-warm-white);border-color:var(--dqlpc-black)}.dqlpc-button-secondary:hover{background:var(--dqlpc-bronze);color:#fff;border-color:var(--dqlpc-bronze)}
.dqlpc-notice{border-radius:12px;padding:14px 16px;margin:0 0 18px;border:1px solid transparent}.dqlpc-notice-success{background:#eef8f0;border-color:#b8dfbf;color:#205f2d}.dqlpc-notice-error{background:#fff0f0;border-color:#efb8b8;color:#8b2020}.dqlpc-notice-info{background:var(--dqlpc-warm-white);border-color:var(--dqlpc-border);color:var(--dqlpc-black)}
.dqlpc-profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;background:linear-gradient(135deg,var(--dqlpc-deep),#24211d);padding:30px;border-radius:18px;color:var(--dqlpc-warm-white);border:1px solid var(--dqlpc-gold);box-shadow:0 18px 40px rgba(11,11,11,.2)}
.dqlpc-profile-header h2,.dqlpc-profile-header p{color:var(--dqlpc-warm-white)}.dqlpc-profile-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.dqlpc-role-badge,.dqlpc-gold-chip{display:inline-flex;align-items:center;border:1px solid rgba(227,199,123,.55);background:rgba(197,160,82,.14);color:var(--dqlpc-champagne);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;letter-spacing:.04em}.dqlpc-gold-chip{color:var(--dqlpc-bronze);background:#fff8e9;border-color:var(--dqlpc-gold)}
.dqlpc-link,.dqlpc-text-button{color:var(--dqlpc-champagne);background:none;border:0;padding:0;cursor:pointer;font-weight:800;text-decoration:none}.dqlpc-text-button{color:var(--dqlpc-bronze)}
.dqlpc-section-heading>div{display:flex;align-items:center;gap:14px}.dqlpc-step{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--dqlpc-black);color:var(--dqlpc-champagne);font-size:12px;font-weight:900}
.dqlpc-grid{display:grid;gap:16px}.dqlpc-stylist-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.dqlpc-service-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.dqlpc-stylist-card,.dqlpc-service-card{font:inherit;text-align:left;border:1px solid var(--dqlpc-border);background:var(--dqlpc-warm-white);border-radius:14px;padding:0;cursor:pointer;overflow:hidden;transition:.2s ease;color:var(--dqlpc-black)}
.dqlpc-stylist-card:hover,.dqlpc-service-card:hover,.dqlpc-stylist-card.is-selected,.dqlpc-service-card.is-selected{border-color:var(--dqlpc-gold);box-shadow:0 10px 26px rgba(20,20,20,.10);transform:translateY(-2px)}.dqlpc-stylist-card.is-selected,.dqlpc-service-card.is-selected{outline:2px solid rgba(197,160,82,.28)}
.dqlpc-stylist-card{display:grid;grid-template-columns:94px 1fr;min-height:126px}.dqlpc-stylist-photo{display:block;background:linear-gradient(145deg,var(--dqlpc-black),var(--dqlpc-bronze));background-size:cover;background-position:center}.dqlpc-stylist-copy{display:flex;flex-direction:column;justify-content:center;padding:18px}.dqlpc-stylist-copy strong{font-family:"Playfair Display",Georgia,serif;font-size:22px}.dqlpc-stylist-copy small{display:block;margin-top:7px;color:var(--dqlpc-graphite);line-height:1.45}
.dqlpc-service-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px}.dqlpc-service-card strong,.dqlpc-service-card small{display:block}.dqlpc-service-card small{margin-top:4px;color:var(--dqlpc-graphite)}.dqlpc-service-card b{color:var(--dqlpc-bronze);font-size:18px}
.dqlpc-step-section.is-locked{opacity:.42;pointer-events:none;filter:grayscale(.35)}.dqlpc-date-tools{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:18px 0}.dqlpc-date-tools label{display:grid;gap:7px;font-size:13px;font-weight:700;min-width:220px}
.dqlpc-slots{display:flex;flex-wrap:wrap;gap:10px;min-height:52px;margin:18px 0}.dqlpc-slot{border:1px solid var(--dqlpc-border);border-radius:10px;background:#fff;padding:10px 14px;cursor:pointer;color:var(--dqlpc-black)}.dqlpc-slot small{display:block;font-size:10px;color:var(--dqlpc-bronze);margin-top:2px}.dqlpc-slot.is-recommended{border-color:var(--dqlpc-gold);background:#fffaf0}.dqlpc-slot.is-selected{background:var(--dqlpc-black);color:var(--dqlpc-warm-white);border-color:var(--dqlpc-black)}
.dqlpc-empty,.dqlpc-loading{padding:14px 0;color:var(--dqlpc-graphite)}.dqlpc-live-message{margin-top:12px;font-weight:700}.dqlpc-live-message.is-error{color:#8b2020}.dqlpc-live-message.is-success{color:#205f2d}.dqlpc-notes{margin:18px 0}
.dqlpc-table-wrap{overflow-x:auto}.dqlpc-table{width:100%;border-collapse:collapse;font-size:14px}.dqlpc-table th,.dqlpc-table td{padding:13px 12px;border-bottom:1px solid #e6dcc9;text-align:left;vertical-align:top}.dqlpc-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--dqlpc-bronze)}
.dqlpc-staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}.dqlpc-card-wide{grid-column:1/-1}.dqlpc-day-row{display:grid;grid-template-columns:1fr 110px 110px;gap:10px;align-items:center}.dqlpc-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important}.dqlpc-check input{width:auto!important}.dqlpc-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dqlpc-mini-list{display:grid;gap:8px;margin-top:18px}.dqlpc-mini-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e7dcc8}.dqlpc-mini-list small{display:block;color:var(--dqlpc-graphite);margin-top:4px}.dqlpc-inline-form{min-width:220px}
.dqlpc-card-heading-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.dqlpc-holiday-list{display:grid;gap:10px;margin-top:18px}.dqlpc-holiday-row{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(190px,1fr) 115px 115px minmax(130px,.8fr) auto;gap:10px;align-items:center;padding:13px;border:1px solid var(--dqlpc-border);border-radius:13px;background:#fff}.dqlpc-holiday-copy strong,.dqlpc-holiday-copy small{display:block}.dqlpc-holiday-copy small{margin-top:4px;color:var(--dqlpc-bronze)}
@media(max-width:980px){.dqlpc-holiday-row{grid-template-columns:1fr 1fr}.dqlpc-holiday-copy{grid-column:1/-1}}
@media(max-width:760px){.dqlpc-shell{margin:16px auto}.dqlpc-section,.dqlpc-card{padding:20px}.dqlpc-profile-header{flex-direction:column}.dqlpc-profile-actions{justify-content:flex-start}.dqlpc-staff-grid{grid-template-columns:1fr}.dqlpc-card-wide{grid-column:auto}.dqlpc-day-row{grid-template-columns:1fr 1fr}.dqlpc-day-row .dqlpc-check{grid-column:1/-1}.dqlpc-stylist-card{grid-template-columns:76px 1fr}.dqlpc-two-cols{grid-template-columns:1fr}.dqlpc-card-heading-row{display:block}.dqlpc-holiday-row{grid-template-columns:1fr}.dqlpc-holiday-copy{grid-column:auto}}

/* v0.2.2 · acceso separado y panel único */
.dqlpc-auth-switch{margin:2px 0 0!important;text-align:center;font-size:14px}.dqlpc-auth-switch a{color:var(--dqlpc-bronze);font-weight:800;text-decoration:underline;text-decoration-color:rgba(197,160,82,.55);text-underline-offset:3px}.dqlpc-auth-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.dqlpc-access-gate{max-width:720px}.dqlpc-access-gate .dqlpc-card{border-top:3px solid var(--dqlpc-gold);background:linear-gradient(145deg,var(--dqlpc-ivory),var(--dqlpc-warm-white))}

/* Calendario visual profesional */
.dqlpc-calendar-card{margin-top:24px;padding:0;overflow:hidden;background:var(--dqlpc-ivory)}
.dqlpc-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px 20px;background:linear-gradient(135deg,var(--dqlpc-deep),#24211d);border-bottom:1px solid var(--dqlpc-gold)}
.dqlpc-calendar-toolbar h3,.dqlpc-calendar-toolbar p{color:var(--dqlpc-warm-white)}.dqlpc-calendar-toolbar h3{text-transform:capitalize;margin-bottom:4px}.dqlpc-calendar-toolbar .dqlpc-eyebrow{margin-bottom:7px}
.dqlpc-calendar-nav{display:flex;align-items:center;gap:8px}.dqlpc-calendar-nav a{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid rgba(227,199,123,.6);border-radius:11px;background:rgba(197,160,82,.12);color:var(--dqlpc-champagne);font-size:25px;font-weight:800;text-decoration:none;transition:.2s ease}.dqlpc-calendar-nav a:hover{background:var(--dqlpc-gold);color:var(--dqlpc-black);transform:translateY(-1px)}.dqlpc-calendar-nav .dqlpc-calendar-today{font-size:12px;text-transform:uppercase;letter-spacing:.08em;min-width:68px}
.dqlpc-calendar-legend{display:flex;gap:16px;flex-wrap:wrap;padding:13px 28px;background:#fffaf0;border-bottom:1px solid var(--dqlpc-border);font-size:12px;font-weight:700;color:var(--dqlpc-graphite)}.dqlpc-calendar-legend span{display:flex;align-items:center;gap:7px}.dqlpc-calendar-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.dqlpc-calendar-legend .is-booking{background:var(--dqlpc-gold)}.dqlpc-calendar-legend .is-holiday{background:var(--dqlpc-bronze)}.dqlpc-calendar-legend .is-blocked{background:#9d4545}.dqlpc-calendar-legend .is-available{background:#3f7650}
.dqlpc-calendar-scroll{overflow-x:auto;background:var(--dqlpc-border);padding:1px}.dqlpc-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(138px,1fr));gap:1px;min-width:966px;background:var(--dqlpc-border)}
.dqlpc-calendar-weekday{padding:11px 12px;background:var(--dqlpc-black);color:var(--dqlpc-champagne);font-size:11px;font-weight:900;letter-spacing:.1em;text-align:center;text-transform:uppercase}
.dqlpc-calendar-day{position:relative;min-height:178px;padding:10px;background:#fffdf9;transition:.18s ease}.dqlpc-calendar-day:hover{z-index:2;background:#fff8ea;box-shadow:inset 0 0 0 1px var(--dqlpc-gold)}.dqlpc-calendar-day.is-outside{background:#f0ece5;color:#8c877f}.dqlpc-calendar-day.is-outside .dqlpc-calendar-events,.dqlpc-calendar-day.is-outside .dqlpc-calendar-marker{opacity:.55}.dqlpc-calendar-day.is-closed{background-image:linear-gradient(135deg,rgba(20,20,20,.025) 25%,transparent 25%,transparent 50%,rgba(20,20,20,.025) 50%,rgba(20,20,20,.025) 75%,transparent 75%,transparent);background-size:14px 14px}.dqlpc-calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--dqlpc-gold)}
.dqlpc-calendar-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.dqlpc-calendar-day-head>time{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:900;color:var(--dqlpc-black)}.dqlpc-calendar-day.is-today .dqlpc-calendar-day-head>time{background:var(--dqlpc-gold)}.dqlpc-calendar-day-head>span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:var(--dqlpc-black);color:var(--dqlpc-champagne);font-size:10px;font-weight:900}
.dqlpc-calendar-marker{margin:0 0 5px;padding:5px 7px;border-radius:7px;font-size:10px;font-weight:800;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dqlpc-calendar-marker small{display:block;margin-top:2px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.dqlpc-calendar-holiday{background:#efe2cf;color:var(--dqlpc-walnut);border-left:3px solid var(--dqlpc-bronze)}.dqlpc-calendar-blocked{background:#fae8e8;color:#7d2929;border-left:3px solid #9d4545}.dqlpc-calendar-available{background:#e8f3eb;color:#285a37;border-left:3px solid #3f7650}
.dqlpc-calendar-events{display:grid;gap:5px}.dqlpc-calendar-event{display:grid;grid-template-columns:39px minmax(0,1fr);gap:0 6px;padding:6px 7px;border-radius:8px;background:linear-gradient(135deg,#fff5da,#f7e6b8);border-left:3px solid var(--dqlpc-gold);color:var(--dqlpc-black);font-size:10px;line-height:1.2;box-shadow:0 3px 10px rgba(20,20,20,.05)}.dqlpc-calendar-event time{grid-row:1/3;font-weight:900;color:var(--dqlpc-bronze);align-self:center}.dqlpc-calendar-event span,.dqlpc-calendar-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dqlpc-calendar-event span{font-weight:800}.dqlpc-calendar-event small{color:var(--dqlpc-graphite)}.dqlpc-calendar-more{padding:4px 7px;color:var(--dqlpc-bronze);font-size:10px;font-weight:800}

@media(max-width:760px){.dqlpc-calendar-toolbar{align-items:flex-start;flex-direction:column;padding:22px 20px}.dqlpc-calendar-legend{padding:12px 20px}.dqlpc-calendar-grid{grid-template-columns:repeat(7,minmax(122px,1fr));min-width:854px}.dqlpc-calendar-day{min-height:160px}.dqlpc-auth-actions .dqlpc-button{width:100%}}

/* v0.2.3 · acceso unificado, recuperación y edición de perfil */
.dqlpc-auth-shell{max-width:640px}
.dqlpc-auth-tabs{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;padding:7px;border:1px solid var(--dqlpc-border);border-radius:15px;background:var(--dqlpc-black);box-shadow:0 12px 30px rgba(20,20,20,.16)}
.dqlpc-auth-tab{display:flex;align-items:center;justify-content:center;min-height:48px;padding:11px 16px;border:1px solid transparent;border-radius:10px;color:var(--dqlpc-warm-white);font-weight:800;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;transition:.2s ease}
.dqlpc-auth-tab:hover{color:var(--dqlpc-champagne);border-color:rgba(227,199,123,.35)}
.dqlpc-auth-tab.is-active{background:var(--dqlpc-gold);color:var(--dqlpc-black);border-color:var(--dqlpc-champagne);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.dqlpc-auth-stage{position:relative;min-height:390px}
.dqlpc-auth-panel{display:none;animation:dqlpc-auth-in .2s ease}
.dqlpc-auth-panel.is-active{display:block}
.dqlpc-auth-panel .dqlpc-card{margin:0}
.dqlpc-auth-help{display:inline-flex;justify-content:center;color:var(--dqlpc-bronze);font-weight:800;text-align:center;text-decoration:underline;text-decoration-color:rgba(197,160,82,.55);text-underline-offset:3px}
@keyframes dqlpc-auth-in{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
.dqlpc-profile-editor{border-top:3px solid var(--dqlpc-gold)}
.dqlpc-profile-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.dqlpc-profile-editor-heading>p{max-width:480px;margin:4px 0 0;text-align:right}
.dqlpc-profile-form{gap:20px}
.dqlpc-profile-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dqlpc-password-details{border:1px solid var(--dqlpc-border);border-radius:13px;background:#fff;padding:0 16px}
.dqlpc-password-details summary{cursor:pointer;padding:15px 0;color:var(--dqlpc-bronze);font-weight:800}
.dqlpc-password-fields{padding:3px 0 14px}
.dqlpc-password-details .dqlpc-muted{margin:0 0 15px!important;font-size:13px}
@media(max-width:760px){.dqlpc-auth-tabs{position:sticky;top:8px}.dqlpc-auth-tab{font-size:12px;padding:10px 8px}.dqlpc-profile-editor-heading{display:block}.dqlpc-profile-editor-heading>p{text-align:left}.dqlpc-profile-fields{grid-template-columns:1fr}}

/* v0.2.4 · panel por ventanas, contraseña visible y política reforzada */
.dqlpc-panel-menu{
    position:sticky;
    top:12px;
    z-index:20;
    display:flex;
    gap:8px;
    width:100%;
    margin:18px 0 24px;
    padding:8px;
    overflow-x:auto;
    border:1px solid var(--dqlpc-border);
    border-radius:16px;
    background:rgba(11,11,11,.97);
    box-shadow:0 14px 34px rgba(11,11,11,.2);
    scrollbar-width:thin;
    scrollbar-color:var(--dqlpc-gold) transparent
}
.dqlpc-panel-menu-item{
    flex:1 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:48px;
    padding:10px 16px;
    border:1px solid transparent;
    border-radius:11px;
    background:transparent;
    color:var(--dqlpc-warm-white);
    font:inherit;
    font-size:12px;
    font-weight:800;
    letter-spacing:.045em;
    text-transform:uppercase;
    white-space:nowrap;
    cursor:pointer;
    transition:.2s ease
}
.dqlpc-panel-menu-item span{
    display:grid;
    place-items:center;
    min-width:24px;
    height:24px;
    padding:0 5px;
    border:1px solid rgba(227,199,123,.45);
    border-radius:999px;
    color:var(--dqlpc-champagne);
    font-size:9px
}
.dqlpc-panel-menu-item:hover{
    border-color:rgba(227,199,123,.42);
    color:var(--dqlpc-champagne);
    background:rgba(197,160,82,.08)
}
.dqlpc-panel-menu-item.is-active{
    border-color:var(--dqlpc-champagne);
    background:linear-gradient(135deg,var(--dqlpc-gold),var(--dqlpc-champagne));
    color:var(--dqlpc-black);
    box-shadow:0 7px 18px rgba(0,0,0,.2)
}
.dqlpc-panel-menu-item.is-active span{
    border-color:rgba(20,20,20,.35);
    background:rgba(20,20,20,.1);
    color:var(--dqlpc-black)
}
.dqlpc-dashboard.is-enhanced .dqlpc-panel-pane{display:none}
.dqlpc-dashboard.is-enhanced .dqlpc-panel-pane.is-active{display:block;animation:dqlpc-panel-in .22s ease}
.dqlpc-panel-pane>.dqlpc-section:first-child,
.dqlpc-panel-pane>.dqlpc-card:first-child,
.dqlpc-panel-pane>.dqlpc-calendar-card:first-child{margin-top:0}
.dqlpc-panel-card{margin:0;min-height:220px}
.dqlpc-panel-card-narrow{max-width:720px}
@keyframes dqlpc-panel-in{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}

.dqlpc-password-wrap{position:relative;display:block;width:100%}
.dqlpc-password-wrap input{padding-right:50px!important}
.dqlpc-password-eye{
    position:absolute;
    top:50%;
    right:8px;
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    padding:0;
    transform:translateY(-50%);
    border:0;
    border-radius:9px;
    background:transparent;
    color:var(--dqlpc-graphite);
    cursor:pointer;
    transition:.18s ease
}
.dqlpc-password-eye:hover,.dqlpc-password-eye:focus-visible{background:#f3ead9;color:var(--dqlpc-bronze);outline:none}
.dqlpc-password-eye svg{width:22px;height:22px;fill:currentColor}
.dqlpc-password-eye.is-visible{color:var(--dqlpc-gold);background:#fff7e6}
.dqlpc-password-eye.is-visible svg{opacity:.72}

.dqlpc-password-policy{
    margin-top:-5px;
    padding:13px 15px;
    border:1px solid var(--dqlpc-border);
    border-radius:12px;
    background:#fffdf8;
    color:var(--dqlpc-graphite);
    font-size:12px
}
.dqlpc-password-policy strong{display:block;margin-bottom:8px;color:var(--dqlpc-black);font-size:12px}
.dqlpc-password-policy ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;margin:0;padding:0;list-style:none}
.dqlpc-password-policy li{position:relative;padding-left:20px;line-height:1.35}
.dqlpc-password-policy li:before{content:'•';position:absolute;left:4px;color:var(--dqlpc-taupe);font-weight:900}
.dqlpc-password-policy li.is-valid{color:#28613a}
.dqlpc-password-policy li.is-valid:before{content:'✓';left:1px;color:#2f7a47}
.dqlpc-password-policy li.is-invalid{color:#8b3030}
.dqlpc-password-policy li.is-invalid:before{content:'×';left:2px;color:#a43e3e}
.dqlpc-password-policy small{display:block;margin-top:8px;color:var(--dqlpc-graphite)}

@media(max-width:760px){
    .dqlpc-panel-menu{top:6px;margin:14px 0 18px;padding:6px;border-radius:13px}
    .dqlpc-panel-menu-item{min-height:43px;padding:8px 12px;font-size:10px}
    .dqlpc-panel-menu-item span{display:none}
    .dqlpc-password-policy ul{grid-template-columns:1fr}
}


/* v0.2.5 · navegación móvil profesional, agenda manual inteligente e historial */
.dqlpc-service-copy{display:block;min-width:0;flex:1}
.dqlpc-service-description{display:block;margin-top:9px;color:var(--dqlpc-graphite);font-size:12px;font-weight:500;line-height:1.5}
.dqlpc-service-card b{flex:0 0 auto;align-self:flex-start;white-space:nowrap}

.dqlpc-manual-booking-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:24px;align-items:start;margin-top:22px}
.dqlpc-manual-booking-form{padding:22px;border:1px solid var(--dqlpc-border);border-radius:16px;background:#fffdf9}
.dqlpc-manual-recommendations{position:sticky;top:96px;padding:22px;border:1px solid rgba(197,160,82,.65);border-radius:16px;background:linear-gradient(145deg,var(--dqlpc-deep),#28231d);box-shadow:0 16px 34px rgba(11,11,11,.18);color:var(--dqlpc-warm-white)}
.dqlpc-manual-recommendations h4{margin:2px 0 0;color:var(--dqlpc-warm-white);font-family:"Playfair Display",Georgia,serif;font-size:25px}
.dqlpc-manual-recommendations>p{margin:11px 0 16px;color:#d8d0c2;line-height:1.5;font-size:13px}
.dqlpc-manual-recommendations-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.dqlpc-recommendation-kicker{color:var(--dqlpc-champagne);font-size:10px;font-weight:900;letter-spacing:.16em}
.dqlpc-manual-slots{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:510px;overflow:auto;padding-right:3px;scrollbar-width:thin;scrollbar-color:var(--dqlpc-gold) rgba(255,255,255,.08)}
.dqlpc-manual-slot{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:64px;padding:10px 11px;border:1px solid rgba(227,199,123,.24);border-radius:12px;background:rgba(255,255,255,.055);color:var(--dqlpc-warm-white);font:inherit;text-align:left;cursor:pointer;transition:.18s ease}
.dqlpc-manual-slot span,.dqlpc-manual-slot strong,.dqlpc-manual-slot small{display:block}.dqlpc-manual-slot strong{font-size:12px}.dqlpc-manual-slot small{margin-top:3px;color:var(--dqlpc-champagne);font-size:15px;font-weight:900}.dqlpc-manual-slot b{font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:#d4cdc1}
.dqlpc-manual-slot:hover,.dqlpc-manual-slot.is-selected{border-color:var(--dqlpc-champagne);background:rgba(197,160,82,.2);transform:translateY(-1px)}
.dqlpc-manual-slot.is-recommended{background:linear-gradient(135deg,rgba(197,160,82,.25),rgba(227,199,123,.08));border-color:var(--dqlpc-gold)}
.dqlpc-manual-slot.is-recommended b{color:var(--dqlpc-champagne)}
.dqlpc-manual-slot.is-selected{box-shadow:inset 0 0 0 1px var(--dqlpc-champagne),0 7px 20px rgba(0,0,0,.18)}
.dqlpc-manual-recommendations .dqlpc-empty,.dqlpc-manual-recommendations .dqlpc-loading{color:#d8d0c2}
.dqlpc-manual-recommendations .dqlpc-text-button{color:var(--dqlpc-champagne);font-size:11px}

.dqlpc-history-table small{color:var(--dqlpc-graphite)}
.dqlpc-source-badge,.dqlpc-status-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.dqlpc-source-manual{background:#fff2ce;color:var(--dqlpc-walnut);border:1px solid var(--dqlpc-gold)}
.dqlpc-source-web{background:#eceff1;color:#465057;border:1px solid #cbd2d6}
.dqlpc-status-booked{background:#e7f2ea;color:#285a37;border:1px solid #9ac6a6}
.dqlpc-status-cancelled{background:#fae8e8;color:#7d2929;border:1px solid #dba6a6}
.dqlpc-status-completed{background:#eee8f5;color:#57406c;border:1px solid #c6b2d8}

@media(max-width:980px){
    .dqlpc-manual-booking-layout{grid-template-columns:1fr}
    .dqlpc-manual-recommendations{position:relative;top:auto}
    .dqlpc-manual-slots{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}
}

@media(max-width:760px){
    .dqlpc-shell{padding-left:10px;padding-right:10px}
    .dqlpc-profile-header{padding:22px 20px;border-radius:16px}
    .dqlpc-profile-header h2{font-size:clamp(27px,9vw,38px)}
    .dqlpc-profile-actions,.dqlpc-profile-actions .dqlpc-inline-form{width:100%}
    .dqlpc-profile-actions .dqlpc-link{display:inline-flex;min-height:42px;align-items:center}

    .dqlpc-panel-menu{
        top:6px;
        display:grid;
        grid-auto-flow:column;
        grid-auto-columns:minmax(126px,40vw);
        gap:7px;
        margin:14px -2px 18px;
        padding:7px;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        scroll-padding-inline:7px;
        border-color:rgba(227,199,123,.38);
        border-radius:18px;
        background:rgba(11,11,11,.94);
        box-shadow:0 12px 28px rgba(11,11,11,.24);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
        scrollbar-width:none
    }
    .dqlpc-panel-menu::-webkit-scrollbar{display:none}
    .dqlpc-panel-menu-item{
        scroll-snap-align:center;
        flex-direction:column;
        gap:4px;
        min-height:66px;
        padding:8px 10px;
        border-color:rgba(255,255,255,.075);
        border-radius:13px;
        background:rgba(255,255,255,.035);
        font-size:9.5px;
        letter-spacing:.035em;
        line-height:1.2;
        white-space:normal;
        text-align:center
    }
    .dqlpc-panel-menu-item span{display:grid;min-width:22px;width:22px;height:22px;padding:0;font-size:8px}
    .dqlpc-panel-menu-item.is-active{transform:none;box-shadow:0 7px 18px rgba(0,0,0,.24)}
    .dqlpc-panel-pane>.dqlpc-section,.dqlpc-panel-pane>.dqlpc-card{border-radius:16px}

    .dqlpc-service-card{align-items:flex-start;padding:16px}
    .dqlpc-service-description{font-size:11.5px}
    .dqlpc-manual-booking-layout{gap:16px;margin-top:16px}
    .dqlpc-manual-booking-form,.dqlpc-manual-recommendations{padding:18px}
    .dqlpc-manual-recommendations-head{align-items:center}
    .dqlpc-manual-recommendations h4{font-size:22px}
    .dqlpc-manual-slots{grid-template-columns:1fr 1fr;gap:8px}
    .dqlpc-manual-slot{min-height:60px;padding:9px}
    .dqlpc-history-table{min-width:780px}
}

@media(max-width:430px){
    .dqlpc-panel-menu{grid-auto-columns:minmax(118px,44vw)}
    .dqlpc-manual-slots{grid-template-columns:1fr}
    .dqlpc-manual-recommendations-head{align-items:flex-start}
}

/* v0.2.6 · detalle interactivo de citas y tarjetas elegantes */
.dqlpc-calendar-event{appearance:none;-webkit-appearance:none;width:100%;background:#fff8f0;border:1px solid #ead8b0;border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer;display:grid;gap:2px;transition:.2s ease;color:var(--dqlpc-black)}
.dqlpc-calendar-event:hover,.dqlpc-calendar-event.is-selected{border-color:var(--dqlpc-gold);background:#fff3d8;box-shadow:0 8px 18px rgba(20,20,20,.08)}
.dqlpc-calendar-event time{font-weight:800;color:var(--dqlpc-bronze)}
.dqlpc-calendar-detail{margin-top:20px;padding:22px;border:1px solid var(--dqlpc-border);border-radius:18px;background:linear-gradient(145deg,var(--dqlpc-warm-white),#fff);display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:22px;align-items:start}
.dqlpc-calendar-detail h4{font-family:"Playfair Display",Georgia,serif;font-size:28px;margin:0 0 10px;color:var(--dqlpc-black)}
.dqlpc-calendar-detail-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,1fr);gap:18px;align-items:start}
.dqlpc-calendar-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dqlpc-calendar-detail-list div{padding:12px 14px;border:1px solid var(--dqlpc-border);border-radius:12px;background:#fff}
.dqlpc-calendar-detail-list strong{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dqlpc-bronze);margin-bottom:5px}
.dqlpc-calendar-detail-list span{display:block;color:var(--dqlpc-black);font-weight:700;line-height:1.45}
.dqlpc-calendar-detail-image img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--dqlpc-border);box-shadow:0 12px 30px rgba(20,20,20,.12);background:#fff}
.dqlpc-appointment-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:18px}
.dqlpc-appointment-preview-card{margin:0;border:1px solid var(--dqlpc-border);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(20,20,20,.08)}
.dqlpc-appointment-preview-card img{display:block;width:100%;height:auto;background:var(--dqlpc-deep)}
.dqlpc-appointment-preview-meta{padding:14px 16px;display:grid;gap:6px}
.dqlpc-appointment-preview-meta strong{font-family:"Playfair Display",Georgia,serif;font-size:20px}
.dqlpc-appointment-preview-meta small{color:var(--dqlpc-graphite)}
@media(max-width:900px){.dqlpc-calendar-detail,.dqlpc-calendar-detail-body{grid-template-columns:1fr}.dqlpc-calendar-detail-list{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.dqlpc-calendar-detail-list{grid-template-columns:1fr}.dqlpc-calendar-detail{padding:18px}}


.dqlpc-appointment-preview-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.dqlpc-calendar-detail-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.dqlpc-calendar-detail-actions .dqlpc-text-button{font-size:13px}
@media(max-width:640px){.dqlpc-appointment-preview-links,.dqlpc-calendar-detail-actions{align-items:flex-start;flex-direction:column}}


/* v0.2.8 · acciones de cita en el panel y experiencia móvil simplificada */
.dqlpc-button-danger{background:#7d2424;color:#fff;border-color:#7d2424}
.dqlpc-button-danger:hover,.dqlpc-button-danger:focus-visible{background:#a33434;color:#fff;border-color:#a33434}
.dqlpc-calendar-cancel-form{margin:0}
.dqlpc-calendar-detail-actions{padding-top:4px}
.dqlpc-calendar-detail-copy{position:relative}
.dqlpc-calendar-detail-copy:after{content:'';display:block;width:54px;height:2px;margin-top:16px;background:linear-gradient(90deg,var(--dqlpc-gold),transparent)}

@media(max-width:760px){
    .dqlpc-calendar-card{border-radius:16px;overflow:hidden}
    .dqlpc-calendar-scroll{margin:0 -1px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
    .dqlpc-calendar-grid{grid-template-columns:repeat(7,minmax(112px,1fr));min-width:784px}
    .dqlpc-calendar-day{min-height:145px;padding:8px;scroll-snap-align:start}
    .dqlpc-calendar-event{padding:8px;border-radius:9px;gap:1px}
    .dqlpc-calendar-event span,.dqlpc-calendar-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .dqlpc-calendar-detail{display:block;margin-top:14px;padding:0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 12px 28px rgba(20,20,20,.09);scroll-margin-top:88px}
    .dqlpc-calendar-detail-copy{padding:18px 18px 15px;background:linear-gradient(145deg,var(--dqlpc-deep),var(--dqlpc-black));color:var(--dqlpc-warm-white)}
    .dqlpc-calendar-detail-copy h4{font-size:23px;color:var(--dqlpc-warm-white)}
    .dqlpc-calendar-detail-copy .dqlpc-muted{color:var(--dqlpc-border)}
    .dqlpc-calendar-detail-copy:after{background:linear-gradient(90deg,var(--dqlpc-champagne),transparent)}
    .dqlpc-calendar-detail-body{display:flex;flex-direction:column;gap:14px;padding:16px}
    .dqlpc-calendar-detail-image{order:-1}
    .dqlpc-calendar-detail-image img{border-radius:12px;box-shadow:0 8px 20px rgba(20,20,20,.11)}
    .dqlpc-calendar-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .dqlpc-calendar-detail-list div{min-width:0;padding:10px 11px;border-radius:10px;background:#fffdf9}
    .dqlpc-calendar-detail-list strong{font-size:9px;margin-bottom:3px}
    .dqlpc-calendar-detail-list span{font-size:13px;overflow-wrap:anywhere}
    .dqlpc-calendar-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
    .dqlpc-calendar-detail-actions .dqlpc-button,.dqlpc-calendar-detail-actions .dqlpc-text-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:0;padding:10px 9px;border-radius:10px;text-align:center;font-size:10px;text-decoration:none}
    .dqlpc-calendar-cancel-form{grid-column:1/-1}
    .dqlpc-calendar-cancel-form .dqlpc-button{width:100%}
}

@media(max-width:430px){
    .dqlpc-calendar-grid{grid-template-columns:repeat(7,minmax(104px,1fr));min-width:728px}
    .dqlpc-calendar-detail-list{grid-template-columns:1fr}
    .dqlpc-calendar-detail-actions{grid-template-columns:1fr}
    .dqlpc-calendar-cancel-form{grid-column:auto}
}

/* v0.2.9 · estado inicial del detalle, cierre y mejoras visuales */
.dqlpc-calendar-detail{position:relative}
.dqlpc-calendar-detail-body[hidden],
.dqlpc-calendar-detail-empty[hidden],
.dqlpc-calendar-detail-close.dqlpc-form [hidden],.dqlpc-recurrence-form [hidden]{display:none!important}
.dqlpc-calendar-detail-close{
    position:absolute;
    top:14px;
    right:14px;
    z-index:4;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    padding:0;
    border:1px solid rgba(197,160,82,.48);
    border-radius:999px;
    background:rgba(255,255,255,.84);
    color:var(--dqlpc-black);
    font:700 25px/1 Arial,sans-serif;
    cursor:pointer;
    box-shadow:0 7px 18px rgba(20,20,20,.12);
    transition:.18s ease
}
.dqlpc-calendar-detail-close:hover,.dqlpc-calendar-detail-close:focus-visible{
    transform:translateY(-1px);
    border-color:var(--dqlpc-gold);
    background:var(--dqlpc-black);
    color:var(--dqlpc-champagne);
    outline:none
}
.dqlpc-calendar-detail-copy{padding-right:52px}
.dqlpc-calendar-detail-empty{
    min-height:220px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:8px;
    padding:28px;
    border:1px dashed rgba(197,160,82,.55);
    border-radius:16px;
    background:linear-gradient(145deg,#fffdf9,#f8f1e5);
    text-align:center;
    color:var(--dqlpc-graphite)
}
.dqlpc-calendar-detail-empty-icon{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border:1px solid var(--dqlpc-gold);
    border-radius:999px;
    color:var(--dqlpc-gold);
    font-size:30px;
    line-height:1
}
.dqlpc-calendar-detail-empty strong{
    font-family:"Playfair Display",Georgia,serif;
    color:var(--dqlpc-black);
    font-size:22px
}
.dqlpc-calendar-detail-empty small{max-width:440px;line-height:1.55}
.dqlpc-calendar-detail.has-selection{background:linear-gradient(145deg,#fffaf0,#fff)}
.dqlpc-calendar-detail.has-selection .dqlpc-calendar-detail-copy h4{color:var(--dqlpc-black)}
.dqlpc-calendar-detail-notes{
    margin:14px 0 0;
    padding:13px 15px;
    border-left:3px solid var(--dqlpc-gold);
    border-radius:0 10px 10px 0;
    background:#fff8e9;
    color:var(--dqlpc-graphite);
    line-height:1.55
}
.dqlpc-calendar-detail-image{min-width:0}
.dqlpc-calendar-detail-image img{object-fit:contain;max-height:430px}

@media(max-width:760px){
    .dqlpc-calendar-detail-copy{padding:18px 58px 15px 18px}
    .dqlpc-calendar-detail-close{
        top:12px;
        right:12px;
        width:40px;
        height:40px;
        border-color:rgba(227,199,123,.55);
        background:rgba(20,20,20,.72);
        color:var(--dqlpc-champagne);
        box-shadow:none
    }
    .dqlpc-calendar-detail-empty{
        min-height:180px;
        margin:16px;
        padding:22px 18px;
        border-radius:13px
    }
    .dqlpc-calendar-detail-empty-icon{width:46px;height:46px;font-size:26px}
    .dqlpc-calendar-detail-empty strong{font-size:20px}
    .dqlpc-calendar-detail-body{padding:14px}
    .dqlpc-calendar-detail-image img{max-height:none;width:100%;border-radius:11px}
    .dqlpc-calendar-detail-notes{font-size:13px}
}

@media(max-width:430px){
    .dqlpc-calendar-detail-copy h4{font-size:21px;line-height:1.15}
    .dqlpc-calendar-detail-copy .dqlpc-muted{font-size:12px;line-height:1.45}
    .dqlpc-calendar-detail-empty{min-height:160px;margin:12px;padding:18px 14px}
    .dqlpc-calendar-detail-empty small{font-size:12px}
}
@media(max-width:760px){
    .dqlpc-calendar-detail.has-selection .dqlpc-calendar-detail-copy h4{color:var(--dqlpc-warm-white)}
}


/* v0.3.0 · previsualización bajo el nombre, campos amplios y PNG con logo */
.dqlpc-calendar-detail{
    grid-template-columns:minmax(330px,.82fr) minmax(520px,1.35fr);
    gap:28px
}
.dqlpc-calendar-detail-summary{min-width:0;display:grid;align-content:start;gap:18px}
.dqlpc-calendar-detail-preview.dqlpc-form [hidden],.dqlpc-recurrence-form [hidden]{display:none!important}
.dqlpc-calendar-detail-preview{min-width:0}
.dqlpc-calendar-detail-preview .dqlpc-calendar-detail-image{width:100%}
.dqlpc-calendar-detail-preview .dqlpc-calendar-detail-image img{
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    border:1px solid var(--dqlpc-border);
    border-radius:15px;
    background:var(--dqlpc-deep);
    box-shadow:0 12px 28px rgba(20,20,20,.12)
}
.dqlpc-calendar-detail-body{display:block;min-width:0}
.dqlpc-calendar-detail-meta{min-width:0}
.dqlpc-calendar-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dqlpc-calendar-detail-list .dqlpc-detail-field{min-width:0;padding:15px 16px}
.dqlpc-calendar-detail-list .dqlpc-detail-field-wide{grid-column:1/-1}
.dqlpc-calendar-detail-list span{font-size:15px;overflow-wrap:anywhere;word-break:normal}
.dqlpc-calendar-detail-empty{min-height:100%;box-sizing:border-box}
.dqlpc-calendar-detail-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.dqlpc-calendar-detail-actions .dqlpc-button,
.dqlpc-calendar-detail-actions .dqlpc-text-button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    box-sizing:border-box;
    text-align:center;
    text-decoration:none
}
.dqlpc-calendar-cancel-form,.dqlpc-calendar-cancel-form .dqlpc-button{width:100%}

@media(max-width:1050px){
    .dqlpc-calendar-detail{grid-template-columns:minmax(300px,.9fr) minmax(420px,1.2fr);gap:20px}
}

@media(max-width:900px){
    .dqlpc-calendar-detail{grid-template-columns:1fr}
    .dqlpc-calendar-detail-summary{gap:14px}
    .dqlpc-calendar-detail-empty{min-height:190px}
}

@media(max-width:760px){
    .dqlpc-calendar-detail-summary{display:block}
    .dqlpc-calendar-detail-preview{padding:14px 14px 0;background:#fff}
    .dqlpc-calendar-detail-preview .dqlpc-calendar-detail-image img{border-radius:11px;box-shadow:0 8px 20px rgba(20,20,20,.11)}
    .dqlpc-calendar-detail-body{padding:14px}
    .dqlpc-calendar-detail-list{grid-template-columns:1fr 1fr}
    .dqlpc-calendar-detail-list .dqlpc-detail-field-wide{grid-column:1/-1}
    .dqlpc-calendar-detail-actions{grid-template-columns:1fr 1fr}
    .dqlpc-calendar-cancel-form{grid-column:1/-1}
}

@media(max-width:430px){
    .dqlpc-calendar-detail-list{grid-template-columns:1fr}
    .dqlpc-calendar-detail-list .dqlpc-detail-field-wide{grid-column:auto}
    .dqlpc-calendar-detail-actions{grid-template-columns:1fr}
    .dqlpc-calendar-cancel-form{grid-column:auto}
}


/* v0.3.2 · vistas mensual, semanal y diaria con franjas de 15 minutos */
.dqlpc-calendar-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.dqlpc-calendar-view-switch{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(227,199,123,.42);border-radius:12px;background:rgba(0,0,0,.24)}
.dqlpc-calendar-view-switch a{display:flex;align-items:center;justify-content:center;min-height:36px;padding:7px 13px;border-radius:8px;color:var(--dqlpc-warm-white);font-size:11px;font-weight:800;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;transition:.18s ease}
.dqlpc-calendar-view-switch a:hover{color:var(--dqlpc-champagne);background:rgba(197,160,82,.12)}
.dqlpc-calendar-view-switch a.is-active{background:linear-gradient(135deg,var(--dqlpc-gold),var(--dqlpc-champagne));color:var(--dqlpc-black);box-shadow:0 5px 14px rgba(0,0,0,.18)}
.dqlpc-calendar-quarter-note{margin-left:auto;padding:5px 9px;border-radius:999px;background:var(--dqlpc-deep);color:var(--dqlpc-champagne)}
.dqlpc-calendar-day-link{display:flex;align-items:center;gap:7px;color:inherit;text-decoration:none;min-width:0}
.dqlpc-calendar-day-link time{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:900;color:var(--dqlpc-black);flex:0 0 auto}
.dqlpc-calendar-day-link small{opacity:0;color:var(--dqlpc-bronze);font-size:9px;font-weight:800;text-transform:uppercase;transition:.18s ease}
.dqlpc-calendar-day:hover .dqlpc-calendar-day-link small,.dqlpc-calendar-day-link:focus-visible small{opacity:1}
.dqlpc-calendar-day.is-today .dqlpc-calendar-day-link time{background:var(--dqlpc-gold)}
.dqlpc-calendar-more{display:block;text-decoration:none}

.dqlpc-timeline-scroll{overflow:auto;max-height:760px;background:#fffdf9;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.dqlpc-timeline-grid{position:relative;display:grid;min-width:max-content;background:var(--dqlpc-border);gap:1px;isolation:isolate}
.dqlpc-timeline-corner,.dqlpc-timeline-day-head{position:sticky;top:0;z-index:8;background:linear-gradient(145deg,var(--dqlpc-deep),#25221e);color:var(--dqlpc-warm-white);border-bottom:1px solid var(--dqlpc-gold)}
.dqlpc-timeline-corner{left:0;z-index:10;display:grid;place-items:center;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.dqlpc-timeline-day-head{display:grid;align-content:center;justify-items:center;gap:3px;padding:8px 10px;text-align:center;text-decoration:none;transition:.18s ease}
.dqlpc-timeline-day-head:hover{background:linear-gradient(145deg,#2c2822,var(--dqlpc-black));color:var(--dqlpc-champagne)}
.dqlpc-timeline-day-head strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.dqlpc-timeline-day-head span{font-family:"Playfair Display",Georgia,serif;font-size:20px;font-weight:700}
.dqlpc-timeline-day-head small{max-width:145px;overflow:hidden;color:var(--dqlpc-champagne);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.dqlpc-timeline-day-head.is-today{box-shadow:inset 0 -4px 0 var(--dqlpc-gold)}
.dqlpc-timeline-time{position:sticky;left:0;z-index:5;display:flex;align-items:flex-start;justify-content:center;padding-top:3px;background:#f5efe4;color:var(--dqlpc-graphite);font-size:9px;font-variant-numeric:tabular-nums;border-right:1px solid var(--dqlpc-border)}
.dqlpc-timeline-time.is-hour{color:var(--dqlpc-black);font-weight:900;background:#ede4d5}
.dqlpc-timeline-slot{z-index:1;background:#fffdf9;border-top:1px solid rgba(216,204,181,.38)}
.dqlpc-timeline-slot.is-hour{border-top-color:rgba(197,160,82,.72)}
.dqlpc-timeline-slot.is-outside-hours{background:repeating-linear-gradient(135deg,#f4f1eb,#f4f1eb 6px,#eeebe4 6px,#eeebe4 12px)}
.dqlpc-timeline-slot.is-working{background:#fffdf9}
.dqlpc-timeline-appointment{position:relative;z-index:4;align-self:stretch;overflow:hidden;margin:2px 4px;padding:7px 9px!important;border:1px solid #d7b867!important;border-left:4px solid var(--dqlpc-gold)!important;border-radius:9px!important;background:linear-gradient(145deg,#fff2c9,#f4d992)!important;box-shadow:0 5px 14px rgba(20,20,20,.13)!important;color:var(--dqlpc-black)!important;grid-template-columns:46px minmax(0,1fr)!important;align-content:start;text-align:left}
.dqlpc-timeline-appointment:hover,.dqlpc-timeline-appointment.is-selected{z-index:7;transform:translateY(-1px);background:linear-gradient(145deg,#ffeeb4,#ecc96d)!important;box-shadow:0 9px 22px rgba(20,20,20,.2)!important}
.dqlpc-timeline-appointment time{font-size:11px!important}
.dqlpc-timeline-appointment span{font-size:11px;white-space:normal!important;line-height:1.2}
.dqlpc-timeline-appointment small{grid-column:2;font-size:9px;white-space:normal!important;line-height:1.2}
.dqlpc-calendar-view-day .dqlpc-timeline-appointment span{font-size:13px}
.dqlpc-calendar-view-day .dqlpc-timeline-appointment small{font-size:11px}

@media(max-width:980px){
    .dqlpc-calendar-toolbar-actions{width:100%;justify-content:space-between}
    .dqlpc-calendar-view-switch{flex:1}
    .dqlpc-calendar-view-switch a{flex:1}
}
@media(max-width:760px){
    .dqlpc-calendar-toolbar-actions{display:grid;grid-template-columns:1fr;gap:9px}
    .dqlpc-calendar-view-switch,.dqlpc-calendar-nav{width:100%}
    .dqlpc-calendar-nav{justify-content:space-between}
    .dqlpc-calendar-nav a{flex:0 0 auto}
    .dqlpc-calendar-nav .dqlpc-calendar-today{flex:1}
    .dqlpc-calendar-quarter-note{margin-left:0}
    .dqlpc-calendar-day-link small{display:none}
    .dqlpc-timeline-scroll{max-height:650px;border-top:1px solid var(--dqlpc-border)}
    .dqlpc-timeline-grid{font-size:11px}
    .dqlpc-timeline-day-head{padding:7px 8px}
    .dqlpc-timeline-day-head span{font-size:17px}
    .dqlpc-timeline-appointment{margin:2px;padding:6px 7px!important;grid-template-columns:40px minmax(0,1fr)!important}
}
@media(max-width:480px){
    .dqlpc-calendar-view-switch a{padding:7px 8px;font-size:10px}
    .dqlpc-timeline-scroll{max-height:590px}
}

/* v0.3.4 · jornada partida y descansos configurables */
.dqlpc-split-schedule-card{overflow:hidden}
.dqlpc-schedule-form{gap:24px}
.dqlpc-schedule-days{display:grid;gap:14px}
.dqlpc-schedule-day{border:1px solid var(--dqlpc-border);border-radius:17px;background:linear-gradient(145deg,#fffdf8,#f7f1e6);padding:16px;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease}
.dqlpc-schedule-day.is-enabled{border-color:rgba(197,160,82,.72);box-shadow:0 10px 24px rgba(20,20,20,.06)}
.dqlpc-schedule-day-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.dqlpc-schedule-day-toggle{font-family:"Playfair Display",Georgia,serif;font-size:19px;color:var(--dqlpc-black)}
.dqlpc-schedule-day-toggle input{accent-color:var(--dqlpc-gold);width:18px!important;height:18px}
.dqlpc-add-period{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid var(--dqlpc-gold);border-radius:999px;background:var(--dqlpc-black);color:var(--dqlpc-champagne);font:inherit;font-size:11px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;cursor:pointer;transition:.18s ease}
.dqlpc-add-period span{font-size:18px;line-height:1}
.dqlpc-add-period:hover:not(:disabled){background:var(--dqlpc-bronze);color:#fff;transform:translateY(-1px)}
.dqlpc-add-period:disabled{opacity:.36;cursor:not-allowed}
.dqlpc-period-list{display:grid;gap:9px}
.dqlpc-period-row{display:grid;grid-template-columns:34px minmax(130px,1fr) minmax(130px,1fr) 38px;align-items:end;gap:10px;padding:11px;border:1px solid rgba(216,204,181,.9);border-radius:13px;background:#fff;transition:opacity .18s ease}
.dqlpc-period-row label{display:grid;gap:5px;color:var(--dqlpc-bronze);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.dqlpc-period-row input[type=time]{min-height:42px;width:100%;border:1px solid var(--dqlpc-border);border-radius:9px;background:#fffdf8;color:var(--dqlpc-black);font-size:15px;font-weight:700;padding:8px 10px}
.dqlpc-period-icon{display:grid;place-items:center;width:34px;height:42px;border-radius:9px;background:rgba(197,160,82,.14);color:var(--dqlpc-bronze);font-size:17px}
.dqlpc-remove-period{display:grid;place-items:center;width:38px;height:42px;padding:0;border:1px solid rgba(139,48,48,.25);border-radius:9px;background:#fff4f1;color:#9b3030;font:inherit;font-size:22px;cursor:pointer;transition:.18s ease}
.dqlpc-remove-period:hover{background:#9b3030;color:#fff;border-color:#9b3030}
.dqlpc-period-row.is-disabled{opacity:.38}
.dqlpc-schedule-day-help{margin:10px 2px 0;color:var(--dqlpc-graphite);font-size:12px;font-weight:600;line-height:1.45}
.dqlpc-schedule-day.is-enabled .dqlpc-schedule-day-help{color:var(--dqlpc-bronze)}
.dqlpc-schedule-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 18px;border-radius:15px;background:var(--dqlpc-black);color:var(--dqlpc-warm-white)}
.dqlpc-schedule-footer p{margin:0;font-size:13px}
.dqlpc-schedule-footer p span{display:inline-block;margin:0 8px;color:var(--dqlpc-champagne);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.dqlpc-schedule-footer .dqlpc-button{flex:0 0 auto}

@media(max-width:760px){
    .dqlpc-split-schedule-card{padding:18px}
    .dqlpc-schedule-day{padding:13px;border-radius:14px}
    .dqlpc-schedule-day-head{align-items:flex-start;gap:10px}
    .dqlpc-schedule-day-toggle{font-size:18px}
    .dqlpc-add-period{min-height:36px;padding:7px 10px;font-size:9px}
    .dqlpc-period-row{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) 34px;gap:7px;padding:9px}
    .dqlpc-period-icon{width:28px;height:40px;font-size:14px}
    .dqlpc-period-row input[type=time]{min-height:40px;padding:6px;font-size:13px}
    .dqlpc-remove-period{width:34px;height:40px}
    .dqlpc-schedule-footer{align-items:stretch;flex-direction:column;padding:15px}
    .dqlpc-schedule-footer .dqlpc-button{width:100%}
}

@media(max-width:440px){
    .dqlpc-schedule-day-head{display:grid;grid-template-columns:1fr}
    .dqlpc-add-period{width:100%}
    .dqlpc-period-row{grid-template-columns:1fr 1fr 34px}
    .dqlpc-period-icon{display:none}
    .dqlpc-period-row label{font-size:9px}
}

/* v0.3.6 · calendario móvil fluido y acceso de cabecera */
.dqlpc-calendar-density{
    display:none;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:42px;
    padding:8px 12px;
    border:1px solid rgba(227,199,123,.55);
    border-radius:11px;
    background:rgba(197,160,82,.12);
    color:var(--dqlpc-champagne);
    font:inherit;
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    cursor:pointer;
}
.dqlpc-calendar-density span{font-size:18px;line-height:1}
.dqlpc-calendar-density:hover,.dqlpc-calendar-density[aria-pressed="true"]{background:var(--dqlpc-gold);color:var(--dqlpc-black)}
.dqlpc-calendar-swipe-hint{display:none}
.dqlpc-calendar-scroll.is-dragging,.dqlpc-timeline-scroll.is-dragging{cursor:grabbing;user-select:none}

.dqlpc-header-access{
    --dqlpc-header-black:#000;
    display:inline-flex;
    align-items:center;
    gap:8px;
    max-width:100%;
    padding:5px;
    border:1px solid rgba(197,160,82,.5);
    border-radius:999px;
    background:rgba(0,0,0,.96);
    box-shadow:0 10px 28px rgba(0,0,0,.18);
    color:var(--dqlpc-warm-white);
    font-family:Montserrat,Arial,sans-serif;
    line-height:1;
}
.dqlpc-header-access a{text-decoration:none!important}
.dqlpc-header-login,.dqlpc-header-welcome{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    padding:7px 10px;
    border-radius:999px;
    color:var(--dqlpc-warm-white)!important;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    transition:.18s ease;
}
.dqlpc-header-login:hover,.dqlpc-header-welcome:hover{background:rgba(255,255,255,.08);color:var(--dqlpc-champagne)!important}
.dqlpc-header-user-icon{display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(197,160,82,.7);border-radius:50%;color:var(--dqlpc-gold);font-size:7px;box-shadow:inset 0 -6px 0 rgba(197,160,82,.18)}
.dqlpc-header-avatar{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:linear-gradient(145deg,var(--dqlpc-gold),var(--dqlpc-champagne));color:#000;font-family:"Playfair Display",Georgia,serif;font-size:16px;font-weight:800}
.dqlpc-header-welcome-copy{display:grid;gap:3px;min-width:0}
.dqlpc-header-welcome-copy small{color:var(--dqlpc-champagne);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dqlpc-header-welcome-copy strong{max-width:150px;overflow:hidden;color:var(--dqlpc-warm-white);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.dqlpc-header-cta{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:38px;
    padding:8px 15px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--dqlpc-gold),var(--dqlpc-champagne));
    color:#000!important;
    font-size:11px;
    font-weight:900;
    letter-spacing:.045em;
    text-transform:uppercase;
    white-space:nowrap;
    box-shadow:0 6px 16px rgba(197,160,82,.2);
    transition:.18s ease;
}
.dqlpc-header-cta:hover{transform:translateY(-1px);filter:brightness(1.05);color:#000!important}
.dqlpc-header-arrow{font-size:17px;line-height:1}
.dqlpc-header-logout{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;color:var(--dqlpc-champagne)!important;font-size:15px;transition:.18s ease}
.dqlpc-header-logout:hover{background:rgba(197,160,82,.16);color:#fff!important}

@media(max-width:760px){
    .dqlpc-shell,.dqlpc-dashboard,.dqlpc-panel-pane,.dqlpc-calendar-card,.dqlpc-card,.dqlpc-section{min-width:0;max-width:100%;box-sizing:border-box}
    .dqlpc-shell input,.dqlpc-shell select,.dqlpc-shell textarea,.dqlpc-shell button{max-width:100%;box-sizing:border-box}
    .dqlpc-calendar-toolbar{gap:16px}
    .dqlpc-calendar-toolbar-actions{grid-template-columns:minmax(0,1fr) auto}
    .dqlpc-calendar-view-switch{min-width:0}
    .dqlpc-calendar-nav{grid-column:1/-1}
    .dqlpc-calendar-density{display:flex}
    .dqlpc-calendar-scroll,.dqlpc-timeline-scroll{
        position:relative;
        width:100%;
        max-width:100%;
        overflow-x:auto;
        overflow-y:auto;
        scrollbar-width:none;
        -ms-overflow-style:none;
        scroll-behavior:smooth;
        scroll-snap-type:x proximity;
        touch-action:pan-x pan-y;
        cursor:grab;
    }
    .dqlpc-calendar-scroll::-webkit-scrollbar,.dqlpc-timeline-scroll::-webkit-scrollbar{display:none;width:0;height:0}
    .dqlpc-calendar-swipe-hint{
        position:sticky;
        left:10px;
        z-index:18;
        display:inline-flex;
        align-items:center;
        width:max-content;
        margin:8px 0 7px 10px;
        padding:6px 10px;
        border:1px solid rgba(197,160,82,.35);
        border-radius:999px;
        background:rgba(0,0,0,.82);
        color:var(--dqlpc-champagne);
        font-size:9px;
        font-weight:800;
        letter-spacing:.04em;
        text-transform:uppercase;
        box-shadow:0 5px 14px rgba(0,0,0,.14);
        pointer-events:none;
        transition:opacity .25s ease;
    }
    .dqlpc-calendar-scroll.has-scrolled .dqlpc-calendar-swipe-hint,.dqlpc-timeline-scroll.has-scrolled .dqlpc-calendar-swipe-hint{opacity:0}

    /* El mes se muestra completo por defecto, sin barra horizontal visible. */
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-grid{
        grid-template-columns:repeat(7,minmax(0,1fr));
        min-width:0;
        width:100%;
    }
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-weekday{padding:8px 2px;font-size:9px;letter-spacing:.04em}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-day{min-height:88px;padding:5px 4px;overflow:hidden}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-day-head{margin-bottom:4px}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-day-link{gap:2px}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-day-link time{width:24px;height:24px;font-size:11px}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-day-head>span{min-width:18px;height:18px;padding:0 4px;font-size:8px}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-marker{height:5px;margin:3px 0;padding:0;border-radius:999px;font-size:0;border-left:0}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-events{gap:3px}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-event{display:flex!important;align-items:center;min-height:20px;padding:3px 4px!important;border-left-width:2px!important;border-radius:6px!important}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-event time{font-size:8px!important;line-height:1}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-event span,.dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-event small{display:none}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-more{font-size:0;padding:2px}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-more:before{content:"•••";font-size:9px;letter-spacing:2px}

    /* Al ampliar se recupera una cuadrícula cómoda que se recorre deslizando. */
    .dqlpc-calendar-view-month.is-calendar-expanded .dqlpc-calendar-grid{grid-template-columns:repeat(7,minmax(126px,1fr));min-width:882px}
    .dqlpc-calendar-view-month.is-calendar-expanded .dqlpc-calendar-day{min-height:160px}

    /* Semana: desplazamiento táctil suave y dos densidades. */
    .dqlpc-calendar-view-week .dqlpc-timeline-grid{grid-template-columns:52px repeat(7,minmax(112px,1fr))!important}
    .dqlpc-calendar-view-week.is-calendar-expanded .dqlpc-timeline-grid{grid-template-columns:58px repeat(7,minmax(176px,1fr))!important}
    .dqlpc-calendar-view-day .dqlpc-timeline-grid{grid-template-columns:52px minmax(280px,1fr)!important;min-width:100%!important;width:100%}
    .dqlpc-calendar-view-day.is-calendar-expanded .dqlpc-timeline-grid{grid-template-columns:58px minmax(430px,1fr)!important;width:max-content}
    .dqlpc-timeline-grid{scroll-snap-align:start}
    .dqlpc-timeline-day-head{scroll-snap-align:start}
    .dqlpc-timeline-time{font-size:8px}
    .dqlpc-timeline-appointment{min-width:0!important;overflow:hidden}
    .dqlpc-timeline-appointment span,.dqlpc-timeline-appointment small{overflow-wrap:anywhere}

    .dqlpc-date-tools,.dqlpc-two-cols,.dqlpc-staff-grid,.dqlpc-calendar-detail-list{min-width:0}
    .dqlpc-date-tools>*{min-width:0}
    .dqlpc-service-card,.dqlpc-stylist-card,.dqlpc-appointment-card,.dqlpc-detail-field{min-width:0;overflow-wrap:anywhere}
}

@media(max-width:520px){
    .dqlpc-header-access{gap:4px;padding:4px}
    .dqlpc-header-login{padding:7px 8px;font-size:11px}
    .dqlpc-header-welcome{padding:4px 5px}
    .dqlpc-header-welcome-copy small{display:none}
    .dqlpc-header-welcome-copy strong{max-width:82px;font-size:11px}
    .dqlpc-header-avatar{flex-basis:29px;width:29px;height:29px;font-size:14px}
    .dqlpc-header-cta{min-height:34px;padding:7px 11px;font-size:9px}
    .dqlpc-header-arrow{font-size:14px}
    .dqlpc-header-logout{flex-basis:28px;width:28px;height:28px;font-size:13px}
    .dqlpc-calendar-toolbar-actions{grid-template-columns:minmax(0,1fr) 42px}
    .dqlpc-calendar-density{width:42px;padding:0}
    .dqlpc-calendar-density b{display:none}
}


/* v0.3.7 · acceso de cabecera con registro y texto personalizado */
.dqlpc-header-widget{
    display:inline-grid;
    justify-items:end;
    gap:5px;
    width:max-content;
    max-width:100%;
    vertical-align:middle;
}
.dqlpc-header-widget .dqlpc-header-access{width:max-content;max-width:100%;box-sizing:border-box}
.dqlpc-header-register{min-width:112px}
.dqlpc-header-note{
    max-width:340px;
    margin:0 8px;
    color:rgba(245,241,232,.78);
    font-family:Montserrat,Arial,sans-serif;
    font-size:10px;
    font-weight:500;
    line-height:1.35;
    text-align:right;
}
.dqlpc-header-access-user .dqlpc-header-welcome-copy strong{font-size:12px}

@media(max-width:520px){
    .dqlpc-header-widget{justify-items:stretch;width:100%}
    .dqlpc-header-widget .dqlpc-header-access{justify-content:center;width:100%}
    .dqlpc-header-access-guest .dqlpc-header-login,
    .dqlpc-header-access-guest .dqlpc-header-register{flex:1 1 0;min-width:0}
    .dqlpc-header-note{max-width:none;margin:0 6px;font-size:9px;text-align:center}
}

/* v0.3.8 · servicio primero, profesionales por paso y reservas compuestas */
.dqlpc-composite-badge{display:inline-flex;align-items:center;width:max-content;margin-top:5px;padding:4px 8px;border-radius:999px;background:rgba(197,160,82,.15);color:#7c6142;font-size:11px;font-weight:800;letter-spacing:.02em}
.dqlpc-booking-plan{display:grid;gap:16px}.dqlpc-plan-step{border:1px solid rgba(197,160,82,.35);border-radius:18px;padding:18px;background:linear-gradient(145deg,#fff,#faf7f1);box-shadow:0 10px 28px rgba(20,20,20,.05)}
.dqlpc-plan-step>header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.dqlpc-plan-step>header>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#141414;color:#e3c77b;font-size:12px;font-weight:800}.dqlpc-plan-step>header>div{display:grid;gap:2px}.dqlpc-plan-step>header strong{font-size:17px;color:#141414}.dqlpc-plan-step>header small{color:#7c6142}
.dqlpc-plan-stylists{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.dqlpc-plan-stylist{appearance:none;border:1px solid #d8ccb5;border-radius:14px;background:#fff;padding:10px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;text-align:left;cursor:pointer;transition:.2s ease}.dqlpc-plan-stylist:hover{transform:translateY(-1px);border-color:#c5a052;box-shadow:0 8px 18px rgba(20,20,20,.07)}.dqlpc-plan-stylist.is-selected{border-color:#141414;box-shadow:0 0 0 2px #e3c77b;background:#fbf7ef}.dqlpc-plan-stylist-photo{width:52px;height:52px;border-radius:12px;background-size:cover;background-position:center;background-color:#141414;display:grid;place-items:center;color:#e3c77b}.dqlpc-plan-stylist>span:last-child{display:grid;gap:3px;min-width:0}.dqlpc-plan-stylist strong{color:#141414}.dqlpc-plan-stylist small{color:#5f6368;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dqlpc-plan-slot{display:flex!important;flex-direction:column;align-items:stretch!important;gap:6px;min-width:170px;text-align:left}.dqlpc-plan-slot>span{display:flex;justify-content:space-between;gap:8px;align-items:center}.dqlpc-plan-slot>span b{font-size:10px;text-transform:uppercase;color:#7c6142}.dqlpc-plan-slot>small{white-space:normal;line-height:1.35;color:#5f6368}
.dqlpc-table td small{display:block;margin-top:4px;color:#5f6368;line-height:1.4}
@media(max-width:720px){.dqlpc-plan-step{padding:14px;border-radius:14px}.dqlpc-plan-stylists{grid-template-columns:1fr}.dqlpc-plan-stylist{grid-template-columns:46px minmax(0,1fr)}.dqlpc-plan-stylist-photo{width:46px;height:46px}.dqlpc-plan-slot{min-width:100%;width:100%}.dqlpc-service-card{min-height:0}}

/* v0.3.9 · opción Cualquiera y asignación automática */
.dqlpc-plan-stylist.is-any{
    border-color:rgba(197,160,82,.7);
    background:linear-gradient(145deg,#fffdf8,#f7efdf);
}
.dqlpc-plan-stylist.is-any .dqlpc-plan-stylist-photo{
    background-color:#000;
    color:#e3c77b;
    font-size:24px;
}
.dqlpc-plan-stylist.is-preferred:not(.is-any){
    border-color:rgba(183,154,103,.55);
}
.dqlpc-any-badge,.dqlpc-preferred-badge{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    margin-top:3px;
    padding:3px 7px;
    border-radius:999px;
    background:#141414;
    color:#e3c77b;
    font-size:9px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.dqlpc-preferred-badge{background:rgba(197,160,82,.18);color:#7c6142}
@media(max-width:720px){
    .dqlpc-plan-stylist.is-any{order:-1}
    .dqlpc-any-badge,.dqlpc-preferred-badge{font-size:8px}
}

/* v0.4.0 · Reynolds Club, puntos, canjes y gestión de clientes */
.dqlpc-points-chip{
    appearance:none;border:1px solid rgba(197,160,82,.62);border-radius:999px;background:#141414;color:#f5f1e8;
    min-height:42px;padding:8px 14px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font:600 13px Montserrat,Arial,sans-serif;
    box-shadow:0 8px 22px rgba(20,20,20,.12);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease
}
.dqlpc-points-chip:hover{transform:translateY(-1px);border-color:#e3c77b;box-shadow:0 12px 28px rgba(20,20,20,.17)}
.dqlpc-points-chip span{color:#e3c77b;font-size:17px}.dqlpc-points-chip strong{white-space:nowrap}
.dqlpc-customer-header-actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}
.dqlpc-reward-badge{display:inline-flex;width:max-content;margin-top:5px;padding:4px 8px;border-radius:999px;background:#141414;color:#e3c77b;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}

.dqlpc-points-store,.dqlpc-points-history{display:grid;gap:22px}
.dqlpc-points-hero{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,300px);gap:24px;align-items:stretch;
    padding:28px;border-radius:24px;background:linear-gradient(135deg,#141414 0%,#24201b 65%,#3a2f22 100%);color:#f5f1e8;overflow:hidden;position:relative
}
.dqlpc-points-hero:after{content:"✦";position:absolute;right:28%;bottom:-55px;color:rgba(197,160,82,.1);font-size:180px;line-height:1;pointer-events:none}
.dqlpc-points-hero h3{margin:4px 0 10px;color:#f5f1e8;font:700 clamp(26px,4vw,42px)/1.1 "Playfair Display",Georgia,serif}
.dqlpc-points-hero p{max-width:720px;margin:0;color:rgba(245,241,232,.78);line-height:1.7}
.dqlpc-points-balance-card{position:relative;z-index:1;display:grid;align-content:center;justify-items:center;gap:5px;padding:22px;border:1px solid rgba(227,199,123,.42);border-radius:20px;background:rgba(0,0,0,.28);backdrop-filter:blur(7px);text-align:center}
.dqlpc-points-balance-card span,.dqlpc-points-balance-card small{color:rgba(245,241,232,.7);font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.dqlpc-points-balance-card strong{color:#e3c77b;font:700 clamp(28px,4vw,44px)/1 "Playfair Display",Georgia,serif}
.dqlpc-voucher-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border:1px solid rgba(197,160,82,.42);border-radius:16px;background:#fffaf0;box-shadow:0 10px 26px rgba(20,20,20,.05)}
.dqlpc-voucher-banner>div{display:grid;gap:3px}.dqlpc-voucher-banner strong{color:#141414}.dqlpc-voucher-banner span{color:#5f6368;font-size:13px}

.dqlpc-reward-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:18px}
.dqlpc-reward-card{overflow:hidden;border:1px solid #d8ccb5;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(20,20,20,.06);transition:transform .2s ease,box-shadow .2s ease}
.dqlpc-reward-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(20,20,20,.1)}.dqlpc-reward-card.is-locked{opacity:.74}
.dqlpc-reward-image{height:190px;padding:14px;display:flex;align-items:flex-end;justify-content:flex-start;background-position:center;background-size:cover;background-color:#141414;position:relative}
.dqlpc-reward-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.58),rgba(0,0,0,.04) 70%)}
.dqlpc-reward-image.is-empty{align-items:center;justify-content:center}.dqlpc-reward-image.is-empty span{position:relative;z-index:1;color:#c5a052;font-size:58px}.dqlpc-reward-image b{position:relative;z-index:1;padding:5px 9px;border-radius:999px;background:#c5a052;color:#141414;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.dqlpc-reward-copy{display:grid;gap:11px;padding:18px}.dqlpc-reward-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.dqlpc-reward-card-head h4{margin:0;color:#141414;font:700 20px/1.2 "Playfair Display",Georgia,serif}.dqlpc-reward-card-head strong{color:#7c6142;white-space:nowrap}.dqlpc-reward-copy p{margin:0;color:#5f6368;line-height:1.55}.dqlpc-reward-copy>small{color:#7c6142}.dqlpc-reward-copy form{margin-top:auto}.dqlpc-reward-copy .dqlpc-button{width:100%}
.dqlpc-store-note{padding:18px 20px;border-left:4px solid #c5a052;border-radius:0 14px 14px 0;background:#f8f5ef}.dqlpc-store-note p{margin:5px 0 0;color:#5f6368;line-height:1.6}

.dqlpc-points-heading{align-items:center}.dqlpc-points-total{padding:9px 14px;border-radius:999px;background:#141414;color:#e3c77b}
.dqlpc-points-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dqlpc-points-card{min-width:0}.dqlpc-points-card h4{margin-top:0;font:700 22px "Playfair Display",Georgia,serif;color:#141414}
.dqlpc-points-list{display:grid;gap:10px}.dqlpc-points-movement,.dqlpc-redemption-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 14px;border:1px solid #e2dacb;border-radius:13px;background:#fff}
.dqlpc-points-movement>div,.dqlpc-redemption-row>div{display:grid;gap:3px;min-width:0}.dqlpc-points-movement>div:last-child,.dqlpc-redemption-row>div:last-child{text-align:right;justify-items:end}.dqlpc-points-movement strong,.dqlpc-redemption-row strong{color:#252525}.dqlpc-points-movement small,.dqlpc-redemption-row small{color:#737373;font-size:11px}.dqlpc-points-movement b{font-size:16px}.dqlpc-points-movement.is-positive b{color:#477a3c}.dqlpc-points-movement.is-negative b{color:#a63d3d}
.dqlpc-redemption-available{background:#fff5d9;color:#765714}.dqlpc-redemption-used,.dqlpc-redemption-fulfilled{background:#e9f5e5;color:#35652f}.dqlpc-redemption-pending{background:#edf2f7;color:#435568}.dqlpc-redemption-cancelled{background:#f9e8e8;color:#8d3333}
.dqlpc-points-status-awarded{background:#e9f5e5;color:#35652f}.dqlpc-points-status-pending{background:#fff5d9;color:#765714}.dqlpc-points-status-void,.dqlpc-points-status-legacy{background:#edf2f7;color:#59636d}
.dqlpc-attendance-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.dqlpc-attendance-actions form{margin:0}.dqlpc-danger-link{color:#9d3333!important}

.dqlpc-rewards-admin-layout{display:grid;grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:20px;align-items:start}.dqlpc-reward-editor-card{position:sticky;top:20px}.dqlpc-reward-form{gap:12px}.dqlpc-inline-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.dqlpc-inline-check input{width:auto!important}
.dqlpc-rewards-admin-list{display:grid;gap:12px}.dqlpc-reward-admin-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #d8ccb5;border-radius:15px;background:#fff}.dqlpc-reward-admin-thumb{width:58px;height:58px;border-radius:12px;background:#141414 center/cover no-repeat;color:#c5a052;display:grid;place-items:center;font-size:22px}.dqlpc-reward-admin-copy{display:grid;gap:3px;min-width:0}.dqlpc-reward-admin-copy small{color:#5f6368}.dqlpc-reward-admin-row details{position:relative}.dqlpc-reward-admin-row details[open]{grid-column:1/-1}.dqlpc-reward-admin-row details[open] summary{margin-bottom:12px}.dqlpc-reward-admin-row .dqlpc-reward-form{padding:16px;border-radius:14px;background:#f8f5ef}

.dqlpc-leaderboard-table .dqlpc-table-points{color:#7c6142}.dqlpc-managed-customer-detail{display:grid;gap:20px}.dqlpc-managed-customer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.dqlpc-managed-customer-head h3{margin:3px 0;font:700 32px "Playfair Display",Georgia,serif;color:#141414}.dqlpc-managed-customer-head p{margin:0;color:#5f6368}
.dqlpc-managed-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dqlpc-managed-stats>div{display:grid;gap:5px;padding:16px;border:1px solid #d8ccb5;border-radius:14px;background:#f8f5ef}.dqlpc-managed-stats span{color:#5f6368;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.dqlpc-managed-stats strong{color:#141414;font-size:20px}
.dqlpc-managed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dqlpc-managed-grid .dqlpc-card{box-shadow:none}.dqlpc-managed-grid hr{border:0;border-top:1px solid #d8ccb5;margin:18px 0}

@media(max-width:980px){
    .dqlpc-rewards-admin-layout{grid-template-columns:1fr}.dqlpc-reward-editor-card{position:static}.dqlpc-managed-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .dqlpc-customer-header-actions{width:100%;justify-content:space-between}.dqlpc-points-chip{min-height:38px;padding:7px 11px;font-size:12px}
    .dqlpc-points-hero{grid-template-columns:1fr;padding:21px;border-radius:18px}.dqlpc-points-balance-card{justify-items:start;text-align:left}.dqlpc-points-hero:after{right:-20px;bottom:-55px}
    .dqlpc-voucher-banner{align-items:stretch;flex-direction:column}.dqlpc-voucher-banner .dqlpc-button{width:100%}
    .dqlpc-reward-grid{grid-template-columns:1fr}.dqlpc-reward-image{height:165px}
    .dqlpc-points-columns,.dqlpc-managed-grid{grid-template-columns:1fr}.dqlpc-points-movement,.dqlpc-redemption-row{align-items:flex-start;flex-direction:column}.dqlpc-points-movement>div:last-child,.dqlpc-redemption-row>div:last-child{text-align:left;justify-items:start}
    .dqlpc-reward-admin-row{grid-template-columns:50px minmax(0,1fr) auto}.dqlpc-reward-admin-thumb{width:50px;height:50px}.dqlpc-reward-admin-row>details,.dqlpc-reward-admin-row>form{grid-column:2/-1}.dqlpc-managed-stats{grid-template-columns:1fr 1fr}.dqlpc-managed-customer-head{flex-direction:column}
}
@media(max-width:460px){.dqlpc-managed-stats{grid-template-columns:1fr}.dqlpc-points-hero{padding:18px}.dqlpc-points-balance-card strong{font-size:32px}}
.dqlpc-header-welcome-copy{display:grid;gap:1px}.dqlpc-header-welcome-copy small{color:#c5a052;font-size:9px;font-weight:700;letter-spacing:.03em}
.dqlpc-reward-form label.is-field-muted{opacity:.55}.dqlpc-reward-form label.is-field-muted select{background:#eee}

/* v0.4.1 · estados del historial, puntos y tarjetas profesionales refinadas */
.dqlpc-points-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
    margin-bottom:20px;
}
.dqlpc-points-heading>div{min-width:0}
.dqlpc-points-heading .dqlpc-points-total{
    margin:6px 0 0;
    box-shadow:0 8px 20px rgba(20,20,20,.12);
}

.dqlpc-customer-appointments-table .dqlpc-status-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:92px;
    padding:6px 10px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
    letter-spacing:.045em;
    text-transform:uppercase;
    white-space:nowrap;
}
.dqlpc-customer-status-confirmed{background:#e8f3e9;color:#315e35;border:1px solid #bad7bd}
.dqlpc-customer-status-pending{background:#fff5d9;color:#765714;border:1px solid #ead69a}
.dqlpc-customer-status-cancelled,.dqlpc-customer-status-no-show{background:#f9e8e8;color:#8d3333;border:1px solid #e4b8b8}
.dqlpc-history-points{display:inline-flex;font-weight:900;white-space:nowrap}
.dqlpc-history-points.is-awarded{color:#477a3c}
.dqlpc-history-points.is-pending{color:#866619}
.dqlpc-history-points.is-void{color:#737373}

.dqlpc-plan-stylists{
    grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
    gap:14px;
}
.dqlpc-plan-stylist{
    position:relative;
    min-height:92px;
    grid-template-columns:66px minmax(0,1fr);
    gap:14px;
    padding:13px 42px 13px 13px;
    border-radius:18px;
    background:linear-gradient(145deg,#fff,#fbf8f2);
    box-shadow:0 8px 24px rgba(20,20,20,.055);
    overflow:hidden;
}
.dqlpc-plan-stylist:after{
    content:"›";
    position:absolute;
    right:15px;
    top:50%;
    transform:translateY(-50%);
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#f8f5ef;
    color:#7c6142;
    font-size:20px;
    font-weight:700;
    transition:.2s ease;
}
.dqlpc-plan-stylist:hover:after{background:#e3c77b;color:#141414;transform:translateY(-50%) translateX(2px)}
.dqlpc-plan-stylist.is-selected:after{content:"✓";background:#141414;color:#e3c77b;font-size:13px}
.dqlpc-plan-stylist-photo{
    width:66px;
    height:66px;
    border-radius:17px;
    border:1px solid rgba(197,160,82,.45);
    box-shadow:0 7px 16px rgba(20,20,20,.12);
}
.dqlpc-plan-stylist>span:last-child{gap:5px}
.dqlpc-plan-stylist strong{
    font:700 19px/1.15 "Playfair Display",Georgia,serif;
}
.dqlpc-plan-stylist small{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    line-height:1.35;
}
.dqlpc-plan-stylist.is-any{
    background:linear-gradient(145deg,#fffdf8,#f5ead5);
    box-shadow:0 10px 26px rgba(124,97,66,.1);
}

@media(max-width:760px){
    .dqlpc-points-heading{align-items:flex-start;gap:14px;margin-bottom:24px}
    .dqlpc-points-heading .dqlpc-points-total{margin:12px 0 0 52px}
    .dqlpc-customer-appointments-table{min-width:780px}
    .dqlpc-plan-stylists{grid-template-columns:1fr;gap:11px}
    .dqlpc-plan-stylist{min-height:82px;grid-template-columns:58px minmax(0,1fr);padding:11px 38px 11px 11px;border-radius:16px}
    .dqlpc-plan-stylist-photo{width:58px;height:58px;border-radius:15px}
    .dqlpc-plan-stylist strong{font-size:17px}
    .dqlpc-plan-stylist:after{right:11px}
}
@media(max-width:460px){
    .dqlpc-points-heading{display:block}
    .dqlpc-points-heading .dqlpc-points-total{display:inline-flex;margin:16px 0 0 0}
}

/* v0.4.3 · tarjetas de profesionales más amplias y equilibradas */
.dqlpc-plan-stylists{
    grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
    gap:16px;
}
.dqlpc-plan-stylist{
    position:relative;
    grid-template-columns:104px minmax(0,1fr);
    min-height:132px;
    padding:0;
    overflow:hidden;
    align-items:stretch;
    border-radius:17px;
    background:linear-gradient(145deg,#fff,#fbf8f2);
    box-shadow:0 10px 24px rgba(20,20,20,.055);
}
.dqlpc-plan-stylist:hover{
    transform:translateY(-2px);
    box-shadow:0 15px 30px rgba(20,20,20,.10);
}
.dqlpc-plan-stylist.is-selected{
    box-shadow:0 0 0 2px #e3c77b,0 15px 30px rgba(20,20,20,.11);
}
.dqlpc-plan-stylist.is-selected:after{
    content:"✓";
    position:absolute;
    top:10px;
    right:10px;
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#141414;
    color:#e3c77b;
    font-size:13px;
    font-weight:900;
    box-shadow:0 5px 14px rgba(20,20,20,.18);
}
.dqlpc-plan-stylist-photo{
    width:104px;
    height:100%;
    min-height:132px;
    border-radius:0;
    background-position:center top;
    background-size:cover;
    box-shadow:inset -1px 0 rgba(197,160,82,.22);
}
.dqlpc-plan-stylist>span:last-child{
    align-content:center;
    gap:7px;
    padding:18px 42px 18px 18px;
}
.dqlpc-plan-stylist strong{
    font:700 20px/1.15 "Playfair Display",Georgia,serif;
    letter-spacing:-.01em;
}
.dqlpc-plan-stylist small{
    display:-webkit-box;
    white-space:normal;
    overflow:hidden;
    text-overflow:ellipsis;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-clamp:3;
    line-height:1.4;
}
.dqlpc-plan-stylist.is-any{
    background:linear-gradient(145deg,#fffdf8,#f5ead6);
}
.dqlpc-plan-stylist.is-any .dqlpc-plan-stylist-photo{
    width:104px;
    min-height:132px;
    background-position:center;
    box-shadow:inset -1px 0 rgba(227,199,123,.28);
}
.dqlpc-any-badge,.dqlpc-preferred-badge{
    margin-top:2px;
    padding:4px 8px;
    font-size:9px;
}
@media(max-width:900px){
    .dqlpc-plan-stylists{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:13px}
    .dqlpc-plan-stylist{grid-template-columns:94px minmax(0,1fr);min-height:118px}
    .dqlpc-plan-stylist-photo,.dqlpc-plan-stylist.is-any .dqlpc-plan-stylist-photo{width:94px;min-height:118px}
    .dqlpc-plan-stylist>span:last-child{padding:15px 38px 15px 15px}
    .dqlpc-plan-stylist strong{font-size:18px}
}
@media(max-width:620px){
    .dqlpc-plan-stylists{grid-template-columns:1fr;gap:12px}
    .dqlpc-plan-stylist{grid-template-columns:96px minmax(0,1fr);min-height:116px;border-radius:15px}
    .dqlpc-plan-stylist-photo,.dqlpc-plan-stylist.is-any .dqlpc-plan-stylist-photo{width:96px;min-height:116px}
    .dqlpc-plan-stylist>span:last-child{padding:14px 38px 14px 14px}
    .dqlpc-plan-stylist strong{font-size:18px}
    .dqlpc-plan-stylist small{-webkit-line-clamp:2;line-clamp:2}
}

/* v0.4.4 · indicador de profesional y gestión de servicios desde el panel */
.dqlpc-plan-stylist.is-selected:after{
    top:17px;
    right:13px;
    border:1px solid rgba(227,199,123,.72);
    box-shadow:0 6px 16px rgba(20,20,20,.22);
}

.dqlpc-staff-services-layout{
    display:grid;
    grid-template-columns:minmax(300px,390px) minmax(0,1fr);
    gap:22px;
    align-items:start;
    margin-top:22px;
}
.dqlpc-staff-service-editor{
    position:sticky;
    top:92px;
    padding:22px;
    background:linear-gradient(145deg,#fffdf8,#f5efe4);
    box-shadow:0 14px 34px rgba(20,20,20,.08);
}
.dqlpc-staff-service-editor h4,
.dqlpc-staff-service-edit h4{
    margin:0 0 16px;
    font:700 24px/1.2 "Playfair Display",Georgia,serif;
}
.dqlpc-staff-service-list{display:grid;gap:13px}
.dqlpc-staff-service-row{
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:15px;
    border:1px solid var(--dqlpc-border);
    border-radius:16px;
    background:linear-gradient(145deg,#fff,#fbf8f2);
    box-shadow:0 9px 24px rgba(20,20,20,.055);
}
.dqlpc-staff-service-row.is-inactive{opacity:.68;background:#f2eee7}
.dqlpc-staff-service-icon{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:var(--dqlpc-black);
    color:var(--dqlpc-champagne);
    border:1px solid rgba(197,160,82,.65);
    font-size:21px;
    font-weight:900;
}
.dqlpc-staff-service-copy{display:grid;gap:4px;min-width:0}
.dqlpc-staff-service-copy strong{font:700 20px/1.2 "Playfair Display",Georgia,serif}
.dqlpc-staff-service-copy small{color:var(--dqlpc-bronze);font-weight:700}
.dqlpc-staff-service-copy span{color:var(--dqlpc-graphite);font-size:12px;line-height:1.4}
.dqlpc-staff-service-meta{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap}
.dqlpc-staff-service-edit{grid-column:2/4;border-top:1px solid #e7dcc8;padding-top:10px}
.dqlpc-staff-service-edit>summary{cursor:pointer;color:var(--dqlpc-bronze);font-weight:900;list-style:none}
.dqlpc-staff-service-edit>summary::-webkit-details-marker{display:none}
.dqlpc-staff-service-edit>summary:before{content:"＋";margin-right:7px;color:var(--dqlpc-gold)}
.dqlpc-staff-service-edit[open]>summary:before{content:"−"}
.dqlpc-staff-service-edit .dqlpc-staff-service-form{
    margin-top:14px;
    padding:18px;
    border:1px solid var(--dqlpc-border);
    border-radius:14px;
    background:#fffdf9;
}
.dqlpc-staff-service-delete{grid-column:2/4;justify-self:end}
.dqlpc-staff-service-toggle{padding:11px 13px;border:1px solid var(--dqlpc-border);border-radius:12px;background:#fff}
.dqlpc-staff-service-simple,
.dqlpc-staff-service-composite{display:grid;gap:14px}
.dqlpc-staff-service-fieldset{
    margin:0;
    padding:14px;
    border:1px solid var(--dqlpc-border);
    border-radius:13px;
    background:#fff;
}
.dqlpc-staff-service-fieldset legend{padding:0 7px;font-weight:900;color:var(--dqlpc-bronze)}
.dqlpc-staff-service-fieldset p{margin:0 0 11px;font-size:12px}
.dqlpc-staff-service-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.dqlpc-staff-service-checks label{
    padding:9px 10px;
    border:1px solid #e6dcc9;
    border-radius:10px;
    background:#fffaf0;
}
.dqlpc-staff-step-list{display:grid;gap:9px}
.dqlpc-staff-step-row{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 36px;
    gap:9px;
    align-items:center;
}
.dqlpc-staff-step-row>span{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--dqlpc-black);
    color:var(--dqlpc-champagne);
    font-size:11px;
    font-weight:900;
}
.dqlpc-staff-step-row select{width:100%;border:1px solid var(--dqlpc-border);border-radius:10px;background:#fff;padding:11px;font:inherit}
.dqlpc-remove-step{
    width:36px;
    height:36px;
    border:1px solid #ddb4b4;
    border-radius:10px;
    background:#fff3f3;
    color:#922f2f;
    cursor:pointer;
    font-size:20px;
    font-weight:900;
}
.dqlpc-staff-service-options{
    display:grid;
    grid-template-columns:1fr 1fr 100px;
    gap:10px;
    align-items:end;
}
.dqlpc-staff-service-options>.dqlpc-inline-check{
    min-height:46px;
    padding:10px;
    border:1px solid var(--dqlpc-border);
    border-radius:11px;
    background:#fff;
}

@media(max-width:920px){
    .dqlpc-staff-services-layout{grid-template-columns:1fr}
    .dqlpc-staff-service-editor{position:static}
}
@media(max-width:620px){
    .dqlpc-plan-stylist.is-selected:after{top:15px;right:11px}
    .dqlpc-staff-service-row{grid-template-columns:48px minmax(0,1fr);gap:11px;padding:13px}
    .dqlpc-staff-service-icon{width:48px;height:48px;border-radius:13px}
    .dqlpc-staff-service-meta{grid-column:1/3;justify-content:flex-start}
    .dqlpc-staff-service-edit,.dqlpc-staff-service-delete{grid-column:1/3}
    .dqlpc-staff-service-checks{grid-template-columns:1fr}
    .dqlpc-staff-service-options{grid-template-columns:1fr 1fr}
    .dqlpc-staff-service-options>label:last-child{grid-column:1/3}
    .dqlpc-staff-step-row{grid-template-columns:30px minmax(0,1fr) 34px;gap:7px}
    .dqlpc-staff-step-row>span{width:30px;height:30px}
}

/* v0.4.7 · desplegables pulidos y agenda compartida */
.dqlpc-calendar-stylist-switcher{
    display:grid;
    grid-template-columns:auto minmax(180px,260px);
    align-items:center;
    gap:9px;
    padding:8px 10px;
    border:1px solid rgba(197,160,82,.45);
    border-radius:14px;
    background:rgba(255,255,255,.78);
    box-shadow:0 7px 20px rgba(20,20,20,.06);
}
.dqlpc-calendar-stylist-switcher label{
    color:var(--dqlpc-bronze);
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.dqlpc-calendar-stylist-switcher select,
.dqlpc-manual-booking-form select,
.dqlpc-staff-service-form select{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
    -webkit-appearance:none;
    appearance:none;
    padding-right:46px!important;
    background-color:#fff;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%237c6142' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    background-size:18px 18px;
}
.dqlpc-calendar-stylist-switcher select{
    height:42px;
    border:0;
    border-radius:10px;
    padding:8px 42px 8px 12px!important;
    background-color:#fffaf0;
    color:var(--dqlpc-black);
    font-weight:800;
}
.dqlpc-staff-step-row{
    grid-template-columns:38px minmax(0,1fr) 42px;
    gap:10px;
}
.dqlpc-staff-step-row select{
    width:100%;
    height:50px;
    min-width:0;
    overflow:hidden;
    border:1px solid var(--dqlpc-border);
    border-radius:13px;
    padding:11px 48px 11px 15px!important;
    color:var(--dqlpc-black);
    font-size:15px!important;
    font-weight:650;
    line-height:1.2;
    box-shadow:0 5px 14px rgba(20,20,20,.045);
}
.dqlpc-staff-step-row select:focus{
    outline:3px solid rgba(197,160,82,.2);
    border-color:var(--dqlpc-gold);
}
.dqlpc-staff-step-row .dqlpc-remove-step{
    width:42px;
    height:42px;
    border-radius:12px;
}
.dqlpc-manual-booking-form label:has([data-dqlpc-manual-stylist]){
    padding:12px;
    border:1px solid rgba(197,160,82,.38);
    border-radius:14px;
    background:#fffaf0;
}
@media(max-width:720px){
    .dqlpc-calendar-stylist-switcher{
        width:100%;
        grid-template-columns:1fr;
        gap:5px;
    }
    .dqlpc-calendar-stylist-switcher select{width:100%}
    .dqlpc-staff-step-row{
        grid-template-columns:32px minmax(0,1fr) 38px;
        gap:7px;
    }
    .dqlpc-staff-step-row select{
        height:48px;
        padding-left:12px!important;
        padding-right:42px!important;
        background-position:right 11px center;
        font-size:14px!important;
    }
    .dqlpc-staff-step-row .dqlpc-remove-step{width:38px;height:38px}
}

/* v0.4.8 · interfaz móvil integral, fluida y sin barras innecesarias */
.dqlpc-shell{
    overflow-wrap:anywhere;
}
.dqlpc-shell img,
.dqlpc-shell svg,
.dqlpc-shell video{
    max-width:100%;
}
.dqlpc-shell select{
    text-overflow:ellipsis;
}

@media(max-width:760px){
    html.dqlpc-mobile-view,
    html.dqlpc-mobile-view body{
        max-width:100%;
        overflow-x:hidden;
    }
    .dqlpc-shell{
        width:calc(100% - 16px);
        max-width:none;
        margin:10px auto 22px;
        padding:0;
        overflow:clip;
    }
    .dqlpc-shell h2{font-size:clamp(28px,9vw,39px);line-height:1.04}
    .dqlpc-shell h3{font-size:clamp(23px,7.3vw,31px);line-height:1.1}
    .dqlpc-shell h4{line-height:1.2}
    .dqlpc-shell p{line-height:1.58}
    .dqlpc-card,
    .dqlpc-section{
        width:100%;
        max-width:100%;
        margin:14px 0;
        padding:17px;
        border-radius:17px;
        box-shadow:0 10px 26px rgba(20,20,20,.075);
    }
    .dqlpc-eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:7px}
    .dqlpc-muted{font-size:13px;line-height:1.55}

    /* Cabecera y navegación del área personal/profesional. */
    .dqlpc-profile-header{
        gap:17px;
        padding:20px 18px;
        border-radius:17px;
        box-shadow:0 14px 32px rgba(11,11,11,.2);
    }
    .dqlpc-profile-header>div:first-child{min-width:0;width:100%}
    .dqlpc-profile-header h2{margin-bottom:7px}
    .dqlpc-profile-header p{margin-bottom:0;font-size:13px;line-height:1.5}
    .dqlpc-profile-actions,
    .dqlpc-customer-header-actions{
        display:grid;
        grid-template-columns:1fr auto;
        align-items:center;
        gap:9px;
        width:100%;
    }
    .dqlpc-profile-actions .dqlpc-inline-form{grid-column:1/-1;min-width:0;width:100%}
    .dqlpc-profile-actions .dqlpc-inline-form select{width:100%;min-height:44px}
    .dqlpc-profile-actions .dqlpc-link{justify-self:end;white-space:nowrap}
    .dqlpc-points-chip{justify-self:start;min-height:42px;border-radius:13px}

    .dqlpc-panel-menu{
        top:5px;
        grid-auto-columns:minmax(128px,42vw);
        margin:12px 0 17px;
        padding:7px;
        scroll-padding-inline:7px;
        border-radius:17px;
    }
    .dqlpc-panel-menu-item{
        min-width:0;
        min-height:62px;
        padding:8px 9px;
        border-radius:12px;
        font-size:9px;
    }
    .dqlpc-panel-menu-item span{width:23px;height:23px;min-width:23px}
    .dqlpc-panel-pane{min-width:0}
    .dqlpc-panel-pane>.dqlpc-card,
    .dqlpc-panel-pane>.dqlpc-section{margin-top:0}

    /* Encabezados internos y controles táctiles. */
    .dqlpc-card-heading-row,
    .dqlpc-section-heading,
    .dqlpc-managed-customer-head{
        display:grid;
        grid-template-columns:1fr;
        gap:10px;
        align-items:start;
    }
    .dqlpc-card-heading-row .dqlpc-gold-chip,
    .dqlpc-section-heading .dqlpc-gold-chip{justify-self:start}
    .dqlpc-section-heading>div{align-items:flex-start;gap:10px}
    .dqlpc-step{flex:0 0 34px;width:34px;height:34px}
    .dqlpc-button,
    .dqlpc-slot,
    .dqlpc-text-button,
    .dqlpc-link,
    .dqlpc-add-period,
    .dqlpc-remove-period{
        -webkit-tap-highlight-color:transparent;
        touch-action:manipulation;
    }
    .dqlpc-button{min-height:44px;padding:11px 15px;border-radius:11px}
    .dqlpc-button-small{min-height:40px;padding:9px 12px}
    .dqlpc-form>button.dqlpc-button,
    .dqlpc-profile-form>button.dqlpc-button,
    .dqlpc-reward-form>button.dqlpc-button{width:100%}

    .dqlpc-form,
    .dqlpc-profile-fields,
    .dqlpc-two-cols,
    .dqlpc-staff-service-options{
        grid-template-columns:1fr!important;
        gap:13px;
    }
    .dqlpc-staff-service-options>label:last-child{grid-column:auto!important}
    .dqlpc-form input:not([type="checkbox"]):not([type="radio"]),
    .dqlpc-form select,
    .dqlpc-form textarea,
    .dqlpc-date-tools input,
    .dqlpc-date-tools select,
    .dqlpc-notes textarea,
    .dqlpc-holiday-row input,
    .dqlpc-holiday-row select{
        min-width:0;
        min-height:46px;
        padding:11px 12px;
        border-radius:11px;
        font-size:16px;
    }
    .dqlpc-form textarea,
    .dqlpc-notes textarea{min-height:104px;resize:vertical}
    .dqlpc-inline-check{min-height:44px}

    /* Flujo de reserva. */
    .dqlpc-service-grid{grid-template-columns:1fr;gap:11px}
    .dqlpc-service-card{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        gap:12px;
        min-height:82px;
        padding:15px;
        border-radius:15px;
    }
    .dqlpc-service-copy{min-width:0}
    .dqlpc-service-card strong{font-size:15px;line-height:1.25}
    .dqlpc-service-card b{font-size:16px;white-space:nowrap}
    .dqlpc-service-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
    .dqlpc-plan-step{padding:14px;border-radius:16px}
    .dqlpc-plan-step>header{align-items:flex-start;margin-bottom:12px}
    .dqlpc-plan-step>header>span{flex:0 0 34px;width:34px;height:34px}
    .dqlpc-plan-step>header strong{font-size:16px;line-height:1.2}
    .dqlpc-plan-stylists{grid-template-columns:1fr;gap:11px}
    .dqlpc-plan-stylist{
        grid-template-columns:86px minmax(0,1fr);
        min-height:108px;
        border-radius:16px;
    }
    .dqlpc-plan-stylist-photo,
    .dqlpc-plan-stylist.is-any .dqlpc-plan-stylist-photo{width:86px;min-height:108px}
    .dqlpc-plan-stylist>span:last-child{padding:13px 38px 13px 13px}
    .dqlpc-plan-stylist strong{font-size:17px}
    .dqlpc-plan-stylist small{-webkit-line-clamp:2;line-clamp:2;font-size:12px}
    .dqlpc-plan-stylist.is-selected:after{top:13px;right:10px}
    .dqlpc-date-tools{display:grid;grid-template-columns:1fr;gap:10px;margin:15px 0}
    .dqlpc-date-tools label{min-width:0;width:100%}
    .dqlpc-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
    .dqlpc-slot{width:100%;min-width:0;min-height:48px;padding:10px 9px;text-align:center}
    .dqlpc-plan-slot{grid-column:1/-1;min-width:0!important;text-align:left}

    /* Agenda profesional y calendario. */
    .dqlpc-calendar-card{overflow:hidden}
    .dqlpc-calendar-toolbar{padding:18px 16px;gap:13px}
    .dqlpc-calendar-toolbar>div:first-child{width:100%;min-width:0}
    .dqlpc-calendar-toolbar h3{font-size:25px}
    .dqlpc-calendar-toolbar-actions{grid-template-columns:minmax(0,1fr) 42px;gap:8px}
    .dqlpc-calendar-view-switch{padding:3px;border-radius:11px}
    .dqlpc-calendar-view-switch a{min-height:38px;padding:7px 5px;font-size:9px}
    .dqlpc-calendar-nav{gap:7px}
    .dqlpc-calendar-nav a{min-height:40px}
    .dqlpc-calendar-legend{
        display:flex;
        gap:9px 12px;
        padding:11px 15px;
        overflow-x:auto;
        white-space:nowrap;
        scrollbar-width:none;
    }
    .dqlpc-calendar-legend::-webkit-scrollbar{display:none}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-day{min-height:82px}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-event{min-height:19px}
    .dqlpc-calendar-view-month.is-calendar-expanded .dqlpc-calendar-grid{grid-template-columns:repeat(7,minmax(118px,1fr));min-width:826px}
    .dqlpc-timeline-scroll{max-height:min(650px,72vh);border-radius:0 0 14px 14px}
    .dqlpc-calendar-swipe-hint{margin-left:8px}
    .dqlpc-calendar-detail{margin-top:12px}
    .dqlpc-calendar-detail-copy{padding:17px 56px 14px 16px}
    .dqlpc-calendar-detail-preview{padding:12px 12px 0}
    .dqlpc-calendar-detail-body{padding:12px}
    .dqlpc-calendar-detail-list{gap:8px}
    .dqlpc-calendar-detail-list .dqlpc-detail-field{padding:11px 12px}
    .dqlpc-calendar-detail-actions{gap:8px}

    /* Jornada, disponibilidad, festivos y creación manual. */
    .dqlpc-schedule-day{padding:12px;border-radius:14px}
    .dqlpc-schedule-day-head{display:grid;grid-template-columns:1fr;gap:9px}
    .dqlpc-add-period{width:100%;border-radius:11px}
    .dqlpc-period-row{grid-template-columns:1fr 1fr 36px;gap:7px}
    .dqlpc-period-icon{display:none}
    .dqlpc-period-row input[type=time]{font-size:16px}
    .dqlpc-holiday-row{padding:12px;border-radius:13px}
    .dqlpc-manual-booking-layout{grid-template-columns:1fr;gap:14px}
    .dqlpc-manual-booking-form,
    .dqlpc-manual-recommendations{padding:15px;border-radius:15px}
    .dqlpc-manual-recommendations{position:static}
    .dqlpc-manual-slots{grid-template-columns:1fr 1fr}
    .dqlpc-manual-slot{min-height:58px}

    /* Tienda, puntos, premios y fichas de clientes. */
    .dqlpc-points-hero{padding:18px;border-radius:17px}
    .dqlpc-points-balance-card{width:100%;padding:14px;border-radius:14px}
    .dqlpc-points-heading{display:grid;grid-template-columns:1fr;gap:11px;margin-bottom:16px}
    .dqlpc-points-heading .dqlpc-points-total{justify-self:start;margin:0}
    .dqlpc-points-columns,
    .dqlpc-managed-grid,
    .dqlpc-reward-grid,
    .dqlpc-rewards-admin-layout{grid-template-columns:1fr}
    .dqlpc-points-movement,
    .dqlpc-redemption-row{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
        padding:12px;
    }
    .dqlpc-points-movement>div:last-child,
    .dqlpc-redemption-row>div:last-child{text-align:left;justify-items:start}
    .dqlpc-reward-card{border-radius:16px}
    .dqlpc-reward-image{height:180px}
    .dqlpc-reward-copy{padding:15px}
    .dqlpc-reward-admin-row{grid-template-columns:52px minmax(0,1fr);gap:10px}
    .dqlpc-reward-admin-row>details,
    .dqlpc-reward-admin-row>form,
    .dqlpc-reward-admin-row>.dqlpc-status-badge{grid-column:1/-1}
    .dqlpc-managed-stats{grid-template-columns:1fr 1fr;gap:8px}
    .dqlpc-managed-stats>div{padding:12px}

    /* Tablas convertidas en fichas legibles, sin desplazamiento horizontal. */
    .dqlpc-table-wrap.dqlpc-mobile-table-wrap,
    .dqlpc-table-wrap:has(.dqlpc-responsive-table){overflow:visible}
    .dqlpc-responsive-table{
        display:block;
        width:100%;
        min-width:0!important;
        border-collapse:separate;
        font-size:13px;
    }
    .dqlpc-responsive-table thead{
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0 0 0 0);
        white-space:nowrap;
    }
    .dqlpc-responsive-table tbody{display:grid;gap:11px}
    .dqlpc-responsive-table tbody tr{
        display:grid;
        gap:0;
        padding:5px 12px;
        border:1px solid var(--dqlpc-border);
        border-radius:15px;
        background:linear-gradient(145deg,#fff,#fbf8f2);
        box-shadow:0 7px 18px rgba(20,20,20,.055);
    }
    .dqlpc-responsive-table td{
        display:grid;
        grid-template-columns:minmax(92px,35%) minmax(0,1fr);
        gap:10px;
        align-items:start;
        width:100%;
        min-width:0;
        padding:10px 0;
        border:0;
        border-bottom:1px solid #ebe2d3;
        overflow-wrap:anywhere;
    }
    .dqlpc-responsive-table td:last-child{border-bottom:0}
    .dqlpc-responsive-table td:before{
        content:attr(data-label);
        color:var(--dqlpc-bronze);
        font-size:9px;
        font-weight:900;
        letter-spacing:.07em;
        line-height:1.4;
        text-transform:uppercase;
    }
    .dqlpc-responsive-table td.dqlpc-table-empty-row{
        display:block;
        padding:18px 2px;
        border:0;
        text-align:center;
        color:var(--dqlpc-graphite);
    }
    .dqlpc-responsive-table td.dqlpc-table-empty-row:before{display:none}
    .dqlpc-responsive-table td form,
    .dqlpc-responsive-table td .dqlpc-button{max-width:100%}
    .dqlpc-responsive-table td .dqlpc-button{width:100%}
    .dqlpc-customer-appointments-table,
    .dqlpc-history-table{min-width:0!important}

    /* Tarjetas de justificantes, perfil y acceso superior. */
    .dqlpc-appointment-card-grid{grid-template-columns:1fr;gap:13px}
    .dqlpc-appointment-preview-card{border-radius:15px}
    .dqlpc-profile-editor{padding:16px}
    .dqlpc-profile-editor-heading{display:grid;gap:8px}
    .dqlpc-header-widget{width:100%;justify-items:stretch}
    .dqlpc-header-widget .dqlpc-header-access{width:100%;justify-content:center;flex-wrap:wrap;border-radius:18px}
    .dqlpc-header-access-user .dqlpc-header-welcome{flex:1 1 150px}
    .dqlpc-header-cta{flex:1 1 110px}
    .dqlpc-header-note{text-align:center}
}

@media(max-width:430px){
    .dqlpc-shell{width:calc(100% - 12px)}
    .dqlpc-card,.dqlpc-section{padding:14px;border-radius:15px}
    .dqlpc-profile-header{padding:18px 15px}
    .dqlpc-panel-menu{grid-auto-columns:minmax(116px,47vw)}
    .dqlpc-slots,
    .dqlpc-manual-slots,
    .dqlpc-managed-stats{grid-template-columns:1fr}
    .dqlpc-plan-stylist{grid-template-columns:78px minmax(0,1fr);min-height:102px}
    .dqlpc-plan-stylist-photo,
    .dqlpc-plan-stylist.is-any .dqlpc-plan-stylist-photo{width:78px;min-height:102px}
    .dqlpc-calendar-toolbar{padding:16px 13px}
    .dqlpc-calendar-view-switch a{font-size:8.5px}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-day{min-height:76px;padding:4px 3px}
    .dqlpc-calendar-view-month:not(.is-calendar-expanded) .dqlpc-calendar-day-link time{width:22px;height:22px;font-size:10px}
    .dqlpc-responsive-table td{grid-template-columns:1fr;gap:4px}
    .dqlpc-responsive-table td:before{margin-bottom:1px}
    .dqlpc-period-row{grid-template-columns:1fr 1fr 34px;padding:8px}
    .dqlpc-header-access-guest .dqlpc-header-login,
    .dqlpc-header-access-guest .dqlpc-header-register{flex:1 1 120px}
}

/* v0.4.9 · cabecera móvil, periodos de vacaciones y eliminación recuperable */
.dqlpc-header-points,
.dqlpc-header-account-state{
    display:inline-flex;
    align-items:center;
    gap:4px;
    width:max-content;
    max-width:100%;
    padding:3px 7px;
    border:1px solid rgba(197,160,82,.35);
    border-radius:999px;
    background:rgba(197,160,82,.1);
    color:var(--dqlpc-champagne)!important;
    font-size:9px!important;
    font-weight:800!important;
    letter-spacing:.025em!important;
    line-height:1.1;
    text-transform:none!important;
}
.dqlpc-header-points span{font-size:9px;line-height:1}
.dqlpc-header-access-user.is-pending-delete{border-color:rgba(177,52,52,.65)}
.dqlpc-header-access-user.is-pending-delete .dqlpc-header-account-state{border-color:rgba(220,105,105,.42);background:rgba(145,30,30,.18);color:#ffd6d6!important}

.dqlpc-range-exception-form{
    margin-top:16px;
    padding:18px;
    border:1px solid rgba(197,160,82,.3);
    border-radius:16px;
    background:linear-gradient(145deg,#fffdf9,#f8f2e8);
}
.dqlpc-full-day-check{
    width:max-content;
    max-width:100%;
    padding:10px 12px;
    border:1px solid rgba(197,160,82,.32);
    border-radius:12px;
    background:rgba(197,160,82,.08);
}
.dqlpc-exception-batches{margin-top:18px}
.dqlpc-exception-batch{gap:14px!important}
.dqlpc-exception-batch>span{min-width:0;overflow-wrap:anywhere}
.dqlpc-exception-batch form{flex:0 0 auto}

.dqlpc-account-danger-zone{
    margin-top:22px;
    border:1px solid rgba(154,43,43,.24);
    border-radius:16px;
    background:#fff9f8;
    overflow:hidden;
}
.dqlpc-account-danger-zone>summary{
    padding:15px 18px;
    color:#8f2929;
    font-weight:800;
    cursor:pointer;
}
.dqlpc-account-danger-content{display:grid;gap:10px;padding:0 18px 18px}
.dqlpc-account-danger-content h4{margin:0;color:#5d2020}
.dqlpc-account-danger-content p{margin:0;color:#725c5c;line-height:1.55}
.dqlpc-account-danger-content .dqlpc-form{margin-top:6px}

.dqlpc-account-recovery-shell{max-width:760px!important}
.dqlpc-account-recovery-card{
    display:grid;
    justify-items:center;
    gap:14px;
    padding:42px!important;
    text-align:center;
}
.dqlpc-account-recovery-card h2{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(30px,5vw,48px)}
.dqlpc-account-recovery-card p{max-width:640px;margin:0;line-height:1.65}
.dqlpc-account-recovery-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#141414;color:#e3c77b;font-size:30px;box-shadow:0 10px 26px rgba(20,20,20,.16)}
.dqlpc-account-countdown{display:inline-flex;padding:8px 14px;border:1px solid rgba(197,160,82,.5);border-radius:999px;background:#fbf4e5;color:#6c4e37;font-weight:800}
.dqlpc-account-recovery-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.dqlpc-account-recovery-actions form{margin:0}
.dqlpc-account-delete-warning{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:14px 0 20px;
    padding:15px 17px;
    border:1px solid rgba(174,54,54,.28);
    border-radius:14px;
    background:#fff5f3;
}
.dqlpc-account-delete-warning>div{display:grid;gap:3px}
.dqlpc-account-delete-warning strong{color:#7f2222}
.dqlpc-account-delete-warning span{color:#725c5c;font-size:13px}
.dqlpc-status-pending-delete{background:#fff0ed!important;color:#8c2e25!important;border-color:#e6bbb5!important}

@media(max-width:600px){
    .dqlpc-header-widget .dqlpc-header-access-user{
        display:grid;
        grid-template-columns:minmax(0,1fr) 34px;
        gap:6px;
        width:100%;
        padding:6px;
        border-radius:20px;
    }
    .dqlpc-header-access-user .dqlpc-header-welcome{
        grid-column:1;
        width:auto;
        min-width:0;
        padding:5px 7px;
    }
    .dqlpc-header-access-user .dqlpc-header-logout{
        grid-column:2;
        grid-row:1;
        align-self:center;
    }
    .dqlpc-header-access-user .dqlpc-header-cta{
        grid-column:1/-1;
        grid-row:2;
        width:100%;
        min-height:38px;
        padding:8px 14px;
        border-radius:14px;
    }
    .dqlpc-header-access-user .dqlpc-header-welcome-copy{gap:4px}
    .dqlpc-header-access-user .dqlpc-header-welcome-copy strong{max-width:190px;font-size:12px}
    .dqlpc-header-access-user .dqlpc-header-welcome-copy .dqlpc-header-points,
    .dqlpc-header-access-user .dqlpc-header-welcome-copy .dqlpc-header-account-state{display:inline-flex!important}
    .dqlpc-header-note{margin-top:2px!important;font-size:9px!important}
    .dqlpc-range-exception-form{padding:14px}
    .dqlpc-exception-batch{display:grid!important;grid-template-columns:1fr}
    .dqlpc-exception-batch form,.dqlpc-exception-batch button{width:100%}
    .dqlpc-account-recovery-card{padding:26px 18px!important}
    .dqlpc-account-recovery-actions{display:grid;width:100%}
    .dqlpc-account-recovery-actions form,.dqlpc-account-recovery-actions .dqlpc-button{width:100%}
    .dqlpc-account-delete-warning{display:grid}
    .dqlpc-account-delete-warning form,.dqlpc-account-delete-warning button{width:100%}
}

/* v0.5.0 · agenda profesional integrada en un marco más limpio */
.dqlpc-staff-panel .dqlpc-calendar-card{
    padding:10px!important;
    border-radius:24px;
    background:linear-gradient(145deg,#fffdf9,var(--dqlpc-ivory));
    border-color:rgba(197,160,82,.58);
}
.dqlpc-staff-panel .dqlpc-calendar-toolbar{
    border-radius:18px 18px 0 0;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.dqlpc-staff-panel .dqlpc-calendar-legend{
    margin:0;
}
.dqlpc-staff-panel .dqlpc-calendar-scroll,
.dqlpc-staff-panel .dqlpc-timeline-scroll{
    border-radius:0 0 16px 16px;
}
.dqlpc-staff-panel .dqlpc-calendar-detail{
    margin:14px 0 0;
    border-radius:17px;
}
@media(max-width:760px){
    .dqlpc-staff-panel .dqlpc-calendar-card{padding:6px!important;border-radius:20px}
    .dqlpc-staff-panel .dqlpc-calendar-toolbar{border-radius:15px 15px 0 0}
    .dqlpc-staff-panel .dqlpc-calendar-scroll,
    .dqlpc-staff-panel .dqlpc-timeline-scroll{border-radius:0 0 14px 14px}
    .dqlpc-staff-panel .dqlpc-calendar-detail{margin-top:10px;border-radius:15px}
}


/* v0.5.3 · corrección visual de la burbuja de Servicios */
.dqlpc-card-heading-row .dqlpc-gold-chip,
.dqlpc-section-heading .dqlpc-gold-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    width:auto;
    max-width:100%;
    min-width:max-content;
    padding:10px 16px;
    border-radius:999px;
    line-height:1.1;
    white-space:nowrap;
    word-break:keep-all;
    overflow:hidden;
    text-overflow:ellipsis;
    flex:0 0 auto;
}

@media(max-width:760px){
    .dqlpc-card-heading-row .dqlpc-gold-chip,
    .dqlpc-section-heading .dqlpc-gold-chip{
        padding:8px 14px;
        font-size:12px;
        min-width:auto;
        white-space:normal;
    }
}


/* v0.5.4 · paginación y búsqueda de clientes */
.dqlpc-customer-search{
    display:grid;
    gap:8px;
    margin:22px 0 18px;
    padding:15px;
    border:1px solid var(--dqlpc-border);
    border-radius:16px;
    background:linear-gradient(145deg,#fffdf8,#f6f0e6);
}
.dqlpc-customer-search>label{
    margin:0;
    color:var(--dqlpc-black);
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.dqlpc-customer-search-row{
    display:grid;
    grid-template-columns:minmax(220px,1fr) auto auto;
    gap:10px;
    align-items:center;
}
.dqlpc-customer-search-row input[type="search"]{
    width:100%;
    min-width:0;
    min-height:46px;
    margin:0;
}
.dqlpc-search-summary{
    margin:2px 0 0;
    color:var(--dqlpc-graphite);
    font-size:13px;
}
.dqlpc-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px;
    margin:20px 0 0;
}
.dqlpc-pagination a,
.dqlpc-pagination-gap{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:38px;
    padding:0 10px;
    border:1px solid var(--dqlpc-border);
    border-radius:11px;
    background:#fffdf8;
    color:var(--dqlpc-black);
    font-weight:900;
    text-decoration:none;
    box-shadow:0 5px 14px rgba(20,20,20,.045);
}
.dqlpc-pagination a:hover,
.dqlpc-pagination a:focus-visible{
    border-color:var(--dqlpc-gold);
    background:#fff7e4;
    color:var(--dqlpc-black);
}
.dqlpc-pagination a.is-current{
    border-color:var(--dqlpc-gold);
    background:var(--dqlpc-black);
    color:var(--dqlpc-champagne);
}
.dqlpc-pagination a.is-disabled{
    opacity:.35;
    pointer-events:none;
}
.dqlpc-pagination-gap{
    min-width:28px;
    padding:0;
    border-color:transparent;
    background:transparent;
    box-shadow:none;
}
@media(max-width:760px){
    .dqlpc-customer-search{padding:13px;margin-top:16px}
    .dqlpc-customer-search-row{grid-template-columns:1fr 1fr}
    .dqlpc-customer-search-row input[type="search"]{grid-column:1/-1}
    .dqlpc-customer-search-row .dqlpc-button{width:100%;justify-content:center}
    .dqlpc-pagination{gap:5px;margin-top:16px}
    .dqlpc-pagination a,.dqlpc-pagination-gap{min-width:34px;height:34px;padding:0 8px;border-radius:10px;font-size:13px}
}


/* v0.5.5 · ofertas de puntos y sorteos auditables */
.dqlpc-loyalty-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin:24px 0}
.dqlpc-loyalty-tools>.dqlpc-card{margin:0;padding:22px;background:linear-gradient(145deg,#fffdf8,#f5efe4);border:1px solid var(--dqlpc-border);box-shadow:0 14px 34px rgba(20,20,20,.07)}
.dqlpc-tool-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.dqlpc-tool-heading h4{margin:4px 0 0;font:700 25px/1.15 "Playfair Display",Georgia,serif}.dqlpc-tool-icon{width:48px;height:48px;flex:0 0 48px;border-radius:16px;display:grid;place-items:center;background:var(--dqlpc-black);color:var(--dqlpc-champagne);border:1px solid var(--dqlpc-gold);font-weight:900;font-size:18px;box-shadow:0 8px 22px rgba(20,20,20,.14)}
.dqlpc-promotion-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:18px}.dqlpc-promotion-form .is-wide{grid-column:1/-1}.dqlpc-promotion-form button{align-self:end;min-height:48px}
.dqlpc-promotion-list{display:grid;gap:9px;margin-top:18px;max-height:330px;overflow:auto;padding-right:3px}.dqlpc-promotion-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:12px 13px;border:1px solid #dfd3bd;border-radius:14px;background:rgba(255,255,255,.72)}.dqlpc-promotion-row.is-inactive{opacity:.62}.dqlpc-promotion-row strong,.dqlpc-promotion-row small{display:block}.dqlpc-promotion-row small{margin-top:3px;color:var(--dqlpc-graphite)}.dqlpc-promotion-row>b{font:800 18px/1 Montserrat,sans-serif;color:var(--dqlpc-bronze)}
.dqlpc-raffle-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:18px}.dqlpc-raffle-form button{min-height:48px}
.dqlpc-raffle-winner{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:18px;padding:16px;border-radius:18px;background:linear-gradient(135deg,#141414,#242019);color:var(--dqlpc-warm-white);border:1px solid var(--dqlpc-gold);box-shadow:0 14px 30px rgba(20,20,20,.18)}.dqlpc-raffle-crown{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#e3c77b,#b79a67);color:#141414;font-size:22px}.dqlpc-raffle-winner span,.dqlpc-raffle-winner small{display:block}.dqlpc-raffle-winner span{color:var(--dqlpc-champagne);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.dqlpc-raffle-winner strong{display:block;margin:3px 0;font:700 21px/1.2 "Playfair Display",Georgia,serif}.dqlpc-raffle-winner small{color:#d8ccb5}.dqlpc-raffle-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.dqlpc-raffle-history{display:grid;gap:8px;margin-top:14px}.dqlpc-raffle-history article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #dfd3bd;border-radius:13px;background:#fff}.dqlpc-raffle-history strong,.dqlpc-raffle-history small{display:block}.dqlpc-raffle-history small{color:var(--dqlpc-graphite);font-size:11px}.dqlpc-raffle-history code{font-size:10px;color:var(--dqlpc-bronze);word-break:break-all}.dqlpc-raffle-history a{font-weight:800;color:var(--dqlpc-bronze)}.dqlpc-raffle-empty{display:grid;gap:5px;margin-top:18px;padding:18px;border:1px dashed var(--dqlpc-gold);border-radius:16px;background:rgba(197,160,82,.08)}.dqlpc-raffle-empty span{color:var(--dqlpc-graphite)}
@media(max-width:1050px){.dqlpc-loyalty-tools{grid-template-columns:1fr}}
@media(max-width:760px){.dqlpc-loyalty-tools{gap:14px;margin:18px 0}.dqlpc-loyalty-tools>.dqlpc-card{padding:17px;border-radius:18px}.dqlpc-tool-heading h4{font-size:22px}.dqlpc-tool-icon{width:42px;height:42px;flex-basis:42px;border-radius:14px}.dqlpc-promotion-form{grid-template-columns:1fr 1fr}.dqlpc-promotion-form .is-wide,.dqlpc-promotion-form label:last-of-type,.dqlpc-promotion-form button{grid-column:1/-1}.dqlpc-promotion-row{grid-template-columns:minmax(0,1fr) auto}.dqlpc-promotion-row .dqlpc-status-badge,.dqlpc-promotion-row form{grid-column:auto}.dqlpc-raffle-form{grid-template-columns:1fr}.dqlpc-raffle-winner{grid-template-columns:48px minmax(0,1fr);padding:14px}.dqlpc-raffle-crown{width:48px;height:48px;border-radius:15px}.dqlpc-raffle-actions{grid-column:1/-1;justify-content:stretch}.dqlpc-raffle-actions .dqlpc-button{flex:1}.dqlpc-raffle-history article{grid-template-columns:minmax(0,1fr) auto}.dqlpc-raffle-history code{grid-column:1/-1}.dqlpc-raffle-history a{grid-column:2;grid-row:1/3}}

/* v0.5.6 · promociones visibles y bonificación manual de puntos */
.dqlpc-calendar-legend .is-promotion{
    background:linear-gradient(135deg,var(--dqlpc-gold),var(--dqlpc-champagne));
    box-shadow:0 0 0 3px rgba(197,160,82,.16);
}
.dqlpc-calendar-day.has-promotion{
    box-shadow:inset 0 3px 0 rgba(197,160,82,.78);
}
.dqlpc-calendar-day-badges{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
    min-width:0;
}
.dqlpc-calendar-appointment-count{
    display:grid;
    place-items:center;
    min-width:23px;
    height:23px;
    padding:0 6px;
    border-radius:999px;
    background:var(--dqlpc-black);
    color:var(--dqlpc-champagne);
    font-size:10px;
    font-weight:900;
}
.dqlpc-calendar-promotion-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:23px;
    padding:0 7px;
    border:1px solid rgba(197,160,82,.72);
    border-radius:999px;
    background:linear-gradient(135deg,#fff8e9,#f3dfad);
    color:#6e5223;
    box-shadow:0 4px 11px rgba(92,66,27,.12);
    font-size:9px;
    font-weight:900;
    letter-spacing:.02em;
    white-space:nowrap;
}
.dqlpc-timeline-day-head{position:sticky}
.dqlpc-timeline-promotion{
    position:absolute;
    top:6px;
    right:6px;
    display:inline-flex;
    align-items:center;
    min-height:20px;
    padding:0 6px;
    border:1px solid rgba(227,199,123,.68);
    border-radius:999px;
    background:rgba(197,160,82,.2);
    color:var(--dqlpc-champagne);
    font:900 9px/1 Montserrat,sans-serif;
    font-style:normal;
    letter-spacing:.02em;
}
.dqlpc-date-promotion{
    display:flex;
    align-items:center;
    gap:9px;
    margin:12px 0 2px;
    padding:10px 13px;
    border:1px solid rgba(197,160,82,.5);
    border-radius:14px;
    background:linear-gradient(135deg,#fffaf0,#f4e4bd);
    color:#5e451c;
    box-shadow:0 8px 18px rgba(75,52,18,.08);
}
.dqlpc-date-promotion.dqlpc-form [hidden],.dqlpc-recurrence-form [hidden]{display:none!important}
.dqlpc-date-promotion>span{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--dqlpc-black);
    color:var(--dqlpc-champagne);
    flex:0 0 28px;
}
.dqlpc-date-promotion strong{font-size:13px;white-space:nowrap}
.dqlpc-date-promotion small{color:var(--dqlpc-graphite);line-height:1.35}
.dqlpc-slot-promotion{
    display:inline-flex!important;
    align-items:center;
    width:max-content;
    margin-top:5px;
    padding:4px 7px;
    border-radius:999px;
    background:#f5e4b9!important;
    color:#684d1f!important;
    font-size:9px!important;
    letter-spacing:.02em;
}
.dqlpc-field-help{
    display:block;
    margin-top:6px;
    color:var(--dqlpc-graphite);
    font-size:11px;
    font-weight:500;
    line-height:1.45;
}

@media(max-width:760px){
    .dqlpc-calendar-day-badges{gap:3px}
    .dqlpc-calendar-promotion-badge{min-height:20px;padding:0 5px;font-size:8px}
    .dqlpc-calendar-appointment-count{min-width:20px;height:20px;padding:0 5px;font-size:8px}
    .dqlpc-timeline-promotion{top:4px;right:4px;min-height:18px;padding:0 5px;font-size:8px}
    .dqlpc-date-promotion{align-items:flex-start;flex-wrap:wrap;padding:10px 11px}
    .dqlpc-date-promotion small{flex:1 1 100%;padding-left:37px;margin-top:-5px}
}


/* v0.5.7 · consentimiento legal obligatorio en el registro */
.dqlpc-form .dqlpc-legal-consent{
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:10px;
    align-items:flex-start;
    margin:2px 0 0;
    padding:13px 14px;
    border:1px solid var(--dqlpc-border);
    border-radius:12px;
    background:#fffaf0;
    color:var(--dqlpc-graphite);
    font-size:13px;
    font-weight:600;
    line-height:1.55;
}
.dqlpc-form .dqlpc-legal-consent input[type="checkbox"]{
    width:18px;
    height:18px;
    margin:2px 0 0;
    accent-color:var(--dqlpc-gold);
}
.dqlpc-form .dqlpc-legal-consent a{
    color:var(--dqlpc-bronze);
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:2px;
}
.dqlpc-form .dqlpc-legal-help{margin-top:-7px;padding-left:2px}

/* v0.5.8 · tienda compacta con cinco productos por fila */
.dqlpc-points-store .dqlpc-reward-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:15px;
    align-items:stretch;
}
.dqlpc-points-store .dqlpc-reward-card{
    display:flex;
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(197,160,82,.42);
    border-radius:16px;
    background:var(--dqlpc-ivory,#f8f5ef);
    box-shadow:0 8px 22px rgba(20,20,20,.07);
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.dqlpc-points-store .dqlpc-reward-card:hover{
    transform:translateY(-3px);
    border-color:var(--dqlpc-gold,#c5a052);
    box-shadow:0 14px 30px rgba(20,20,20,.12);
}
.dqlpc-points-store .dqlpc-reward-card.is-locked{
    opacity:.72;
    filter:saturate(.82);
}
.dqlpc-points-store .dqlpc-reward-image{
    width:100%;
    height:auto;
    aspect-ratio:4/5;
    min-height:0;
    padding:10px;
    background-color:var(--dqlpc-black,#141414);
    background-position:center;
    background-size:cover;
}
.dqlpc-points-store .dqlpc-reward-image:after{
    background:linear-gradient(to top,rgba(11,11,11,.7),rgba(11,11,11,.02) 64%);
}
.dqlpc-points-store .dqlpc-reward-image.is-empty span{
    font-size:42px;
}
.dqlpc-points-store .dqlpc-reward-image b{
    max-width:100%;
    padding:4px 7px;
    overflow:hidden;
    border-radius:999px;
    font-size:8px;
    line-height:1.2;
    letter-spacing:.08em;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.dqlpc-points-store .dqlpc-reward-copy{
    display:flex;
    min-width:0;
    flex:1;
    flex-direction:column;
    gap:7px;
    padding:12px;
    background:#fff;
}
.dqlpc-points-store .dqlpc-reward-card-head{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:5px;
}
.dqlpc-points-store .dqlpc-reward-card-head h4{
    display:-webkit-box;
    min-height:2.45em;
    margin:0;
    overflow:hidden;
    color:var(--dqlpc-black,#141414);
    font:700 16px/1.22 "Playfair Display",Georgia,serif;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
}
.dqlpc-points-store .dqlpc-reward-card-head strong{
    width:max-content;
    max-width:100%;
    padding:4px 8px;
    border-radius:999px;
    background:rgba(197,160,82,.16);
    color:var(--dqlpc-bronze,#7c6142);
    font-size:11px;
    font-weight:800;
    line-height:1.2;
    white-space:normal;
}
.dqlpc-points-store .dqlpc-reward-copy p{
    display:-webkit-box;
    min-height:2.8em;
    margin:0;
    overflow:hidden;
    color:var(--dqlpc-graphite,#5f6368);
    font-size:11px;
    line-height:1.4;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
}
.dqlpc-points-store .dqlpc-reward-copy>small{
    display:block;
    overflow:hidden;
    color:var(--dqlpc-bronze,#7c6142);
    font-size:10px;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.dqlpc-points-store .dqlpc-reward-copy form{
    margin-top:auto;
    padding-top:3px;
}
.dqlpc-points-store .dqlpc-reward-copy .dqlpc-button{
    min-height:36px;
    width:100%;
    padding:8px 7px;
    border-radius:10px;
    font-size:9px;
    line-height:1.25;
    letter-spacing:.035em;
    white-space:normal;
}

@media(max-width:1180px){
    .dqlpc-points-store .dqlpc-reward-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
    .dqlpc-points-store .dqlpc-reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
    .dqlpc-points-store .dqlpc-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .dqlpc-points-store .dqlpc-reward-card{border-radius:14px}
    .dqlpc-points-store .dqlpc-reward-copy{padding:10px}
    .dqlpc-points-store .dqlpc-reward-card-head h4{font-size:15px}
}
@media(max-width:350px){
    .dqlpc-points-store .dqlpc-reward-grid{grid-template-columns:1fr}
    .dqlpc-points-store .dqlpc-reward-image{aspect-ratio:5/4}
}



/* v0.5.9 · integración con calendarios del móvil, Google y Outlook */
.dqlpc-calendar-dialog-open{overflow:hidden}
.dqlpc-calendar-confirmation.dqlpc-form [hidden],.dqlpc-recurrence-form [hidden]{display:none!important}
.dqlpc-calendar-confirmation{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:18px}
.dqlpc-calendar-confirmation-backdrop{position:absolute;inset:0;background:rgba(11,11,11,.72);backdrop-filter:blur(5px)}
.dqlpc-calendar-confirmation-card{position:relative;z-index:1;width:min(680px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:34px;border:1px solid rgba(197,160,82,.72);border-radius:24px;background:linear-gradient(145deg,#fff,#f8f5ef);box-shadow:0 28px 90px rgba(0,0,0,.36);text-align:center}
.dqlpc-calendar-confirmation-card h3{margin:8px 0 8px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(28px,5vw,42px);color:#141414}
.dqlpc-calendar-confirmation-card>p{max-width:540px;margin:0 auto 22px;color:#5f6368;line-height:1.65}
.dqlpc-calendar-confirmation-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 12px;border-radius:50%;background:#141414;color:#e3c77b;font-size:30px;box-shadow:0 9px 24px rgba(20,20,20,.2)}
.dqlpc-calendar-confirmation-close{position:absolute;top:13px;right:15px;width:38px;height:38px;border:0;border-radius:50%;background:#eee6d8;color:#141414;font-size:26px;line-height:1;cursor:pointer}
.dqlpc-calendar-confirmation-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:left}
.dqlpc-calendar-option{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:112px;padding:16px;border:1px solid #d8ccb5;border-radius:16px;background:#fff;color:#141414;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.dqlpc-calendar-option:hover,.dqlpc-calendar-option:focus-visible{transform:translateY(-2px);border-color:#c5a052;box-shadow:0 12px 28px rgba(20,20,20,.11);color:#141414}
.dqlpc-calendar-option>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#141414;color:#e3c77b;font-weight:900;font-size:18px}
.dqlpc-calendar-option strong{font-size:14px;line-height:1.3}.dqlpc-calendar-option small{color:#5f6368;line-height:1.35}
.dqlpc-calendar-confirmation-finish{margin-top:20px}
.dqlpc-calendar-add-menu{position:relative;min-width:178px}
.dqlpc-calendar-add-menu summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid #c5a052;border-radius:10px;background:#141414;color:#f5f2ec;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.dqlpc-calendar-add-menu summary::-webkit-details-marker{display:none}
.dqlpc-calendar-add-menu summary span{color:#e3c77b}
.dqlpc-calendar-add-menu[open] summary{background:#252525}
.dqlpc-calendar-add-options{position:static;width:250px;max-width:100%;margin-top:7px;padding:8px;border:1px solid #d8ccb5;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(20,20,20,.14)}
.dqlpc-calendar-add-options a{display:grid;gap:2px;padding:10px 11px;border-radius:9px;color:#141414;text-decoration:none}
.dqlpc-calendar-add-options a:hover,.dqlpc-calendar-add-options a:focus-visible{background:#f8f5ef;color:#141414}
.dqlpc-calendar-add-options strong{font-size:13px}.dqlpc-calendar-add-options small{color:#5f6368;font-size:11px}
.dqlpc-calendar-add-menu.is-compact{min-width:0}.dqlpc-calendar-add-menu.is-compact summary{min-height:34px;padding:7px 10px}
.dqlpc-calendar-unavailable{color:#8b8172;font-size:12px}
.dqlpc-history-calendar-block{margin:4px 0 26px;padding:18px;border:1px solid rgba(197,160,82,.55);border-radius:18px;background:linear-gradient(145deg,#fff,#fbf7ef)}
.dqlpc-history-calendar-heading{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:13px}
.dqlpc-history-calendar-heading>div{display:flex;align-items:center;gap:9px}.dqlpc-history-calendar-heading span{color:#b79a67;font-size:22px}
.dqlpc-history-calendar-heading h4,.dqlpc-history-past-heading h4{margin:0;font-family:"Playfair Display",Georgia,serif;color:#141414;font-size:22px}
.dqlpc-history-calendar-heading p{margin:0;color:#5f6368;font-size:13px}
.dqlpc-history-past-heading{margin:8px 0 12px;padding-top:5px}
@media(max-width:760px){
    .dqlpc-calendar-confirmation-card{padding:28px 18px 22px;border-radius:20px}
    .dqlpc-calendar-confirmation-options{grid-template-columns:1fr}
    .dqlpc-calendar-option{min-height:82px}
    .dqlpc-calendar-add-menu{width:100%}.dqlpc-calendar-add-menu summary{width:100%}
    .dqlpc-calendar-add-options{position:static;width:100%;margin-top:7px;box-shadow:none}
    .dqlpc-history-calendar-block{padding:14px}
    .dqlpc-history-calendar-heading{display:grid;gap:5px;align-items:start}
}

/* v0.6.0 · exportación profesional, confirmación masiva y descuentos de tienda */
.dqlpc-calendar-export-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 0 16px;
    padding:16px 18px;
    border:1px solid rgba(197,160,82,.55);
    border-radius:18px;
    background:linear-gradient(135deg,#141414,#252525);
    color:#f5f2ec;
    box-shadow:0 12px 28px rgba(20,20,20,.12);
}
.dqlpc-calendar-export-bar>div{display:flex;align-items:center;gap:13px;min-width:0}
.dqlpc-calendar-export-bar>div>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#c5a052;color:#141414;font-size:20px}
.dqlpc-calendar-export-bar strong{display:block;color:#f5f2ec;font:700 19px/1.2 "Playfair Display",Georgia,serif}
.dqlpc-calendar-export-bar small{display:block;margin-top:4px;color:#d8ccb5;font-size:12px;line-height:1.45}
.dqlpc-calendar-export-bar .dqlpc-button{flex:0 0 auto;margin:0}

.dqlpc-history-heading-actions{align-items:flex-start}
.dqlpc-history-bulk-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.dqlpc-history-bulk-actions form{margin:0}
.dqlpc-calendar-history-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid #c5a052;border-radius:10px;background:#141414;color:#f5f2ec!important;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
.dqlpc-calendar-history-link:hover,.dqlpc-calendar-history-link:focus-visible{background:#252525;color:#e3c77b!important}
.dqlpc-calendar-history-link span{color:#e3c77b}

.dqlpc-loyalty-tools{grid-template-columns:repeat(3,minmax(0,1fr))}
.dqlpc-store-discount-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.dqlpc-store-discount-form label{margin:0}
.dqlpc-store-discount-form button{grid-column:1/-1;width:100%}
.dqlpc-store-discount-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.dqlpc-store-discount-summary span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;border:1px solid #d8ccb5;border-radius:11px;background:#fff;color:#5f6368;font-size:12px}
.dqlpc-store-discount-summary strong{color:#7c6142;font-size:14px}

.dqlpc-points-store .dqlpc-reward-image{position:relative}
.dqlpc-store-discount-badge{position:absolute;top:8px;right:8px;display:grid;place-items:center;min-width:43px;height:28px;padding:0 8px;border-radius:999px;background:#141414;color:#e3c77b;font-style:normal;font-size:11px;font-weight:900;box-shadow:0 5px 14px rgba(0,0,0,.22)}
.dqlpc-reward-cost{display:grid;justify-items:end;gap:3px;min-width:0}
.dqlpc-reward-cost del{color:#8b8172;font-size:9px;font-weight:700;line-height:1;text-decoration-thickness:1px}
.dqlpc-points-store .dqlpc-reward-cost strong{margin:0}

@media(max-width:1350px) and (min-width:1051px){
    .dqlpc-loyalty-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
    .dqlpc-loyalty-tools>.dqlpc-raffle-box{grid-column:1/-1}
}
@media(max-width:760px){
    .dqlpc-calendar-export-bar{display:grid;padding:14px;border-radius:15px}
    .dqlpc-calendar-export-bar .dqlpc-button{width:100%}
    .dqlpc-history-bulk-actions{width:100%;justify-content:stretch}
    .dqlpc-history-bulk-actions>*{flex:1 1 auto}
    .dqlpc-history-bulk-actions form,.dqlpc-history-bulk-actions .dqlpc-button{width:100%}
    .dqlpc-store-discount-form,.dqlpc-store-discount-summary{grid-template-columns:1fr}
}

/* v0.6.1 · selector de calendario también en el panel profesional */
.dqlpc-calendar-export-bar .dqlpc-staff-calendar-add-menu{
    flex:0 0 auto;
    min-width:215px;
}
.dqlpc-calendar-export-bar .dqlpc-staff-calendar-add-menu summary{
    width:100%;
    min-height:42px;
    padding:9px 14px;
    border-color:#e3c77b;
    background:#c5a052;
    color:#141414;
}
.dqlpc-calendar-export-bar .dqlpc-staff-calendar-add-menu summary span{color:#141414}
.dqlpc-calendar-export-bar .dqlpc-staff-calendar-add-menu[open] summary{
    background:#e3c77b;
    color:#141414;
}
.dqlpc-calendar-export-bar .dqlpc-staff-calendar-add-menu .dqlpc-calendar-add-options{
    width:285px;
}
.dqlpc-history-table .dqlpc-calendar-add-menu,
.dqlpc-table .dqlpc-calendar-add-menu.is-compact{
    min-width:145px;
}
.dqlpc-history-table .dqlpc-calendar-add-menu summary,
.dqlpc-table .dqlpc-calendar-add-menu.is-compact summary{
    width:100%;
}
@media(max-width:760px){
    .dqlpc-calendar-export-bar .dqlpc-staff-calendar-add-menu{width:100%;min-width:0}
    .dqlpc-calendar-export-bar .dqlpc-staff-calendar-add-menu .dqlpc-calendar-add-options{width:100%}
}

/* v0.6.2 · notificaciones, Apple Calendar y 2FA profesional */
.dqlpc-calendar-confirmation-options{grid-template-columns:repeat(4,minmax(0,1fr))}
.dqlpc-two-factor-form{max-width:560px;margin-inline:auto!important}
.dqlpc-two-factor-code{text-align:center!important;font-size:28px!important;font-weight:900!important;letter-spacing:.38em!important;font-variant-numeric:tabular-nums}
.dqlpc-notifications-card{max-width:900px}
.dqlpc-notification-settings{display:grid;gap:14px}
.dqlpc-setting-toggle{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:13px;padding:17px;border:1px solid #d8ccb5;border-radius:15px;background:#fff}
.dqlpc-setting-toggle>input{width:20px!important;height:20px!important;margin:2px 0 0!important;accent-color:#c5a052}
.dqlpc-setting-toggle span{display:grid;gap:5px}.dqlpc-setting-toggle strong{color:#141414;font-size:15px}.dqlpc-setting-toggle small{color:#5f6368;line-height:1.55}
@media(max-width:980px){.dqlpc-calendar-confirmation-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dqlpc-calendar-confirmation-options{grid-template-columns:1fr}.dqlpc-two-factor-code{font-size:24px!important;letter-spacing:.25em!important}}
.dqlpc-calendar-confirmation-card{width:min(920px,100%)}


/* v0.6.3 · correcciones visuales, navegación configurable y calendarios en correo profesional */
/* En escritorio el menú conserva su lugar dentro de la página y no tapa el calendario al desplazarse. */
@media(min-width:761px){
    .dqlpc-panel-menu,
    .dqlpc-panel-menu.is-mobile-sticky{
        position:relative;
        top:auto;
    }
}
/* En móvil el comportamiento fijo solo se activa desde DQL Pedir Cita > Ajustes. */
@media(max-width:760px){
    .dqlpc-panel-menu{
        position:relative;
        top:auto;
    }
    .dqlpc-panel-menu.is-mobile-sticky{
        position:sticky;
        top:6px;
    }
}

/* El ganador del sorteo conserva palabras completas incluso en columnas estrechas. */
.dqlpc-raffle-winner{
    grid-template-columns:58px minmax(0,1fr);
}
.dqlpc-raffle-winner>div:nth-child(2){min-width:0}
.dqlpc-raffle-winner span,
.dqlpc-raffle-winner strong,
.dqlpc-raffle-winner small{
    max-width:100%;
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
}
.dqlpc-raffle-actions{
    grid-column:1/-1;
    justify-content:flex-end;
}
@media(max-width:760px){
    .dqlpc-raffle-winner{grid-template-columns:48px minmax(0,1fr)}
    .dqlpc-raffle-actions{justify-content:stretch}
}

/* Contraste estable frente a estilos globales del tema y tarjetas de calendario más legibles. */
.dqlpc-calendar-add-options,
.dqlpc-calendar-export-bar .dqlpc-calendar-add-options{
    background:#fff!important;
    color:#141414!important;
}
.dqlpc-calendar-add-options a,
.dqlpc-calendar-export-bar .dqlpc-calendar-add-options a{
    color:#141414!important;
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
}
.dqlpc-calendar-add-options strong,
.dqlpc-calendar-export-bar .dqlpc-calendar-add-options strong{
    color:#141414!important;
}
.dqlpc-calendar-add-options small,
.dqlpc-calendar-export-bar .dqlpc-calendar-add-options small{
    color:#5f6368!important;
}
.dqlpc-calendar-confirmation-options{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:780px;
    margin-inline:auto;
}
.dqlpc-calendar-option,
.dqlpc-calendar-option:visited{
    color:#141414!important;
    min-width:0;
}
.dqlpc-calendar-option strong{
    color:#141414!important;
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
}
.dqlpc-calendar-option small{
    color:#5f6368!important;
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
}
@media(max-width:560px){
    .dqlpc-calendar-confirmation-options{grid-template-columns:1fr}
    .dqlpc-calendar-option{min-height:88px;padding:14px}
}

/* v0.6.4 · tratamientos con tiempos internos disponibles */
.dqlpc-staff-hybrid{margin:12px 0 16px;padding:14px;border:1px solid rgba(197,160,82,.5);border-radius:16px;background:rgba(248,245,239,.72)}
.dqlpc-staff-hybrid-list{display:grid;gap:9px;margin:10px 0}
.dqlpc-staff-hybrid-row{display:grid;grid-template-columns:32px minmax(0,1fr) 92px 38px;gap:8px;align-items:center}
.dqlpc-staff-hybrid-row>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#141414;color:#e3c77b;font-weight:800}
.dqlpc-staff-hybrid-row select,.dqlpc-staff-hybrid-row input{width:100%;min-width:0;border:1px solid var(--dqlpc-border);border-radius:10px;background:#fff;padding:10px;font:inherit}
@media(max-width:620px){.dqlpc-staff-hybrid-row{grid-template-columns:30px minmax(0,1fr) 78px 34px}.dqlpc-staff-hybrid-row select,.dqlpc-staff-hybrid-row input{padding:8px;font-size:14px}}
.dqlpc-timeline-appointment.is-hybrid-segment{border-style:solid;border-color:rgba(197,160,82,.78);box-shadow:inset 0 0 0 1px rgba(227,199,123,.22)}

/* v0.6.5 · categorías de servicios y navegación jerárquica */
.dqlpc-service-browser-view.dqlpc-form [hidden],.dqlpc-recurrence-form [hidden]{display:none!important}
.dqlpc-service-browser{display:grid;gap:18px}
.dqlpc-service-browser-view{animation:dqlpcServiceViewIn .18s ease both}
@keyframes dqlpcServiceViewIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.dqlpc-service-browser-intro{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin:0 0 14px;padding:12px 14px;border-left:3px solid var(--dqlpc-gold);background:rgba(248,245,239,.78);border-radius:0 12px 12px 0}
.dqlpc-service-browser-intro strong{font-family:Playfair Display,Georgia,serif;font-size:18px;color:var(--dqlpc-black)}
.dqlpc-service-browser-intro span{font-size:13px;color:var(--dqlpc-graphite)}
.dqlpc-category-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-bottom:18px}
.dqlpc-category-card{appearance:none;width:100%;min-width:0;border:1px solid rgba(197,160,82,.48);background:linear-gradient(145deg,#171717,#0f0f0f);color:#f5f1e8;border-radius:16px;padding:17px 18px;display:grid;grid-template-columns:42px minmax(0,1fr) 26px;gap:12px;align-items:center;text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(20,20,20,.08);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.dqlpc-category-card:hover,.dqlpc-category-card:focus-visible{transform:translateY(-2px);border-color:var(--dqlpc-gold);box-shadow:0 12px 28px rgba(20,20,20,.15);outline:none}
.dqlpc-category-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(197,160,82,.14);border:1px solid rgba(227,199,123,.42);color:var(--dqlpc-champagne);font-size:17px}
.dqlpc-category-copy{min-width:0;display:grid;gap:3px}
.dqlpc-category-copy strong{color:#f5f1e8;font-size:16px;line-height:1.2;overflow-wrap:break-word}
.dqlpc-category-copy small{color:#c9c2b6;font-size:12px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dqlpc-category-copy b{color:var(--dqlpc-champagne);font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.dqlpc-category-arrow{color:var(--dqlpc-champagne);font-size:20px;text-align:right}
.dqlpc-service-root-block{display:grid;gap:10px;padding-top:4px}
.dqlpc-service-root-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--dqlpc-bronze)}
.dqlpc-service-browser-back{appearance:none;border:0;background:transparent;color:var(--dqlpc-bronze);padding:4px 0 10px;display:inline-flex;align-items:center;gap:7px;font:inherit;font-weight:800;cursor:pointer}
.dqlpc-service-browser-back:hover,.dqlpc-service-browser-back:focus-visible{color:var(--dqlpc-black);outline:none}
.dqlpc-service-category-heading{margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--dqlpc-border)}
.dqlpc-service-category-heading h4{margin:3px 0 5px;font-family:Playfair Display,Georgia,serif;font-size:24px;color:var(--dqlpc-black)}
.dqlpc-service-category-heading p{margin:0;color:var(--dqlpc-graphite);font-size:13px}
.dqlpc-staff-category-manager{margin:14px 0 18px;padding:16px}
.dqlpc-staff-category-layout{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:16px;align-items:start}
.dqlpc-staff-category-create,.dqlpc-staff-category-row{border:1px solid var(--dqlpc-border);border-radius:14px;background:var(--dqlpc-warm-white);padding:13px}
.dqlpc-staff-category-list{display:grid;gap:9px}
.dqlpc-staff-category-row>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;list-style:none}
.dqlpc-staff-category-row>summary::-webkit-details-marker{display:none}
.dqlpc-staff-category-row>summary span:first-child{display:grid;gap:2px;min-width:0}
.dqlpc-staff-category-row>summary small{color:var(--dqlpc-graphite);font-size:11px}
.dqlpc-staff-category-form{margin-top:11px}
.dqlpc-staff-category-delete{margin-top:8px}
.dqlpc-staff-service-categories{font-size:12px;color:var(--dqlpc-graphite)}
@media(max-width:760px){
    .dqlpc-category-grid{grid-template-columns:1fr}
    .dqlpc-category-card{padding:15px;grid-template-columns:38px minmax(0,1fr) 22px}
    .dqlpc-category-icon{width:36px;height:36px}
    .dqlpc-staff-category-layout{grid-template-columns:1fr}
    .dqlpc-service-category-heading h4{font-size:21px}
}


/* v0.6.6 · información contextual de servicios */
.dqlpc-service-card{overflow:visible;position:relative}
.dqlpc-service-title-row{display:flex;align-items:center;gap:8px;min-width:0}
.dqlpc-service-title-row>strong{min-width:0}
.dqlpc-service-info-wrap{position:relative;display:inline-flex;flex:0 0 auto;z-index:6}
.dqlpc-service-info{display:grid;place-items:center;width:23px;height:23px;min-width:23px;padding:0;border:1px solid rgba(197,160,82,.72);border-radius:50%;background:linear-gradient(145deg,#fffaf0,#f4ead5);color:var(--dqlpc-bronze);font-family:Georgia,"Times New Roman",serif;font-size:14px;font-weight:900;font-style:italic;line-height:1;cursor:pointer;box-shadow:0 3px 9px rgba(20,20,20,.08);transition:.18s ease}
.dqlpc-service-info:hover,.dqlpc-service-info:focus-visible,.dqlpc-service-info-wrap.is-open .dqlpc-service-info{background:var(--dqlpc-gold);border-color:var(--dqlpc-gold);color:var(--dqlpc-black);outline:none;transform:translateY(-1px);box-shadow:0 5px 13px rgba(20,20,20,.14)}
.dqlpc-service-info-popover{position:absolute;left:50%;bottom:calc(100% + 10px);width:max-content;max-width:min(330px,calc(100vw - 42px));min-width:220px;padding:12px 14px;border:1px solid rgba(197,160,82,.72);border-radius:12px;background:var(--dqlpc-deep);color:var(--dqlpc-warm-white);font-size:12px;font-weight:500;line-height:1.55;letter-spacing:0;white-space:normal;text-align:left;box-shadow:0 14px 34px rgba(11,11,11,.24);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,6px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;z-index:50}
.dqlpc-service-info-popover:after{content:"";position:absolute;left:50%;top:100%;width:10px;height:10px;background:var(--dqlpc-deep);border-right:1px solid rgba(197,160,82,.72);border-bottom:1px solid rgba(197,160,82,.72);transform:translate(-50%,-5px) rotate(45deg)}
.dqlpc-service-info-wrap:hover .dqlpc-service-info-popover,.dqlpc-service-info-wrap:focus-within .dqlpc-service-info-popover,.dqlpc-service-info-wrap.is-open .dqlpc-service-info-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.dqlpc-service-card.is-info-open{z-index:20}
@media(max-width:720px){
    .dqlpc-service-info{width:26px;height:26px;min-width:26px;font-size:15px}
    .dqlpc-service-info-popover{position:fixed;left:18px;right:18px;bottom:auto;top:50%;width:auto;max-width:none;min-width:0;padding:16px 17px;border-radius:14px;font-size:13px;line-height:1.6;transform:translateY(-44%);z-index:99999}
    .dqlpc-service-info-wrap:hover .dqlpc-service-info-popover,.dqlpc-service-info-wrap:focus-within .dqlpc-service-info-popover,.dqlpc-service-info-wrap.is-open .dqlpc-service-info-popover{transform:translateY(-50%)}
    .dqlpc-service-info-popover:after{display:none}
}
@media(max-width:720px){
    .dqlpc-service-info-popover{max-height:min(62vh,420px);overflow:auto;-webkit-overflow-scrolling:touch}
}

/* v0.6.7 · encaje inteligente y popovers siempre por encima */
.dqlpc-service-browser,
.dqlpc-service-browser-view,
.dqlpc-service-grid{position:relative;overflow:visible!important}
.dqlpc-service-card:hover,
.dqlpc-service-card:focus-within,
.dqlpc-service-card.is-info-open{position:relative;z-index:1000000!important}
.dqlpc-service-info-wrap,
.dqlpc-service-info-wrap:hover,
.dqlpc-service-info-wrap:focus-within,
.dqlpc-service-info-wrap.is-open{z-index:1000001!important}
.dqlpc-service-info-popover{z-index:1000002!important;filter:drop-shadow(0 16px 28px rgba(11,11,11,.24))}
@media(max-width:720px){
    .dqlpc-service-info-popover{z-index:2147483000!important}
}
@media(max-width:720px){
    .dqlpc-service-card.is-info-open{transform:none!important}
}

/* v0.7.1 · clientes y puntos: contenido completo en tarjetas móviles. */
.dqlpc-customer-management,
.dqlpc-managed-customer-detail{min-width:0;overflow-wrap:anywhere}
.dqlpc-customer-cell{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.dqlpc-customer-cell small{display:block;color:var(--dqlpc-graphite);line-height:1.5}
.dqlpc-customer-cell .dqlpc-status-badge{justify-self:start;max-width:100%;white-space:normal}
.dqlpc-leaderboard-table td:first-child .dqlpc-customer-cell{white-space:nowrap}
.dqlpc-customer-cell>.dqlpc-button{text-align:center;line-height:1.4}
.dqlpc-customer-management .dqlpc-loyalty-tools>*,
.dqlpc-customer-management .dqlpc-tool-heading>div,
.dqlpc-managed-customer-detail .dqlpc-managed-grid>*,
.dqlpc-managed-customer-detail .dqlpc-points-columns>*{min-width:0}

@media(max-width:1050px){
    .dqlpc-customer-management .dqlpc-loyalty-tools{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
    .dqlpc-customer-management .dqlpc-table-wrap,
    .dqlpc-managed-customer-detail .dqlpc-table-wrap{max-width:100%;overflow:visible}
    .dqlpc-customer-management .dqlpc-leaderboard-table,
    .dqlpc-managed-customer-detail .dqlpc-managed-appointments-table{min-width:0;width:100%}
    .dqlpc-customer-management .dqlpc-leaderboard-table td,
    .dqlpc-managed-customer-detail .dqlpc-managed-appointments-table td{grid-template-columns:minmax(75px,32%) minmax(0,1fr);gap:10px}
    .dqlpc-customer-management .dqlpc-leaderboard-table td[data-label="Acciones"]{grid-template-columns:1fr;gap:6px}
    .dqlpc-customer-management .dqlpc-button,
    .dqlpc-managed-customer-detail .dqlpc-button{min-height:44px;white-space:normal;line-height:1.4;text-align:center;max-width:100%}
    .dqlpc-customer-management .dqlpc-form label,
    .dqlpc-managed-customer-detail .dqlpc-form label{min-width:0}
    .dqlpc-customer-management input,
    .dqlpc-customer-management select,
    .dqlpc-managed-customer-detail input,
    .dqlpc-managed-customer-detail select{min-width:0;max-width:100%;min-height:44px;font-size:16px}
    .dqlpc-customer-management .dqlpc-text-button,
    .dqlpc-customer-management .dqlpc-raffle-history a,
    .dqlpc-managed-customer-detail .dqlpc-managed-customer-head>.dqlpc-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;line-height:1.4}
    .dqlpc-managed-customer-detail .dqlpc-managed-customer-head>.dqlpc-link{justify-self:start;color:var(--dqlpc-bronze)}
    .dqlpc-customer-management .dqlpc-pagination a{min-width:44px;min-height:44px;height:auto}
    .dqlpc-customer-management .dqlpc-search-summary{overflow-wrap:anywhere}
    .dqlpc-customer-management .dqlpc-promotion-row>*{min-width:0}
    .dqlpc-customer-management .dqlpc-promotion-list{max-height:none;padding-right:0;overflow:visible}
    .dqlpc-customer-management .dqlpc-raffle-history code{white-space:normal}
    .dqlpc-managed-customer-detail .dqlpc-account-delete-warning{min-width:0;flex-wrap:wrap}
    .dqlpc-managed-customer-detail .dqlpc-account-delete-warning>*{min-width:0;max-width:100%}
}
@media(max-width:480px){
    .dqlpc-customer-management .dqlpc-customer-search-row,
    .dqlpc-customer-management .dqlpc-promotion-form,
    .dqlpc-customer-management .dqlpc-store-discount-form{grid-template-columns:minmax(0,1fr)}
    .dqlpc-customer-management .dqlpc-customer-search-row>*,
    .dqlpc-customer-management .dqlpc-promotion-form>*{grid-column:1/-1}
    .dqlpc-customer-management .dqlpc-raffle-actions{display:grid;grid-template-columns:minmax(0,1fr)}
    .dqlpc-customer-management .dqlpc-tool-heading{gap:9px}
    .dqlpc-managed-customer-detail .dqlpc-card{padding:13px}
    .dqlpc-managed-customer-detail .dqlpc-managed-stats{grid-template-columns:minmax(0,1fr)}
}

/* 0.7.3: email confirmation and per-device sessions. */
.dqlpc-logout-form{display:inline-flex;margin:0}.dqlpc-logout-form button{font:inherit;cursor:pointer;background:none;border:0;padding:0;text-decoration:underline;color:var(--dqlpc-bronze)}
.dqlpc-profile-header .dqlpc-logout-form button{color:var(--dqlpc-champagne)}
.dqlpc-email-verification form{min-width:0}.dqlpc-email-verification p{overflow-wrap:anywhere;line-height:1.6}.dqlpc-email-verification>.dqlpc-logout-form{justify-self:start}
.dqlpc-session-row{display:flex;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--dqlpc-border);padding:14px 0}.dqlpc-session-row p{min-width:0;overflow-wrap:anywhere;margin:0}.dqlpc-session-row form{flex-shrink:0}
@media(max-width:760px){.dqlpc-session-row{display:grid}.dqlpc-session-row form,.dqlpc-session-row button{width:100%}}

/* 0.7.5: the header logout control uses the original 0.7.2 presentation. */
.dqlpc-header-access-user > .dqlpc-header-logout-form{display:contents}
.dqlpc-header-logout-form > button.dqlpc-header-logout{
    all:unset;
    display:grid;
    place-items:center;
    flex:0 0 32px;
    width:32px;
    height:32px;
    border-radius:50%;
    color:var(--dqlpc-champagne)!important;
    font-size:15px;
    text-decoration:none!important;
    transition:.18s ease;
    cursor:pointer;
}
.dqlpc-header-logout-form > button.dqlpc-header-logout:hover{
    background:rgba(197,160,82,.16);
    color:#fff!important;
}
@media(max-width:600px){
    .dqlpc-header-access-user .dqlpc-header-logout-form > button.dqlpc-header-logout{
        grid-column:2;
        grid-row:1;
        align-self:center;
    }
}

/* 0.7.6: email verification code input. */
.dqlpc-email-verification input.dqlpc-verification-code{font-size:22px;letter-spacing:.22em;font-variant-numeric:tabular-nums;max-width:240px}

/* v0.7.7: el origen identifica la cita aunque no tenga cuenta. */
.dqlpc-source-badge.dqlpc-source-app,.dqlpc-source-badge.dqlpc-source-web{background:#e6f1ff;color:#164e90;border:1px solid #649de0}
.dqlpc-source-badge.dqlpc-source-manual{background:#fff2ce;color:#705013;border:1px solid #c59a38}
.dqlpc-source-badge.dqlpc-source-imported{background:#f1e8ff;color:#64328e;border:1px solid #aa79d0}

.dqlpc-calendar-legend .is-source-app{background:#3b82c4}
.dqlpc-calendar-legend .is-source-manual{background:#c59a38}
.dqlpc-calendar-legend .is-source-imported{background:#935bbd}
.dqlpc-calendar-card .dqlpc-calendar-event.dqlpc-origin-app{background:linear-gradient(145deg,#edf6ff,#cce4ff)!important;border-color:#7aadde!important;border-left-color:#3b82c4!important}
.dqlpc-calendar-card .dqlpc-calendar-event.dqlpc-origin-manual{background:linear-gradient(145deg,#fff5d5,#f3dda6)!important;border-color:#d1ac55!important;border-left-color:#c59a38!important}
.dqlpc-calendar-card .dqlpc-calendar-event.dqlpc-origin-imported{background:linear-gradient(145deg,#f5edff,#e3cdf6)!important;border-color:#b58bd5!important;border-left-color:#935bbd!important}
.dqlpc-calendar-card .dqlpc-calendar-event.dqlpc-origin-app time{color:#164e90!important}
.dqlpc-calendar-card .dqlpc-calendar-event.dqlpc-origin-manual time{color:#705013!important}
.dqlpc-calendar-card .dqlpc-calendar-event.dqlpc-origin-imported time{color:#64328e!important}
.dqlpc-calendar-card .dqlpc-calendar-event[class*="dqlpc-origin-"]:hover,.dqlpc-calendar-card .dqlpc-calendar-event[class*="dqlpc-origin-"].is-selected{filter:brightness(.97);outline:2px solid currentColor;outline-offset:-2px}

/* v0.7.9: conservar importaciones excepcionales y acceder a cada solapamiento. */
.dqlpc-calendar-legend .is-appointment-exception{background:#b65308;box-shadow:inset 0 0 0 2px #ffdfad}
.dqlpc-calendar-card .dqlpc-calendar-event.is-appointment-exception{border-color:#b65308!important;border-left-color:#b65308!important}
.dqlpc-appointment-exception-badge{display:block;grid-column:1/-1;max-width:100%;padding:3px 5px;border:1px solid #b65308;border-radius:5px;background:#fff0d5;color:#763200;font:700 10px/1.3 Arial,sans-serif;white-space:normal;overflow-wrap:anywhere}
.dqlpc-calendar-detail-exception{margin:14px 0;padding:14px;border:1px solid #b65308;border-left:4px solid #b65308;border-radius:9px;background:#fff5e5;color:#763200}
.dqlpc-calendar-detail-exception strong{display:block;font-size:14px}
.dqlpc-calendar-detail-exception p{margin:7px 0 0;font-size:13px;line-height:1.5}
.dqlpc-calendar-card .dqlpc-timeline-appointment{box-sizing:border-box;justify-self:start;width:calc((100% - 8px) / var(--dqlpc-lane-count,1) - 4px);margin-left:calc(4px + (100% - 8px) * var(--dqlpc-lane-index,0) / var(--dqlpc-lane-count,1));margin-right:0}
.dqlpc-calendar-card .dqlpc-timeline-grid.has-overlaps{grid-template-columns:var(--dqlpc-timeline-columns)!important;min-width:max-content!important}
.dqlpc-calendar-attention{padding:18px;border-top:1px solid var(--dqlpc-border);background:#fffaf1}
.dqlpc-calendar-attention h4{margin:0 0 7px;font-size:16px}
.dqlpc-calendar-attention>p{margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--dqlpc-graphite)}
.dqlpc-calendar-attention-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}
.dqlpc-calendar-card .dqlpc-attention-appointment{grid-template-columns:1fr!important;align-content:start;min-height:86px;padding:12px!important}
.dqlpc-calendar-card .dqlpc-attention-appointment time,.dqlpc-calendar-card .dqlpc-attention-appointment span,.dqlpc-calendar-card .dqlpc-attention-appointment small{grid-column:1/-1;white-space:normal!important;overflow-wrap:anywhere}
.dqlpc-calendar-card .dqlpc-calendar-event:focus-visible{outline:3px solid #164e90!important;outline-offset:2px;z-index:7}

/* 0.8.0: four real origins and a separate non-blocking preview. */
.dqlpc-calendar-legend .is-source-guest{background:#16847b}
.dqlpc-calendar-legend .is-source-test{background:#bf4895}
.dqlpc-source-badge.dqlpc-source-guest{background:#dcf6ef;color:#13594f;border:1px solid #16847b}
.dqlpc-source-badge.dqlpc-source-test{background:#fbe4f4;color:#802260;border:1px dashed #bf4895}
.dqlpc-calendar-card .dqlpc-calendar-event.dqlpc-origin-guest{background:linear-gradient(145deg,#e4fff6,#c9eadf)!important;border-color:#16847b!important;border-left-color:#16847b!important}
.dqlpc-calendar-card .dqlpc-calendar-event.dqlpc-origin-test{background:linear-gradient(145deg,#fff0fc,#f0cee9)!important;border-color:#bf4895!important;border-left-color:#bf4895!important;border-style:dashed!important}
.dqlpc-calendar-card .dqlpc-calendar-event.dqlpc-origin-guest time{color:#13594f!important}
.dqlpc-calendar-card .dqlpc-calendar-event.dqlpc-origin-test time{color:#802260!important}
.dqlpc-appointment-exception-badge.is-valid,.dqlpc-calendar-detail-exception.is-valid{background:#e2f4e8;border-color:#31834b;color:#215d34}
.dqlpc-calendar-holiday-toggle{margin:5px 0;display:grid;gap:4px;white-space:normal}
.dqlpc-calendar-holiday-toggle button{font-size:11px!important;line-height:1.3!important;white-space:normal;min-height:30px}
.dqlpc-calendar-holiday-toggle small{font-size:10px;line-height:1.3;white-space:normal}
.dqlpc-timeline-day-head>a{color:inherit;display:grid;text-decoration:none}
.dqlpc-form [hidden],.dqlpc-recurrence-form [hidden]{display:none!important}

.dqlpc-calendar-holiday.is-open{background:#e2f4e8;color:#215d34;border-color:#31834b}
.dqlpc-appointment-exception-badge.is-test{background:#fbe4f4;color:#802260;border-color:#bf4895}

.dqlpc-calendar-card .dqlpc-calendar-event.is-appointment-exception[data-exception-valid="0"]{border-color:#b65308!important;border-left-color:#b65308!important}
.dqlpc-calendar-card .dqlpc-calendar-event.is-appointment-exception[data-exception-valid="1"]{border-color:#31834b!important;border-left-color:#31834b!important}
.dqlpc-calendar-card .dqlpc-calendar-holiday.is-open{background:#e2f4e8;color:#215d34;border-color:#31834b}
