:root{color-scheme:light;--ink:#142331;--muted:#596b7a;--line:#dce4eb;--blue:#155ccc;--pale:#eef4ff;--bg:#f3f6f9;--amber:#805000;--red:#aa2834;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);padding:.65rem .9rem;border-radius:7px;font-weight:550;min-height:42px}button:hover{border-color:var(--blue);background:var(--pale)}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.primary:hover{background:#104cae}input{border:1px solid #bac8d5;border-radius:7px;padding:.75rem;background:white;color:var(--ink);min-width:0}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #8bb5fc;outline-offset:3px}h1,h2,p{margin:0}h1{font-size:1.45rem;letter-spacing:-.035em}h2{font-size:1.25rem;letter-spacing:-.02em}p{line-height:1.55}header{min-height:98px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:1rem max(4vw,1rem);gap:1rem}.brand{display:flex;align-items:center;gap:.8rem}.brand-icon{font-size:1.9rem;background:#142f51;color:#fff;width:48px;height:48px;display:grid;place-items:center;border-radius:10px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em;color:var(--muted)}.header-actions,.buttons{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.badge{display:inline-block;border-radius:5px;padding:.3rem .6rem;font-size:.875rem;white-space:nowrap;color:var(--amber);background:#fff2d8}.badge.automatic{background:#e1f3eb;color:#176244}main{max-width:1440px;margin:auto;padding:2rem max(4vw,1rem)}.toolbar,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.toolbar p{color:var(--muted);font-size:.875rem;margin-top:.4rem}.notice{padding:.85rem 1rem;background:#fff5df;color:#704c10;border:1px solid #eedaad;border-left:4px solid #c58913;margin:1.4rem 0;border-radius:5px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.2rem 0 1.8rem}.stats>div{background:white;border:1px solid var(--line);padding:1.1rem 1.3rem;border-radius:8px}.stats span{display:block;color:var(--muted);font-size:.875rem}.stats strong{font-size:2rem;font-weight:650;line-height:1.6}nav{display:flex;gap:.4rem;border-bottom:1px solid var(--line);overflow-x:auto}nav button{border:0;border-radius:0;background:transparent;padding:.8rem 1rem;white-space:nowrap;color:var(--muted)}nav button.active{border-bottom:3px solid var(--blue);color:var(--blue)}.view{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;padding:1.4rem}.muted{color:var(--muted);font-size:.875rem}.view>p{margin:.6rem 0 1rem}.search input{width:min(320px,100%)}.file-card{border:1px solid var(--line);border-radius:7px;margin-top:.8rem;padding:1rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem 1rem}.file-name{font-weight:600;overflow-wrap:anywhere;line-height:1.45}.path{color:var(--muted);font-size:.875rem;overflow-wrap:anywhere;margin:.3rem 0}.file-card .actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;grid-column:1/-1}.actions button{font-size:.875rem;padding:.45rem .75rem}.actions button.selected{background:var(--pale);border-color:var(--blue);color:var(--blue)}.state{font-size:.875rem;color:var(--muted);line-height:1.5}.state.review,.state.waiting{color:var(--amber)}.state.error,.state.collision{color:var(--red)}.empty{padding:2.2rem 1rem;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:7px;margin-top:1rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}th{color:var(--muted);font-weight:600}th,td{padding:.85rem .5rem;border-bottom:1px solid var(--line)}td:first-child{overflow-wrap:anywhere;max-width:700px}td:not(:first-child){min-width:100px}.folder-link{border:0;background:transparent;padding:.2rem;color:var(--blue);text-align:left;overflow-wrap:anywhere}.breadcrumbs{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;margin:.8rem 0}.breadcrumbs button{border:0;background:transparent;color:var(--blue);padding:.3rem;overflow-wrap:anywhere;text-align:left}.log-row{padding:.8rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:150px minmax(0,1fr);gap:1rem;font-size:.875rem}.log-row time{color:var(--muted)}.log-row div{overflow-wrap:anywhere}.log-row p{color:var(--muted)}footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.875rem;margin-top:1.3rem}.error-banner{background:#ffecef;border:1px solid #f0bec5;padding:1rem;color:var(--red);margin-bottom:1rem;border-radius:7px}.login{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:100%;max-width:430px;background:white;padding:2.2rem;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 50px #1423310c;display:grid;gap:1rem}.login-card h1{font-size:2rem}.login-card p{color:var(--muted)}#login-error,#enable-error{color:var(--red)}dialog{border:1px solid var(--line);border-radius:12px;padding:1.8rem;max-width:680px;width:calc(100% - 2rem);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#14233188}dialog form{display:grid;gap:1rem}dialog p{color:var(--muted);font-size:.95rem}.confirmation-list{max-height:220px;overflow:auto;background:var(--bg);padding:.8rem;font-size:.875rem;overflow-wrap:anywhere}.confirmation-list p{margin:.5rem 0}#toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);padding:.9rem 1.2rem;border-radius:8px;background:#142331;color:white;box-shadow:0 4px 20px #0002;max-width:90vw;z-index:10}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:760px){header{align-items:flex-start}.header-actions{justify-content:flex-end}.header-actions button{font-size:.875rem}.stats{grid-template-columns:repeat(2,1fr);gap:.6rem}.stats>div{padding:.8rem}.toolbar .buttons{width:100%}.view{padding:1rem}.file-card{grid-template-columns:1fr}.file-card .state{grid-row:2}.log-row{grid-template-columns:1fr;gap:.2rem}main{padding-top:1.3rem}.section-heading .search{width:100%}.search input{width:100%}h1{font-size:1.2rem}.brand-icon{display:none}}

#password-error{color:var(--red)}
