:root{--green:#1f4d3a;--green-dark:#163a2b;--bg:#f5f3ee;--card:#fff;--text:#1d2420;--muted:#5f6b64;--border:#dcd8ce;--danger:#b3261e;--warn-bg:#fdf0d5;--ok:#1e6b3a;--radius:12px;--tabbar-h:64px;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{min-height:100dvh;margin:0}h1{margin:0 0 .5rem;font-size:1.5rem}h2{margin:0;font-size:1.15rem}a{color:var(--green)}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger);margin:0}.success{color:var(--ok);margin:0}.stack{flex-direction:column;gap:.85rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}label{flex-direction:column;gap:.35rem;font-weight:500;display:flex}input,select{font:inherit;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:10px;padding:.7rem .8rem;font-size:16px}input:focus,select:focus{outline:2px solid var(--green);outline-offset:1px}input:disabled{background:#f0eee8}label.checkbox{flex-direction:row;align-items:center;gap:.6rem;font-weight:400}label.checkbox input{width:1.2rem;height:1.2rem}fieldset{border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:.9rem}legend{padding:0 .3rem;font-weight:600}button{font:inherit;cursor:pointer;border-radius:10px;min-height:44px;padding:.6rem 1rem}button:disabled{opacity:.55;cursor:default}.primary{background:var(--green);color:#fff;border:1px solid var(--green);font-weight:600}.primary:hover:not(:disabled){background:var(--green-dark)}.secondary{color:var(--green);border:1px solid var(--border);background:#fff}.link-button,.danger-link{color:var(--green);background:0 0;border:none;min-height:0;padding:.4rem}.danger-link{color:var(--danger)}.choice{text-align:left;border:1px solid var(--border);background:#fff;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.9rem 1rem;display:flex}.choice:hover{border-color:var(--green)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem}.highlight{border-color:var(--green);box-shadow:0 0 0 2px #1f4d3a26}.secret{word-break:break-all;-webkit-user-select:all;user-select:all;background:#f0eee8;border-radius:8px;padding:.6rem .8rem;font-size:.9rem;display:block}.qr{border:1px solid var(--border);border-radius:8px;align-self:center}.badge{white-space:nowrap;color:var(--green);background:#e5efe9;border-radius:999px;padding:.1rem .45rem;font-size:.75rem}.badge-warn{background:var(--warn-bg);color:#7a5300}.badge-off{color:#666;background:#eee}.center-screen{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex}.auth-card{flex-direction:column;gap:1.2rem;width:100%;max-width:420px;display:flex}.brand{color:var(--green);align-items:center;gap:.6rem;font-weight:700;display:flex}.brand-large{font-size:1.2rem}.shell{min-height:100dvh}.sidebar{display:none}.content{padding:max(1rem, env(safe-area-inset-top)) 1rem calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 1rem);max-width:900px;margin:0 auto}.tabbar{z-index:10;border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);background:#fff;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-link{height:var(--tabbar-h);color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;text-decoration:none;display:flex}.tab-link.active{color:var(--green);font-weight:600}.nav-icon{font-size:1.25rem;line-height:1}@media (width>=900px){.shell{grid-template-columns:240px 1fr;display:grid}.tabbar{display:none}.sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;gap:1.5rem;height:100dvh;padding:1.2rem .8rem;display:flex;position:sticky;top:0}.sidebar nav{flex-direction:column;gap:.2rem;display:flex}.nav-link{color:var(--text);border-radius:10px;align-items:center;gap:.7rem;padding:.65rem .8rem;text-decoration:none;display:flex}.nav-link:hover{background:#f0eee8}.nav-link.active{color:var(--green);background:#e5efe9;font-weight:600}.nav-link .nav-icon{text-align:center;width:1.3rem;font-size:1.05rem}.sidebar-footer{margin-top:auto;padding:0 .8rem}.content{margin:0;padding:2rem}}.page{flex-direction:column;gap:1rem;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-header h1{margin:0}.tiles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem;display:grid}.tile{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:#fff;flex-direction:column;gap:.3rem;padding:1.1rem;text-decoration:none;display:flex}a.tile:hover{border-color:var(--green)}.tile-disabled{opacity:.7}.list{margin:0;padding:0;list-style:none}.list.card{padding:0 1.1rem}.list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.8rem;padding:.85rem 0;display:flex}.list li:last-child{border-bottom:none}.list li.inactive{opacity:.6}textarea{font:inherit;resize:vertical;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:10px;padding:.7rem .8rem;font-size:16px}textarea:focus{outline:2px solid var(--green);outline-offset:1px}.button-link{border-radius:10px;align-items:center;min-height:44px;padding:.6rem 1rem;text-decoration:none;display:inline-flex}.small-btn{min-height:38px;padding:.35rem .75rem;font-size:.9rem}.align-start{align-self:flex-start}.back-link{font-size:.95rem;text-decoration:none}.filters{flex-wrap:wrap;gap:.6rem;display:flex}.filters input{flex:220px}.filters select{flex:0 220px}.list li:has(>.list-link){padding:0}.list-link{color:var(--text);flex:1;justify-content:space-between;align-items:center;gap:.8rem;padding:.85rem 0;text-decoration:none;display:flex}.list-link:hover strong{color:var(--green)}.facts{grid-template-columns:max-content 1fr;gap:.4rem 1rem;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.code-list{margin:0;padding:0;list-style:none}.code-list li{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;grid-template-areas:"label actions""value actions";align-items:center;gap:.15rem .8rem;padding:.75rem 0;display:grid}.code-list li:last-child{border-bottom:none}.code-label{color:var(--muted);grid-area:label;font-size:.85rem}.code-value{letter-spacing:.04em;word-break:break-all;grid-area:value;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:1.25rem}.code-value.multiline{letter-spacing:0;white-space:pre-wrap;word-break:normal;font-family:inherit;font-size:1rem}.code-value .masked{color:var(--muted);letter-spacing:.15em}.code-actions{grid-area:actions;gap:.4rem;display:flex}.code-input{letter-spacing:.04em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}@media (width<=480px){.code-list li{grid-template-columns:1fr;grid-template-areas:"label""value""actions"}.code-actions{margin-top:.35rem}}.lockbar{z-index:5;background:var(--warn-bg);color:#6b4a00;border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;margin:0 0 1rem;padding:.4rem .8rem;font-size:.9rem;display:flex;position:sticky;top:0}.file-tile{cursor:pointer;position:relative}.file-tile:hover{border-color:var(--green)}.file-tile input{opacity:0;cursor:pointer;position:absolute;inset:0}.rotate-preview{border:1px solid var(--border);border-radius:var(--radius);background:#fff;justify-content:center;padding:.5rem;display:flex}.rotate-canvas{object-fit:contain;max-width:100%;max-height:60dvh}.progress{width:100%;height:12px;accent-color:var(--green)}.import-layout{flex-direction:column;gap:1rem;display:flex;position:relative}.import-original figure{margin:0 0 .8rem}.import-original img{border:1px solid var(--border);border-radius:6px;width:100%;display:block}.import-original{max-height:50dvh;overflow-y:auto}@media (width>=1100px){.import-layout{grid-template-columns:minmax(320px,45%) 1fr;align-items:start;display:grid}.import-original{max-height:calc(100dvh - 2rem);position:sticky;top:1rem}}.import-layout.concealed>:not(.conceal-overlay){filter:blur(14px);pointer-events:none;-webkit-user-select:none;user-select:none}.conceal-overlay{z-index:4;justify-content:center;align-items:flex-start;padding-top:3rem;display:flex;position:absolute;inset:0}.conceal-overlay .card{max-width:340px;box-shadow:0 8px 30px #00000026}.import-row.skipped{opacity:.6}.import-row.needs-choice{border-color:#d39b00;box-shadow:0 0 0 2px #d39b0033}.import-row-head{gap:.4rem}.import-fields{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.7rem;display:grid}.import-fields label{font-size:.9rem;font-weight:500}.issues{color:#7a5300;flex-direction:column;gap:.25rem;margin:0;padding-left:1.2rem;font-size:.9rem;display:flex}.perm-row{grid-template-columns:1fr auto;align-items:center;gap:.6rem;display:grid}.perm-row select{width:8.5rem}.modal-backdrop{z-index:20;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:560px;max-height:92dvh;padding-bottom:calc(1.1rem + env(safe-area-inset-bottom));overflow-y:auto}@media (width>=600px){.modal-backdrop{align-items:center}.modal{border-radius:var(--radius)}}
