:root{--brand-dark: rgb(88, 61, 27);--brand-darker: rgb(55, 38, 17);--brand-medium: rgb(149, 104, 45);--brand-light: rgb(160, 144, 123);--brand-green-dark: #314c3b;--color-background: #AADAFF;--surface-bg: rgba(255, 255, 255, .85);--surface-bg-dim: rgba(255, 255, 255, .6);--surface-bg-dim-light: rgba(255, 255, 255, .4);--text-dark: #333333;--text-light: #555555;--border-color: rgba(200, 200, 200, .5);--border-radius: 8px;--font-heading: "Raleway", sans-serif;--font-body: "Lato", sans-serif;--font-handwriting: "Sue Ellen Francisco", cursive;--status-ready: #2e7d32;--status-departed: #1565c0;--status-draft: rgb(149, 104, 45)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{height:100%;overflow:hidden}body{font-family:var(--font-body);margin:0;padding:0;background-color:var(--color-background);background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.4) 0%,transparent 50%);color:var(--text-dark);display:flex;flex-direction:column;height:100dvh;overflow:hidden}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:900;text-transform:uppercase;color:var(--brand-dark);letter-spacing:.5px}button{font-family:var(--font-heading);font-weight:900;text-transform:uppercase}.tabs-container{--tab-text-color: var(--text-light);--tab-active-color: var(--brand-dark);--tab-active-border: var(--brand-medium)}header{background-color:var(--surface-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);padding:1rem;box-shadow:0 4px 6px #0000000d;z-index:10}.header-content{display:flex;flex-direction:column}.header-row{display:flex;justify-content:space-between;align-items:center}.header-main{flex:1;min-width:0;overflow:hidden}.header-title{margin:0;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.2rem}.header-badges{display:flex;gap:.3rem}.header-actions{display:flex;gap:.5rem;margin-left:.5rem;flex-shrink:0}.login-header{position:fixed;top:1rem;right:1rem;z-index:20}.login-brand{margin-bottom:2rem;color:var(--primary-color)}.connection-status{width:12px;height:12px;border-radius:50%;background-color:var(--text-light);border:2px solid white;box-shadow:0 0 4px #0003;transition:background-color .3s}.connection-status.connected{background-color:var(--status-ready)}.connection-status.disconnected{background-color:#d32f2f;animation:pulse-red 2s infinite}@keyframes pulse-red{0%{box-shadow:0 0 #d32f2f66}70%{box-shadow:0 0 0 6px #d32f2f00}to{box-shadow:0 0 #d32f2f00}}.user-trips-container{margin-top:2rem;width:100%;max-width:400px}.user-trips-title{text-align:center;color:var(--brand-dark);margin-bottom:1rem}.trips-list-scroll{background:var(--surface-bg-dim);border-radius:8px;max-height:200px;overflow-y:auto}.trip-list-empty{text-align:center;padding:1rem;color:var(--text-light);font-size:.8rem}.dialog-content{background:var(--surface-bg);padding:1.5rem;display:flex;flex-direction:column}.dialog-content.full-height{max-height:80vh}.dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.dialog-header h2,.dialog-header h3{margin:0;color:var(--brand-dark)}.dialog-body-scroll{overflow-y:auto;flex:1}.dialog-footer{margin-top:1.5rem;display:flex;justify-content:center;gap:1rem}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0}.setting-label{font-weight:700;color:var(--brand-dark)}.setting-desc{font-size:.85rem;color:var(--text-light);margin-top:.2rem}.help-picture-section{margin-top:1.5rem;background:#95682d1a;padding:1rem;border-radius:4px;border-left:4px solid var(--brand-medium)}.help-picture-title{margin-top:0;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;color:var(--brand-dark)}.share-content{background:var(--surface-bg-dim);padding:.5rem;border-radius:4px;word-break:break-all;font-family:monospace}.qr-container{display:flex;justify-content:center;margin:1.5rem 0}.photo-close-btn{position:absolute;top:1rem;right:1rem;background:#00000080;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:1.5rem;cursor:pointer;z-index:10}.photo-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5}.photo-nav-btn.prev{left:1rem}.photo-nav-btn.next{right:1rem}.photo-counter{position:absolute;bottom:1rem;background:#00000080;color:#fff;padding:.2rem .6rem;border-radius:12px;font-size:.9rem}.google-login-container{margin-top:1rem;border-top:1px solid var(--border-color);padding-top:1rem}.status-badge{font-family:var(--font-heading);font-size:.6rem;padding:.1rem .4rem;border-radius:8px;font-weight:700;text-transform:uppercase;background:var(--brand-medium);color:#fff}.status-badge-select{font-family:var(--font-heading);font-size:.65rem;background:var(--brand-medium);color:#fff;padding:.2rem .5rem;border-radius:12px;border:none;box-shadow:0 2px 4px #0000001a;cursor:pointer;appearance:none;-webkit-appearance:none;text-align:center;font-weight:700;text-transform:uppercase}.status-badge-select:focus{outline:none;box-shadow:0 0 0 2px #ffffff80}.status-badge.ready,.status-badge-select.ready{background-color:var(--status-ready)!important;color:#fff!important}.status-badge.departed,.status-badge-select.departed{background-color:var(--status-departed)!important;color:#fff!important}.status-badge.draft,.status-badge-select.draft{background-color:var(--status-draft)!important;color:#fff!important}#login-screen{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:4rem 2rem;background:radial-gradient(circle,var(--surface-bg-dim) 0%,transparent 100%);overflow-y:auto;width:100%}.intro-section{text-align:left;margin-bottom:2rem;padding:1.5rem;background:#fff6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--border-radius);border:1px solid var(--border-color);width:100%;max-width:400px}.intro-section h2{margin-top:0;font-size:1.2rem;color:var(--brand-dark)}.intro-section p{font-size:.95rem;color:var(--text-dark);line-height:1.5;margin-bottom:1.2rem}.intro-features{list-style:none;padding:0;margin:0;font-size:.9rem;color:var(--text-light)}.intro-features li{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem}.intro-features .material-symbols-outlined{font-size:1.4rem;color:var(--brand-medium)}.login-form{background:var(--surface-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:2.5rem;border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:0 8px 32px #0000001a;width:100%;max-width:400px;text-align:center}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--brand-dark);font-size:.9rem}.form-group input{width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;font-family:var(--font-body);background:#ffffffb3;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--brand-medium);background:#fff;box-shadow:0 0 0 3px #95682d33}button.primary{background-color:var(--brand-medium);color:#fff;border:none;padding:1rem;border-radius:var(--border-radius);width:100%;font-size:1rem;cursor:pointer;box-shadow:0 4px 6px #00000026;transition:transform .1s}button.primary:active{transform:translateY(1px);box-shadow:0 2px 3px #0000001a}#dashboard-screen{display:flex;flex-direction:column;height:100%;overflow:hidden}.tabs-container{overflow-x:auto;white-space:nowrap;background:var(--surface-bg-dim);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-bottom:1px solid var(--border-color);padding:0 .5rem;-webkit-overflow-scrolling:touch;z-index:5;box-shadow:0 2px 4px #0000000d}.tab{display:inline-block;padding:1rem 1.2rem;color:var(--text-light);text-decoration:none;font-weight:700;font-family:var(--font-heading);font-size:.9rem;cursor:pointer;border-bottom:4px solid transparent;transition:color .2s}.tab.active{color:var(--brand-dark);border-bottom-color:var(--brand-medium)}.tab.hidden{display:none!important}#checklist-container{flex:1;min-height:0;overflow-y:auto;padding:1rem 1rem 15rem;background:linear-gradient(180deg,#fff3,#fff0)}.category-group{display:none}.category-group.active{display:block;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.item-row{background:var(--surface-bg-dim-light);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:1rem;margin-bottom:.8rem;border-radius:var(--border-radius);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 5px #0000000d;transition:background .5s,border-color .5s,opacity 1s,transform 1s}.item-row.checked{background:#2e7d3233;border-color:var(--status-ready)}.item-row:hover{background:var(--surface-bg);border-color:var(--brand-medium)}.item-row.hidden{display:none!important}.item-row.fading-out{opacity:0;transform:translate(20px);transition:opacity 1s ease-out,transform 1s ease-out}.item-info{flex:1}.item-label{font-weight:600;display:block;color:var(--brand-dark);font-size:.9rem}.item-meta{font-family:var(--font-body);font-size:.9rem;color:var(--brand-darker);margin-top:.3rem;opacity:.8}.item-actions{display:flex;align-items:center;gap:.8rem}.btn-cam{background:#ffffff80;border:1px solid var(--border-color);border-radius:50%;width:40px;height:40px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--brand-dark);transition:all .2s}.btn-cam:active{background:var(--brand-medium);color:#fff}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:28px;height:28px;border:2px solid var(--brand-medium);border-radius:4px;cursor:pointer;background:#ffffff80;display:flex;align-items:center;justify-content:center;transition:all .2s}input[type=checkbox]:checked{background-color:var(--brand-green-dark);border-color:var(--brand-green-dark)}input[type=checkbox]:checked:after{content:"✓";color:#fff;font-weight:700;font-size:1.2rem}input[type=number]{width:80px;padding:.6rem;border:1px solid var(--border-color);border-radius:4px;text-align:center;font-family:var(--font-body);font-size:1rem;background:#fffc;color:var(--brand-dark)}input[type=text]{width:100%;padding:.6rem;border:1px solid var(--border-color);border-radius:4px;text-align:left;font-family:var(--font-body);font-size:1rem;background:#fffc;color:var(--brand-dark)}.item-actions input[type=text]{width:140px}.voice-bar-container{position:fixed;bottom:0;left:0;width:100%;padding:1rem;background:linear-gradient(to top,rgba(255,255,255,.9) 20%,transparent 100%);z-index:2000;display:flex;justify-content:center;pointer-events:none}.voice-bar{pointer-events:auto;background-color:var(--brand-medium);color:var(--brand-darker);width:100%;max-width:600px;height:60px;border-radius:30px;border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #0003;font-size:1.1rem;font-weight:900;letter-spacing:1px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s,background .2s,width .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-transform:uppercase}.voice-bar:active{transform:scale(.98);background-color:#fff}.voice-bar.listening{background-color:var(--brand-green-dark);color:#fff;box-shadow:0 0 15px var(--brand-green-dark);animation:pulse-bar 1.5s infinite}.voice-bar.processing{background-color:var(--brand-light);color:#fff;cursor:wait;animation:pulse-bar 1s infinite}@keyframes pulse-bar{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}#toast-container{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:3000;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;width:90%;max-width:400px}.toast{background:#323232e6;color:#fff;padding:.8rem 1.2rem;border-radius:8px;font-family:var(--font-body);font-size:.9rem;text-align:center;box-shadow:0 4px 12px #0003;opacity:0;transform:translateY(10px);animation:toast-in .3s forwards;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1)}.toast.error{background:#b71c1ce6}.toast.warning{background:#ff9800e6;color:#fff}.toast.success{background:#2e7d32e6}@keyframes toast-in{to{opacity:1;transform:translateY(0)}}@keyframes toast-out{to{opacity:0;transform:translateY(-10px)}}.hidden{display:none!important}#listening-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#314c3be6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;padding:3rem;border-radius:16px;text-align:center;z-index:1000;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.2)}.spinner{font-size:3rem;margin-bottom:1rem;display:inline-block;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.btn-google{display:inline-block;background-color:#fff;color:#444;width:100%;padding:1rem;border-radius:var(--border-radius);text-decoration:none;font-weight:700;font-family:var(--font-body);box-shadow:0 4px 6px #0000001a;transition:background-color .2s,box-shadow .2s;border:1px solid var(--border-color);text-align:center}.btn-google:hover{background-color:#f1f1f1;box-shadow:0 2px 4px #0000001a}.btn-google:active{background-color:#e8e8e8;transform:translateY(1px)}.icon-btn{background:#ffffff80;border:1px solid var(--border-color);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--brand-dark);outline:none!important;-webkit-tap-highlight-color:transparent!important}.icon-btn:hover{background:#fff}dialog{border:none;padding:0;background:transparent}dialog::backdrop{background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.full-screen-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0}.full-screen-dialog .dialog-content{width:100%;height:100%;max-height:none;border-radius:0}.report-summary{background:var(--surface-bg-dim-light);border-radius:var(--border-radius);padding:1rem;margin-bottom:2rem;border:1px solid var(--border-color)}.summary-row{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:.4rem;color:var(--text-dark)}.summary-row:last-child{margin-bottom:0}.summary-label{font-weight:700;color:var(--brand-dark)}.report-section{margin-bottom:1.5rem}.report-section h3{font-size:1rem;border-bottom:1px solid var(--border-color);padding-bottom:.2rem;margin-bottom:.5rem}.report-item{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;padding:.5rem 0;border-bottom:1px dashed var(--border-color)}.user-initials{width:26px;height:26px;border-radius:50%;background-color:var(--brand-medium);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;margin-right:.8rem;flex-shrink:0;font-family:var(--font-heading);text-transform:uppercase;box-shadow:0 1px 2px #00000026}.user-initials.empty{background-color:transparent;box-shadow:none;width:26px}.presence-bar{display:flex;gap:.5rem;padding:.5rem 1rem;background:var(--surface-bg-dim-light);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-bottom:1px solid var(--border-color);overflow-x:auto}.user-avatar{width:32px;height:32px;border-radius:50%;background-color:var(--brand-medium);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;font-family:var(--font-heading);text-transform:uppercase;box-shadow:0 1px 3px #0003;flex-shrink:0}.user-avatar.small{width:24px;height:24px;font-size:.7rem;box-shadow:0 1px 2px #00000026}.report-item span:nth-of-type(1){flex:1;padding-right:1rem;color:var(--text-dark)}.report-item span:last-child{text-align:right;font-weight:700;color:var(--brand-dark);white-space:nowrap}.report-item.issue{color:#b71c1c}#report-content{overflow-y:auto;flex:1;padding-bottom:100px}.switch{position:relative;display:inline-block;width:50px;height:28px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff80;transition:.4s;border:1px solid var(--border-color);border-radius:34px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 1px 3px #0003}input:checked+.slider{background-color:var(--brand-medium)}input:focus+.slider{box-shadow:0 0 1px var(--brand-medium)}input:checked+.slider:before{transform:translate(20px)}.btn-info{background:none;border:none;color:var(--brand-light);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin-right:.1rem;transition:color .2s;width:32px;height:32px;flex-shrink:0;position:relative}.btn-info:after{content:"";position:absolute;inset:-8px}.btn-info:hover{color:var(--brand-medium)}.btn-info .material-symbols-outlined{font-size:1.4rem}#help-explanation{font-size:1rem;line-height:1.6}#help-picture-section{margin-top:1.5rem}.btn-view-photo{display:flex;align-items:center;gap:.3rem;padding:.2rem .6rem;background:#fffc;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.75rem;color:var(--brand-dark);font-weight:700;text-transform:uppercase;transition:background .2s}.btn-view-photo:hover{background:#fff;box-shadow:0 2px 4px #0000001a}.btn-no-photo{display:flex;align-items:center;gap:.3rem;padding:.2rem .6rem;background:#0000000d;border:1px solid transparent;border-radius:4px;font-size:.75rem;color:var(--text-light);cursor:default}.btn-close{background:none!important;border:none!important;font-size:2.2rem!important;line-height:.8;padding:.5rem;cursor:pointer;color:var(--brand-dark);display:flex;align-items:center;justify-content:center;outline:none!important;-webkit-tap-highlight-color:transparent!important}.btn-close:focus{outline:none!important;box-shadow:none!important}.btn-close:active{transform:scale(.9)}.hidden-na{display:none!important}.btn-cam{width:48px;height:48px;font-size:1.4rem}.icon-btn{width:48px;height:48px}.btn-close{width:48px;height:48px;padding:0!important;display:flex;align-items:center;justify-content:center}input[type=checkbox]{width:32px;height:32px;border-width:3px}.tab{padding:1rem 1.5rem}.item-row{padding:1.2rem 1rem;gap:1rem}
