/* Jot-like paper lists, a receipt ledger, and a photographic trip album. */
.story-select{max-width:145px;padding:7px 24px 7px 10px;font:12px Selecta,sans-serif;color:#465255;background:#f0f2ef;border:0;border-radius:10px;min-height:36px}
body .phone-shell .pinned-widget.tool-tile{border:0;background:none;box-shadow:0 12px 25px -15px #34392f40}
body .phone-shell .tool-tile::after{display:none}
.tool-widget{width:164px;height:164px;position:relative;padding:17px;color:#3a4036;border-radius:27px;overflow:hidden}
.tool-widget small{display:block;font:8px Selecta,sans-serif;letter-spacing:.06em;color:#76776d}
.tool-widget h2{font:500 25px/1.1 Selecta,Arial,sans-serif;margin:9px 0 10px;letter-spacing:-.7px}
.tool-widget footer{position:absolute;bottom:14px;left:17px;right:17px;display:flex;justify-content:space-between;align-items:center;font:10px Selecta,sans-serif;color:#7f8176}
.tool-widget footer svg{width:14px;height:14px}
.packing-widget{background:linear-gradient(150deg,#fffcf1,#f3eddc)}
.pack-widget-lines{display:grid;gap:7px}
.pack-widget-lines>div{display:flex;gap:7px;align-items:center;font:10px Selecta,sans-serif}
.pack-widget-lines i{width:12px;height:12px;border:1px solid #b5bba6;border-radius:4px;font:9px Selecta,sans-serif;display:grid;place-items:center}
.pack-widget-lines .done span{color:#9ea58d;text-decoration:line-through}
.pack-widget-lines .done i{background:#9ea88f;color:white;border-color:transparent}
.expenses-widget{background:linear-gradient(140deg,#f7f4fb,#e9e4f0);color:#534765}
.expenses-widget h2{font:500 25px/1 Selecta,sans-serif;letter-spacing:-1px;margin-top:16px;font-variant-numeric:tabular-nums}
.expenses-widget p{font-size:10px;margin:8px 0;color:#91859e}
.tool-widget-avatars{display:flex;padding-left:1px;margin-top:13px}
.tool-widget .tool-avatar{width:25px;height:25px;margin-right:-5px;border:1.5px solid #eee9f5}
.gallery-widget{background:#ede9de;padding-top:101px}
.gallery-widget h2{font-size:24px;margin:0}
.photo-stack{position:absolute;top:14px;left:23px;right:23px;height:75px}
.photo-stack img{position:absolute;width:68px;height:76px;object-fit:cover;border:4px solid white;box-shadow:0 2px 5px #0002;transform:rotate(-10deg);border-radius:3px}
.photo-stack img:nth-child(2){left:29px;top:1px;transform:rotate(9deg)}
.photo-stack img:nth-child(3){left:55px;top:5px;transform:rotate(-4deg)}
.widget-app.tool-app{background:#fbfaf7}
.widget-app.tool-app .app-body{padding:0;height:calc(100% - 143px);overscroll-behavior:contain}
.trip-tool{padding:16px 24px 30px;color:#303a30}
.tool-heading{margin-bottom:23px}
.tool-heading>small{font:9px Selecta,sans-serif;letter-spacing:.09em;color:#858b7c}
.app-body .tool-heading h1{font:500 32px/1.12 Selecta,Arial,sans-serif;margin:15px 0 9px;letter-spacing:-1px}
.app-body .tool-heading p{font-size:13px;margin:0;color:#89907f}
.tool-avatar{width:28px;height:28px;object-fit:cover;border-radius:50%;flex:none}
.tool-crew{display:flex;align-items:center;margin-top:23px;padding-left:2px}
.tool-crew .tool-avatar{margin-left:-2px;margin-right:-6px;border:2px solid #efebf4;width:29px;height:29px}
.tool-crew span{font-size:11px;margin-left:15px;color:#8b8097}
.tool-tabs{display:flex;gap:5px;background:#f0f0e9;padding:4px;border-radius:14px;margin:20px 0}
.tool-tabs button{flex:1;min-height:36px;border:0;border-radius:11px;background:none;color:#929485;font:12px Selecta,sans-serif;padding:7px 10px;white-space:nowrap}
.tool-tabs button[aria-pressed=true]{background:white;color:#3c4735;box-shadow:0 1px 4px #26302409}
.app-body .packing-groups h2{font:500 14px Selecta,sans-serif;display:flex;justify-content:space-between;margin:29px 0 10px;letter-spacing:0;color:#687455}
.packing-groups h2 span{font-size:11px;color:#a0a98e;font-weight:400}
.tool-pack-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #e8e9de;min-height:56px}
.app-body .tool-pack-row label{display:flex;align-items:center;gap:12px;flex:1;margin:0!important;font-size:15px!important;line-height:1.4}
.tool-pack-row input{appearance:none;width:22px;height:22px;border:1px solid #cdd2bf;border-radius:7px;margin:0;flex:none;background:#fff}
.tool-pack-row input:checked{background:#8a9a72;border-color:#8a9a72}
.tool-pack-row input:checked::after{content:'✓';display:grid;place-items:center;color:white;font-size:15px;line-height:20px}
.tool-pack-row.packed label>span{color:#a3aa94;text-decoration:line-through}
.tool-pack-row small{font-size:12px;color:#9caa8c}
.tool-pack-row button{display:grid;place-items:center;width:44px;height:44px;border:0;background:none;border-radius:50%}
.tool-pack-row .tool-avatar{width:25px;height:25px}
.tool-primary,.tool-secondary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:13px 16px;font:500 14px/1.4 Selecta,sans-serif;border:0;border-radius:16px;background:#536746;color:white;margin:24px 0 14px}
.tool-secondary{background:#efefe7;color:#7f866f;font-weight:400;margin:14px 0}
.tool-primary svg,.tool-secondary svg{width:19px;height:19px}
.app-body .tool-caption{font:11px/1.6 Selecta,sans-serif;color:#919681;text-align:center;margin:18px 2px}
.tool-status{font:12px/1.5 Selecta,sans-serif!important;color:#5d7350!important;min-height:18px;text-align:center;margin-top:20px!important}
.tool-back{display:flex;gap:5px;align-items:center;border:0;background:transparent;color:#879577;font:12px Selecta,sans-serif;padding:0;min-height:36px;margin-bottom:13px}
.tool-back svg{width:17px;height:17px}
.trip-tool form>label,.trip-tool .tool-fields label{display:grid!important;gap:8px;margin:18px 0!important;font:12px Selecta,sans-serif!important;color:#819173}
.trip-tool form input:not([type=checkbox]),.trip-tool form select{width:100%;min-width:0;min-height:45px;padding:11px 12px;border:1px solid #dde1d3;border-radius:12px;background:#fff;color:#354630;font:15px Selecta,sans-serif}
.tool-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tool-fields>label{min-width:0}
.trip-tool fieldset{border:0;padding:0;margin:23px 0}.trip-tool legend{font-size:12px;color:#819173;margin-bottom:13px}
.expense-participants{display:flex;gap:8px}
.app-body .expense-participants label{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;flex:1;margin:0!important;background:#f0f0e9;border-radius:14px;font-size:12px!important}
.expense-participants input{accent-color:#677a52;width:17px;height:17px}
.app-body .tool-form-error{color:#a24242;font-size:12px}
.expense-summary{padding:22px;background:linear-gradient(145deg,#f2edf6,#e7e2ed);border-radius:24px;color:#695879}
.expense-summary>small{font-size:9px;letter-spacing:.1em;color:#9b8ca7}
.expense-summary>strong{display:block;font-size:45px;letter-spacing:-1.8px;line-height:1.1;font-weight:500;margin-top:15px;font-variant-numeric:tabular-nums}
.app-body .tool-settlements h2,.app-body .tool-shares h2{font:500 15px Selecta,sans-serif;color:#6f7b61;margin:24px 0 12px;letter-spacing:0}
.tool-settlements>div,.tool-shares>div{display:flex;align-items:center;gap:10px;min-height:58px;border-bottom:1px solid #e4e7dc;font-size:13px}
.tool-settlements>div>span,.tool-shares>div>span{flex:1}
.tool-settlements strong,.tool-shares b{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.tool-shares small{display:block;font-size:11px;color:#969e86;margin-top:5px}
.expense-row{width:100%;display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid #e5e6de;background:transparent;padding:17px 0;text-align:left}
.expense-receipt{width:36px;height:42px;display:grid;place-items:center;background:#efede4;color:#a0977e;border-radius:9px;flex:none}
.expense-receipt svg{width:19px;height:19px}.expense-row>span:nth-child(2){flex:1;min-width:0}
.expense-row strong{font:500 14px/1.3 Selecta,sans-serif;display:block;color:#525e45}
.expense-row small{font-size:10px;color:#919780;display:block;margin-top:5px}.expense-row em{font:9px Selecta,sans-serif;color:#a1a590;display:block;margin-top:5px}
.expense-row b{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.photo-tile{position:relative;padding:0;border:0;background:#e9e8dc;border-radius:15px;overflow:hidden;min-width:0;text-align:left;height:190px}
.photo-tile.wide{grid-column:1/-1;height:242px}
.photo-tile img{width:100%;height:100%;object-fit:cover;display:block}
.photo-tile:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0007);pointer-events:none}
.photo-tile span{position:absolute;z-index:1;bottom:14px;left:12px;right:12px;color:white;font:13px/1.3 Selecta,sans-serif}
.photo-tile>svg{position:absolute;z-index:1;top:12px;right:12px;width:16px;height:16px;fill:white;stroke:white}
.photo-viewer-image{position:relative;margin:0 -24px;background:#eeede4}
.photo-viewer-image>img{display:block;width:100%;height:360px;object-fit:contain}
.photo-favorite{position:absolute;right:16px;top:16px;width:40px;height:40px;border:0;border-radius:50%;background:#ffffffe0;color:#5b6a4b;display:grid;place-items:center;backdrop-filter:blur(8px)}
.photo-favorite[aria-pressed=true] svg{fill:currentColor}
.photo-controls{display:flex;align-items:center;justify-content:space-between;font:11px Selecta,sans-serif;color:#929b82;margin:10px 0}
.photo-controls button{width:44px;height:40px;border:0;background:none;display:grid;place-items:center;color:#7f8e6b;border-radius:12px}
.app-body .photo-viewer h1{font-size:30px;letter-spacing:-.5px;margin:15px 0}
.app-body .photo-credit{font-size:10px;line-height:1.5;color:#91987f}.tool-source{font:11px Selecta,sans-serif;color:#7b8867;text-underline-offset:4px}
.app-body .tool-empty{font-size:14px;text-align:center;padding:28px 8px;color:#858f76}
@media(max-width:700px){.story-select{max-width:115px;font-size:11px}.transport-left{gap:5px!important}}
@media(max-width:520px){body .transport output{display:none}.story-select{max-width:92px;min-height:34px;padding:6px;font-size:10px}}
@media(prefers-reduced-transparency:reduce){.photo-favorite{background:#fff;backdrop-filter:none}}

/* A compact packing summary keeps the shared list in view. */
.packing-heading{margin-bottom:22px}
.packing-heading>div{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:13px 0 8px}
.app-body .packing-heading h1{margin:0;font-size:34px;font-weight:400}
.pack-add{width:44px;height:44px;display:grid;place-items:center;flex:none;border:1px solid #e0e2d6;border-radius:50%;background:#fffdf5;color:#4d6043}
.pack-add svg{width:22px;height:22px}
.packing-people{display:flex;align-items:center;gap:6px;margin:0 0 23px}
.packing-people button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;padding:6px 8px;border:1px solid transparent;border-radius:24px;background:transparent;color:#69715e;font:12px Selecta,sans-serif}
.packing-people button:first-child{padding-inline:12px}
.packing-people button[aria-pressed=true]{background:#eef0e5;border-color:#d8decb;color:#34432d}
.packing-people .tool-avatar{width:24px;height:24px}
.packing-summary{display:flex;gap:13px;align-items:center;padding:0 0 19px;border-bottom:1px solid #e5e7dc}
.packing-summary strong{display:block;font-size:16px;font-weight:500;color:#45543b}
.packing-summary span{display:block;font-size:12px;color:#68725d;margin-top:4px}
.packing-ring{width:44px;height:44px;position:relative;flex:none}
.widget-app .packing-ring>svg:first-child{width:44px;height:44px;display:block;transform:rotate(-90deg)}
.packing-ring circle{fill:none;stroke:#e4e7d8;stroke-width:3}
.packing-ring circle+circle{stroke:#7b8f62;stroke-linecap:round}
.widget-app .packing-ring>svg:last-child{position:absolute;width:19px;height:19px;left:12.5px;top:12.5px;color:#687e50}
.packing-tool .tool-tabs{margin:18px 0 7px}
.packing-tool .tool-tabs button{color:#626d56}
.app-body .packing-groups h2{margin-top:24px;color:#536147}
.packing-groups h2 span{color:#6c795d;font-variant-numeric:tabular-nums}
.tool-pack-row label{min-height:56px;cursor:pointer;min-width:0}
.tool-pack-row label>span{overflow-wrap:anywhere}
.tool-pack-row.packed label>span{color:#7c876e}
.tool-pack-row small{color:#6d7b5e}
.tool-pack-row button{flex:none}
.trip-tool form input:not([type=checkbox]),.trip-tool form select{font-size:16px}
.packing-empty{text-align:center;padding:35px 12px 20px;color:#6d7c5e}
.packing-empty>svg{width:26px;height:26px;margin:auto}
.app-body .packing-empty h2{font:500 17px Selecta,sans-serif;margin:16px 0 8px}
.app-body .packing-empty p{font-size:13px;line-height:1.5;color:#6a745e}
.packing-tool button:active{opacity:.72}
.packing-tool :is(button,input):focus-visible{outline:2px solid #617649;outline-offset:3px}

.pack-widget-lines>div{min-width:0}.pack-widget-lines i{flex:none}.pack-widget-lines span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.photo-grid>.tool-empty{grid-column:1/-1}
