:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202124;background:#fff;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer;text-align:left}button:focus-visible{outline:2px solid #2469dc;outline-offset:3px}button svg{flex-shrink:0}h1,h2,p{margin:0}main{max-width:1080px;margin:0 auto;padding:20px 24px 100px}.back-button{display:flex;align-items:center;gap:7px;color:#2469dc;padding:10px 0;margin-bottom:18px}.trip-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}h1{font-size:30px;font-weight:650;letter-spacing:-.7px;overflow-wrap:anywhere}.trip-meta{font-size:14px;color:#6b7078;margin-top:7px;line-height:1.5}.icon-button{display:grid;place-items:center;min-width:40px;min-height:40px;padding:8px;border-radius:6px;color:#6b7078}.icon-button:hover{background:#f3f4f6}.timeline{margin-top:24px;position:relative}.timeline-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}.timeline-lines line{stroke-width:2;opacity:.65}.day-section{padding-bottom:12px}.day-header{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:40px;margin-left:14px;padding:6px 14px 6px 34px;border-radius:0 4px 4px 0;background:var(--header-background)}.day-header.planned{--header-background: #eaf2ff;color:#375f97}.day-header.unplanned{--header-background: #fef2f2;color:#991b1b}.day-header.no-night{--header-background: #f1f2f4;color:#626975}.header-node{position:absolute;left:0;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--header-background);z-index:3}.accommodation-node{border:1.5px solid #849fc8;color:#426caa}.day-date{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.4px}.day-status{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;overflow-wrap:anywhere}.day-status svg{flex-shrink:0}.accommodation-link{display:inline-flex;align-items:center;gap:6px;padding:4px 0}.accommodation-link:hover{text-decoration:underline}.day-add{display:flex;align-items:center;gap:3px;font-size:12px;padding:4px 0;margin-left:auto}.unbooked-icon{color:#dc2626}.status-capsule{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 7px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:10px;font-weight:650;line-height:16px;letter-spacing:.3px;white-space:nowrap}.missing-accommodation{gap:4px}.missing-accommodation:hover{background:#fecaca}.booked-icon{color:inherit}.day-add:hover{text-decoration:underline}.day-events{padding-top:12px;min-height:72px}.timeline-item{position:relative;display:flex;flex-direction:column;gap:5px;min-width:0;width:100%;padding:0 14px 16px 48px;margin:0;text-align:left;border-radius:4px}.timeline-item:hover{background:#f5f7fb}.event-marker{position:absolute;left:var(--rail-x);top:9px;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;border:1.5px solid var(--event-color);background:#fff;z-index:3}.item-row{display:flex;align-items:flex-start;gap:8px}.endpoint{display:flex;flex:0 0 60px;font-variant-numeric:tabular-nums;font-size:11px;color:var(--event-color);line-height:18px}.endpoint time{color:#333f50;white-space:nowrap}.item-title{display:flex;min-width:0;align-items:flex-start;gap:6px;color:var(--event-color)}.item-title svg{flex-shrink:0;margin-top:3px}.item-title strong{font-size:13px;line-height:1.5;font-weight:550;overflow-wrap:anywhere}.item-action{font-weight:400}.appearance-picker{border:0;padding:0;margin:0;min-width:0}.appearance-picker legend{font-size:12px;color:#555c67;padding:0;margin-bottom:6px}.color-options{display:flex;flex-wrap:wrap;align-items:center;gap:3px}.color-choice{display:grid;place-items:center;width:34px;height:36px;padding:4px;border-radius:6px}.color-choice span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff}.color-choice[aria-pressed=true]{outline:1px solid #bac3ce}.edit-form .color-options input[type=color]{width:32px;height:32px;padding:3px;cursor:pointer}.icon-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.icon-options button{display:grid;place-items:center;height:40px;border:1px solid #e4e6ea;border-radius:6px}.icon-options button[aria-pressed=true]{background:#edf3fc;border-color:currentColor}.item-detail,.item-notes{font-size:11px;line-height:1.5;color:#77808d;overflow-wrap:anywhere}.event-icon{display:grid;place-items:center;color:#77808e}.floating-add{position:fixed;right:max(24px,calc((100vw - 1080px)/2));bottom:24px;width:52px;height:52px;border-radius:50%;background:#2469dc;color:#fff;display:grid;place-items:center;z-index:5;box-shadow:0 3px 12px #00000020}.floating-add:hover{background:#195ac4}.trip-list-page{padding-top:34px}.trip-list-section{margin-top:30px}.section-label{font-size:11px;letter-spacing:.7px;color:#737a84;margin-bottom:8px}.trip-card{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #e9eaed;width:100%}.trip-card:hover{background:#f7f8fa}.trip-card-content{display:flex;flex:1;flex-direction:column;gap:6px}.trip-card-content strong{font-size:17px;font-weight:550}.trip-card-content>span{font-size:13px;color:#737a84}.trip-card>svg{color:#a1a6ad}.modal{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:24px;border:1px solid #e4e6ea;border-radius:12px;background:#fff;color:#202124}.modal::backdrop{background:#00000040}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.modal-header h2{font-size:20px;font-weight:600}.modal-header .icon-button{margin:-7px -7px -7px 0}.type-grid{display:flex;flex-direction:column}.type-grid>button{display:flex;gap:14px;align-items:center;padding:14px 4px;border-bottom:1px solid #eee}.type-grid>button:last-child{border-bottom:0}.type-grid>button:hover{background:#f7f8fa}.type-grid strong{font-size:15px;font-weight:400;flex:1}.type-grid>button>svg{color:#a1a6ad}.edit-form{display:flex;flex-direction:column;gap:16px}.edit-form label{display:flex;flex-direction:column;gap:7px;color:#555c67;font-size:12px;min-width:0}.edit-form input:not([type=checkbox]):not([type=radio]),.edit-form select,.edit-form textarea{width:100%;min-width:0;padding:10px;border:1px solid #dce0e5;border-radius:6px;background:#fff;color:#202124;font-size:16px}.edit-form input:focus,.edit-form select:focus,.edit-form textarea:focus{outline:2px solid #86afea;outline-offset:1px}.edit-form textarea{resize:vertical}.booking-options{display:flex;border:1px solid #dce0e5;border-radius:6px;overflow:hidden}.edit-form .booking-options label{position:relative;flex:1;cursor:pointer}.edit-form .booking-options label:first-child{flex:1.8}.booking-options label+label{border-left:1px solid #dce0e5}.booking-options input{position:absolute;width:1px;height:1px;opacity:0}.booking-options span{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;min-height:40px;padding:8px 5px;text-align:center}.booking-options svg{flex-shrink:0}.booking-options input:not(:checked)+span svg{color:#878e98}.booking-options input:checked+span{background:#f1f2f4;color:#626975;font-weight:600}.booking-options input[value=unbooked]:checked+span{background:#fef2f2;color:#dc2626}.booking-options input[value=booked]:checked+span{background:#f0fdf4;color:#15803d}.booking-options input:focus-visible+span{outline:2px solid #2469dc;outline-offset:-2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:18px;margin-top:4px;border-top:1px solid #e9eaed}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;border-radius:6px;font-size:13px}.primary-button{background:#2469dc;color:#fff}.secondary-button{border:1px solid #e4e6ea;color:#626975}.delete-button{display:flex;align-items:center;gap:5px;color:#b33e34;margin-right:auto;font-size:12px;padding:8px 0}.form-error{font-size:12px;color:#b33e34;line-height:1.5}.edit-form .checkbox-label{flex-direction:row;align-items:center;flex-wrap:wrap}.checkbox-label input{accent-color:#2469dc;margin:0;width:16px;height:16px}.checkbox-label span{font-size:11px;color:#878e98}@media(max-width:600px){main{padding:12px 10px 90px}.back-button{margin-bottom:12px}h1{font-size:28px}.floating-add{right:20px;bottom:max(20px,env(safe-area-inset-bottom))}.modal{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;padding:22px 18px max(24px,env(safe-area-inset-bottom));border-radius:14px 14px 0 0}}.account-bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:12px 20px 0;max-width:1120px;margin:auto}.trip-members h3{margin:0 0 8px;font-size:13px;font-weight:600}.trip-members ul{list-style:none;padding:0;margin:0}.trip-members li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}.trip-members li+li{border-top:1px solid #e9eaed}.trip-members li>div{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}.trip-members strong{font-weight:600}.member-role{color:#6b7078;font-size:12px;flex-shrink:0}.trip-members .form-error button{text-decoration:underline}.header-actions,.auth-actions{display:flex;align-items:center;gap:12px}.auth-page{max-width:480px;padding-top:15vh}.auth-page p{margin:20px 0}.page-error{margin:16px 20px;color:#b91c1c}.page-error button{text-decoration:underline;margin-left:8px}button:disabled{opacity:.5;cursor:wait}
