:root{--bg:#0a0a0a;--bg-surface:#141414;--bg-hover:#1e1e1e;--bg-input:#1a1a1a;--border:#2a2a2a;--text:#e0e0e0;--text-dim:#777;--text-bright:#fff;--accent:#4ade80;--danger:#ef4444;--font:"SF Mono", "Menlo", "Monaco", "Consolas", monospace;--col-grip:18px;--col-check:32px;--cell-pad-x:4px;--row-pad-y:3px;--row-font-size:12px;--check-size:16px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:13px;line-height:1.4;overflow:hidden}@supports (height:100dvh){html,body,#root{height:100dvh}}button{font-family:var(--font);font-size:inherit;cursor:pointer;color:var(--text);background:0 0;border:none}.btn{border:1px solid var(--border);background:var(--bg-surface);white-space:nowrap;border-radius:4px;padding:6px 10px;font-size:11px}.btn:active{opacity:.7;transform:scale(.97)}.btn-accent{border-color:var(--accent);color:var(--accent)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-sm{padding:3px 8px;font-size:11px}input,select,textarea{font-family:var(--font);font-size:inherit;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:4px;outline:none;min-width:0;padding:5px 8px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.app{--gutter:8px;max-width:1200px;height:100%;padding:var(--gutter);padding:calc(var(--gutter) + env(safe-area-inset-top)) calc(var(--gutter) + env(safe-area-inset-right)) 0 calc(var(--gutter) + env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex;overflow:hidden}.table-wrap,.event-list{padding-bottom:var(--gutter);padding-bottom:calc(var(--gutter) + env(safe-area-inset-bottom))}.header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:6px 0;display:flex}.header-left{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.icon-btn{border:1px solid var(--border);width:32px;height:28px;color:var(--text-dim);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{opacity:.7}.header h1{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.header-date{color:var(--text-dim);white-space:nowrap;font-size:11px}.header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.back-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:14px}.back-btn:hover{color:var(--text)}.header-name-edit{color:var(--text-bright);flex:1;min-width:0;font-size:14px;font-weight:600}.event-list{flex-direction:column;gap:6px;display:flex}.event-card{background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.event-card:hover{background:var(--bg-hover)}.event-card:active{opacity:.8}.event-card-info{flex-direction:column;gap:2px;min-width:0;display:flex}.event-card-name{color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.event-card-date{color:var(--text-dim);font-size:11px}.event-card-actions{flex-shrink:0;gap:4px;display:flex}.section-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin:12px 0 6px;font-size:11px}.create-form{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.create-form input{flex:1;min-width:100px}.table-wrap{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:auto}.pack-table{border-collapse:collapse;table-layout:fixed;width:100%}.pack-table th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:var(--bg);z-index:2;white-space:nowrap;padding:4px;font-size:10px;font-weight:600;position:sticky;top:0}.pack-table td{padding:var(--row-pad-y) var(--cell-pad-x);border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.col-grip{width:var(--col-grip);padding:0!important}.col-check{width:var(--col-check);text-align:center}.pack-table th.col-text{overflow:hidden}.col-resizer{cursor:col-resize;touch-action:none;width:14px;position:absolute;top:0;bottom:0;right:0}.col-resizer:after{content:"";background:var(--border);border-radius:1px;width:2px;position:absolute;top:3px;bottom:3px;right:2px}.col-resizer:hover:after,.col-resizer.active:after{background:var(--accent)}@media (pointer:coarse){.col-resizer{width:22px}}.name-cell{align-items:center;min-width:0;display:flex}.cell-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.name-cell .row-actions{flex:none;margin-left:6px}.cell-peek{z-index:20;border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;border-radius:4px;max-width:min(360px,100vw - 16px);padding:6px 8px;position:fixed;box-shadow:0 4px 16px #00000080}.cell-peek-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:2px;font-size:9px;font-weight:600}.cell-peek-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.grip-cell{width:var(--col-grip);text-align:center;vertical-align:middle;padding:0!important}.drag-handle{width:18px;height:calc(var(--row-font-size) * 1.4 + 2 * var(--row-pad-y));cursor:grab;color:var(--border);-webkit-user-select:none;user-select:none;border-radius:3px;justify-content:center;align-items:center;font-size:14px;transition:color .1s,background .1s;display:inline-flex}.drag-handle:active{cursor:grabbing}tr.dragging{opacity:.3}.drag-ghost{opacity:.92;background:var(--bg-surface);pointer-events:none;border-radius:4px;overflow:hidden;box-shadow:0 8px 24px #00000080}.drag-ghost table{margin:0}.drop-indicator{background:var(--accent);pointer-events:none;z-index:999;height:2px;box-shadow:0 0 6px var(--accent);border-radius:1px;position:fixed}.row-category td{background:var(--bg-surface);color:var(--text-bright);cursor:pointer;padding:5px 4px;font-size:12px;font-weight:600}.row-container td{background:var(--bg);color:var(--text-dim);cursor:pointer;padding:4px 4px 4px 14px;font-size:11px;font-style:italic}.row-item td{font-size:var(--row-font-size)}.item-name{cursor:pointer;padding-left:8px}.item-name-indented{cursor:pointer;padding-left:20px}.check-cell{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none}.check-cell:active .check-box{opacity:.6}.check-box{width:var(--check-size);height:var(--check-size);border:2px solid var(--border);background-clip:content-box;border-radius:3px;margin:0 auto;padding:2px;display:block}.check-box.checked{border-color:var(--cs);background-color:var(--cs)}.check-header{cursor:pointer;position:relative}.pack-table th.check-header{letter-spacing:0;text-overflow:clip;text-align:center;padding-left:0;padding-right:0;overflow:hidden}.row-editing td{background:var(--bg-surface)}.inline-edit{width:100%;font-size:inherit;font-family:inherit;line-height:inherit;color:var(--text-bright);box-sizing:border-box;background:0 0;border:none;border-radius:0;outline:none;margin:0;padding:0;display:block}.inline-edit-sm{text-align:center}.toolbar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;margin-bottom:2px;padding:4px 0;display:flex}.search-input{appearance:none;flex:1;min-width:0;max-width:240px;padding:3px 6px;font-size:11px}.col-toggle{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:3px;padding:2px 5px;font-size:10px}.col-toggle:active{opacity:.7}.col-toggle.active{background:var(--bg-hover);color:var(--text);border-color:var(--text-dim)}.col-toggle:disabled{cursor:default;opacity:.55}.group-head{align-items:center;gap:6px;min-width:0;display:flex}.group-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.group-count{color:var(--text-dim);flex-shrink:0;font-size:10px;font-style:normal;font-weight:400}.row-menu-btn{width:32px;height:28px;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;margin:-6px -4px -6px 0;display:inline-flex}.row-menu-btn:active{opacity:.6}.popover{z-index:30;border:1px solid var(--border);background:var(--bg-surface);border-radius:6px;min-width:190px;max-width:calc(100vw - 16px);padding:4px 0;position:fixed;box-shadow:0 8px 24px #0009}.menu-item{text-align:left;width:100%;min-height:32px;color:var(--text);align-items:center;padding:0 12px;font-size:12px;display:flex}.menu-item:active{background:var(--bg-hover)}.menu-danger{color:var(--danger)}.menu-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);padding:6px 12px 3px;font-size:9px;font-weight:600}.menu-pills{flex-wrap:wrap;gap:4px;padding:2px 12px 6px;display:flex}.pill-pair{align-items:center;display:inline-flex}.pill-x{min-width:22px;min-height:22px;color:var(--text-dim);justify-content:center;align-items:center;font-size:13px;display:inline-flex}.menu-sep{background:var(--border);height:1px;margin:4px 0}@media (hover:hover){.menu-item:hover{background:var(--bg-hover)}}.row-item td{touch-action:pan-y;-webkit-touch-callout:none}.row-item{transition:transform .15s ease-out}.row-item.row-swiping{transition:none}.row-armed td{background:#ef44441a}.row-armed .cell-text{color:var(--text-dim)}.swipe-delete{background:var(--danger);color:#fff;border-radius:3px;flex-shrink:0;margin-left:8px;padding:3px 14px;font-size:11px;font-weight:600}tbody.painting{-webkit-user-select:none;user-select:none}.check-cell.painted{background:var(--bg-hover)}.row-actions{opacity:0;transition:opacity .1s}.row-action-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:1px 3px;font-size:10px}.row-action-btn:hover{color:var(--text)}.row-action-btn:active{opacity:.6}.empty{text-align:center;color:var(--text-dim);padding:40px 16px;font-size:12px}.empty p{margin-bottom:12px}.modal-backdrop{z-index:100;padding:16px;padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;width:100%;max-width:340px;padding:16px;display:flex}.modal h2{color:var(--text-bright);font-size:14px}.modal label{color:var(--text-dim);flex-direction:column;gap:3px;font-size:11px;display:flex}.modal-actions{justify-content:flex-end;gap:6px;margin-top:4px;display:flex}.sync-bar{align-items:center;gap:4px;padding:4px 0;font-size:11px;display:flex}.sync-btn{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;padding:2px 6px;font-size:11px}.sync-btn:hover{color:var(--text)}.sync-btn:active{opacity:.7}.sync-settings-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px}.sync-settings-btn:hover{color:var(--text)}.sync-settings{border:1px solid var(--border);background:var(--bg-surface);border-radius:4px;margin-bottom:8px;padding:8px}.sync-settings label{color:var(--text-dim);flex-direction:column;gap:3px;font-size:11px;display:flex}.sync-settings input{font-size:12px}.sync-secret-row{align-items:flex-end;gap:6px;display:flex}.sync-secret-row label{flex:1;min-width:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.import-panel{border:1px solid var(--border);background:var(--bg-surface);border-radius:4px;flex-shrink:0;margin-bottom:8px;padding:10px}.import-textarea{width:100%;font-family:var(--font);background:var(--bg-input);color:var(--text);border:1px solid var(--border);resize:vertical;border-radius:4px;padding:6px;font-size:11px}.import-textarea:focus{border-color:var(--accent);outline:none}.import-mappings{flex-wrap:wrap;gap:6px;display:flex}.import-mapping{flex-direction:column;gap:2px;display:flex}.import-col-label{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-size:10px;overflow:hidden}.import-mapping select{padding:2px 4px;font-size:11px}.import-preview{border-collapse:collapse;width:100%;margin-top:4px;font-size:11px}.import-preview th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);padding:2px 4px;font-size:10px}.import-preview td{border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:120px;padding:2px 4px;overflow:hidden}.paste-panel-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.paste-panel-title{color:var(--text-bright);font-size:12px;font-weight:600}.paste-panel-row{align-items:center;gap:6px;margin-top:8px;display:flex}.paste-name-input{min-width:0;font-family:var(--font);background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:4px;flex:1;padding:4px 6px;font-size:12px}.paste-name-input:focus{border-color:var(--accent);outline:none}.paste-summary{color:var(--text-dim);margin-top:8px;font-size:10px}.paste-summary code{color:var(--text);font-size:10px}@media (hover:hover){.btn:hover,.row-category:hover td,.row-container:hover td,.row-item:hover td{background:var(--bg-hover)}.drag-handle:hover{color:var(--text-dim);background:var(--bg-hover)}tr:hover .row-actions{opacity:1}}@media (width<=480px){.desktop-only{display:none}.app{--gutter:4px}.header{gap:4px;padding:4px 0}.header h1{font-size:13px}.header-date{display:none}.header-actions{gap:3px}.header-actions .btn{padding:4px 6px;font-size:10px}.toolbar{gap:4px;padding:3px 0}.create-form{flex-direction:column}.create-form input{flex:none;width:100%}:root{--col-grip:16px;--cell-pad-x:3px;--row-font-size:11px}.pack-table th{padding:3px;font-size:9px}.drag-handle{width:16px;font-size:12px}.row-category td{padding:4px 3px;font-size:11px}.row-container td{padding:3px 3px 3px 10px;font-size:10px}.item-name{padding-left:4px}.item-name-indented{padding-left:12px}.import-panel{padding:8px}}@media (pointer:coarse){:root{--row-pad-y:5px;--col-check:34px;--check-size:18px}.row-category,.row-container,button,.drag-handle{touch-action:manipulation}.menu-item{min-height:40px}.row-category td{padding-top:7px;padding-bottom:7px}.row-container td{padding-top:6px;padding-bottom:6px}.back-btn{min-width:32px;min-height:32px;font-size:18px}.btn-sm,.col-toggle,.sync-btn{justify-content:center;align-items:center;min-height:28px;display:inline-flex}.col-toggle{padding:0 7px;font-size:11px}.search-input{height:28px}.row-actions{display:none}}
