*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:transparent;color:#1a1a2e;min-height:100vh}#root{display:flex;flex-direction:column;min-height:100vh}.app-header{background:#1a1a2e;color:#fff;padding:1rem 2rem;display:flex;align-items:center;gap:1rem}.app-header h1{font-size:1.4rem;font-weight:600}.app-header .subtitle{font-size:.85rem;opacity:.6}.app-body{display:flex;flex:1}.sidebar{width:320px;min-width:320px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column}.main-content{flex:1;padding:2rem;overflow-y:auto}.sidebar-header{padding:1rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{font-size:1rem;font-weight:600}.trip-list{overflow-y:auto;flex:1}.trip-item{padding:.9rem 1rem;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .15s}.trip-item:hover{background:#f8f9ff}.trip-item.active{background:#eef0ff;border-left:3px solid #4f46e5}.trip-item h3{font-size:.9rem;font-weight:600;margin-bottom:.2rem}.trip-item .meta{font-size:.75rem;color:#666}.btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:opacity .15s}.btn:hover{opacity:.85}.btn-primary{background:#4f46e5;color:#fff}.btn-danger{background:#ef4444;color:#fff}.btn-secondary{background:#e5e7eb;color:#374151}.btn-sm{padding:.3rem .7rem;font-size:.78rem}.card{background:#fff;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 4px #00000012}.card h2{font-size:1.1rem;font-weight:600;margin-bottom:1rem}.card h3{font-size:.95rem;font-weight:600;margin-bottom:.75rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group.full{grid-column:1 / -1}.form-group label{font-size:.8rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.03em}.form-group input,.form-group textarea,.form-group select{padding:.55rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;outline:none;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus{border-color:#4f46e5}.tag-group{display:flex;flex-wrap:wrap;gap:.4rem}.tag{padding:.3rem .75rem;border-radius:20px;border:1.5px solid #d1d5db;font-size:.8rem;cursor:pointer;background:#fff;transition:all .15s;-webkit-user-select:none;user-select:none}.tag.selected{background:#4f46e5;color:#fff;border-color:#4f46e5}.map-container{height:420px;border-radius:8px;overflow:hidden;border:1px solid #d1d5db;margin-top:.35rem}.map-hint{font-size:.75rem;color:#888;margin-top:.3rem}.trip-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.trip-detail-header h1{font-size:1.5rem;font-weight:700}.trip-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:1.5rem}.meta-item{background:#f8f9ff;border-radius:8px;padding:.75rem}.meta-item .label{font-size:.7rem;color:#888;text-transform:uppercase;letter-spacing:.04em}.meta-item .value{font-size:1rem;font-weight:600;margin-top:.2rem}.weather-grid{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.weather-day{min-width:90px;background:#f8f9ff;border-radius:8px;padding:.75rem;text-align:center;flex-shrink:0}.weather-day .day{font-size:.75rem;color:#888}.weather-day .temp{font-size:1.1rem;font-weight:700;margin:.3rem 0}.weather-day .desc{font-size:.72rem;color:#555}.river-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid #f0f0f0}.river-item:last-child{border-bottom:none}.river-name{font-size:.88rem;font-weight:500}.river-meta{font-size:.75rem;color:#888}.river-level{font-size:1rem;font-weight:700;color:#4f46e5}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.equipment-card{background:#f8f9ff;border-radius:8px;padding:.9rem;border:1px solid #e8eaff}.equipment-card .name{font-size:.9rem;font-weight:600}.equipment-card .category{font-size:.72rem;color:#4f46e5;text-transform:uppercase;letter-spacing:.04em;margin:.2rem 0}.equipment-card .weight{font-size:.78rem;color:#666}.equipment-card .location{font-size:.75rem;color:#888;margin-top:.4rem;padding-top:.4rem;border-top:1px solid #e0e0e0}.location-borrowed{color:#f59e0b}.loading{text-align:center;padding:3rem;color:#888}.empty{text-align:center;padding:3rem;color:#aaa}.empty p{margin-top:.5rem;font-size:.9rem}.summary-bar{display:flex;gap:1rem;background:#eef0ff;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.85rem;align-items:center}.summary-bar strong{color:#4f46e5}.place-search{position:relative;margin-bottom:.5rem}.place-search input{width:100%;padding:.55rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.place-results{position:absolute;z-index:1000;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;max-height:200px;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.place-result{padding:.6rem .75rem;cursor:pointer;font-size:.85rem;border-bottom:1px solid #f0f0f0}.place-result:hover{background:#f8f9ff}.people-names{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}.people-names input{padding:.45rem .65rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{text-align:left;padding:.6rem .75rem;background:#f8f9ff;border-bottom:2px solid #e0e0e0;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#555}.admin-table td{padding:.6rem .75rem;border-bottom:1px solid #f0f0f0;vertical-align:middle}.admin-table tr:hover td{background:#fafafa}.csv-drop{border:2px dashed #d1d5db;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;color:#888;font-size:.9rem;transition:border-color .15s}.csv-drop:hover,.csv-drop.drag-over{border-color:#4f46e5;color:#4f46e5}.nav-tabs{display:flex;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid #e0e0e0;background:#fff}.nav-tab{padding:.4rem .9rem;border-radius:20px;border:none;cursor:pointer;font-size:.85rem;background:#f0f0f0;color:#555}.nav-tab.active{background:#4f46e5;color:#fff}@media print{.no-print,.app-header,.sidebar,.nav-tabs{display:none!important}.app-body{display:block!important}.main-content{padding:0!important}.card{box-shadow:none!important;border:none!important}body{background:#fff!important}}@media (max-width: 768px){.app-header{padding:.75rem 1rem;flex-wrap:wrap;gap:.5rem}.app-header h1{font-size:1.1rem}.app-header .subtitle,.app-header .user-email{display:none}.app-body{position:relative;display:block}.sidebar{position:fixed;top:0;left:0;bottom:0;width:85vw;max-width:320px;z-index:500;transform:translate(-100%);transition:transform .25s ease;box-shadow:4px 0 20px #00000026}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:499}.sidebar-overlay.visible{display:block}.main-content{padding:1rem}.form-grid{grid-template-columns:1fr}.form-group.full{grid-column:1}.people-names{grid-template-columns:1fr}.trip-meta-grid{grid-template-columns:1fr 1fr}.trip-detail-header{flex-direction:column;align-items:flex-start;gap:.75rem}.trip-detail-header h1{font-size:1.2rem}.admin-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.summary-bar{flex-wrap:wrap;gap:.4rem}.card{padding:1rem}.app-header .nav-tabs-header{display:flex;gap:.35rem;flex-wrap:wrap}.app-header .nav-tab{padding:.35rem .65rem;font-size:.78rem}.map-container{height:300px}.weather-day{min-width:80px}.equipment-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.no-print.packing-actions{flex-wrap:wrap}}@media (max-width: 480px){.trip-meta-grid,.equipment-grid{grid-template-columns:1fr}.weather-day{min-width:72px}}@media (max-width: 768px){.mobile-menu-btn{display:block!important}.mobile-topbar{display:flex!important}.sidebar-close-btn{display:block!important}}@media (min-width: 769px){.mobile-menu-btn,.mobile-topbar,.sidebar-close-btn{display:none!important}.sidebar{transform:none!important;position:relative!important}.sidebar-overlay{display:none!important}}
