:root{color-scheme:light;font-family:Arial,sans-serif;background:#f5f7fb;color:#172033}body{margin:0;background:#f5f7fb}*{box-sizing:border-box}button,input{font:inherit}button{cursor:pointer;border:none;padding:9px 14px;border-radius:8px;background:#2563eb;color:#fff}button:disabled{cursor:not-allowed;opacity:.55}input{width:100%;padding:9px;border-radius:8px;border:1px solid #b8c2d6;background:#fff;color:#172033}a{color:#1d4ed8;overflow-wrap:anywhere}label{display:flex;flex-direction:column;gap:6px;font-weight:700}code{padding:2px 5px;border-radius:5px;background:#e8edf7}.app-shell{max-width:1120px;margin:0 auto;padding:24px}.navbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding:12px;border:1px solid #d8e0ef;border-radius:8px;background:#fffffff0;box-shadow:0 12px 30px #1f293714}.brand-button,.nav-links button,.link-button,.secondary-button{color:#172033;background:transparent}.brand-button{padding-left:6px;font-weight:800}.nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.nav-links button{border:1px solid transparent}.nav-links button.active,.nav-links button:hover,.secondary-button{border-color:#b8c2d6;background:#e8edf7}.auth-chip{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border-radius:8px;background:#eef2f7;color:#334155;font-size:.92rem;white-space:nowrap}.status-dot{width:10px;height:10px;border-radius:50%;background:#d94a4a}.status-dot.authenticated{background:#14835b}.link-button{padding:0;color:#1d4ed8;text-decoration:underline}.page-heading{margin-bottom:18px}.page-heading h1{margin:0 0 8px;font-size:clamp(2rem,5vw,3.5rem);letter-spacing:0}.page-heading p{margin:0 0 16px;color:#53627a;line-height:1.5}.narrow-page{max-width:680px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:#fff;border:1px solid #d8e0ef;border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:0 8px 24px #1f29370f}.panel h2{margin-top:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.panel-heading h2{margin:0}.image-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.image-list button{width:100%;text-align:left;padding:10px;border-radius:8px;border:1px solid #c8d2e4;background:#f8fafc;color:inherit}.image-list button.active{border-color:#2563eb;background:#dbeafe}.image-list span{display:block;font-size:.85rem;color:#64748b;margin-top:4px}img{width:100%;max-width:520px;max-height:420px;object-fit:contain;display:block;margin:12px 0;border-radius:8px;background:#f8fafc}.metadata-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0 0 12px}.metadata-list div{min-width:0;padding:6px 0;border-bottom:1px solid #eef2f7}.metadata-list dt{margin-bottom:2px;color:#64748b;font-size:.72rem;font-weight:700;text-transform:uppercase}.metadata-list dd{margin:0;overflow-wrap:anywhere;font-size:.93rem}.metadata-list .metadata-wide{grid-column:1 / -1}.image-placeholder{display:flex;align-items:center;min-height:160px;margin:12px 0;padding:16px;border:1px dashed #b8c2d6;border-radius:8px;background:#f8fafc;color:#53627a;line-height:1.45}.actions{display:flex;flex-wrap:wrap;gap:8px}.forms-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.form-stack{display:flex;flex-direction:column;gap:10px}.log-list{max-height:220px;overflow:auto;font-family:Consolas,monospace;font-size:.9rem;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.helper-text{margin:10px 0 0;font-size:.94rem;color:#53627a;line-height:1.45}.danger-button{background:#dc2626}.danger-panel{border-color:#fecaca}.notice{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;padding:14px;border-radius:8px;line-height:1.45}.error-notice{border:1px solid #fecaca;background:#fff1f2;color:#7f1d1d}.json-output{max-height:420px;overflow:auto;padding:14px;border-radius:8px;background:#172033;color:#e8edf7;font-size:.92rem}@media (max-width: 850px){.navbar{position:static;align-items:stretch;flex-direction:column}.brand-button{align-self:flex-start}.nav-links{justify-content:flex-start}.auth-chip{width:100%;justify-content:flex-start}.grid,.forms-panel,.metadata-list{grid-template-columns:1fr}}
