/* Lunivo shared calendar — compact global widget */
.lunivo-calendar-trigger{width:40px;height:40px;min-width:40px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:#12171c;color:#ece8e0;display:grid;place-items:center;cursor:pointer;line-height:1;box-shadow:none;position:relative;z-index:1}
.lunivo-calendar-trigger:hover{background:#181e23;border-color:rgba(255,255,255,.2)}
.lunivo-calendar-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lunivo-calendar-trigger .lunivo-calendar-dot{position:absolute;right:6px;top:6px;width:6px;height:6px;border-radius:50%;background:#d3ad68;box-shadow:0 0 0 2px #12171c;display:none}
.lunivo-calendar-trigger.has-events .lunivo-calendar-dot{display:block}
html[data-toolora-theme="light"] .lunivo-calendar-trigger{background:#fff;color:#1d2226;border-color:#d7d1c8}
html[data-toolora-theme="light"] .lunivo-calendar-trigger:hover{background:#f5f1ea}
html[data-toolora-theme="light"] .lunivo-calendar-trigger .lunivo-calendar-dot{box-shadow:0 0 0 2px #fff}

.lunivo-calendar-overlay{position:fixed;inset:0;z-index:5000;background:rgba(2,5,7,.64);backdrop-filter:blur(5px);display:none;align-items:flex-start;justify-content:flex-end;padding:74px 12px 12px}
.lunivo-calendar-overlay.open{display:flex}
.lunivo-calendar-panel{width:min(390px,100%);max-height:calc(100dvh - 88px);overflow:auto;overscroll-behavior:contain;border:1px solid #2b343c;border-radius:20px;background:linear-gradient(180deg,#11171b,#0d1216);color:#f0ece5;box-shadow:0 28px 90px rgba(0,0,0,.46)}
.lunivo-calendar-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;background:rgba(17,23,27,.96);backdrop-filter:blur(12px);border-bottom:1px solid #283139}
.lunivo-calendar-headcopy small{display:block;color:#b69760;font-size:8px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px}
.lunivo-calendar-headcopy strong{display:block;font:700 21px/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.03em}
.lunivo-calendar-close{width:34px;height:34px;border:1px solid #303942;border-radius:10px;background:#151b20;color:#dfe3e5;font-size:20px;cursor:pointer}
.lunivo-calendar-body{padding:14px}
.lunivo-calendar-today{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #302b22;border-radius:15px;background:linear-gradient(145deg,rgba(200,167,107,.10),rgba(255,255,255,.015));margin-bottom:12px}
.lunivo-calendar-today small{display:block;color:#8f9aa2;font-size:9px;margin-bottom:3px}.lunivo-calendar-today b{font-size:15px}.lunivo-calendar-count{flex:0 0 auto;min-width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d1ad6b;color:#17130e;font-weight:900;font-size:11px}
.lunivo-calendar-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.lunivo-calendar-actions button{min-height:40px;border:1px solid #313a42;border-radius:11px;background:#151b20;color:#e6e1d9;font-size:10px;font-weight:850;cursor:pointer}.lunivo-calendar-actions button.primary{background:#ece7dd;color:#111418;border-color:#ece7dd}
.lunivo-calendar-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 2px 9px}.lunivo-calendar-section-title b{font-size:11px}.lunivo-calendar-section-title span{color:#7f8a92;font-size:9px}
.lunivo-calendar-agenda{display:grid;gap:7px}
.lunivo-calendar-event{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #283139;border-radius:13px;background:#10161a;text-decoration:none;color:inherit}
.lunivo-calendar-event:hover{border-color:#3b4650;background:#141b20}
.lunivo-calendar-datebox{width:42px;height:42px;border-radius:10px;border:1px solid #333d45;background:#151c21;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.lunivo-calendar-datebox small{font-size:7px;color:#a88d5d;text-transform:uppercase;font-weight:900}.lunivo-calendar-datebox b{font-size:15px;margin-top:3px}.lunivo-calendar-event-main{min-width:0}.lunivo-calendar-event-main b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lunivo-calendar-event-main span{display:block;margin-top:3px;color:#7e8991;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lunivo-calendar-source{font-size:7px;font-weight:900;color:#c7ab76;border:1px solid #453b2b;border-radius:999px;padding:5px 6px;white-space:nowrap}.lunivo-calendar-empty{padding:18px 12px;border:1px dashed #303941;border-radius:13px;color:#7f8a92;text-align:center;font-size:10px}

.lunivo-calendar-month{display:none;margin-top:10px}.lunivo-calendar-month.show{display:block}.lunivo-calendar-month-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.lunivo-calendar-month-head button{width:32px;height:32px;border:1px solid #303942;border-radius:9px;background:#141a1f;color:#dfe3e5;cursor:pointer}.lunivo-calendar-month-head b{font-size:11px}
.lunivo-calendar-weekdays,.lunivo-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.lunivo-calendar-weekdays span{text-align:center;color:#69757d;font-size:7px;font-weight:850;padding:3px 0}.lunivo-calendar-day{position:relative;aspect-ratio:1;border:1px solid #253039;border-radius:9px;background:#0f1519;color:#aeb6bb;font-size:9px;display:grid;place-items:center;cursor:pointer}.lunivo-calendar-day.out{opacity:.33}.lunivo-calendar-day.today{border-color:#8f7345;color:#e1c58e}.lunivo-calendar-day.has{background:#16170f}.lunivo-calendar-day.has:after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:#d1ad6b}.lunivo-calendar-day.selected{background:#ece7dd;color:#111418;border-color:#ece7dd}.lunivo-calendar-day.selected:after{background:#8a6a34}

.lunivo-calendar-form{display:none;margin-top:12px;padding:12px;border:1px solid #2c353d;border-radius:14px;background:#0f1519}.lunivo-calendar-form.show{display:grid;gap:9px}.lunivo-calendar-form label{display:grid;gap:5px;color:#8f99a1;font-size:8px;font-weight:800}.lunivo-calendar-form input,.lunivo-calendar-form textarea{width:100%;border:1px solid #354049;border-radius:10px;background:#0b1014;color:#f0ece5;padding:10px;font:inherit;font-size:11px}.lunivo-calendar-form textarea{min-height:62px;resize:vertical}.lunivo-calendar-form-actions{display:flex;gap:7px;justify-content:flex-end}.lunivo-calendar-form-actions button{min-height:36px;padding:0 11px;border:1px solid #343d45;border-radius:9px;background:#151b20;color:#e6e1d9;font-size:9px;font-weight:850;cursor:pointer}.lunivo-calendar-form-actions button.primary{background:#d3af6d;color:#17130e;border-color:#d3af6d}

html[data-toolora-theme="light"] .lunivo-calendar-overlay{background:rgba(36,31,24,.28)}
html[data-toolora-theme="light"] .lunivo-calendar-panel{background:#fbfaf7;color:#1d2226;border-color:#d6d0c7;box-shadow:0 28px 80px rgba(46,39,29,.22)}
html[data-toolora-theme="light"] .lunivo-calendar-head{background:rgba(251,250,247,.96);border-color:#ded8cf}
html[data-toolora-theme="light"] .lunivo-calendar-close,html[data-toolora-theme="light"] .lunivo-calendar-actions button,html[data-toolora-theme="light"] .lunivo-calendar-month-head button,html[data-toolora-theme="light"] .lunivo-calendar-form-actions button{background:#fff;color:#262b2f;border-color:#d8d2c9}
html[data-toolora-theme="light"] .lunivo-calendar-actions button.primary{background:#17191b;color:#fff;border-color:#17191b}
html[data-toolora-theme="light"] .lunivo-calendar-today{background:#fffaf1;border-color:#dfcfb0}
html[data-toolora-theme="light"] .lunivo-calendar-event{background:#fff;border-color:#ded8cf;color:#202529}
html[data-toolora-theme="light"] .lunivo-calendar-event:hover{background:#f8f4ee;border-color:#cfc6b8}
html[data-toolora-theme="light"] .lunivo-calendar-datebox{background:#f6f2eb;border-color:#ddd5ca;color:#202529}
html[data-toolora-theme="light"] .lunivo-calendar-event-main span{color:#626b71}
html[data-toolora-theme="light"] .lunivo-calendar-day{background:#fff;border-color:#ded8cf;color:#4d555a}
html[data-toolora-theme="light"] .lunivo-calendar-day.has{background:#fff8ea}
html[data-toolora-theme="light"] .lunivo-calendar-form{background:#fff;border-color:#ddd6cc}
html[data-toolora-theme="light"] .lunivo-calendar-form input,html[data-toolora-theme="light"] .lunivo-calendar-form textarea{background:#fbfaf7;color:#1d2226;border-color:#d6d0c7}

@media(max-width:620px){.lunivo-calendar-overlay{padding:66px 8px 8px}.lunivo-calendar-panel{width:100%;max-height:calc(100dvh - 74px);border-radius:17px}.lunivo-calendar-trigger{width:38px;height:38px;min-width:38px}.lunivo-calendar-body{padding:12px}.lunivo-calendar-event{grid-template-columns:40px 1fr auto}}
@media(max-height:520px) and (orientation:landscape){.lunivo-calendar-overlay{padding-top:54px}.lunivo-calendar-panel{max-height:calc(100dvh - 60px)}}

/* RC3.20 — calendar + notification attention area */
.lunivo-calendar-alert{margin-bottom:12px;padding:2px 0 0}
.lunivo-calendar-alert .lunivo-calendar-section-title{margin-top:6px}
.lunivo-calendar-alert.has-items .lunivo-calendar-section-title b{color:#e0bd7b}
.lunivo-calendar-alert.has-items .lunivo-calendar-section-title span{min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:#2b2114;color:#e3c487;font-size:8px;font-weight:900}
.lunivo-calendar-empty.compact{padding:11px 10px;font-size:9px}
html[data-toolora-theme="light"] .lunivo-calendar-alert.has-items .lunivo-calendar-section-title b{color:#805f2e}
html[data-toolora-theme="light"] .lunivo-calendar-alert.has-items .lunivo-calendar-section-title span{background:#f0dfbf;color:#684b20}
.lunivo-calendar-feedback{display:flex;align-items:center;justify-content:center;min-height:38px;margin-top:14px;border:1px solid #303942;border-radius:10px;background:#12181d;color:#aab3b9;text-decoration:none;font-size:9px;font-weight:850}
.lunivo-calendar-feedback:hover{color:#f0ece5;border-color:#46515a}
html[data-toolora-theme="light"] .lunivo-calendar-feedback{background:#fff;color:#596167;border-color:#d7d1c8}
html[data-toolora-theme="light"] .lunivo-calendar-feedback:hover{color:#17191b}


/* RC3.24.2 — calendar layout polish + robust desktop/mobile drawer */
.lunivo-calendar-overlay{
  padding:64px 18px 18px!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
}
.lunivo-calendar-panel{
  width:min(430px,calc(100vw - 36px))!important;
  max-height:calc(100dvh - 82px)!important;
  border-radius:22px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.lunivo-calendar-head{
  flex:0 0 auto!important;
  padding:16px 17px!important;
}
.lunivo-calendar-headcopy{min-width:0!important}
.lunivo-calendar-headcopy strong{font-size:22px!important}
.lunivo-calendar-body{
  overflow:auto!important;
  padding:14px 15px 18px!important;
  min-height:0!important;
}
.lunivo-calendar-today{
  padding:14px 15px!important;
  margin-bottom:10px!important;
}
.lunivo-calendar-alert{
  border:1px solid #262f36!important;
  border-radius:14px!important;
  padding:10px!important;
  margin:0 0 10px!important;
  background:#0e1418!important;
}
.lunivo-calendar-alert .lunivo-calendar-section-title{margin:0 0 8px!important}
.lunivo-calendar-alert:not(.has-items) .lunivo-calendar-section-title{margin-bottom:7px!important}
.lunivo-calendar-actions{
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:10px 0 12px!important;
}
.lunivo-calendar-actions button{min-height:42px!important;border-radius:12px!important}
.lunivo-calendar-form{
  margin:0 0 12px!important;
  padding:13px!important;
  border-radius:15px!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
.lunivo-calendar-form label:first-child,
.lunivo-calendar-form label:last-of-type,
.lunivo-calendar-form-actions{
  grid-column:1/-1!important;
}
.lunivo-calendar-form label{min-width:0!important}
.lunivo-calendar-form input,
.lunivo-calendar-form textarea{
  min-height:42px!important;
  padding:10px 11px!important;
  border-radius:10px!important;
}
.lunivo-calendar-form textarea{min-height:72px!important}
.lunivo-calendar-form-actions{margin-top:1px!important}
.lunivo-calendar-section-title{margin:13px 2px 8px!important}
.lunivo-calendar-event{padding:10px 11px!important;border-radius:13px!important}
.lunivo-calendar-feedback{margin-top:12px!important}
html[data-toolora-theme="light"] .lunivo-calendar-alert{
  background:#fff!important;
  border-color:#ded8cf!important;
}

@media(min-width:900px){
  .lunivo-calendar-overlay{padding-top:76px!important;padding-right:22px!important}
  .lunivo-calendar-panel{box-shadow:0 30px 100px rgba(0,0,0,.34)!important}
}

@media(max-width:620px){
  .lunivo-calendar-overlay{
    padding:0!important;
    align-items:flex-end!important;
    justify-content:center!important;
    background:rgba(2,5,7,.58)!important;
  }
  .lunivo-calendar-panel{
    width:100%!important;
    max-width:none!important;
    max-height:88dvh!important;
    border-radius:22px 22px 0 0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
  }
  .lunivo-calendar-head{padding:15px 16px!important}
  .lunivo-calendar-body{padding:13px 14px calc(18px + env(safe-area-inset-bottom))!important}
  .lunivo-calendar-form{grid-template-columns:1fr!important}
  .lunivo-calendar-form label:first-child,
  .lunivo-calendar-form label:last-of-type,
  .lunivo-calendar-form-actions{grid-column:auto!important}
  .lunivo-calendar-actions{position:sticky;top:0;z-index:1}
}

@media(max-width:380px){
  .lunivo-calendar-actions{grid-template-columns:1fr!important}
  .lunivo-calendar-event{grid-template-columns:38px 1fr!important}
  .lunivo-calendar-source{grid-column:2;justify-self:start!important}
}
