:root{--bg:#f6f4f1;--card:#ffffff;--text:#2a2320;--muted:#7a6f68;--accent:#64a320;--accent-hover:#56901a;--accent-soft:#eef5e2;--wine:#680b19;--wine-soft:#f4e2e4;--border:#e5ded8;--ok:#4d7d1f;--err:#b3261e}@media (prefers-color-scheme:dark){:root{--bg:#1b1715;--card:#26211e;--text:#efe9e4;--muted:#a99c93;--accent:#7cbf34;--accent-hover:#8fce46;--accent-soft:#2d3a1d;--wine:#d1697e;--wine-soft:#3a2329;--border:#3a332e;--ok:#8ec96a;--err:#ff8a80}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}main{max-width:1080px;margin:0 auto;padding:2rem 1.25rem 4rem}h1{font-size:1.6rem;margin:0 0 .25rem;display:flex;align-items:center;gap:.6rem}h2{font-size:1.05rem;margin:2rem 0 .9rem;letter-spacing:.005em}.content>:first-child{margin-top:0}.vinisto-logo svg{height:100%;width:auto;display:block}.app-name{font-weight:300;color:var(--muted);letter-spacing:.04em}.subtitle{color:var(--muted);margin:0}.app-header{justify-content:space-between;align-items:flex-start;padding-bottom:1.1rem;border-bottom:1px solid var(--border)}.app-header .row{align-items:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:.85rem;gap:.85rem}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;box-shadow:0 1px 2px rgba(0,0,0,.04);display:flex;flex-direction:column;gap:.3rem;min-height:92px;justify-content:center;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.card:hover{box-shadow:0 5px 16px rgba(0,0,0,.08);transform:translateY(-1px);border-color:var(--accent-soft)}.card .num{font-size:1.7rem;font-weight:700;line-height:1.05;letter-spacing:-.015em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card .label{color:var(--muted);font-size:.82rem;line-height:1.25}.card.zero{box-shadow:none}.card.zero .num{color:var(--muted);font-weight:600;opacity:.6}.field{display:flex;flex-direction:column;gap:.2rem}.field input,.field select{padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:inherit}.big-num{font-size:1.4rem;font-weight:700;letter-spacing:-.015em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card.card-btn{cursor:pointer;text-align:left;align-items:stretch;font:inherit;color:inherit;width:100%}.card.card-btn,.card.card-btn:not(:disabled):hover{background:var(--card)}.card.card-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.card.card-active .label:nth-of-type(2){color:var(--accent)}.panel{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem}table{width:100%;border-collapse:collapse;font-size:.88rem}td,th{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600}tr:last-child td{border-bottom:none}.table-wrap{overflow-x:auto}.nowrap{white-space:nowrap}code{background:var(--accent-soft);padding:.1rem .35rem;border-radius:4px;font-size:.85em}.status-ok{color:var(--ok);font-weight:600}.status-error{color:var(--err);font-weight:600}.status-running{font-weight:600}.status-running,.status-skipped{color:var(--muted)}.status-partial{color:var(--accent);font-weight:600}button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.55rem 1.1rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s ease,filter .15s ease}button:not(.secondary):hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.5;cursor:wait}button.secondary{background:transparent;color:var(--wine);border:1px solid var(--wine);font-weight:500}button.secondary:hover:not(:disabled){background:var(--wine-soft)}input[type=number],input[type=password],input[type=text]{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem;font-size:.95rem}.layout{display:flex;gap:1.5rem;align-items:flex-start;margin-top:1rem}.sidebar{flex:0 0 200px;position:-webkit-sticky;position:sticky;top:1rem;display:flex;flex-direction:column;gap:.25rem;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:.6rem}.content{flex:1 1 auto;min-width:0}.nav-item,.nav-sub-item{text-align:left;background:transparent;color:var(--text);border:none;border-radius:8px;padding:.55rem .7rem;cursor:pointer;font-size:.95rem;width:100%}.nav-item{font-weight:600}.nav-item-wrap{display:flex;align-items:flex-start;gap:.4rem}.nav-ico{flex:none}.nav-item:hover,.nav-sub-item:hover{background:var(--accent-soft)}.nav-item.active,.nav-sub-item.active{background:var(--accent);color:#fff}.nav-sub{display:flex;flex-direction:column;gap:.15rem;margin:.1rem 0 .3rem .6rem;padding-left:.5rem;border-left:2px solid var(--border)}.nav-sub-item{font-size:.85rem;color:var(--muted);padding:.4rem .6rem}@media (max-width:720px){.layout{flex-direction:column}.sidebar{position:static;flex-basis:auto;width:100%;flex-wrap:wrap}.nav-sub,.sidebar{flex-direction:row}.nav-sub{border-left:none;margin-left:0;padding-left:0}}.legend{margin-top:.8rem;padding:.6rem .8rem;background:var(--accent-soft);border-radius:8px;font-size:.82rem;line-height:1.4;color:var(--muted)}.legend code{font-size:.9em}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.source-card{text-align:left}.source-actions{margin-top:auto;padding-top:.7rem;display:flex;flex-direction:column;gap:.4rem}.source-actions button{width:100%}.entity-sync-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.6rem;gap:.6rem;align-items:stretch}.entity-card{display:flex;flex-direction:column;gap:.45rem;border:1px solid var(--border);border-radius:8px;padding:.55rem .65rem}.entity-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}.entity-card-head code{white-space:nowrap}.entity-card-btn{margin-top:auto;align-self:flex-start;padding:.2rem .7rem;font-size:.8rem}.endpoint-card{display:flex;flex-direction:column;gap:.4rem;text-align:left;border:1px solid var(--border);border-radius:8px;padding:.65rem .7rem;background:var(--card,#fff);cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s}.endpoint-card-active,.endpoint-card:hover{border-color:var(--wine)}.endpoint-card-active{box-shadow:0 0 0 1px var(--wine) inset}.endpoint-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.endpoint-card-head code{white-space:nowrap;font-size:.85rem}.endpoint-card-name{font-weight:600;font-size:.92rem}.endpoint-card-data{font-size:.8rem;line-height:1.4;color:var(--muted)}.method-badge{font-size:.68rem;font-weight:700;letter-spacing:.03em;padding:.08rem .4rem;border-radius:4px;color:#fff}.method-get{background:#2f7d4f}.method-post{background:#b06a1a}.auth-badge{margin-top:auto;align-self:flex-start;font-size:.72rem;padding:.1rem .45rem;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.auth-badge.auth-public{color:#2f7d4f;border-color:#2f7d4f55}.auth-badge.auth-apikey,.auth-badge.auth-ingest{color:var(--wine);border-color:var(--wine)}.auth-badge.auth-admin{color:#7a4bb0;border-color:#7a4bb055}.msg{margin-top:.6rem}.msg,label{font-size:.9rem}.footer-note,label{color:var(--muted)}.footer-note{font-size:.85rem;margin-top:2.5rem}