:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--surface:#fff;--chrome:#f7f8fa;--text:#20242d;--text-subtle:#636b79;--line:#e5e8ee;--outline:#b6bfcd;--soft:#f3f5f8;--canvas:#f7f8fa;--action:#2455d6;--action-hover:#1d46b8;--action-soft:#edf3ff;--action-line:#c2d3ff;--on-action:#fff;--success:#176c44;--success-soft:#eef8f1;--warning:#895313;--warning-soft:#fff5e7;--danger:#b32a35;--danger-soft:#fff0f1;--font:"Segoe UI Variable", "Segoe UI", "Malgun Gothic", system-ui, sans-serif;--font-mono:"Cascadia Code", Consolas, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-badge:4px;--radius-control:6px;--radius-button:8px;--radius-menu:10px;--radius-window:16px;--shadow-menu:0 8px 28px #26334b24;--shadow-dialog:0 16px 44px #26334b20;--control-height:36px;--row-height:56px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--surface:#202227;--chrome:#272a30;--text:#f1f2f5;--text-subtle:#adb5c3;--line:#3a3e47;--outline:#586170;--soft:#2d3139;--canvas:#1b1d21;--action:#9eb8ff;--action-hover:#b3c7ff;--action-soft:#263550;--action-line:#4a6192;--on-action:#14274e;--success:#8cd6ae;--success-soft:#263a2f;--warning:#edc58f;--warning-soft:#3d3428;--danger:#f0a0a5;--danger-soft:#422b30;--shadow-menu:0 8px 28px #00000060;--shadow-dialog:0 16px 44px #00000050}}:root[data-theme=dark]{--surface:#202227;--chrome:#272a30;--text:#f1f2f5;--text-subtle:#adb5c3;--line:#3a3e47;--outline:#586170;--soft:#2d3139;--canvas:#1b1d21;--action:#9eb8ff;--action-hover:#b3c7ff;--action-soft:#263550;--action-line:#4a6192;--on-action:#14274e;--success:#8cd6ae;--success-soft:#263a2f;--warning:#edc58f;--warning-soft:#3d3428;--danger:#f0a0a5;--danger-soft:#422b30;--shadow-menu:0 8px 28px #00000060;--shadow-dialog:0 16px 44px #00000050}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--canvas);color:var(--text);font-family:var(--font);word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.55}h1,h2,h3{margin:0;font-weight:500}:focus-visible{outline:2px solid var(--action);outline-offset:2px}.tabular{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--outline) transparent}::-webkit-scrollbar{width:16px;height:16px}::-webkit-scrollbar-thumb{background:var(--outline);background-clip:padding-box;border:5px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-subtle)}::-webkit-scrollbar-button{display:none}.btn{min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-button);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:6px 12px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--soft)}.btn:disabled{background:var(--soft);color:var(--text-subtle);cursor:not-allowed}.btn-primary{border-color:var(--action);background:var(--action);color:var(--on-action)}.btn-primary:hover:not(:disabled){border-color:var(--action-hover);background:var(--action-hover)}.btn-danger{border-color:var(--danger);background:var(--surface);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-text{color:var(--action);background:0 0;border-color:#0000}.btn-icon{border-radius:var(--radius-control);width:32px;min-height:32px;color:var(--text-subtle);background:0 0;border-color:#0000;padding:0}.btn-icon:hover:not(:disabled){color:var(--text)}.btn[aria-pressed=true]{border-color:var(--action-line);background:var(--action-soft);color:var(--action)}.field{gap:var(--space-1);display:grid}.field-label{color:var(--text-subtle);font-size:13px;font-weight:500}.field-help{color:var(--text-subtle);font-size:12px}.field-error{color:var(--danger);font-size:13px}.input,.select,.textarea{width:100%;min-height:var(--control-height);border:1px solid var(--outline);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font:inherit;padding:6px 10px}.textarea{resize:vertical;min-height:88px}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:2px solid var(--action);outline-offset:0;border-color:var(--action)}.input[aria-invalid=true]{border-color:var(--danger)}.input:read-only{background:var(--soft)}.badge{border-radius:var(--radius-badge);background:var(--soft);color:var(--text-subtle);padding:1px 6px;font-size:11px;font-weight:500;line-height:1.6;display:inline-block}.badge-info{background:var(--action-soft);color:var(--action)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.banner{gap:var(--space-3);border:1px solid var(--action-line);border-radius:var(--radius-menu);background:var(--action-soft);align-items:flex-start;padding:12px 14px;display:flex}.banner-title{font-weight:600;line-height:1.4}.banner-warning{border-color:color-mix(in srgb, var(--warning) 35%, transparent);background:var(--warning-soft)}.banner-error{border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:var(--danger-soft)}.banner-success{border-color:color-mix(in srgb, var(--success) 35%, transparent);background:var(--success-soft)}.spinner{border:2px solid var(--line);border-top-color:var(--action);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.empty{place-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);color:var(--text-subtle);text-align:center;display:grid}.empty-title{color:var(--text);font-size:16px;font-weight:500}.dialog-backdrop{padding:var(--space-4);z-index:50;background:#0006;place-items:center;display:grid;position:fixed;inset:0}.dialog{width:min(480px,100%);max-height:calc(100% - 32px);padding:var(--space-6);border:1px solid var(--outline);border-radius:var(--radius-window);background:var(--surface);box-shadow:var(--shadow-dialog);overflow:auto}.dialog-actions{margin-top:var(--space-6);justify-content:flex-end;gap:10px;display:flex}.toast-area{right:var(--space-4);bottom:var(--space-4);gap:var(--space-2);z-index:60;display:grid;position:fixed}.toast{border:1px solid var(--outline);border-radius:var(--radius-menu);background:var(--surface);box-shadow:var(--shadow-menu);padding:10px 14px}.center-screen{min-height:100%;padding:var(--space-4);place-items:center;display:grid}.login-card{gap:var(--space-4);width:min(380px,100%);padding:var(--space-8) var(--space-6);border:1px solid var(--line);border-radius:var(--radius-window);background:var(--surface);display:grid}.login-title{font-size:22px;line-height:1.4}.login-sub{margin:calc(var(--space-3) * -1) 0 0;color:var(--text-subtle)}.shell{grid-template:"header header header""banner banner banner""nav list detail"1fr/240px minmax(300px,380px) 1fr;height:100%;display:grid}.app-header{align-items:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-4);border-bottom:1px solid var(--line);background:var(--chrome);grid-area:header;display:flex}.app-title{margin-right:auto;font-size:16px}.header-status{color:var(--text-subtle);font-size:13px}.header-user{max-width:160px;color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.shell-banner{padding:var(--space-3) var(--space-4) 0;grid-area:banner}.pane{min-height:0;overflow:hidden}.pane-nav{border-right:1px solid var(--line);background:var(--chrome);grid-area:nav;overflow:auto}.pane-list{border-right:1px solid var(--line);background:var(--surface);grid-area:list}.pane-detail{background:var(--surface);grid-area:detail;overflow:auto}.pane-center{height:100%;color:var(--text-subtle);place-items:center;display:grid}.only-narrow{display:none}.sidebar{padding:var(--space-3) var(--space-2) var(--space-6)}.nav-heading{margin:var(--space-4) var(--space-3) var(--space-1);color:var(--text-subtle);font-size:12px;font-weight:500}.nav-list{margin:0;padding:0;list-style:none}.nav-item{align-items:center;gap:var(--space-2);border-radius:var(--radius-control);width:100%;min-height:34px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 10px;display:flex}.nav-item:hover{background:var(--soft)}.nav-item[aria-current=true]{border-color:var(--action-line);background:var(--action-soft);color:var(--action);font-weight:500}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-count{color:var(--text-subtle);font-size:12px}.list{flex-direction:column;height:100%;display:flex}.list-toolbar{gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--line);display:grid}.search{align-items:center;gap:var(--space-2);border:1px solid var(--outline);border-radius:var(--radius-control);background:var(--surface);color:var(--text-subtle);padding:0 10px;display:flex}.search:focus-within{border-color:var(--action);outline:2px solid var(--action)}.search-input{min-width:0;min-height:var(--control-height);color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1}.list-options{align-items:center;gap:var(--space-2);display:flex}.select-small{width:auto;min-height:30px;padding:2px 6px;font-size:13px}.list-count{color:var(--text-subtle);white-space:nowrap;margin-left:auto;font-size:12px}.list-scroll{outline-offset:-2px;flex:1;overflow:auto}.row{align-items:center;gap:var(--space-3);width:100%;padding:0 var(--space-3);cursor:pointer;border-left:3px solid #0000;display:flex;position:absolute;top:0;left:0}.row:hover{background:var(--soft)}.row[aria-selected=true]{border-left-color:var(--action);background:var(--action-soft)}.row-text{min-width:0}.row-name,.row-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-name{font-weight:500}.row-sub{color:var(--text-subtle);font-size:12px}.avatar{object-fit:cover;border-radius:50%;flex:none}.avatar-initial{background:var(--soft);color:var(--text-subtle);place-items:center;font-weight:500;display:inline-grid}.detail{max-width:760px;padding:var(--space-6) var(--space-8) var(--space-10,40px)}.detail-top{min-height:0}.detail-header{align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.detail-name{font-size:22px;line-height:1.4}.detail-sub{color:var(--text-subtle)}.detail-badges{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.detail-section{padding:var(--space-4) 0;border-top:1px solid var(--line)}.detail-heading{margin-bottom:var(--space-2);color:var(--text-subtle);font-size:13px}.detail-section dl{gap:var(--space-2);margin:0;display:grid}.detail-row{gap:var(--space-3);grid-template-columns:120px 1fr;display:grid}.detail-label{color:var(--text-subtle);font-size:13px}.detail-value{min-width:0;margin:0}.detail-value a,.detail-action{color:var(--action);text-decoration:none}.detail-value a:hover{text-decoration:underline}.detail-action{align-items:center;gap:4px;margin-top:2px;font-size:13px;display:inline-flex}.detail-note{white-space:pre-wrap}@media (width<=960px){.shell{grid-template-columns:1fr;grid-template-areas:"header""banner""main"}.pane{border-right:0;grid-area:main;display:none}.shell[data-pane=nav] .pane-nav,.shell[data-pane=list] .pane-list,.shell[data-pane=detail] .pane-detail{display:block}.only-narrow{display:inline-flex}.detail{padding:var(--space-4) var(--space-5)}.detail-row{grid-template-columns:1fr;gap:0}.header-user{display:none}}.detail-top{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.spacer{flex:1}.editor{gap:var(--space-4);max-width:820px;padding:var(--space-5) var(--space-8) var(--space-8);display:grid}.editor-top{z-index:2;align-items:center;gap:var(--space-3);margin:calc(var(--space-5) * -1) calc(var(--space-8) * -1) 0;padding:var(--space-3) var(--space-8);border-bottom:1px solid var(--line);background:var(--surface);display:flex;position:sticky;top:0}.editor-title{flex:1;font-size:18px}.editor-actions{gap:10px;display:flex}.editor-section{padding:0 0 var(--space-4);border:0;border-bottom:1px solid var(--line);margin:0}.editor-heading{margin-bottom:var(--space-3);color:var(--text-subtle);padding:0;font-size:13px;font-weight:500}.editor-body{gap:var(--space-3);display:grid}.editor-grid{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field-wide{grid-column:1/-1}.entry-row{align-items:center;gap:var(--space-2);display:flex}.type-select{gap:var(--space-2);flex:none;width:260px;display:flex}.type-select .select{flex:none;width:120px}.entry-value{flex:1;min-width:0}.pref{color:var(--text-subtle);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.check{align-items:center;gap:var(--space-2);display:inline-flex}.check input,.pref input{width:16px;height:16px;accent-color:var(--action)}.date-input{gap:var(--space-2);grid-template-columns:1.4fr 1fr 1fr;display:grid}.photo-row{align-items:center;gap:var(--space-3);display:flex}.address-block{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-button);display:grid}.plain-list{margin:var(--space-1) 0 0;padding-left:18px}.toast{align-items:center;gap:var(--space-3);display:flex}@media (width<=960px){.editor{padding:var(--space-4) var(--space-5) var(--space-8)}.editor-top{margin:calc(var(--space-4) * -1) calc(var(--space-5) * -1) 0;padding:var(--space-3) var(--space-5)}.editor-grid{grid-template-columns:1fr}.entry-row{flex-wrap:wrap}.type-select{width:100%}.app-header .btn-primary{padding:6px 10px}}.nav-heading-row{padding-right:var(--space-1);justify-content:space-between;align-items:center;display:flex}.nav-heading-row .nav-heading{margin-bottom:0}.nav-row{align-items:center;display:flex;position:relative}.nav-row .nav-item{flex:1;min-width:0}.nav-actions{background:var(--chrome);display:none;position:absolute;right:4px}.nav-row:hover .nav-actions,.nav-row:focus-within .nav-actions{display:inline-flex}.nav-actions .btn-icon{width:28px;min-height:28px}.nav-color{border-radius:50%;flex:none;width:12px;height:12px;margin:0 2px}.dialog-body{gap:var(--space-4);display:grid}.step{gap:var(--space-2);display:grid}.color-field{border:0;margin:0;padding:0}.color-options{gap:var(--space-2);margin-top:var(--space-1);display:flex}.color-option{cursor:pointer;position:relative}.color-option input{opacity:0;position:absolute}.color-swatch{border:1px solid var(--outline);background:repeating-linear-gradient(45deg, var(--surface) 0 4px, var(--soft) 4px 8px);border-radius:50%;width:24px;height:24px;display:block}.color-option input:checked+.color-swatch{outline:2px solid var(--text);outline-offset:2px}.color-option input:focus-visible+.color-swatch{outline:2px solid var(--action);outline-offset:2px}@media (hover:none){.nav-actions{display:inline-flex;position:static}}.group-choices{gap:var(--space-2);border:0;max-height:320px;margin:0;padding:0;display:grid;overflow-y:auto}.share-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.share-row{align-items:center;gap:var(--space-2);display:flex}.share-user{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600}.share-state{color:var(--text-subtle);font-size:12px}.share-add{align-items:end;gap:var(--space-2);grid-template-columns:1fr 140px auto;display:grid}@media (width<=480px){.share-add{grid-template-columns:1fr}}.pending-share{gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:13px;display:grid}.pending-share-actions{gap:var(--space-2);display:flex}.import-preview{border:1px solid var(--line);border-radius:var(--radius-control);max-height:300px;overflow-y:auto}.import-row{gap:var(--space-2);padding:6px var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center;font-size:13px;display:grid}.import-row.skipped{color:var(--text-subtle);text-decoration:line-through}.import-name,.import-detail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-detail{color:var(--text-subtle)}.import-more{padding:6px var(--space-3);color:var(--text-subtle);font-size:12px}.import-progress{width:100%}.import-failures{max-height:200px;padding-left:var(--space-4);margin:0;font-size:13px;overflow-y:auto}.radio-group{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.divider{border:0;border-top:1px solid var(--line);margin:var(--space-2) 0;width:100%}.conflict-item{gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-control);padding:var(--space-3);margin:0;display:grid}.conflict-base{color:var(--text-subtle);font-size:13px}.row-check{width:16px;height:16px;accent-color:var(--action);pointer-events:none;flex:none}.bulk-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:var(--action-soft);flex-wrap:wrap;display:flex}.bulk-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.dup-list{gap:var(--space-3);max-height:420px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.dup-group{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);justify-items:start;display:grid}.dup-reason{color:var(--text-subtle);font-size:12px}.dup-detail{margin-left:var(--space-2);color:var(--text-subtle);font-size:12px}
