*{box-sizing:border-box}body{font-family:system-ui,sans-serif;margin:0;color:#172b38;background:#fff}.map-panel{position:sticky;top:0;z-index:10;height:34vh;height:34dvh;min-height:180px;background:#e8eff3;display:flex;flex-direction:column;border-bottom:1px solid #bacbd5}#map{flex:1;min-height:0;position:relative}#map-message{padding:20px;font-size:14px;line-height:1.6}.selection{background:#fff;padding:7px 10px;font-size:13px;display:flex;gap:8px;align-items:center;min-height:36px}.selection span{flex:1;overflow-wrap:anywhere}.selection a{white-space:nowrap}main{padding:10px;max-width:900px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:8px}h2{font-size:19px;margin:6px 0 12px}h2 small{font-size:11px;color:#637985}a{color:#1265a4}header a{font-size:14px}.filter{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) auto;gap:5px}input,select{min-width:0;width:100%;padding:8px 5px;font-size:16px;border:1px solid #b9c8d2;border-radius:4px}button{padding:8px;border:1px solid #bbc9d0;border-radius:5px;background:#f3f7fa;color:#143e5d}.count{display:flex;justify-content:space-between;font-size:13px;margin:10px 0}table{border-collapse:collapse;width:100%;table-layout:auto;font-size:13px}th,td{border-bottom:1px solid #dbe3e8;padding:2px 3px;text-align:left;white-space:nowrap}th{color:#526b7b;font-size:12px;background:#f3f6f8}.table-scroll{overflow-x:auto}.date{width:44px;white-space:nowrap}.time-col{width:44px;white-space:nowrap}.tide-col{width:22px;text-align:center;white-space:nowrap}.delete-col{width:42px}td small{display:block;color:#536b78;font-size:11px;margin-top:3px}tbody tr{cursor:pointer}tbody tr.selected{background:#e4f2ff;box-shadow:inset 3px 0 #1976d2}tbody tr:focus-visible{outline:2px solid #1976d2;outline-offset:-2px}.delete-form{margin:0}.delete{min-height:26px;font-size:11px;padding:1px 5px;color:#ad273d;background:#fff;border-color:#dab9c0}.empty{padding:25px;text-align:center;color:#536b78}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.fish-pin{position:absolute;width:24px;height:24px;border-radius:50%;background:#db243c;border:3px solid white;box-shadow:0 1px 5px #344;transform:translate(-50%,-50%);pointer-events:none}
.catch-pin span{display:block;width:24px;height:24px;border-radius:50%;background:#db243c;border:3px solid white;box-shadow:0 1px 5px #344}.leaflet-container{font-family:system-ui,sans-serif}.leaflet-control-attribution{font-size:10px}#map-notice{position:absolute;top:6px;right:6px;left:48px;z-index:1000;padding:6px;background:#fffbe5;font-size:12px;border-radius:4px;pointer-events:none}.map-panel{isolation:isolate}.selection{position:relative;z-index:1001}

.multi-filter{position:relative;min-width:0}.multi-filter summary{padding:8px 4px;font-size:16px;border:1px solid #b9c8d2;border-radius:4px;cursor:pointer;white-space:nowrap;list-style:none;background:#fff}.multi-filter summary::after{content:' ▾';font-size:10px}.multi-filter summary::-webkit-details-marker{display:none}.multi-filter[open]{z-index:11}.filter-options{position:absolute;right:0;top:100%;width:220px;max-width:calc(100vw - 20px);padding:10px;background:#fff;border:1px solid #b9c8d2;border-radius:5px;box-shadow:0 3px 10px #0002}.filter-options p{margin:0 0 6px;font-size:12px}.filter-options label{display:flex;align-items:center;gap:6px;min-height:36px;font-size:15px;white-space:nowrap}.filter-options input[type=checkbox]{width:18px;height:18px;margin:0;padding:0;flex:none}.month-options{display:grid;grid-template-columns:repeat(3,1fr)}.clear-filter{margin-top:6px;width:100%}
