/* OrtaLegal · Centro de comunicaciones de delegación */
.ol-delegation-trigger{color:#315f7f}
.ol-delegation-trigger[aria-expanded="true"]{color:#0b4a78}
.ol-delegation-badge{background:#0b6b78;box-shadow:0 4px 12px rgba(11,107,120,.26)}
.ol-delegation-panel{width:min(470px,calc(100vw - 28px))}
.ol-delegation-scroll{max-height:min(72vh,650px);overflow:auto;padding:12px;display:grid;gap:10px}
.ol-delegation-item{border:1px solid rgba(11,40,69,.1);border-radius:17px;background:#fff;padding:13px;display:grid;gap:9px;box-shadow:0 9px 24px rgba(11,40,69,.045)}
.ol-delegation-item.is-warning{border-color:rgba(189,132,43,.28);background:linear-gradient(135deg,#fffdf8,#fff)}
.ol-delegation-item.is-success{border-color:rgba(39,133,85,.25)}
.ol-delegation-item.is-danger{border-color:rgba(176,62,51,.24)}
.ol-delegation-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ol-delegation-item-head>small{color:#7a8795;font-size:.64rem;white-space:nowrap}
.ol-delegation-status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#fff2d8;color:#8b5a10;font-size:.66rem;font-weight:950}
.ol-delegation-item.is-success .ol-delegation-status{background:#e9f7ef;color:#1f6f49}
.ol-delegation-item.is-danger .ol-delegation-status{background:#fcebea;color:#984038}
.ol-delegation-item-copy{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 9px;align-items:baseline}
.ol-delegation-item-copy strong{color:#0b2845;font-size:.82rem}
.ol-delegation-item-copy span{min-width:0;color:#4e5f72;font-size:.73rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ol-delegation-item-copy small{grid-column:1/-1;color:#7a8795;font-size:.66rem}
.ol-delegation-person{margin:0;color:#526274;font-size:.72rem;line-height:1.45}
.ol-delegation-person strong{color:#0b2845}
.ol-delegation-message{border-left:3px solid rgba(189,132,43,.5);border-radius:11px;background:#fffaf2;padding:8px 10px}
.ol-delegation-message small{display:block;margin-bottom:3px;color:#8b5a10;font-size:.61rem;font-weight:950;text-transform:uppercase;letter-spacing:.045em}
.ol-delegation-message p{margin:0;color:#334155;font-size:.72rem;line-height:1.45;overflow-wrap:anywhere}
.ol-delegation-message.is-muted{border-left-color:#cbd5e1;background:#f8fafc}
.ol-delegation-message.is-muted p{color:#7a8795;font-style:italic}
.ol-delegation-item-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ol-delegation-view-link{margin-left:auto;color:#8f5e16;text-decoration:none;font-size:.69rem;font-weight:900}
.ol-delegation-view-link:hover{text-decoration:underline}

.delegation-response-editor{border:1px solid rgba(11,40,69,.1);border-radius:14px;background:#f8fafc;padding:10px}
.delegation-response-editor[hidden]{display:none!important}
.delegation-response-editor form{display:grid;gap:9px;margin:0}
.delegation-response-field{display:grid;gap:5px;margin:0}
.delegation-response-field>span{color:#0b2845;font-size:.72rem;font-weight:900}
.delegation-response-field textarea{width:100%;min-height:82px;resize:vertical;border:1px solid rgba(11,40,69,.16);border-radius:11px;background:#fff;color:#1e293b;padding:9px 10px;font:inherit;font-size:.76rem;line-height:1.45;box-sizing:border-box}
.delegation-response-field textarea:focus{outline:2px solid rgba(189,132,43,.2);border-color:rgba(189,132,43,.56)}
.delegation-response-field textarea:invalid:not(:placeholder-shown){border-color:#b7473d}
.delegation-response-field small{color:#718096;font-size:.64rem;line-height:1.35}
.delegation-response-actions{display:flex;gap:7px;flex-wrap:wrap}
.delegation-response-actions .btn.danger{background:#b91c1c;color:#fff;border-color:#b91c1c}
.delegation-inline-feedback,.agenda-action-feedback[data-delegation-response-feedback]{margin-top:2px;border-radius:10px;padding:8px 10px;font-size:.7rem;line-height:1.4}
.delegation-inline-feedback[hidden],.agenda-action-feedback[data-delegation-response-feedback][hidden]{display:none!important}
.delegation-inline-feedback.is-ok,.agenda-action-feedback[data-delegation-response-feedback].is-ok{background:#eaf7ef;color:#1f6f49;border:1px solid #c5ead4}
.delegation-inline-feedback.is-error,.agenda-action-feedback[data-delegation-response-feedback].is-error{background:#fdf0ef;color:#93443c;border:1px solid #f1cfcb}
.appointment-delegation.is-resolved{border-style:solid!important;background:#ecfdf3!important;border-color:#bbf7d0!important}

body.dark .ol-delegation-item{background:#132f49;border-color:rgba(255,255,255,.09)}
body.dark .ol-delegation-item.is-warning{background:linear-gradient(135deg,#17354f,#132f49)}
body.dark .ol-delegation-item-copy strong,body.dark .ol-delegation-person strong,body.dark .delegation-response-field>span{color:#f3f7fb}
body.dark .ol-delegation-item-copy span,body.dark .ol-delegation-person{color:#c3ced8}
body.dark .ol-delegation-message{background:#17354f;border-left-color:#d5a24f}
body.dark .ol-delegation-message p{color:#e7edf3}
body.dark .delegation-response-editor{background:#17354f;border-color:rgba(255,255,255,.1)}
body.dark .delegation-response-field textarea{background:#102a43;color:#fff;border-color:rgba(255,255,255,.13)}

@media(max-width:620px){
    .ol-delegation-panel{left:10px;right:10px;width:auto}
    .ol-delegation-scroll{max-height:calc(100vh - 96px)}
    .ol-delegation-item-copy{grid-template-columns:1fr}
    .ol-delegation-item-copy small{grid-column:auto}
    .ol-delegation-item-head{align-items:flex-start}
    .ol-delegation-view-link{margin-left:0}
    .delegation-response-actions .btn{flex:1 1 auto}
}


/* Centro general de comunicación interna */
.ol-delegation-head-tools{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}
.ol-delegation-head-tools>small{color:#7a8795;font-size:.64rem;white-space:nowrap}
.ol-delegation-head-tools form{display:inline-flex;margin:0}
.ol-internal-message-dismiss{
    position:relative;
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:inline-grid;
    place-items:center;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(11,40,69,.12);
    border-radius:50%;
    background:#fff;
    color:#66788a;
    font-size:0;
    line-height:0;
    cursor:pointer;
    transform-origin:center;
    transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.ol-internal-message-dismiss::before,
.ol-internal-message-dismiss::after{
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    width:10px;
    height:1.7px;
    border-radius:999px;
    background:currentColor;
    transform-origin:center;
}
.ol-internal-message-dismiss::before{transform:translate(-50%,-50%) rotate(45deg)}
.ol-internal-message-dismiss::after{transform:translate(-50%,-50%) rotate(-45deg)}
.ol-internal-message-dismiss:hover,
.ol-internal-message-dismiss:focus-visible{
    border-color:rgba(176,62,51,.38);
    background:#fff5f4;
    color:#a33f36;
    box-shadow:0 6px 15px rgba(151,54,45,.13);
    transform:rotate(90deg) scale(1.06);
}
.ol-internal-message-dismiss:focus-visible{outline:3px solid rgba(189,132,43,.18);outline-offset:2px}
.ol-internal-message-dismiss:active{transform:rotate(90deg) scale(.86)}
.ol-internal-message-dismiss:disabled{opacity:.55;cursor:wait}
.ol-delegation-item.is-breaking{
    position:relative;
    min-height:var(--dismiss-height);
    height:var(--dismiss-height);
    padding:0;
    overflow:visible;
    border-color:transparent!important;
    background:transparent!important;
    box-shadow:none!important;
    pointer-events:none;
}
.ol-message-fragment{
    position:absolute!important;
    inset:0;
    width:auto!important;
    height:var(--dismiss-height)!important;
    margin:0!important;
    box-sizing:border-box;
    pointer-events:none;
    overflow:hidden;
    backface-visibility:hidden;
    will-change:transform,opacity,filter;
}
.ol-message-fragment.is-upper{
    clip-path:polygon(0 0,100% 0,100% 46%,91% 50%,82% 46%,72% 52%,62% 47%,52% 53%,42% 47%,31% 52%,20% 46%,10% 51%,0 47%);
    animation:ol-message-break-upper .58s cubic-bezier(.2,.75,.25,1) forwards;
}
.ol-message-fragment.is-lower{
    clip-path:polygon(0 53%,10% 49%,20% 54%,31% 48%,42% 53%,52% 47%,62% 53%,72% 48%,82% 54%,91% 50%,100% 54%,100% 100%,0 100%);
    animation:ol-message-break-lower .58s cubic-bezier(.2,.75,.25,1) forwards;
}
@keyframes ol-message-break-upper{
    0%{opacity:1;transform:translate(0,0) rotate(0);filter:blur(0)}
    20%{transform:translate(-1px,-1px) rotate(-.35deg)}
    100%{opacity:0;transform:translate(-22px,-10px) rotate(-2deg) scale(.97);filter:blur(1.4px)}
}
@keyframes ol-message-break-lower{
    0%{opacity:1;transform:translate(0,0) rotate(0);filter:blur(0)}
    20%{transform:translate(1px,1px) rotate(.35deg)}
    100%{opacity:0;transform:translate(25px,13px) rotate(2.2deg) scale(.97);filter:blur(1.4px)}
}
.ol-delegation-item.is-dismissing{opacity:0;transform:translateX(12px) scale(.98);transition:opacity .18s ease,transform .18s ease}
body.dark .ol-internal-message-dismiss{background:#102a43;border-color:rgba(255,255,255,.12);color:#c8d3dd}
body.dark .ol-internal-message-dismiss:hover,body.dark .ol-internal-message-dismiss:focus-visible{background:#412c2c;color:#ffd8d4;border-color:rgba(255,140,130,.3)}
@media(prefers-reduced-motion:reduce){
    .ol-internal-message-dismiss{transition:none!important;transform:none!important}
    .ol-message-fragment{animation:none!important;opacity:0!important}
    .ol-delegation-item.is-dismissing{transition:none!important;transform:none!important}
}
