:root{
  --bg:#f3f6f8;--paper:#fff;--ink:#102738;--muted:#688091;--line:#dbe5eb;
  --navy:#0c2336;--blue:#1f6988;--teal:#2d8b83;--amber:#c68b2d;--red:#a34343;
  --soft-blue:#eaf4f8;--soft-teal:#eaf6f3;--soft-amber:#fff6e6;--shadow:0 8px 28px rgba(12,35,54,.09);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}.app-header{background:linear-gradient(140deg,#091e2e 0%,#123a54 70%,#176178 100%);color:#fff;padding:calc(18px + env(safe-area-inset-top)) 18px 18px;box-shadow:0 5px 20px rgba(4,23,35,.25)}
.brand-kicker{font-size:.7rem;letter-spacing:.16em;font-weight:800;opacity:.72}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand-row h1{font-size:2rem;line-height:1;margin:.35rem 0 .45rem;letter-spacing:-.04em}.brand-row h1 span{font-weight:300;opacity:.85}.trip-meta{font-size:.88rem;opacity:.78}.header-actions{display:flex;gap:8px;margin-top:16px}.header-actions button{flex:1}
button,.file-btn{border:0;border-radius:12px;padding:11px 14px;cursor:pointer;font-weight:750;transition:.18s ease;text-align:center}.primary{background:#fff;color:#123a54}.secondary{background:rgba(255,255,255,.12);color:inherit;border:1px solid rgba(255,255,255,.22)}.danger{background:#fff0f0;color:#8b3131;border:1px solid #efcaca}.icon-btn{background:transparent;color:inherit;padding:8px;font-size:1.15rem}.day-strip{display:flex;gap:8px;padding:11px 14px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;scrollbar-width:none}.day-strip::-webkit-scrollbar{display:none}.day-chip{min-width:64px;padding:8px 11px;border:1px solid var(--line);background:#fff;color:#496172;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:1px}.day-chip strong{font-size:1rem;color:var(--ink)}.day-chip small{font-size:.66rem;text-transform:uppercase}.day-chip.active{background:var(--navy);border-color:var(--navy);color:#d9e7ef}.day-chip.active strong{color:#fff}.day-chip.pending::after{content:"";width:5px;height:5px;background:var(--amber);border-radius:999px;margin-top:2px}
.app-shell{max-width:900px;margin:0 auto;padding:16px 14px 105px}.day-hero{background:var(--paper);border-radius:20px;padding:19px 18px;box-shadow:var(--shadow);border:1px solid #e6edf1}.day-hero .date{font-size:.78rem;font-weight:850;letter-spacing:.08em;color:var(--blue);text-transform:uppercase}.day-hero h2{margin:5px 0 3px;font-size:1.65rem;letter-spacing:-.035em}.day-hero p{margin:0;color:var(--muted);line-height:1.45}.hero-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.badge,.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;background:#eef3f6;color:#476273;font-size:.72rem;font-weight:750}.badge.hotel{background:var(--soft-teal);color:#236c65}.badge.breakfast{background:var(--soft-amber);color:#8b6120}.badge.reviewed{background:var(--soft-blue);color:#1e6887}.status-banner{padding:11px 13px;margin:11px 0 0;border-radius:13px;background:var(--soft-amber);color:#74521d;border:1px solid #f0d9ad;font-size:.84rem;line-height:1.4}.tabs{display:flex;gap:5px;padding:12px 0 7px;overflow:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;background:transparent;color:#5d7382;border:1px solid transparent;padding:8px 11px}.tabs button.active{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:0 3px 10px rgba(12,35,54,.05)}.content-panel{min-height:260px}
.timeline{position:relative;padding:4px 0}.timeline::before{content:"";position:absolute;left:72px;top:13px;bottom:12px;width:2px;background:#dce6eb}.timeline-item{display:grid;grid-template-columns:58px 16px 1fr;gap:7px;position:relative;margin:0 0 12px}.timeline-time{text-align:right;font-weight:820;font-size:.76rem;color:var(--blue);padding-top:13px}.timeline-dot{width:10px;height:10px;background:#fff;border:3px solid var(--teal);border-radius:50%;margin-top:16px;z-index:2}.timeline-card{background:#fff;border:1px solid #e3ebef;border-radius:15px;padding:12px 13px;box-shadow:0 4px 14px rgba(20,54,74,.045)}.timeline-title{font-weight:820;font-size:.92rem;margin-bottom:3px}.timeline-text{font-size:.83rem;color:#516a7a;line-height:1.5;white-space:pre-wrap}.option-card{margin-top:8px;padding:10px 11px;background:#f7fafb;border-left:3px solid var(--teal);border-radius:9px}.option-card strong{display:block;color:#285d6c;margin-bottom:3px}
.info-list{display:grid;gap:10px}.info-card{background:#fff;border:1px solid #e3ebef;border-radius:15px;padding:14px;box-shadow:0 4px 14px rgba(20,54,74,.045)}.info-card h3{margin:0 0 6px;font-size:.95rem}.info-card p{margin:0;color:#597180;line-height:1.47;font-size:.84rem}.info-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.price{background:var(--soft-amber);color:#825a1b}.reserve{background:var(--soft-blue);color:#20627d}.good{background:var(--soft-teal);color:#236b64}.hotel-card{background:#fff;border-radius:17px;padding:16px;border:1px solid var(--line);box-shadow:var(--shadow)}.hotel-card h3{margin:0 0 5px}.hotel-card .hotel-city{color:var(--teal);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.hotel-card p{color:#5a7180;line-height:1.5}.link-btn{display:inline-flex;text-decoration:none;margin-top:8px;background:var(--navy);color:#fff;padding:9px 12px;border-radius:10px;font-weight:750;font-size:.8rem}
.note-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;line-height:1.5;color:#536b7a;font-size:.85rem}.note-card + .note-card{margin-top:9px}.warning{background:#fff8ea;border-color:#f0ddb6;color:#765723}.empty{background:#fff;border:1px dashed #cddbe3;border-radius:15px;padding:28px;text-align:center;color:#788d99}.muted{color:var(--muted);line-height:1.5}.tiny{font-size:.76rem}.hidden{display:none!important}
.floating-bar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:50;background:#0c2336;padding:9px;border-radius:16px;box-shadow:0 10px 34px rgba(0,0,0,.25);display:flex;gap:8px}.floating-bar button{flex:1}.floating-bar .secondary{color:#fff}.edit-list{display:grid;gap:10px}.edit-row{background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px}.edit-grid{display:grid;grid-template-columns:95px 1fr;gap:7px}.edit-row input,.edit-row textarea{width:100%;border:1px solid #cfdde5;border-radius:9px;padding:9px;background:#fbfdfe;color:var(--ink)}.edit-row textarea{min-height:85px;resize:vertical;line-height:1.45}.edit-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:7px}.mini{padding:6px 9px;border-radius:8px;background:#eef3f6;color:#4a6474;font-size:.75rem}.mini.delete{background:#fff0f0;color:#8b3131}.add-btn{width:100%;background:#eaf4f8;color:#1d6280;border:1px dashed #9ec5d5}.settings-card{width:min(560px,calc(100vw - 24px));border:0;border-radius:20px;padding:18px;color:var(--ink)}dialog::backdrop{background:rgba(4,22,35,.55);backdrop-filter:blur(3px)}.settings-head{display:flex;justify-content:space-between;align-items:start}.settings-head h2{margin:.2rem 0}.settings-grid{display:grid;gap:8px;margin:14px 0}.settings-card .secondary{background:#eef4f7;color:#244d63;border-color:#d5e2e9}.cloud-box{margin-top:14px;padding:12px;background:#f6f9fa;border-radius:13px}.cloud-box code{font-size:.72rem}.settings-card .icon-btn{color:#536d7d}.pill{padding:3px 7px;margin-left:5px}
@media(min-width:700px){.app-header{padding-left:max(28px,calc((100vw - 900px)/2));padding-right:max(28px,calc((100vw - 900px)/2));display:flex;justify-content:space-between;align-items:end}.header-actions{width:250px;margin:0}.day-strip{padding-left:max(14px,calc((100vw - 900px)/2));padding-right:max(14px,calc((100vw - 900px)/2))}.app-shell{padding-top:22px}.timeline::before{left:89px}.timeline-item{grid-template-columns:76px 18px 1fr}.timeline-time{font-size:.82rem}.timeline-card{padding:14px 16px}.timeline-title{font-size:1rem}.timeline-text{font-size:.88rem}.info-list.two-col{grid-template-columns:1fr 1fr}}
@media print{.app-header,.day-strip,.tabs,.floating-bar,#statusBanner{display:none!important}.app-shell{max-width:none;padding:0}.day-hero,.timeline-card,.info-card,.hotel-card{box-shadow:none}.timeline::before{display:none}.timeline-item{grid-template-columns:80px 1fr}.timeline-dot{display:none}.content-panel>*{break-inside:avoid}}


/* V3.1 responsive fixes */
.edit-section-title{font-weight:850;color:var(--navy);margin-bottom:8px;font-size:.86rem}
.check-row{display:flex;align-items:center;gap:8px;margin-top:8px;color:#4f6878;font-size:.84rem}.check-row input{width:auto}
.edit-row select{width:100%;border:1px solid #cfdde5;border-radius:9px;padding:9px;background:#fbfdfe;color:var(--ink)}
.error-box{color:#8b3131;border-color:#efcaca;background:#fff5f5}

@media(max-width:699px){
  body{min-width:0;overflow-x:hidden}
  .app-header{padding:calc(14px + env(safe-area-inset-top)) 14px 14px}
  .brand-row h1{font-size:1.8rem}
  .trip-meta{font-size:.8rem;line-height:1.35}
  .header-actions{margin-top:12px}
  .header-actions button{padding:10px 8px}
  .day-strip{width:100%;padding:10px 10px;gap:7px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .day-chip{min-width:58px;scroll-snap-align:center;padding:7px 8px}
  .app-shell{width:100%;max-width:none;margin:0;padding:12px 10px 110px;overflow:hidden}
  .day-hero{padding:15px 14px;border-radius:16px}
  .day-hero h2{font-size:1.35rem}
  .tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%;padding:10px 0 7px;overflow:visible}
  .tabs button{min-width:0;padding:8px 2px;font-size:.74rem;white-space:normal;line-height:1.1}
  .content-panel{width:100%;min-width:0}
  .timeline{width:100%;padding-top:2px}
  .timeline::before{left:61px}
  .timeline-item{grid-template-columns:49px 13px minmax(0,1fr);gap:5px;margin-bottom:10px;width:100%}
  .timeline-time{font-size:.69rem;padding-top:11px;overflow-wrap:anywhere}
  .timeline-dot{width:9px;height:9px;border-width:2.5px;margin-top:13px}
  .timeline-card{min-width:0;padding:11px 10px;border-radius:13px}
  .timeline-title{font-size:.89rem;overflow-wrap:anywhere}
  .timeline-text{font-size:.8rem;line-height:1.45;overflow-wrap:anywhere}
  .info-list.two-col{grid-template-columns:1fr}
  .info-card,.hotel-card,.note-card{min-width:0;overflow-wrap:anywhere}
  .edit-grid{grid-template-columns:1fr}
  .floating-bar{left:8px;right:8px}
  .settings-card{width:calc(100vw - 16px);max-height:90vh;overflow:auto;padding:14px}
}

@media(max-width:380px){
  .tabs button{font-size:.68rem}
  .day-chip{min-width:54px}
  .brand-row h1{font-size:1.65rem}
}

/* V3.2 rich-text editor */
.rich-editor-wrap{margin-top:8px;border:1px solid #cfdde5;border-radius:12px;background:#fbfdfe;overflow:hidden}
.rich-toolbar{display:flex;align-items:center;gap:5px;padding:6px;background:#eef4f7;border-bottom:1px solid #d7e3e9;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
.rich-tool,.color-swatch,.highlight-tool,.color-picker{flex:0 0 auto;width:32px;height:30px;border:1px solid #c8d8e0;border-radius:8px;background:white;color:#28495d;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;cursor:pointer;padding:0}
.rich-tool:hover,.highlight-tool:hover,.color-swatch:hover,.color-picker:hover{border-color:#77a9bd;background:#f8fcfd}
.rich-tool:active,.highlight-tool:active,.color-swatch:active{transform:translateY(1px)}
.rich-sep{width:1px;height:22px;background:#cbd9df;margin:0 2px;flex:0 0 auto}
.color-swatch{position:relative;background:white}
.color-swatch::after{content:'';width:16px;height:16px;background:var(--sw);border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.13)}
.color-picker{position:relative;overflow:hidden}
.color-picker::after{content:'';position:absolute;left:7px;right:7px;bottom:4px;height:3px;background:currentColor;border-radius:3px}
.color-picker input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.color-picker.highlighter{background:#fffde7;color:#7c6f00}
.highlight-tool{background:#fff59d;color:#695f00;font-size:1rem}
.clear-format{font-size:.7rem}
.rich-editor{min-height:88px;padding:10px 11px;outline:none;color:var(--ink);line-height:1.5;font-size:.86rem;white-space:pre-wrap;overflow-wrap:anywhere}
.rich-editor:empty::before{content:attr(data-placeholder);color:#91a1aa;pointer-events:none}
.rich-editor:focus{box-shadow:inset 0 0 0 2px rgba(44,111,142,.13)}
.rich-output{white-space:normal}
.rich-output div,.rich-output p,.timeline-text div,.timeline-text p,.note-card div,.note-card p{margin:.18em 0}
.timeline-text span[style],.rich-output span[style],.note-card span[style],.day-hero p span[style]{border-radius:2px}
@media(max-width:699px){
  .rich-toolbar{padding:6px 5px;gap:4px}
  .rich-tool,.color-swatch,.highlight-tool,.color-picker{width:31px;height:30px}
  .rich-editor{font-size:.84rem;min-height:92px;padding:10px}
}

/* V4 · multi-viatge + reserves */
.trip-switch-row{display:flex;gap:8px;margin-top:10px;align-items:center}.trip-switch-row select{min-width:0;flex:1;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.24);border-radius:11px;padding:9px 10px;font-weight:750}.trip-switch-row select option{color:#102738;background:#fff}.new-trip-btn{flex:0 0 auto;padding:9px 11px;background:#fff;color:#123a54;font-size:.8rem}.wizard-card{width:min(680px,calc(100vw - 24px))}.wizard-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.wizard-grid label{display:grid;gap:5px;font-size:.78rem;font-weight:800;color:#496273}.wizard-grid input,.wizard-grid textarea{width:100%;border:1px solid #cfdde5;border-radius:9px;padding:10px;background:#fbfdfe;color:var(--ink);font-weight:500}.wizard-grid textarea{min-height:90px;resize:vertical}.wizard-grid .full{grid-column:1/-1}.wizard-summary{margin-top:12px;padding:10px 12px;border-radius:11px;background:#eef6f8;color:#315d70;font-size:.82rem}.wizard-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.wizard-actions .secondary{background:#eef4f7;color:#244d63;border-color:#d5e2e9}.wizard-actions button{min-width:120px}.wizard-create{background:var(--navy);color:#fff}.reservation-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.status-chip,.need-chip,.mode-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800;border:1px solid transparent}.mode-chip{background:#eef3f6;color:#476273}.need-chip.required{background:#fff0f0;color:#9a3e3e;border-color:#efcaca}.need-chip.recommended{background:#fff6e6;color:#8b6120;border-color:#efdbb5}.need-chip.none{background:#eef5f3;color:#397067;border-color:#d2e7e1}.status-chip{cursor:pointer}.status-chip.pending{background:#fff0f0;color:#a13e3e;border-color:#efcaca}.status-chip.reserved{background:#eaf6f3;color:#246c63;border-color:#cae4dd}.status-chip.not-needed{background:#eef3f6;color:#536c7a;border-color:#dbe5eb}.status-chip:hover{filter:brightness(.98);transform:translateY(-1px)}.reserve-help{font-size:.68rem;color:#81939e;margin-top:6px}.edit-field-label{display:grid;gap:4px;font-size:.72rem;font-weight:800;color:#607684}.edit-grid.three{grid-template-columns:1.1fr 1fr 1fr}.edit-row select{min-width:0}.trip-empty{padding:30px;text-align:center}.trip-empty h2{margin-top:0}.date-range{font-weight:800;color:#d5e4ec}
@media(max-width:699px){.trip-switch-row{align-items:stretch}.new-trip-btn{padding:9px 10px}.wizard-grid{grid-template-columns:1fr}.wizard-grid .full{grid-column:auto}.wizard-actions{flex-direction:column-reverse}.wizard-actions button{width:100%}.edit-grid.three{grid-template-columns:1fr}.reservation-row{gap:5px}.status-chip,.need-chip,.mode-chip{font-size:.68rem;padding:5px 8px}}
\n\n/* V4.1 · capçalera desktop més neta */\n.header-right{display:flex;flex-direction:column;gap:10px;align-items:stretch}\n.header-tools{display:flex;gap:8px;justify-content:flex-end;align-items:center}\n.settings-top-btn{flex:0 0 auto;padding:9px 12px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:11px;font-size:.8rem;font-weight:800}\n.header-right .new-trip-btn{flex:0 0 auto;padding:9px 12px}\n@media(min-width:700px){\n  .app-header{align-items:center}\n  .brand-wrap{flex:1;min-width:0;max-width:620px}\n  .header-right{width:auto;min-width:310px;align-self:center}\n  .header-tools{margin-bottom:2px}\n  .header-actions{width:auto;margin:0;justify-content:flex-end}\n  .header-actions button{flex:0 0 auto;min-width:112px}\n  .trip-switch-row{max-width:520px}\n}\n@media(max-width:699px){\n  .header-right{margin-top:12px;gap:8px}\n  .header-tools{display:grid;grid-template-columns:1fr 1fr;width:100%}\n  .header-tools button{width:100%;padding:10px 8px}\n  .header-actions{margin-top:0;display:grid;grid-template-columns:1fr 1fr}\n  .trip-switch-row{margin-top:10px}\n}\n

/* V4.2 · capçalera PC segons mockup usuari */
@media (min-width:700px){
  .app-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    column-gap:20px;
    row-gap:8px;
    align-items:end;
  }
  .brand-wrap{
    grid-column:1;
    grid-row:1 / span 2;
    max-width:none;
    min-width:0;
  }
  .header-right{
    grid-column:2;
    grid-row:1 / span 2;
    min-width:250px;
    width:auto;
    display:grid;
    grid-template-rows:auto 1fr;
    gap:10px;
    align-self:stretch;
  }
  .header-tools{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:flex-start;
    gap:8px;
    margin:0;
  }
  .settings-top-btn.icon-only{
    width:42px;
    height:34px;
    padding:0;
    display:grid;
    place-items:center;
    background:transparent;
    border:0;
    font-size:1rem;
    box-shadow:none;
  }
  .settings-top-btn.icon-only:hover{background:rgba(255,255,255,.09)}
  .header-right .new-trip-btn{
    padding:8px 12px;
    min-width:auto;
  }
  .header-actions{
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    gap:10px;
    margin:0;
    align-self:end;
  }
  .header-actions button{
    flex:0 0 auto;
    min-width:118px;
  }
  .trip-switch-row{
    max-width:none;
    margin-top:12px;
    padding-right:4px;
  }
  .trip-switch-row select{
    width:100%;
  }
}

@media (max-width:699px){
  .settings-top-btn.icon-only{
    width:100%;
  }
  .header-tools{
    grid-template-columns:52px 1fr;
  }
}

/* V4.3 · correcció final de la capçalera desktop */
@media (min-width:700px){
  .app-header{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto;
    column-gap:28px;
    align-items:end;
    /* reservem aire a la dreta pels controls superiors */
    padding-right:180px;
  }
  .brand-wrap{
    grid-column:1;
    grid-row:1;
    min-width:0;
    max-width:none;
  }
  .header-right{
    grid-column:2;
    grid-row:1;
    display:block;
    min-width:250px;
    width:auto;
    align-self:end;
  }
  /* Configuració i Nou viatge queden realment ancorats a la cantonada dreta */
  .header-tools{
    position:absolute;
    top:calc(18px + env(safe-area-inset-top));
    right:24px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:flex-start;
    gap:8px;
    margin:0;
    z-index:3;
  }
  .settings-top-btn.icon-only{
    width:42px;
    height:34px;
    padding:0;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.18);
    border-radius:11px;
    font-size:1rem;
    box-shadow:none;
  }
  .header-right .new-trip-btn{
    min-width:auto;
    padding:8px 12px;
  }
  /* Avui / Editar es mantenen a la fila inferior, separats del selector */
  .header-actions{
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    gap:10px;
    margin:0;
  }
  .header-actions button{
    flex:0 0 auto;
    min-width:118px;
  }
  .trip-switch-row{
    max-width:none;
    margin-top:12px;
    padding-right:0;
  }
  .trip-switch-row select{
    width:100%;
  }
}

/* En pantalles molt amples, manté la lectura centrada però els dos controls de gestió continuen al marge dret */
@media (min-width:1200px){
  .app-header{
    padding-left:max(28px,calc((100vw - 900px)/2));
  }
}

/* V4.4 · compra de transports + claredat anada/tornada */
.scope-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:850;background:#edf7fb;color:#176078;border:1px solid #cfe5ed}
.ticket-includes{margin-top:10px;padding:9px 11px;border-radius:10px;background:#f7fafc;border:1px solid #e1eaf0;color:#3f5968;font-size:.76rem;line-height:1.35}
.purchase-date{display:flex;gap:8px;align-items:flex-start;margin-top:8px;padding:9px 11px;border-radius:10px;background:#fff8e9;border:1px solid #f0dfb8;color:#725426;font-size:.75rem;line-height:1.35}
.buy-link,.purchase-local{display:inline-flex;align-items:center;gap:6px;margin-top:8px;border-radius:10px;padding:8px 11px;font-size:.75rem;font-weight:850;text-decoration:none}
.buy-link{background:#123a54;color:#fff;border:1px solid #123a54}.buy-link:hover{filter:brightness(1.08);transform:translateY(-1px)}
.purchase-local{background:#eef3f6;color:#506b79;border:1px solid #dce6eb}
@media(max-width:699px){.scope-chip{font-size:.67rem;padding:5px 8px}.ticket-includes,.purchase-date,.buy-link,.purchase-local{font-size:.7rem}.buy-link{width:100%;justify-content:center}}

/* V4.4 · una mica més d'aire entre selector i Avui/Editar en desktop */
@media(min-width:700px){
  .app-header{column-gap:42px}
  .header-right{min-width:270px}
  .trip-switch-row{padding-right:10px}
}


/* V4.5 safe metadata patch: richer transport purchases + restaurant bookings */
.booking-date{display:flex;gap:8px;align-items:flex-start;margin-top:8px;padding:9px 11px;border-radius:10px;background:#eef8f4;border:1px solid #cfe8de;color:#315f52;font-size:.75rem;line-height:1.35}
.booking-method{margin-top:8px;padding:8px 11px;border-radius:10px;background:#f7fafc;border:1px solid #e1eaf0;color:#48606d;font-size:.74rem;line-height:1.35}
.restaurant-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;border-radius:10px;padding:8px 11px;font-size:.75rem;font-weight:850;text-decoration:none;background:#176b5a;color:#fff;border:1px solid #176b5a}
.restaurant-link:hover{filter:brightness(1.07);transform:translateY(-1px)}
@media(max-width:699px){.booking-date,.booking-method,.restaurant-link{font-size:.7rem}.restaurant-link{width:100%;justify-content:center}}


/* V4.6 · banner del viatge (imatge local o template automàtic) */
.app-header{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(140deg,#091e2e 0%,#123a54 70%,#176178 100%)}
.app-header::before{content:"";position:absolute;inset:0;background-image:var(--banner-image,linear-gradient(140deg,#091e2e 0%,#123a54 70%,#176178 100%));background-size:cover;background-position:center center;transform:scale(1.02);z-index:-3}
.app-header::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,19,29,.26) 0%,rgba(8,24,37,.52) 34%,rgba(10,31,47,.80) 100%);z-index:-2}
.app-header>*{position:relative;z-index:1}
.app-header.has-template-banner::after{background:linear-gradient(180deg,rgba(7,22,33,.18) 0%,rgba(10,32,48,.42) 38%,rgba(9,28,42,.82) 100%)}
.app-header.has-photo-banner .brand-kicker,.app-header.has-photo-banner .trip-meta{ text-shadow:0 1px 2px rgba(0,0,0,.3)}
.banner-tip{margin:14px 0 0;font-size:.76rem;line-height:1.45;color:#5f7381;background:#f6f9fb;border:1px solid #dfe9ee;border-radius:12px;padding:10px 12px}
.banner-tip code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:#eef4f7;padding:2px 5px;border-radius:6px}
@media(min-width:700px){.app-header{min-height:198px}}
@media(max-width:699px){.app-header{min-height:180px}.banner-tip{font-size:.72rem}}


/* PATCH RÀPID · Capçalera PC sense solapaments
   AFEGEIX aquestes regles AL FINAL del teu styles.css actual,
   o bé substitueix les regles existents equivalents.
*/

/* Layout general de la capçalera */
.app-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  column-gap:28px;
}

.brand-wrap{
  min-width:0;
}

.header-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-start;
  gap:12px;
  min-width:260px;
  flex-shrink:0;
}

.header-tools,
.header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  width:100%;
  flex-wrap:nowrap;
}

/* Assegura que settings i +nou viatge no flotin ni se solapin */
.settings-top-btn,
.new-trip-btn,
#todayBtn,
#editBtn{
  position:static !important;
}

.settings-top-btn{
  flex:0 0 auto;
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.new-trip-btn{
  flex:0 0 auto;
  white-space:nowrap;
}

#todayBtn,
#editBtn{
  flex:0 0 auto;
  white-space:nowrap;
}

/* El selector no ha de tocar Avui/Editar */
.trip-switch-row{
  width:100%;
}

.trip-switch-row #tripSelect,
#tripSelect{
  width:100%;
  max-width:100%;
}

/* Dona aire entre el selector i els botons de la dreta */
@media (min-width: 960px){
  .app-header{
    padding-right:28px;
  }

  .brand-wrap{
    padding-right:18px;
  }

  .trip-switch-row{
    margin-right:8px;
  }

  .header-actions{
    margin-top:2px;
  }
}

/* Tablet */
@media (max-width: 959px){
  .app-header{
    grid-template-columns:1fr;
    row-gap:14px;
  }

  .header-right{
    min-width:0;
    width:100%;
    align-items:stretch;
  }

  .header-tools,
  .header-actions{
    width:100%;
  }

  .header-tools{
    justify-content:flex-end;
  }

  .header-actions{
    justify-content:flex-start;
  }
}

/* Mòbil */
@media (max-width: 699px){
  .header-tools,
  .header-actions{
    gap:8px;
    flex-wrap:wrap;
  }

  .new-trip-btn,
  #todayBtn,
  #editBtn{
    min-height:44px;
  }
}



/* V4.7: FIX DEFINITIU de la capçalera en PC.
   El bloc superior i els botons inferiors tenen coordenades separades. */
@media (min-width:1000px){
  .app-header{position:relative!important;display:block!important;min-height:190px;padding-right:20px!important;}
  .app-header .brand-wrap{display:block;position:relative;z-index:1;width:min(100%,1000px);max-width:calc(100% - 300px);padding-right:0;}
  .app-header .header-right{position:static!important;display:contents!important;min-width:0;width:auto;}
  .app-header .header-tools{position:absolute!important;z-index:5!important;top:14px!important;right:20px!important;bottom:auto!important;left:auto!important;display:flex!important;flex-direction:row-reverse!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:auto!important;margin:0!important;}
  .app-header .header-tools .settings-top-btn.icon-only{position:static!important;display:grid!important;place-items:center!important;flex:0 0 42px!important;width:42px!important;height:38px!important;min-width:42px!important;padding:0!important;}
  .app-header .header-tools .new-trip-btn{position:static!important;flex:0 0 auto!important;min-width:0!important;white-space:nowrap;}
  .app-header .header-actions{position:absolute!important;z-index:4!important;right:20px!important;bottom:18px!important;top:auto!important;left:auto!important;display:flex!important;flex-direction:row!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important;width:auto!important;margin:0!important;}
  .app-header .header-actions button{position:static!important;flex:0 0 auto!important;min-width:112px!important;}
  .app-header .trip-switch-row{margin-top:12px;}
}
/* Tablet & mobile: never absolutely position header controls. */
@media (max-width:999px){
  .app-header{display:flex!important;flex-direction:column!important;gap:12px!important;}
  .app-header .brand-wrap{width:100%;max-width:none;min-width:0;}
  .app-header .header-right{position:static!important;display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important;min-width:0!important;}
  .app-header .header-tools,.app-header .header-actions{position:static!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important;align-items:center!important;justify-content:flex-end!important;margin:0!important;}
  .app-header .header-tools button,.app-header .header-actions button{position:static!important;flex:0 0 auto!important;width:auto!important;}
}
/* Dia 0: anotacions generals independents de les dates. */
.notes-day-chip{min-width:70px;background:#f0f7f6;border-color:#b6dbd2;color:#286a62;}
.notes-day-chip strong{font-size:1.1rem;color:#286a62;}
.notes-day-chip.active{background:#176b61;border-color:#176b61;color:#fff;}
.notes-day-chip.active strong{color:#fff;}
.general-notes-tabs{display:flex!important;grid-template-columns:none!important;}
.general-notes-tabs button:not([data-tab="notes"]):not([data-tab="docs"]){display:none!important;}
.general-notes-content{padding:20px 22px;min-height:135px;line-height:1.6;white-space:normal;overflow-wrap:anywhere;}
.general-notes-editor .rich-editor{min-height:210px;}


/* V4.8 — mòbil compacte, com a la captura de referència.
   Les barres d'estat/navegació són natives d'Android i s'han de
   preservar des de la configuració de l'Activity de l'APK. */
@media (max-width: 699px){
  .app-header{
    position:relative!important;
    display:block!important;
    min-height:0!important;
    padding:calc(13px + env(safe-area-inset-top,0px)) 14px 13px!important;
    overflow:hidden;
  }
  .app-header .brand-wrap{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:0!important;
  }
  .app-header .brand-kicker,
  .app-header .brand-row,
  .app-header .trip-meta{
    max-width:calc(100% - 101px);
  }
  .app-header .brand-row h1{
    margin:.3rem 0 .42rem;
    font-size:1.65rem;
  }
  .app-header .trip-meta{
    font-size:.78rem;
    line-height:1.35;
    overflow-wrap:anywhere;
  }
  .app-header .trip-switch-row{
    display:block;
    margin:11px 0 0!important;
    padding:0!important;
    width:100%!important;
    max-width:none!important;
  }
  .app-header #tripSelect{
    width:100%!important;
    max-width:none!important;
    min-width:0;
  }
  /* No reservis files buides per als controls; posicionem les eines
     sobre el banner sense afectar el selector ni Avui/Editar. */
  .app-header .header-right{
    position:static!important;
    display:contents!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
  .app-header .header-tools{
    position:absolute!important;
    top:calc(12px + env(safe-area-inset-top,0px))!important;
    right:12px!important;
    bottom:auto!important;
    left:auto!important;
    z-index:6!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
  }
  .app-header .header-tools .settings-top-btn.icon-only,
  .app-header .header-tools #newTripBtn{
    position:static!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 36px!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    border-radius:9px!important;
    font-size:18px!important;
    line-height:1!important;
    margin:0!important;
  }
  .app-header .header-tools .settings-top-btn.icon-only{
    background:rgba(255,255,255,.94)!important;
    color:#203747!important;
    border:1px solid rgba(255,255,255,.85)!important;
  }
  .app-header .header-tools #newTripBtn{
    background:#fff!important;
    color:#203747!important;
    border:1px solid rgba(255,255,255,.9)!important;
    font-size:0!important;
    overflow:hidden!important;
  }
  /* Conservem el nom accessible del botó; l'icona és només visual. */
  .app-header .header-tools #newTripBtn::after{
    content:'+';
    display:block;
    font-size:27px;
    font-weight:450;
    line-height:1;
  }
  .app-header .header-actions{
    position:static!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    gap:8px!important;
    padding:0!important;
    margin:13px 0 0!important;
  }
  .app-header .header-actions button{
    position:static!important;
    width:auto!important;
    min-width:0!important;
    flex:0 0 auto!important;
    padding:9px 13px!important;
    min-height:43px!important;
  }
  /* La franja inferior ha de deixar espai al navegador del telèfon
     quan el contenidor és edge-to-edge. En WebView normal val 0px. */
  .app-shell{
    padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))!important;
  }
  .floating-bar{
    bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
  }
}


/* V4.8 · Tema fosc de Viatges, inspirat en MyWhakhoom.
   Només variables d'aparença: la ruta, les anotacions i el localStorage
   dels viatges són independents d'aquest tema. */
.appearance-setting{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:var(--paper);margin-top:14px}
.appearance-setting .muted{margin:4px 0 0}
.appearance-setting .appearance-label{font-size:.76rem;font-weight:800;color:var(--muted);grid-column:1}
.appearance-setting select{grid-column:2;grid-row:1 / span 2;max-width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--paper);color:var(--ink);font:inherit;font-size:.81rem;font-weight:750}
@media(max-width:520px){.appearance-setting{grid-template-columns:1fr}.appearance-setting .appearance-label,.appearance-setting select{grid-column:1;grid-row:auto}.appearance-setting select{width:100%}}

html[data-theme="dark"]{
  --bg:#191e25;--paper:#242b34;--ink:#f0f5f9;--muted:#a4b3c1;--line:#3a4653;
  --navy:#101b28;--blue:#7bc4e6;--teal:#5cc7b7;--amber:#f4bf71;--red:#f2a1a1;
  --soft-blue:#1d384b;--soft-teal:#173c39;--soft-amber:#483722;
  --shadow:0 8px 30px rgba(0,0,0,.19);
  background:var(--bg);color-scheme:dark;
}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .app-header{box-shadow:0 6px 23px rgba(0,0,0,.28)}
html[data-theme="dark"] .app-header::after{background:linear-gradient(180deg,rgba(5,12,22,.44),rgba(7,16,27,.68) 55%,rgba(8,18,29,.9))}
html[data-theme="dark"] .day-strip{background:#20262e;border-color:var(--line)}
html[data-theme="dark"] .day-chip{background:#2a323c;border-color:#45515e;color:#bdc9d4}
html[data-theme="dark"] .day-chip strong{color:#edf4f9}
html[data-theme="dark"] .day-chip.active{background:#0e3047;border-color:#4f9ab6;color:white}
html[data-theme="dark"] .day-chip.active strong{color:#fff}
html[data-theme="dark"] .notes-day-chip{background:#1a3535;border-color:#367c74;color:#a8e6dc}
html[data-theme="dark"] .notes-day-chip strong{color:#a8e6dc}
html[data-theme="dark"] .notes-day-chip.active{background:#195b54;color:#fff;border-color:#5cc7b7}
html[data-theme="dark"] .notes-day-chip.active strong{color:#fff}
html[data-theme="dark"] .day-hero,
html[data-theme="dark"] .timeline-card,
html[data-theme="dark"] .info-card,
html[data-theme="dark"] .hotel-card,
html[data-theme="dark"] .note-card,
html[data-theme="dark"] .edit-row,
html[data-theme="dark"] .settings-card,
html[data-theme="dark"] .appearance-setting{background:var(--paper);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow)}
html[data-theme="dark"] .timeline::before{background:#3b5362}
html[data-theme="dark"] .timeline-dot{background:#29323d;border-color:#5cc7b7}
html[data-theme="dark"] .day-hero .date,
html[data-theme="dark"] .timeline-time,
html[data-theme="dark"] .hotel-card .hotel-city{color:#83cdec}
html[data-theme="dark"] .day-hero p,
html[data-theme="dark"] .timeline-text,
html[data-theme="dark"] .info-card p,
html[data-theme="dark"] .hotel-card p,
html[data-theme="dark"] .note-card,
html[data-theme="dark"] .reserve-help,
html[data-theme="dark"] .muted{color:var(--muted)}
html[data-theme="dark"] .tabs button{color:#b6c6d3}
html[data-theme="dark"] .tabs button.active{background:#303d4a;border-color:#516374;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.17)}
html[data-theme="dark"] .empty,html[data-theme="dark"] .trip-empty{background:var(--paper);color:var(--muted);border-color:#45515e}
html[data-theme="dark"] .status-banner,html[data-theme="dark"] .note-card.warning{background:#42331e;border-color:#785b34;color:#f5d9a3}
html[data-theme="dark"] .badge,html[data-theme="dark"] .pill,
html[data-theme="dark"] .mode-chip{background:#33404b;color:#cbd8e3}
html[data-theme="dark"] .badge.hotel,html[data-theme="dark"] .badge.reviewed,html[data-theme="dark"] .good{background:#1d4140;color:#a0e5d8}
html[data-theme="dark"] .badge.breakfast,html[data-theme="dark"] .price,html[data-theme="dark"] .scope-chip{background:#493b27;color:#f6d494;border-color:#6a5537}
html[data-theme="dark"] .need-chip.none,html[data-theme="dark"] .status-chip.not-needed{background:#35414a;color:#c2cfd8;border-color:#51606c}
html[data-theme="dark"] .need-chip.required,html[data-theme="dark"] .status-chip.pending{background:#4a2b35;color:#ffc6c6;border-color:#82505a}
html[data-theme="dark"] .need-chip.recommended{background:#4e3d25;color:#f9daa1;border-color:#7e6036}
html[data-theme="dark"] .status-chip.reserved{background:#1b453c;color:#a2e9d6;border-color:#407967}
html[data-theme="dark"] .ticket-includes,html[data-theme="dark"] .booking-method{background:#293640;border-color:#415361;color:#c4d2dc}
html[data-theme="dark"] .purchase-date{background:#473822;border-color:#745a35;color:#f2d39b}
html[data-theme="dark"] .booking-date{background:#213f38;border-color:#476f61;color:#b1e1d1}
html[data-theme="dark"] .buy-link,html[data-theme="dark"] .link-btn{background:#286786;border-color:#286786;color:#fff}
html[data-theme="dark"] .restaurant-link{background:#247c67;border-color:#247c67;color:#fff}
html[data-theme="dark"] .purchase-local,html[data-theme="dark"] .mini{background:#33404c;color:#d4e0e9;border-color:#455563}
html[data-theme="dark"] .add-btn{background:#1f3e4b;border-color:#5386a0;color:#a6dcef}
html[data-theme="dark"] .mini.delete,html[data-theme="dark"] .danger{background:#4a2b35;border-color:#7e505a;color:#ffcccc}
html[data-theme="dark"] .settings-card .secondary,html[data-theme="dark"] .wizard-actions .secondary{background:#33414e;border-color:#536574;color:#e1edf5}
html[data-theme="dark"] .settings-card .icon-btn{color:#d6e2eb}
html[data-theme="dark"] .cloud-box,html[data-theme="dark"] .wizard-summary,html[data-theme="dark"] .banner-tip{background:#293540;border-color:#41515e;color:#bed0dc}
html[data-theme="dark"] .banner-tip code{background:#364550;color:#e3f2fb}
html[data-theme="dark"] .settings-head h2{color:#fff}
html[data-theme="dark"] .wizard-grid label,html[data-theme="dark"] .edit-field-label,html[data-theme="dark"] .edit-section-title,html[data-theme="dark"] .check-row{color:#c3d3df}
html[data-theme="dark"] .wizard-grid input,html[data-theme="dark"] .wizard-grid textarea,
html[data-theme="dark"] .edit-row input,html[data-theme="dark"] .edit-row textarea,
html[data-theme="dark"] .edit-row select,html[data-theme="dark"] .appearance-setting select{background:#171f28;border-color:#4d5e6b;color:#ecf3f8}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#9aafbd}
html[data-theme="dark"] .rich-editor-wrap{background:#1c252e;border-color:#4d5e6b}
html[data-theme="dark"] .rich-toolbar{background:#303c47;border-color:#4a5c6c}
html[data-theme="dark"] .rich-editor{background:#1c252e;color:#edf5fa}
html[data-theme="dark"] .rich-tool,html[data-theme="dark"] .color-picker,html[data-theme="dark"] .color-swatch{background:#eef5fa;color:#213547;border-color:#718392}
html[data-theme="dark"] .color-picker.highlighter{background:#fff3c4;color:#665500}
html[data-theme="dark"] .rich-sep{background:#526470}
html[data-theme="dark"] .rich-output span[style],html[data-theme="dark"] .timeline-text span[style],html[data-theme="dark"] .note-card span[style]{/* conserva els colors que hagi triat l'usuari */}
html[data-theme="dark"] .floating-bar{background:#101923;border:1px solid #41525f}
html[data-theme="dark"] .floating-bar .primary{background:#e8f4fc;color:#132f42}
html[data-theme="dark"] .trip-switch-row select option{background:#202b36;color:#f2f7fb}
html[data-theme="dark"] .date-range{color:#e1edf6}
html[data-theme="dark"] .error-box{background:#492a31;border-color:#995b60;color:#ffd4d4}
@media print{html[data-theme="dark"]{--bg:#fff;--paper:#fff;--ink:#102738;--muted:#536575;--line:#dbe5eb;color-scheme:light}html[data-theme="dark"] body{background:#fff;color:#102738}}

/* V4.9 · PC: selector alineat amb el planning i calendari en files.
   Aquesta correcció NO afecta les mides de mòbil (<1000px).
   La banda dels dies conserva el fons complet però només ocupa la
   zona central, de la mateixa amplada que les targetes del planning. */
@media screen and (min-width:1000px){
  .app-header .brand-wrap{
    width:min(872px, calc(100% - 300px))!important;
    max-width:872px!important;
    min-width:0!important;
  }
  .app-header .trip-switch-row{
    width:100%!important;
    max-width:872px!important;
    padding-right:0!important;
    margin-right:0!important;
  }
  .app-header #tripSelect{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  /* Padding horitzontal igual al marge de .app-shell (900px amb 14px). */
  .day-strip{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    display:flex!important;
    flex-flow:row wrap!important;
    justify-content:center!important;
    align-content:center!important;
    align-items:center!important;
    column-gap:8px!important;
    row-gap:9px!important;
    padding:12px max(14px, calc((100% - 900px)/2 + 14px))!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  .day-strip .day-chip{
    box-sizing:border-box!important;
    flex:0 0 auto!important;
    min-width:64px;
    scroll-snap-align:none!important;
  }
}

/* V4.10 · PC: capçalera alineada al planning (referència: imatge 1).
   Contenidor central 900px; àrea útil interior 872px.
   No afecta pantalles inferiors a 1000px ni les dades del viatge. */
@media screen and (min-width:1000px){
  .app-header{
    --trip-main-width:872px;
    --trip-main-left:max(14px,calc((100vw - 900px)/2 + 14px));
    display:block!important;
    position:relative!important;
    box-sizing:border-box!important;
    min-height:220px!important;
    padding:calc(18px + env(safe-area-inset-top,0px)) 14px 75px var(--trip-main-left)!important;
  }
  .app-header .brand-wrap{
    display:block!important;
    position:relative!important;
    width:min(var(--trip-main-width),calc(100vw - 28px))!important;
    max-width:var(--trip-main-width)!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
  }
  .app-header .trip-switch-row{
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    margin:12px 0 0!important;
  }
  .app-header #tripSelect{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .app-header .header-right{
    display:contents!important;
    position:static!important;
    width:auto!important;
    min-width:0!important;
  }
  /* Alineem + Nou viatge i l'engranatge amb el límit dret del planning. */
  .app-header .header-tools{
    position:absolute!important;
    z-index:6!important;
    top:calc(14px + env(safe-area-inset-top,0px))!important;
    right:max(14px,calc((100vw - 900px)/2 + 14px))!important;
    left:auto!important;
    bottom:auto!important;
    display:flex!important;
    flex-direction:row-reverse!important;
    justify-content:flex-start!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    width:auto!important;
    gap:10px!important;
    margin:0!important;
  }
  /* 'Avui' a l'esquerra i 'Editar' a la dreta, sota el selector. */
  .app-header .header-actions{
    position:absolute!important;
    z-index:5!important;
    top:auto!important;
    bottom:14px!important;
    left:var(--trip-main-left)!important;
    right:auto!important;
    display:flex!important;
    flex-direction:row!important;
    justify-content:space-between!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    width:min(var(--trip-main-width),calc(100vw - 28px))!important;
    gap:12px!important;
    margin:0!important;
    padding:0!important;
  }
  .app-header .header-actions button{
    position:static!important;
    flex:0 0 auto!important;
    min-width:96px!important;
  }
}

/* Sincronitzacio familiar */
.sync-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sync-actions button{min-width:0;padding:9px 12px}.sync-actions button[hidden]{display:none!important}#syncDetail{margin:8px 0}.cloud-box{overflow-wrap:anywhere}

/* Documents i avisos: sense configuració de núvol */
#saveStatus{position:sticky;top:0;z-index:4;text-align:center;padding:4px 12px;background:#22352f;color:#cce9d6;font-size:12px}#saveStatus[data-kind="error"]{background:#5b302b;color:#fff3e8}.doc-panel{display:grid;gap:16px;max-width:100%}.doc-panel form{display:grid;gap:12px;padding:16px;background:var(--panel,#28313c);border:1px solid #52606b;border-radius:12px}.doc-panel input[type="file"]{max-width:100%}.doc-day-list{display:flex;flex-wrap:wrap;gap:8px;max-height:170px;overflow:auto}.doc-day-list label{border:1px solid #52606b;border-radius:7px;padding:6px 10px;display:inline-flex;gap:6px;align-items:center}.doc-entry{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid #52606b;border-radius:9px}.doc-entry a{overflow-wrap:anywhere}
/* DOC independent, abans del dia 0. Tots els botons de la tira tenen la mateixa mida. */
.day-strip .day-chip{box-sizing:border-box!important;flex:0 0 64px!important;width:64px!important;min-width:64px!important;min-height:64px!important;padding:8px 4px!important;justify-content:center!important;}
.day-strip .day-chip strong{font-size:1rem!important;line-height:1.2!important;}
.day-strip .day-chip small{font-size:.66rem!important;line-height:1.2!important;}
.day-strip .notes-day-chip{min-width:64px!important;}
.day-strip .docs-day-chip{background:#e8f3f6;border-color:#9fc5d5;color:#215778;}
.day-strip .docs-day-chip strong{color:inherit;}
.day-strip .docs-day-chip.active{background:#1b637c;border-color:#1b637c;color:#fff;}
.day-strip .docs-day-chip.active strong{color:#fff;}
html[data-theme="dark"] .day-strip .docs-day-chip{background:#233b47;border-color:#467487;color:#bfdeeb;}
html[data-theme="dark"] .day-strip .docs-day-chip.active{background:#16516c;border-color:#68b5d7;color:#fff;}
html[data-theme="dark"] .day-strip .docs-day-chip.active strong{color:#fff;}
.general-notes-tabs button:not([data-tab="notes"]){display:none!important;}

/* DOC v3: upload panel matching the compact tile layout. */
.doc-panel{gap:18px}
.doc-panel h3{margin:0 0 2px;font-size:1.13rem;line-height:1.3}
.doc-panel .doc-help{margin:2px 0 0}
.doc-panel .doc-upload-form{display:grid;gap:14px;padding:17px 16px;border-radius:14px;min-width:0}
.doc-file-line{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-weight:650}
.doc-file-line input[type="file"]{min-width:0;max-width:100%;font-weight:400;font-size:.88rem}
.doc-assign-title{margin:0}
.doc-panel .doc-day-list{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:8px;max-height:none;overflow:visible;padding:2px 0 0}
.doc-panel .doc-day-choice{padding:0;border:0;background:transparent;display:flex;flex-direction:column;gap:8px;align-items:center;cursor:pointer;min-width:0}
.doc-day-tile{height:63px;min-width:57px;padding:8px 9px;border:1px solid var(--line);border-radius:13px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;background:var(--paper);color:var(--ink)}
.doc-day-tile strong{font-size:.94rem;line-height:1.15}.doc-day-tile small{font-size:.67rem;line-height:1.15;font-weight:750}
.doc-day-tile i{display:block;width:5px;height:5px;background:#d2a452;border-radius:50%;margin-top:2px}
.doc-day-choice input[type="checkbox"]{cursor:pointer;width:18px;height:18px;margin:0;accent-color:#82c6e9}
.doc-day-choice:focus-within .doc-day-tile{outline:2px solid #79bde0;outline-offset:2px}
.doc-panel .doc-submit{width:100%;margin:1px 0 0;padding:12px}
.doc-panel #docItems .empty{text-align:center;padding:22px 12px}
html[data-theme="dark"] .doc-day-tile{background:#252e39;color:#fff;border-color:#586877}
html[data-theme="dark"] .doc-panel .doc-upload-form{background:#27313b;border-color:#566775}
@media(max-width:699px){.doc-panel .doc-upload-form{padding:13px 10px}.doc-panel .doc-day-list{gap:8px 6px}.doc-day-tile{min-width:52px;height:59px;padding:7px}.doc-file-line{align-items:flex-start}.doc-file-line input[type="file"]{width:100%}}


/* Documents: miniatura i visor desplegable dins de la mateixa pàgina. */
.doc-panel #docItems{display:grid;gap:12px;min-width:0}
.doc-panel #docItems .doc-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;min-width:0;padding:10px 12px;background:var(--panel,#28313c);border-radius:13px}
.doc-fold{min-width:0;width:100%}
.doc-fold-heading{display:flex;align-items:center;gap:12px;min-width:0;cursor:pointer;list-style:none;padding:2px 0;min-height:54px}
.doc-fold-heading::-webkit-details-marker{display:none}
.doc-fold-heading::marker{content:""}
.doc-fold-heading:focus-visible{outline:2px solid #83c7e8;outline-offset:5px;border-radius:6px}
.doc-thumb{width:54px;height:54px;flex:0 0 54px;object-fit:cover;border:1px solid var(--line);border-radius:9px;background:var(--paper)}
.doc-pdf-icon{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--ink)}
.doc-file-name{flex:1;min-width:0;font-weight:650;overflow-wrap:anywhere}
.doc-expand-label{flex:0 0 auto;font-size:.81rem;color:var(--accent,#7abce5);font-weight:700}
.doc-hide,.doc-fold[open] .doc-show{display:none}
.doc-fold[open] .doc-hide{display:inline}
.doc-expanded{display:grid;gap:12px;margin-top:12px;padding:12px;border-top:1px solid var(--line);min-width:0}
.doc-full-image{display:flex;justify-content:center;align-items:center;min-width:0}
.doc-full-image img{display:block;width:auto;max-width:100%;max-height:78vh;object-fit:contain;border-radius:9px;background:var(--paper)}
.doc-full-pdf{min-width:0}
.doc-full-pdf iframe{display:block;width:100%;height:min(76vh,850px);min-height:360px;background:white;border:1px solid var(--line);border-radius:9px}
.doc-full-pdf p{margin:8px 0 0}
.doc-download{justify-self:start;font-size:.85rem;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.doc-preview-error{padding:14px;color:var(--ink)}
.doc-delete{align-self:center}
@media(max-width:600px){
 .doc-panel #docItems .doc-entry{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:8px}
 .doc-fold-heading{gap:8px}
 .doc-thumb{width:42px;height:42px;flex-basis:42px}
 .doc-expand-label{font-size:.73rem}
 .doc-file-name{font-size:.86rem}
 .doc-expanded{padding:10px 2px}
 .doc-full-pdf iframe{min-height:310px;height:62vh}
}


/* Fitxa DOC v5: capçalera, línia d'accions i visor; mateixa disposició a PC i mòbil. */
.doc-panel #docItems .doc-entry{
  display:block;min-width:0;max-width:100%;padding:12px;
  background:var(--panel,#28313c);border:1px solid #52606b;border-radius:13px;
}
.doc-card-header{
  display:grid;grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;gap:11px;min-width:0;padding-bottom:12px;
  border-bottom:1px solid var(--line,#52606b);
}
.doc-card-header .doc-thumb{width:54px;height:54px;flex:unset;min-width:0}
.doc-card-header .doc-file-name{
  min-width:0;max-width:100%;font-size:.94rem;line-height:1.35;
  font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.doc-card-header .doc-delete{
  align-self:center;justify-self:end;white-space:nowrap;margin:0;
}
.doc-card-body{
  display:grid;grid-template-columns:auto auto 1fr;align-items:center;
  gap:8px 24px;padding:12px 2px 0;min-width:0;
}
.doc-card-body .doc-fold{display:contents}
.doc-card-body .doc-fold-heading{
  grid-column:1;grid-row:1;display:inline-flex;min-height:0;
  align-items:center;padding:0;margin:0;gap:0;
}
.doc-card-body .doc-download{
  grid-column:2;grid-row:1;justify-self:start;align-self:center;
  min-width:0;margin:0;font-size:.85rem;overflow-wrap:anywhere;
}
.doc-card-body .doc-expanded{
  grid-column:1 / -1;grid-row:2;margin:0;padding:6px 0 0;
  border:0;min-width:0;
}
.doc-card-body .doc-full-image img{
  display:block;width:auto;max-width:100%;max-height:78vh;object-fit:contain;
}
.doc-card-body .doc-fold:not([open]) .doc-expanded{display:none}
@media(max-width:600px){
 .doc-panel #docItems .doc-entry{padding:10px}
 .doc-card-header{grid-template-columns:46px minmax(0,1fr) auto;gap:9px;padding-bottom:10px}
 .doc-card-header .doc-thumb{width:46px;height:46px}
 .doc-card-header .doc-file-name{font-size:.83rem}
 .doc-card-header .doc-delete{padding:7px 9px;font-size:.75rem}
 .doc-card-body{gap:8px 18px;padding-top:12px}
 .doc-card-body .doc-expanded{padding:5px 0 0}
 .doc-card-body .doc-fold-heading,.doc-card-body .doc-download{font-size:.84rem}
}

/* Pujada de diversos documents */
.doc-panel .doc-multi-hint{margin:-7px 0 0;line-height:1.4}

/* Selecció múltiple: conserva la llista fins a prémer Afegir documents. */
.doc-selected-files{margin:0;white-space:pre-line;overflow-wrap:anywhere;color:var(--text,#e8eef6);font-size:.86rem;line-height:1.55}


/* DOC v8: capçalera, controls i visor en franges verticals fixes, també a Android. */
.doc-panel #docItems .doc-entry{
  display:block!important;min-width:0;width:100%;box-sizing:border-box;
  padding:12px;background:var(--panel,#28313c);border:1px solid #52606b;border-radius:13px;
}
.doc-panel #docItems .doc-card-header{
  display:grid;grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;gap:11px;min-width:0;padding:0 0 12px;
  border-bottom:1px solid var(--line,#52606b);
}
.doc-panel #docItems .doc-card-header .doc-thumb{width:54px;height:54px;min-width:0;object-fit:cover}
.doc-panel #docItems .doc-card-header .doc-file-name{
  min-width:0;overflow-wrap:anywhere;white-space:normal;line-height:1.3;
  font-size:.94rem;font-weight:700;
}
.doc-panel #docItems .doc-card-header .doc-delete{
  grid-column:3;justify-self:end;align-self:center;margin:0;white-space:nowrap;
}
.doc-panel #docItems .doc-card-body{display:block!important;min-width:0;padding:12px 0 0}
.doc-panel #docItems .doc-card-actions{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:10px 26px;min-width:0;padding:0 0 10px;
}
.doc-panel #docItems .doc-toggle{
  border:0;background:transparent;color:var(--accent,#7abce5);font:inherit;
  font-size:.85rem;font-weight:700;cursor:pointer;padding:4px 2px;
}
.doc-panel #docItems .doc-toggle .doc-hide{display:none}
.doc-panel #docItems .doc-toggle[aria-expanded="true"] .doc-show{display:none}
.doc-panel #docItems .doc-toggle[aria-expanded="true"] .doc-hide{display:inline}
.doc-panel #docItems .doc-toggle:focus-visible{outline:2px solid #83c7e8;outline-offset:3px}
.doc-panel #docItems .doc-download{
  display:inline-flex;align-items:center;position:static!important;min-width:0;
  margin:0;padding:4px 2px;white-space:nowrap;font-size:.85rem;
}
.doc-panel #docItems .doc-expanded{
  display:block!important;position:static!important;width:100%;min-width:0;
  box-sizing:border-box;margin:0;padding:0;border:0;
}
.doc-panel #docItems .doc-expanded[hidden]{display:none!important}
.doc-panel #docItems .doc-full-image{display:flex;width:100%;min-width:0;justify-content:center}
.doc-panel #docItems .doc-full-image img{
  display:block;width:auto;max-width:100%;height:auto;max-height:none;
  object-fit:contain;border-radius:9px;
}
.doc-panel #docItems .doc-full-pdf iframe{max-width:100%;box-sizing:border-box}
@media(max-width:600px){
  .doc-panel #docItems .doc-entry{padding:10px}
  .doc-panel #docItems .doc-card-header{grid-template-columns:46px minmax(0,1fr) auto;gap:9px;padding-bottom:10px}
  .doc-panel #docItems .doc-card-header .doc-thumb{width:46px;height:46px}
  .doc-panel #docItems .doc-card-header .doc-file-name{font-size:.83rem}
  .doc-panel #docItems .doc-card-header .doc-delete{padding:7px 9px;font-size:.75rem}
  .doc-panel #docItems .doc-card-body{padding-top:10px}
  .doc-panel #docItems .doc-card-actions{gap:8px 18px;padding-bottom:8px}
}

/* Grups de la biblioteca DOC · ARXIUS */
.doc-group-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 12px;flex-wrap:wrap}
.doc-group-toolbar h4{margin:0;font-size:1rem}
.doc-group{border:1px solid var(--line);border-radius:14px;padding:12px;margin:12px 0;background:rgba(255,255,255,.015);min-width:0}
.doc-group-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:4px 4px 10px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.doc-group-fold{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;text-align:left;cursor:pointer;min-width:0}
.doc-group-count{opacity:.65;font-weight:500}
.doc-group-actions{display:flex;gap:6px;flex-wrap:wrap}
.doc-group-items{display:grid;gap:10px;padding-top:12px}
.doc-group-items[hidden]{display:none!important}
.doc-group-empty{padding:15px 8px;color:var(--muted);font-size:.88rem}
.doc-drop-target{outline:2px dashed #75c8ed;outline-offset:1px;border-radius:8px;background:rgba(75,164,213,.12)}
.doc-move-label{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:10px;font-size:.8rem;color:var(--muted);flex-wrap:wrap}
.doc-move-group{max-width:100%;min-width:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:6px 7px;font:inherit}
.doc-group .doc-entry{margin:0!important}
@media(max-width:580px){.doc-group{padding:8px}.doc-group-heading{gap:6px}.doc-group-actions .mini{font-size:.72rem;padding:6px}.doc-move-label{font-size:.75rem}}
