:root{
  --navy:#0a2540; --navy2:#13395d; --teal:#12b8b0; --aqua:#e6fffb; --sky:#eef7ff;
  --paper:#ffffff; --ink:#102033; --muted:#637187; --line:#dbe6ef; --soft:#f6f9fc;
  --green:#138a5b; --green-bg:#e9f8f1; --orange:#b46500; --orange-bg:#fff2dc;
  --yellow:#8a6d00; --yellow-bg:#fff8cc; --red:#b42318; --red-bg:#fff0ee;
  --shadow:0 18px 50px rgba(10,37,64,.12); --radius:22px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box} body{margin:0;background:linear-gradient(135deg,#eef7ff 0%,#f8fbff 45%,#e8fbfa 100%);color:var(--ink)}
button,input,select,textarea{font:inherit} button{border:0;cursor:pointer;border-radius:999px;background:var(--navy);color:white;padding:.78rem 1rem;font-weight:750;transition:.18s ease;box-shadow:0 10px 24px rgba(10,37,64,.14)}
button:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(10,37,64,.18)} button.secondary{background:white;color:var(--navy);border:1px solid var(--line)} button.ghost{box-shadow:none;background:transparent}.danger{color:var(--red)!important}.app-shell{display:grid;grid-template-columns:286px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-right:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--teal));display:grid;place-items:center;color:white;font-size:24px;box-shadow:var(--shadow)}.brand strong{display:block;font-size:1.05rem}.brand span,.label{color:var(--muted);font-size:.82rem}.nav{display:grid;gap:8px}.nav button{width:100%;text-align:left;background:transparent;color:var(--navy);box-shadow:none;border-radius:14px;padding:.8rem .9rem;font-weight:700}.nav button.active,.nav button:hover{background:var(--navy);color:white;transform:none}.side-card{margin-top:auto;background:var(--sky);border:1px solid var(--line);border-radius:18px;padding:16px}.side-card p{margin:.35rem 0 0;color:var(--muted);line-height:1.45}main{padding:30px;min-width:0}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;background:radial-gradient(circle at 80% 20%,rgba(18,184,176,.28),transparent 32%),linear-gradient(135deg,var(--navy),#17486d);color:white;border-radius:32px;padding:30px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;right:-90px;bottom:-110px;width:320px;height:320px;border-radius:50%;border:52px solid rgba(255,255,255,.08)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:#9ff2eb;font-weight:850;margin:0 0 8px}.hero h1{font-size:clamp(2rem,5vw,4rem);line-height:.95;margin:.1rem 0}.hero-copy{max-width:760px;color:#d8efff;font-size:1.05rem;line-height:1.5}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1}.view{display:none;margin-top:26px}.active-view{display:block}.grid{display:grid;gap:18px}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 10px 30px rgba(10,37,64,.06)}.card.clickable{cursor:pointer}.card.clickable:hover{border-color:var(--teal);transform:translateY(-2px);transition:.18s ease}.card h2,.card h3{margin:.1rem 0 .65rem}.metric{font-size:2rem;font-weight:900;color:var(--navy);letter-spacing:-.04em}.muted{color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.section-head h2{margin:0;font-size:1.6rem}.pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.34rem .7rem;font-size:.78rem;font-weight:800;background:var(--soft);color:var(--muted);border:1px solid var(--line)}.pill.confirmado,.pill.pagado,.pill.reservado{background:var(--green-bg);color:var(--green);border-color:#bcebd5}.pill.pendiente,.pill.propuesta,.pill.propuesto{background:var(--orange-bg);color:var(--orange);border-color:#ffd499}.pill.por_confirmar,.pill.confirmado_por_chat,.pill.reservado_según_chat{background:var(--yellow-bg);color:var(--yellow);border-color:#f4e58d}.pill.critico{background:var(--red-bg);color:var(--red);border-color:#ffc9c2}.timeline-list{position:relative;display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:126px 1fr;gap:16px;align-items:start}.timeline-date{font-weight:900;color:var(--navy);text-align:right}.timeline-date small{display:block;color:var(--muted);font-weight:700}.timeline-content{position:relative;background:white;border:1px solid var(--line);border-radius:20px;padding:16px 18px}.timeline-content.clickable{cursor:pointer}.timeline-content.clickable:hover{border-color:var(--teal);box-shadow:0 14px 30px rgba(10,37,64,.09);transform:translateY(-1px);transition:.18s ease}.timeline-content:before{content:"";position:absolute;left:-26px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 6px #d9fbf8}.timeline-content h3{margin:0 0 6px}.timeline-content p{margin:.5rem 0;color:var(--muted);line-height:1.5}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.detail-grid>div{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:12px}.detail-grid strong{display:block;margin-top:4px;color:var(--navy);line-height:1.35}.detail-list{display:grid;gap:8px;margin:10px 0 18px;padding-left:20px}.detail-list li{line-height:1.45}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.filters button{background:white;color:var(--navy);border:1px solid var(--line);box-shadow:none;padding:.55rem .8rem}.filters button.active{background:var(--navy);color:white}.day-card{display:grid;gap:12px}.event-row{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px;border-radius:14px;background:var(--soft);border:1px solid var(--line)}.event-time{font-weight:850;color:var(--navy)}.place-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.map-card{min-height:260px;background:linear-gradient(135deg,#dbf8ff,#fff),repeating-linear-gradient(45deg,transparent 0 20px,rgba(10,37,64,.04) 21px 22px);position:relative;overflow:hidden}.pin{position:absolute;left:52%;top:42%;transform:translate(-50%,-100%);font-size:44px;filter:drop-shadow(0 10px 12px rgba(0,0,0,.18))}.big-address{font-size:1.25rem;line-height:1.4;color:var(--navy);font-weight:800}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:white}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8fbfe}tr:last-child td{border-bottom:0}.money{font-weight:900;color:var(--navy);white-space:nowrap}.split-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.split-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding-bottom:5px}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.kanban-col{background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:22px;padding:14px}.kanban-col h3{margin:.2rem .2rem 1rem}.todo-card{background:white;border:1px solid var(--line);border-radius:16px;padding:13px;margin-bottom:10px}.priority-alta{border-left:5px solid var(--red)}.priority-media{border-left:5px solid var(--orange)}.family-card ul{margin:.6rem 0 0;padding-left:18px}.payer{font-weight:900;color:var(--green)}dialog{border:0;border-radius:28px;padding:0;box-shadow:0 30px 80px rgba(10,37,64,.25);max-width:min(760px,94vw)}dialog::backdrop{background:rgba(6,23,39,.48);backdrop-filter:blur(6px)}.modal-card{padding:24px;background:white}.modal-close{float:right;width:42px;height:42px;padding:0;background:#f1f5f9;color:var(--navy);box-shadow:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px;font-weight:800;color:var(--navy)}.form-grid .wide{grid-column:1/-1}input,select,textarea{border:1px solid var(--line);border-radius:14px;padding:.75rem;background:#fbfdff;color:var(--ink)}textarea{resize:vertical}small{color:var(--muted);font-weight:500}menu{display:flex;justify-content:flex-end;gap:10px;padding:0;margin:22px 0 0}.toast{position:fixed;right:22px;bottom:22px;background:var(--navy);color:white;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow);z-index:5}.empty{border:1px dashed var(--line);border-radius:18px;padding:24px;text-align:center;color:var(--muted);background:rgba(255,255,255,.65)}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.nav{grid-template-columns:repeat(2,1fr)}main{padding:18px}.hero{display:block}.hero-actions{justify-content:flex-start}.grid.cols-4,.grid.cols-3,.grid.cols-2,.place-hero,.kanban,.detail-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr}.timeline-date{text-align:left}.timeline-content:before{display:none}.form-grid{grid-template-columns:1fr}.event-row{grid-template-columns:88px 1fr}}
@media print{.sidebar,.hero-actions,button,.filters{display:none!important}.app-shell{display:block}body{background:white}.card,.hero{box-shadow:none}.view{display:block!important;break-inside:avoid}}

/* Splitwise-like expenses */
.splitwise-dashboard{display:grid;gap:16px}.balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.balance-card{background:white;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 10px 26px rgba(10,37,64,.07);display:grid;gap:6px}.balance-card span{font-weight:850;color:var(--navy)}.balance-card strong{font-size:1.55rem}.balance-card small{color:var(--muted)}.balance-card em{font-style:normal;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.balance-card.positive{border-color:#b9ead2;background:linear-gradient(180deg,#fff,#f1fff7)}.balance-card.positive strong,.balance-card.positive em{color:var(--green)}.balance-card.negative{border-color:#ffd4b0;background:linear-gradient(180deg,#fff,#fff8ef)}.balance-card.negative strong,.balance-card.negative em{color:var(--orange)}.settle-card{background:var(--navy);color:white;border-radius:22px;padding:18px;box-shadow:var(--shadow)}.settle-card h3{margin:0 0 12px}.settle-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.16)}.settle-row:first-of-type{border-top:0}.settle-row strong{color:#9ff2eb}.expense-list{display:grid;gap:12px}.expense-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:start;background:white;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 10px 26px rgba(10,37,64,.06)}.expense-icon{width:46px;height:46px;border-radius:16px;background:var(--aqua);display:grid;place-items:center;color:var(--teal);font-weight:950;font-size:1.35rem}.expense-title{display:flex;align-items:center;gap:10px;justify-content:space-between}.expense-title h3{margin:0}.expense-amount{font-size:1.3rem;font-weight:950;color:var(--navy);white-space:nowrap}.mini-debts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mini-debts span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.88rem}.person-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.person-chip{background:white;color:var(--navy);border:1px solid var(--line);box-shadow:none}.person-chip.selected{background:var(--teal);border-color:var(--teal);color:white}.field-label{display:block;font-weight:800;color:var(--navy);margin-bottom:2px}@media(max-width:980px){.balance-grid{grid-template-columns:1fr}.expense-card{grid-template-columns:40px 1fr}.expense-amount{grid-column:2}}


.documents-list{display:grid;gap:12px}.document-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--border);border-radius:18px;background:#fff}.doc-actions{display:flex;gap:8px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:999px;padding:10px 14px;background:var(--navy);color:#fff;font-weight:800}.button.secondary{background:#eaf6f7;color:var(--navy)}
@media (max-width:720px){.document-card{align-items:flex-start;flex-direction:column}.doc-actions{width:100%}.doc-actions .button{flex:1}}


/* SlidesGo-inspired vertical timeline */
.vertical-timeline-shell{display:grid;grid-template-columns:minmax(240px,30%) minmax(0,70%);gap:44px;align-items:start}.vertical-timeline-intro{position:sticky;top:28px;padding:18px 4px 18px 0}.vertical-timeline-intro h2{font-size:clamp(2.1rem,4.5vw,4.8rem);line-height:.92;letter-spacing:-.06em;margin:10px 0 18px;color:var(--navy);text-wrap:balance}.vertical-timeline-intro p{font-size:1.05rem;line-height:1.7;color:var(--muted);max-width:360px}.timeline-summary-card{margin:28px 0 18px;background:#fff;border:1px solid rgba(219,230,239,.9);border-radius:24px;padding:18px;box-shadow:0 18px 44px rgba(10,37,64,.08);display:grid;gap:4px}.timeline-summary-card strong{font-size:1.9rem;color:var(--navy)}.timeline-summary-card span{color:var(--muted);font-weight:700}.timeline-add-btn{background:linear-gradient(135deg,var(--navy),#25658f)}.vertical-timeline-stage{position:relative;display:grid;gap:18px;padding:12px 0 30px}.vertical-line{position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(180deg,transparent,#cfd9e6 4%,#cfd9e6 96%,transparent);transform:translateX(-50%)}.vertical-day-row{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:60px;min-height:164px;animation:timelineFadeUp .6s ease both;animation-delay:calc(var(--i) * 70ms)}.vertical-day-row.left .vertical-day-card{grid-column:1}.vertical-day-row.right .vertical-day-card{grid-column:2}.day-node{position:absolute;left:50%;top:34px;width:34px;height:34px;border-radius:50%;transform:translateX(-50%);display:grid;place-items:center;background:#fff;border:6px solid var(--day-color);box-shadow:0 12px 30px rgba(10,37,64,.15);z-index:2}.day-node span{font-size:.72rem;font-weight:950;color:var(--navy)}.vertical-day-card{--day-color:#4a8df7;background:#fff;border:1px solid rgba(219,230,239,.9);border-radius:28px;box-shadow:0 18px 52px rgba(10,37,64,.10);overflow:hidden;cursor:pointer;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}.vertical-day-card:hover{transform:translateY(-5px);box-shadow:0 26px 70px rgba(10,37,64,.16);border-color:color-mix(in srgb,var(--day-color) 35%,#dbe6ef)}.day-tab{display:inline-flex;margin:0 0 0 22px;transform:translateY(-1px);background:var(--day-color);color:#fff;border-radius:0 0 18px 18px;padding:10px 18px;font-weight:900;font-size:.86rem;letter-spacing:.01em;box-shadow:0 10px 22px color-mix(in srgb,var(--day-color) 28%,transparent)}.day-card-body{padding:12px 22px 20px}.day-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.day-kicker{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin-bottom:5px}.day-card-head h3{margin:0;font-size:1.35rem;line-height:1.15;color:var(--navy);letter-spacing:-.025em}.expand-hint{font-size:.78rem;font-weight:850;color:var(--day-color);background:color-mix(in srgb,var(--day-color) 10%,#fff);border:1px solid color-mix(in srgb,var(--day-color) 22%,#fff);border-radius:999px;padding:7px 10px;white-space:nowrap}.day-summary{color:#526178;line-height:1.62;margin:14px 0 0}.day-expanded{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-6px);transition:grid-template-rows .32s ease, opacity .25s ease, transform .25s ease}.day-expanded>*{overflow:hidden}.vertical-day-card.expanded .day-expanded{grid-template-rows:1fr;opacity:1;transform:translateY(0);margin-top:18px}.vertical-day-card.expanded .expand-hint{color:#fff;background:var(--day-color)}.day-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid var(--line);padding-top:18px}.day-detail-grid section{background:#f9fbfe;border:1px solid #e8eef5;border-radius:20px;padding:14px}.day-detail-grid section.wide{grid-column:1/-1}.day-detail-grid h4{margin:0 0 10px;color:var(--navy);font-size:.92rem;letter-spacing:-.01em}.timeline-detail-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.timeline-detail-list li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;color:#36475c}.timeline-detail-list time{font-weight:950;color:var(--day-color);min-width:54px}.timeline-detail-list small{color:var(--muted)}.timeline-detail-list a,.timeline-links a{color:var(--navy);font-weight:850;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--day-color) 40%,transparent)}.micro-btn{padding:5px 9px;border-radius:999px;font-size:.75rem;background:white;color:var(--navy);border:1px solid var(--line);box-shadow:none}.timeline-links{display:flex;flex-wrap:wrap;gap:10px}.vertical-day-card.blue,.day-node.blue{--day-color:#4a8df7}.vertical-day-card.green,.day-node.green{--day-color:#31b77b}.vertical-day-card.red,.day-node.red{--day-color:#ef6d66}.vertical-day-card.orange,.day-node.orange{--day-color:#f59d3d}.vertical-day-card.purple,.day-node.purple{--day-color:#8c7cf6}.vertical-day-card.teal,.day-node.teal{--day-color:#16b8b0}@keyframes timelineFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.vertical-timeline-shell{grid-template-columns:1fr;gap:22px}.vertical-timeline-intro{position:relative;top:auto}.vertical-timeline-intro h2{font-size:clamp(2.2rem,12vw,4rem)}.vertical-timeline-stage{padding-left:28px}.vertical-line{left:16px}.vertical-day-row{display:block;min-height:auto;padding:0 0 18px}.day-node{left:16px;top:28px;width:30px;height:30px;border-width:5px}.vertical-day-card{margin-left:32px}.day-detail-grid{grid-template-columns:1fr}.day-tab{margin-left:18px}.day-card-head{display:grid}.expand-hint{justify-self:start}.timeline-detail-list li{grid-template-columns:1fr}.timeline-detail-list time{min-width:0}}@media(prefers-reduced-motion:reduce){.vertical-day-row{animation:none}.vertical-day-card,.day-expanded{transition:none}}

/* Activity cards and file attachments */
.activities-kanban{grid-template-columns:repeat(2,minmax(0,1fr))}.clickable,.activity-card,.expense-card,.traveler-card,[data-edit-activity],[data-edit-expense],[data-edit-traveler]{cursor:pointer}.activity-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.activity-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(10,37,64,.12);border-color:#b8d9ee}.editable-pill{cursor:pointer}.activity-docs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.activity-docs a{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--sky);border:1px solid var(--line);color:var(--navy);font-size:.88rem;font-weight:750;text-decoration:none}.activity-docs a:hover{background:var(--aqua);border-color:#b9efeb}.field-label{display:block;color:var(--muted);font-weight:800;font-size:.82rem;margin-bottom:6px}.form-docs{margin-top:4px}.modal-card input[type="file"]{padding:12px;background:white;border:1px dashed #b8c7d6;cursor:pointer}.modal-card input[type="file"]::file-selector-button{border:0;border-radius:999px;background:var(--navy);color:white;padding:9px 12px;margin-right:10px;font-weight:800;cursor:pointer}
@media(max-width:980px){.activities-kanban{grid-template-columns:1fr}}

/* Timeline layout refinements */
.timeline-intro-top{position:relative;top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px;align-items:end;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:28px;padding:22px;margin-bottom:24px;box-shadow:0 18px 46px rgba(10,37,64,.08)}.timeline-intro-top h2{font-size:clamp(2rem,4vw,4.2rem);margin:6px 0 10px}.timeline-intro-top p{max-width:780px;margin:0}.timeline-intro-top .timeline-summary-card{margin:0;min-width:170px}.timeline-only-shell{display:block}.timeline-only-shell .vertical-timeline-stage{max-width:1120px;margin:0 auto}.vertical-day-row.expanded{grid-template-columns:1fr;gap:0;z-index:4}.vertical-day-row.expanded .vertical-day-card{grid-column:1 / -1;width:min(100%,960px);justify-self:center;z-index:3}.vertical-day-row.expanded .day-node{left:50%}.day-detail-grid.stacked{grid-template-columns:1fr}.day-detail-grid.stacked section{padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#fbfdff}.day-detail-grid.stacked .timeline-detail-list{display:grid;gap:10px}@media(max-width:980px){.timeline-intro-top{grid-template-columns:1fr;align-items:start}.timeline-intro-top .timeline-summary-card{width:100%}.vertical-day-row.expanded .vertical-day-card{width:100%}.vertical-day-row.expanded .day-node{left:17px}}
.day-agenda-section{padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#fbfdff}.agenda-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.agenda-heading h4{margin:0}.agenda-heading span{color:var(--muted);font-size:.86rem;font-weight:800}.agenda-list{display:grid;gap:10px}.agenda-item{display:grid!important;grid-template-columns:112px minmax(0,1fr) auto auto;align-items:start;gap:12px;padding:12px!important;border:1px solid rgba(219,230,239,.9);border-radius:16px;background:#fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.agenda-item:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(10,37,64,.09);border-color:#b8d9ee}.agenda-time{color:#1976d2!important;background:#eaf4ff;border:1px solid #cfe5ff;border-radius:999px;padding:7px 10px;text-align:center;font-weight:950}.agenda-main{display:grid;gap:4px}.agenda-main strong{color:var(--navy)}.agenda-main small{color:var(--muted);font-weight:800}.agenda-main p{margin:2px 0 0;color:var(--muted)}.agenda-icons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.agenda-actions{display:flex;gap:6px;align-items:center}.agenda-icon{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#f3f8fb;border:1px solid var(--line);padding:5px 8px;font-size:.82rem;font-weight:850}.agenda-empty{display:grid;gap:4px;padding:14px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.detail-docs{margin:8px 0 18px}@media(max-width:720px){.agenda-item{grid-template-columns:1fr}.agenda-time{width:max-content}.agenda-icons,.agenda-actions{justify-content:flex-start}}
.icon-btn{width:34px;height:34px;min-width:34px;padding:0;display:inline-grid;place-items:center;border-radius:12px;background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:none}.icon-btn:hover{background:var(--red-bg);border-color:#ffd0ca;transform:translateY(-1px);box-shadow:0 8px 18px rgba(180,35,24,.12)}.card-actions{display:flex;align-items:center;gap:8px}.compact-head{margin-bottom:8px}.compact-head .icon-btn{margin-left:auto}.cruise-hero{background:radial-gradient(circle at 90% 10%,rgba(18,184,176,.16),transparent 30%),#fff}.cruise-itinerary{display:grid;gap:10px}.cruise-itinerary-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fbfdff}.cruise-box-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cruise-info-box{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.cruise-info-box:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(10,37,64,.10);border-color:#b8d9ee}@media(max-width:980px){.cruise-box-grid{grid-template-columns:1fr}}

/* Activity Kanban by status */
.state-kanban{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.activity-status-col{min-height:360px;border-radius:24px;border:1px solid var(--line);padding:14px;background:rgba(255,255,255,.78);box-shadow:0 12px 34px rgba(10,37,64,.06);transition:.18s ease}.activity-status-col.drag-over{transform:translateY(-2px);box-shadow:0 18px 44px rgba(10,37,64,.12)}.column-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.column-head h3{margin:0}.column-head button{padding:.55rem .8rem}.state-propuesta{background:linear-gradient(180deg,#fff,#f5f8ff);border-color:#cad9ff}.state-propuesta .column-head h3{color:#315ab8}.state-proceso{background:linear-gradient(180deg,#fff,#fff8ec);border-color:#ffd79a}.state-proceso .column-head h3{color:#b46500}.state-confirmado{background:linear-gradient(180deg,#fff,#effdf6);border-color:#afe8cf}.state-confirmado .column-head h3{color:#138a5b}.draggable-card{cursor:grab}.draggable-card.dragging{opacity:.55;transform:rotate(1deg)}.mini-field{display:grid;gap:4px;margin:8px 0;color:var(--muted);font-size:.82rem;font-weight:800}.mini-field select{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff;color:var(--navy)}.pill.propuesta{background:#eef3ff;color:#315ab8}.pill.en-proceso{background:#fff3df;color:#b46500}.pill.confirmado{background:#e9f8f1;color:#138a5b}

/* Travelers grouped by cabin */
.cabin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cabin-card{display:grid;gap:14px}.cabin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cabin-head h3{margin:.2rem 0}.cabin-head p{margin:.2rem 0;color:var(--muted)}.traveler-list{display:grid;gap:10px}.traveler-mini{border:1px solid var(--line);border-radius:18px;padding:12px;background:#fbfdff;transition:.18s ease}.traveler-mini:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(10,37,64,.08);border-color:#b8d9ee}.traveler-mini strong{display:block;color:var(--navy)}.traveler-mini span{display:block;color:var(--muted);font-size:.88rem}.traveler-mini p{margin:8px 0 0;color:var(--muted);font-size:.9rem}.sensitive{font-weight:850;color:var(--navy)}
.city-group{display:grid;gap:10px;margin-top:14px}.city-group-head{display:flex;justify-content:space-between;align-items:center;border-radius:14px;padding:8px 10px;font-weight:900;background:#f5f8fb;border:1px solid var(--line)}.city-group-head small{border-radius:999px;background:#fff;padding:3px 8px;color:var(--muted)}.city-pill{border:1px solid currentColor}.activity-card.city-venecia,.city-group.city-venecia .city-group-head,.city-pill.city-venecia{--city:#0f8f88;background:#e8fbfa;color:#0f766e}.activity-card.city-dubrovnik,.city-group.city-dubrovnik .city-group-head,.city-pill.city-dubrovnik{--city:#2563eb;background:#eef5ff;color:#1d4ed8}.activity-card.city-corfu,.city-group.city-corfu .city-group-head,.city-pill.city-corfu{--city:#16a34a;background:#effdf4;color:#15803d}.activity-card.city-kotor,.city-group.city-kotor .city-group-head,.city-pill.city-kotor{--city:#7c3aed;background:#f5f0ff;color:#6d28d9}.activity-card.city-brindisi,.city-group.city-brindisi .city-group-head,.city-pill.city-brindisi{--city:#ea580c;background:#fff4ed;color:#c2410c}.activity-card.city-split,.city-group.city-split .city-group-head,.city-pill.city-split{--city:#db2777;background:#fff0f6;color:#be185d}.activity-card[class*="city-"]{border-left:5px solid var(--city,#b8c7d6)}.vote-row{display:grid;gap:8px;margin:10px 0}.vote-btn{width:max-content;padding:.55rem .8rem;background:#fff;color:#be185d;border:1px solid #ffd1e2;box-shadow:none}.vote-btn:hover{background:#fff0f6;box-shadow:0 10px 22px rgba(190,24,93,.12)}
.expense-actions{display:grid;gap:10px;justify-items:end;align-content:start}.expense-actions .icon-btn{color:var(--red)}.yaya-toggle{display:flex!important;align-items:flex-start;gap:10px;border:1px solid #ffd7a8;background:#fff8ee;border-radius:18px;padding:12px 14px}.yaya-toggle input{width:auto;margin-top:3px;accent-color:var(--orange)}.yaya-toggle span{font-weight:900;color:var(--navy)}.yaya-toggle small{display:block;color:var(--muted);font-weight:700;margin-top:2px}.yaya-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin:8px 0;padding:7px 11px;border-radius:999px;background:#fff2df;border:1px solid #ffd3a0;color:#9a5700;font-size:.88rem;font-weight:850}
@media(max-width:1100px){.state-kanban,.cabin-grid{grid-template-columns:1fr}.activity-status-col{min-height:auto}}
.activity-expense-box{border:1px solid var(--line);background:#fbfdff;border-radius:18px;padding:14px;display:grid;gap:10px}.activity-expense-toggle{display:flex!important;align-items:center;gap:10px;font-weight:850}.activity-expense-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:6px}.activity-expense-options.hidden{display:none}.linked-expense-badge,.linked-expense-detail{border:1px solid #b7efe6;background:#eafbf8;color:#0f766e;border-radius:14px;padding:8px 10px;font-size:.9rem;font-weight:800;margin:10px 0}.linked-expense-badge.muted-badge,.linked-expense-detail.muted{border-color:#e4e7ec;background:#f8fafc;color:var(--muted)}
@media(max-width:760px){.activity-expense-options{grid-template-columns:1fr}}
