/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#f1f5f9;color:#1e293b;height:100dvh;overflow:hidden}

/* ── Login ── */
#login-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a56db,#1e40af);padding:1rem}
.login-box{background:#fff;border-radius:20px;padding:2.5rem 2rem;width:100%;max-width:400px;text-align:center;box-shadow:0 25px 50px rgba(0,0,0,.3)}
.login-logo{font-size:3rem;margin-bottom:.5rem}
.login-box h1{font-size:1.75rem;font-weight:700}
.login-sub{color:#64748b;margin:.5rem 0 1.5rem;font-size:.95rem}
.member-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}
.member-card{padding:1rem .75rem;border-radius:12px;border:2px solid transparent;cursor:pointer;transition:all .2s;background:#f8fafc;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.member-card:hover{border-color:var(--c);transform:translateY(-2px)}
.member-card-dot{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.member-card-initial{font-size:1.3rem;font-weight:700;color:#fff}
.member-card-name{font-size:.85rem;font-weight:600}
.pin-step{margin-top:.5rem}
.pin-member-info{margin-bottom:1rem;font-weight:600}
.pin-dots{display:flex;justify-content:center;gap:1rem;margin:1rem 0}
.pin-dots span{width:16px;height:16px;border-radius:50%;border:2px solid #94a3b8;background:transparent;transition:background .2s}
.pin-dots span.filled{background:#1a56db;border-color:#1a56db}
.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem auto;max-width:240px}
.pin-btn{padding:1rem;border:none;border-radius:10px;font-size:1.2rem;font-weight:600;background:#f1f5f9;cursor:pointer;transition:all .15s}
.pin-btn:hover{background:#e2e8f0}
.pin-btn:active{transform:scale(.95)}
.pin-error{color:#ef4444;font-size:.85rem;margin:.5rem 0}
.btn-link{background:none;border:none;color:#64748b;cursor:pointer;font-size:.9rem;margin-top:.75rem;text-decoration:underline}

/* ── App ── */
#app{display:flex;flex-direction:column;height:100dvh}

/* Top bar */
#top-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.member-filters{display:flex;gap:.4rem;flex:1;flex-wrap:wrap}
.mf-avatar{width:34px;height:34px;border-radius:50%;border:2.5px solid transparent;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff;flex-shrink:0}
.mf-avatar.off{opacity:.3}
.btn-today{padding:.35rem .75rem;border-radius:6px;border:1.5px solid #e2e8f0;background:#fff;font-size:.8rem;font-weight:600;color:#475569;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}
.btn-today:hover{border-color:#1a56db;color:#1a56db}

/* Calendar scroll */
.cal-scroll{flex:1;overflow-y:auto;overflow-x:hidden;background:#f1f5f9;-webkit-overflow-scrolling:touch}
.cal-scroll::-webkit-scrollbar{width:4px}
.cal-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}

/* Monthly grids */
.tl-cal-wrap{display:flex;flex-direction:column;gap:.75rem;padding:.75rem}
.tl-cal-month{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.07)}
.tl-cal-title{padding:.6rem 1rem;font-size:.85rem;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.tl-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #f1f5f9}
.tl-cal-weekdays span{text-align:center;padding:.3rem 0;font-size:.62rem;font-weight:700;color:#94a3b8;text-transform:uppercase}
.tl-cal-days{display:grid;grid-template-columns:repeat(7,1fr)}
.tl-cal-day{min-height:58px;border-right:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;padding:.2rem;cursor:pointer;transition:background .1s;overflow:hidden}
.tl-cal-day:hover{background:#f8fafc}
.tl-cal-day:active{background:#eff6ff}
.tl-cal-day.today{background:#eff6ff}
.tl-cal-empty{background:#fafafa;cursor:default}
.tl-cal-num{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:.78rem;font-weight:700;color:#1e293b;margin-bottom:.1rem}
.tl-cal-day.today .tl-cal-num{background:#1a56db;color:#fff}
.tl-cal-day.weekend .tl-cal-num{color:#94a3b8}
.tl-cal-events{display:flex;flex-direction:column;gap:1px}
.tl-cal-event{border-radius:3px;padding:1px 3px;font-size:.62rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;line-height:1.4}
.tl-cal-event:hover{filter:brightness(1.1)}
.tl-cal-more{font-size:.58rem;color:#94a3b8;padding-left:2px}

/* ── Day Sheet ── */
.day-sheet{position:fixed;inset:0;z-index:500;display:flex;flex-direction:column;justify-content:flex-end}
.day-sheet.hidden{display:none}
.sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(2px)}
.sheet-panel{position:relative;background:#fff;border-radius:20px 20px 0 0;max-height:88dvh;overflow-y:auto;box-shadow:0 -8px 40px rgba(0,0,0,.18);animation:slideUp .25s ease}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.sheet-bar{width:36px;height:4px;background:#cbd5e1;border-radius:2px;margin:.75rem auto .25rem}
.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:.25rem 1rem .5rem}
.sheet-date-label{font-size:1rem;font-weight:700;color:#1e293b}

/* Existing events in sheet */
.sheet-events-list{padding:0 1rem .25rem}
.sheet-ev-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .5rem;border-radius:8px;cursor:pointer;transition:background .15s}
.sheet-ev-item:hover{background:#f8fafc}
.sheet-ev-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.sheet-ev-title{flex:1;font-size:.88rem;font-weight:500}
.sheet-ev-time{font-size:.72rem;color:#94a3b8}
.sheet-new-label{font-size:.68rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;padding:.6rem .5rem .2rem}

/* Form */
.sheet-form{padding:.25rem 1rem 1.75rem}

/* ── Event type row ── */
.ev-type-row{display:flex;gap:.5rem;padding:.25rem 0 .6rem}
.ev-type{width:40px;height:40px;border-radius:50%;border:1.5px solid #e2e8f0;background:#f8fafc;font-size:1.2rem;cursor:pointer;transition:all .15s;font-family:inherit;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ev-type:hover{border-color:#94a3b8;transform:scale(1.08)}
.ev-type.active{background:#1a56db;border-color:#1a56db;transform:scale(1.1);box-shadow:0 2px 8px rgba(26,86,219,.35)}

/* ── Form lines ── */
.f-line{display:block;width:100%;border:none;outline:none;font-family:inherit;background:transparent;padding:0;color:#1e293b}
.f-title{font-size:1.1rem;font-weight:700;padding:.1rem 0;border-bottom:1.5px solid #f1f5f9;margin-bottom:.5rem}
.f-title::placeholder{color:#94a3b8;font-weight:400}
.f-desc{font-size:.9rem;color:#475569;resize:none;line-height:1.5;margin-bottom:.5rem}
.f-desc::placeholder{color:#cbd5e1}

/* ── People row ── */
.people-row{display:flex;gap:.6rem;flex-wrap:wrap;padding:.3rem 0 .6rem;align-items:center}
.ppl-avatar{width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:#fff;transition:all .18s;border:2.5px solid transparent;position:relative;flex-shrink:0}
.ppl-avatar.on{border-color:#1e293b;box-shadow:0 0 0 3px rgba(26,86,219,.18)}
.ppl-avatar.off{opacity:.28;filter:grayscale(.6)}
.ppl-avatar .ppl-check{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:#22c55e;border:2px solid #fff;display:none;align-items:center;justify-content:center;font-size:8px;color:#fff}
.ppl-avatar.on .ppl-check{display:flex}

/* ── Time block ── */
.time-block{border-radius:10px;margin-bottom:.5rem}
.allday-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .1rem;cursor:pointer}
.allday-row input[type=checkbox]{accent-color:#1a56db;width:16px;height:16px;cursor:pointer}
.allday-label-txt{font-size:.88rem;color:#64748b;font-weight:500}
.time-summary{flex:1;text-align:right;font-size:.82rem;color:#1a56db;font-weight:600}

/* Time slider */
.time-slider-wrap{padding:.5rem .1rem .75rem;}
.time-labels-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}
.time-badge{padding:.28rem .65rem;border-radius:6px;font-size:.88rem;font-weight:700}
.start-badge{background:#dbeafe;color:#1a56db}
.end-badge{background:#dcfce7;color:#16a34a}
.time-range-arrow{color:#94a3b8}
.time-duration{font-size:.75rem;color:#94a3b8;margin-left:auto}
.dual-range-wrap{position:relative;height:36px;display:flex;align-items:center}
.dual-range-track{position:absolute;left:0;right:0;height:6px;background:#e2e8f0;border-radius:3px;pointer-events:none}
.dual-range-fill{position:absolute;height:6px;background:linear-gradient(90deg,#1a56db,#16a34a);border-radius:3px;pointer-events:none}
.dual-range{position:absolute;width:100%;appearance:none;background:transparent;pointer-events:none;height:36px;margin:0;padding:0}
.dual-range::-webkit-slider-thumb{appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #1a56db;box-shadow:0 2px 8px rgba(0,0,0,.2);pointer-events:all;cursor:grab}
.dual-range::-webkit-slider-thumb:active{transform:scale(1.2);cursor:grabbing}
.dual-range:last-child::-webkit-slider-thumb{border-color:#16a34a}
.dual-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #1a56db;box-shadow:0 2px 8px rgba(0,0,0,.2);pointer-events:all}
.time-ticks{display:flex;justify-content:space-between;margin-top:.2rem}
.time-ticks span{font-size:.62rem;color:#94a3b8}

/* People row */
.people-row{display:flex;gap:.5rem;flex-wrap:wrap;padding:.4rem .75rem .6rem;min-height:0}
.ppl-avatar{width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff;transition:all .2s;border:2.5px solid transparent;flex-shrink:0}
.ppl-avatar.owner{border-color:#1e293b;transform:scale(1.12)}
.ppl-avatar.shared{border-color:transparent;opacity:.55}
.ppl-avatar.off{opacity:.22;filter:grayscale(1)}

/* Form actions */
.form-actions{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;gap:.5rem}
.form-actions-right{display:flex;gap:.5rem;align-items:center}
.btn-adv{padding:.55rem .9rem;border-radius:10px;border:1.5px solid #e2e8f0;background:#f8fafc;font-size:1rem;color:#64748b;cursor:pointer;transition:all .15s;font-family:inherit;letter-spacing:.15em}
.btn-adv:hover{background:#e2e8f0}
.btn-adv.open{background:#1e293b;color:#fff;border-color:#1e293b}
.btn-ev-save{padding:.65rem 1.4rem;border-radius:10px;border:none;background:#1a56db;color:#fff;font-size:.92rem;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit}
.btn-ev-save:hover{background:#1d4ed8}
.btn-ev-save:active{transform:scale(.98)}
.btn-ev-delete{padding:.65rem 1rem;border-radius:10px;border:none;background:#fef2f2;color:#ef4444;font-size:.88rem;font-weight:600;cursor:pointer;font-family:inherit}
.btn-ev-delete:hover{background:#fee2e2}

/* Advanced section */
.adv-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f1f5f9}
.adv-row{display:flex;align-items:center;gap:.65rem;padding:.55rem .4rem;border-radius:8px;cursor:pointer;transition:background .15s}
.adv-row:hover{background:#f8fafc}
.adv-icon{font-size:.95rem;width:20px;text-align:center;flex-shrink:0}
.adv-value{flex:1;font-size:.88rem;color:#475569}
.adv-arrow{color:#cbd5e1;font-size:1.1rem;transition:transform .2s}
.adv-row.open .adv-arrow{transform:rotate(90deg)}
.adv-opts{display:flex;flex-wrap:wrap;gap:.35rem;padding:.35rem .4rem .6rem}
.adv-opt{padding:.32rem .75rem;border-radius:20px;border:1.5px solid #e2e8f0;background:#f8fafc;font-size:.8rem;font-weight:600;color:#64748b;cursor:pointer;font-family:inherit;transition:all .15s}
.adv-opt:hover{border-color:#94a3b8}
.adv-opt.active{background:#1e293b;color:#fff;border-color:#1e293b}

/* ── Modals ── */
.modal{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;padding:1rem}
.modal.hidden{display:none}
.modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px)}
.modal-content{position:relative;background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90dvh;overflow-y:auto;box-shadow:0 25px 50px rgba(0,0,0,.25);padding:1.25rem}
.modal-sm{max-width:340px}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.modal-header h2{font-size:1.1rem;font-weight:700}
.modal-sub{color:#64748b;font-size:.88rem;margin:.25rem 0 1rem}
.modal-actions{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9}
.cfg-section-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;color:#94a3b8;text-transform:uppercase;margin:.5rem 0}

/* Recurrent options */
.recur-options{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}

/* Member management */
.member-manage-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .5rem;border-radius:8px;transition:background .15s}
.member-manage-row:hover{background:#f8fafc}
.member-manage-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;cursor:pointer}
.member-manage-name{flex:1;font-weight:500;font-size:.9rem;cursor:pointer}
.member-manage-arrow{color:#cbd5e1;cursor:pointer}
.wapi-status-btn{background:none;border:none;font-size:1rem;cursor:pointer;padding:0 2px;opacity:.45;transition:opacity .15s,filter .15s;line-height:1}
.wapi-status-btn:hover{opacity:.9}
.wapi-status-btn.wapi-connected{opacity:1;filter:drop-shadow(0 0 4px #22c55e)}
.wapi-no-phone{opacity:.2;cursor:default}
.wapi-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#1a56db;border-radius:50%;animation:spin .8s linear infinite;margin:1rem auto}
@keyframes spin{to{transform:rotate(360deg)}}
.color-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}
.color-swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:all .15s}
.color-swatch:hover{transform:scale(1.1)}
.color-swatch.selected{border-color:#1e293b}

/* Forms */
.form-group{margin-bottom:.85rem}
.form-label{display:block;font-size:.72rem;font-weight:700;color:#64748b;margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.04em}
.form-input{width:100%;padding:.5rem .65rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;font-family:inherit;background:#fff;color:#1e293b;transition:border-color .15s}
.form-input:focus{outline:none;border-color:#1a56db;box-shadow:0 0 0 3px rgba(26,86,219,.1)}
.mf-wapi-status{font-size:.75rem;margin-top:.3rem;min-height:1rem}

/* Buttons */
.btn{padding:.5rem .9rem;border-radius:8px;border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}
.btn-pri{background:#1a56db;color:#fff}.btn-pri:hover{background:#1d4ed8}
.btn-sec{background:#f1f5f9;color:#475569}.btn-sec:hover{background:#e2e8f0}
.btn-danger{background:#fef2f2;color:#ef4444}.btn-danger:hover{background:#fee2e2}
.btn-block{width:100%;text-align:center}
.btn-icon{width:32px;height:32px;border-radius:8px;border:none;background:none;cursor:pointer;font-size:1rem;color:#64748b;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}
.btn-icon:hover{background:#f1f5f9}

/* Toast */
#toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem}
.toast{padding:.65rem 1rem;border-radius:10px;font-size:.85rem;font-weight:500;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.15);animation:toastIn .3s ease;max-width:280px}
.toast.success{background:#22c55e}.toast.error{background:#ef4444}.toast.info{background:#1a56db}
@keyframes toastIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}

.hidden{display:none!important}

/* ── Jorvis Chat ── */
#jorvis-fab{
  position:fixed;bottom:1.25rem;right:1.25rem;
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,#1a56db,#7c3aed);
  color:#fff;font-size:1.3rem;border:none;cursor:pointer;
  box-shadow:0 4px 16px rgba(26,86,219,.45);
  display:flex;align-items:center;justify-content:center;
  z-index:900;transition:transform .2s,box-shadow .2s;
}
#jorvis-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px rgba(26,86,219,.55)}
#jorvis-fab:active{transform:scale(.95)}

#jorvis-panel{
  position:fixed;bottom:5.5rem;right:1rem;
  width:min(360px,calc(100vw - 2rem));
  height:min(480px,calc(100dvh - 7rem));
  background:#fff;border-radius:16px;
  box-shadow:0 12px 40px rgba(0,0,0,.18);
  display:flex;flex-direction:column;
  z-index:901;overflow:hidden;
  transform:scale(.92) translateY(12px);opacity:0;
  pointer-events:none;
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),opacity .18s ease;
}
#jorvis-panel.open{transform:scale(1) translateY(0);opacity:1;pointer-events:all}

.jorvis-head{
  display:flex;align-items:center;gap:.6rem;
  padding:.75rem 1rem;
  background:linear-gradient(135deg,#1a56db,#7c3aed);
  color:#fff;flex-shrink:0;
}
.jorvis-avatar{
  width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.25);
  display:flex;align-items:center;justify-content:center;font-size:1rem;
}
.jorvis-name{font-weight:700;font-size:.95rem;flex:1}
.jorvis-close{background:none;border:none;color:rgba(255,255,255,.8);font-size:1.1rem;cursor:pointer;padding:.2rem;line-height:1}
.jorvis-close:hover{color:#fff}

.jorvis-messages{
  flex:1;overflow-y:auto;padding:.75rem;
  display:flex;flex-direction:column;gap:.6rem;
  scroll-behavior:smooth;
}
.jorvis-messages::-webkit-scrollbar{width:3px}
.jorvis-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}

.jmsg{max-width:85%;padding:.55rem .8rem;border-radius:12px;font-size:.88rem;line-height:1.45;word-break:break-word}
.jmsg.user{
  align-self:flex-end;
  background:#1a56db;color:#fff;border-bottom-right-radius:4px;
}
.jmsg.bot{
  align-self:flex-start;
  background:#f1f5f9;color:#1e293b;border-bottom-left-radius:4px;
}
.jmsg.bot ul{padding-left:1rem;margin:.25rem 0}
.jmsg.bot li{margin:.15rem 0}
.jmsg.thinking{color:#94a3b8;font-style:italic}

.jorvis-input-row{
  display:flex;align-items:center;gap:.5rem;
  padding:.6rem .75rem;border-top:1px solid #f1f5f9;flex-shrink:0;
}
#jorvis-input{
  flex:1;border:1.5px solid #e2e8f0;border-radius:20px;
  padding:.45rem .85rem;font-size:.88rem;outline:none;
  transition:border-color .15s;background:#f8fafc;
}
#jorvis-input:focus{border-color:#1a56db;background:#fff}
#jorvis-send{
  width:34px;height:34px;border-radius:50%;
  background:#1a56db;color:#fff;border:none;
  cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:background .15s;
}
#jorvis-send:hover{background:#1d4ed8}
#jorvis-send:disabled{background:#94a3b8;cursor:default}

#jorvis-mic,#jorvis-tts{
  width:32px;height:32px;border-radius:50%;border:none;
  background:#f1f5f9;cursor:pointer;font-size:1rem;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .15s;
}
#jorvis-mic:hover,#jorvis-tts:hover{background:#e2e8f0}
#jorvis-mic.recording{
  background:#fef2f2;animation:pulse-mic .8s ease-in-out infinite;
}
#jorvis-tts.active{background:#eff6ff;box-shadow:0 0 0 2px #3b82f6}
@keyframes pulse-mic{
  0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.4)}
  50%{box-shadow:0 0 0 6px rgba(239,68,68,0)}
}

.jorvis-suggestions{
  display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem .75rem 0;
}
.jorvis-sug{
  font-size:.75rem;padding:.25rem .6rem;border-radius:20px;
  border:1.5px solid #e2e8f0;background:#f8fafc;color:#475569;
  cursor:pointer;transition:all .15s;white-space:nowrap;
}
.jorvis-sug:hover{border-color:#1a56db;color:#1a56db;background:#eff6ff}

.jorvis-cursor{display:inline-block;width:2px;height:.9em;background:#475569;margin-left:1px;animation:blink .8s step-end infinite;vertical-align:middle}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* delete confirm */
.jdel-item{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.85rem}
.jdel-item em{color:#94a3b8;font-style:normal;font-size:.78rem}
.jdel-cb{accent-color:#ef4444;width:15px;height:15px;flex-shrink:0;cursor:pointer}
.jdel-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.75rem}
.jdel-btn{padding:.3rem .7rem;border-radius:6px;border:none;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}
.jdel-btn.cancel{background:#f1f5f9;color:#64748b}
.jdel-btn.cancel:hover{background:#e2e8f0}
.jdel-btn.confirm{background:#ef4444;color:#fff}
.jdel-btn.confirm:hover{background:#dc2626}
.jdel-btn.all{background:#f97316;color:#fff}
.jdel-btn.all:hover{background:#ea580c}
.jexport-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;background:#1a56db;color:#fff;border-radius:8px;font-size:.85rem;font-weight:600;text-decoration:none;margin-top:.3rem}
.jexport-btn:hover{background:#1e429f}
