/* Ricerca Labs app home: shares the dark navy palette, serif typography and card surface of login.css. */
:root{color-scheme:dark;--ui-bg:#0a0e1a;--ui-panel:#0e1424;--ui-soft:#171f30;--ui-text:#f7f3ec;--ui-muted:#a4aabc;--ui-gold:#e8d5ae;--ui-accent:#c9a96e;--ui-line:#3b4861;--ui-positive:#7dd3a0;--ui-negative:#ed9e98;--ui-button-text:#0a0e1a}
body{min-block-size:100dvh;align-items:safe center}
.apps-stage{width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center}
.apps-stage[hidden]{display:none}
.apps-brand{display:block;width:120px;max-width:100%;height:auto;aspect-ratio:480/482;margin:0 auto 14px}
.apps-heading{font-size:22px;font-weight:600;color:var(--ui-text);text-align:center;margin:0 0 22px;letter-spacing:.3px}
.apps-grid{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.app-tile{min-height:44px;min-inline-size:0;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.45);padding:18px 12px 16px;color:var(--ui-text);text-decoration:none;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;transition:border-color .15s ease,background-color .15s ease}
.app-tile:hover{border-color:var(--ui-accent);background:var(--ui-soft)}
.app-tile:focus-visible,.apps-signout:focus-visible{outline:3px solid var(--ui-gold);outline-offset:3px}
.app-logo-wrap{width:100%;height:72px;display:flex;align-items:center;justify-content:center}
.app-logo{display:block;max-width:100%;max-height:66px;width:auto;height:auto;object-fit:contain}
.app-name{font-size:15px;font-weight:600;line-height:1.3;color:var(--ui-text);overflow-wrap:break-word;max-width:100%}
.app-status{margin-block-start:auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;font-size:12px;line-height:1.35;color:var(--ui-muted);max-width:100%;overflow-wrap:break-word}
.app-status[data-state="active"]{color:var(--ui-positive)}
.app-status[hidden]{display:none}
.app-lock{display:block;flex:0 0 auto}
.apps-signout{margin-top:20px;width:auto;padding:0 12px}
/* "Your company" card: same panel, line and shadow as the tiles; form controls reuse the login card's. */
.vet-card{width:100%;min-inline-size:0;margin-top:16px;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.45);padding:18px 16px 16px;color:var(--ui-text);text-align:left}
.vet-card[hidden]{display:none}
.vet-heading{font-size:17px;font-weight:600;line-height:1.3;margin:0 0 12px;color:var(--ui-text);letter-spacing:.2px}
.vet-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.vet-row .login-button{width:auto;margin-top:0;padding:11px 18px}
.vet-input{min-inline-size:0}
.vet-name{margin:0;font-size:16px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.vet-ids,.vet-sub{margin:4px 0 0;font-size:13px;line-height:1.4;color:var(--ui-muted);overflow-wrap:anywhere}
.vet-lines{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.vet-line{display:flex;align-items:flex-start;gap:8px;min-inline-size:0;font-size:14px;line-height:1.4}
.vet-label{min-inline-size:0;overflow-wrap:anywhere}
.vet-mark{display:block;flex:0 0 auto;margin-top:1px}
.vet-line[data-ok="true"] .vet-mark{color:var(--ui-positive)}
.vet-line[data-ok="false"] .vet-mark{color:var(--ui-negative)}
.vet-step{margin-top:16px;padding-top:14px;border-top:1px solid var(--ui-line)}
.vet-text{margin:0 0 10px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.vet-text a{color:var(--ui-gold)}
.vet-badge{margin:0;font-size:14px;font-weight:600;line-height:1.4;color:var(--ui-positive)}
.vet-warn{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--ui-negative)}
.vet-action{margin-top:4px}
.vet-post-link{display:flex;align-items:center;justify-content:center;margin-top:12px;text-decoration:none;text-align:center}
.vet-post-link:focus-visible{outline:2px solid var(--ui-gold);outline-offset:2px}
.vet-link{margin-top:6px}
.vet-cert{margin-top:14px;padding-top:14px;border-top:1px solid var(--ui-line);min-inline-size:0}
.vet-cert-note{margin:0 0 10px;font-size:13px;line-height:1.45;color:var(--ui-muted);overflow-wrap:anywhere}
.vet-cert-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;min-inline-size:0}
.vet-cert-status{margin:0;font-size:14px;line-height:1.4;color:var(--ui-text);min-inline-size:0;overflow-wrap:anywhere}
.vet-cert-upload,.vet-cert-replace{min-height:44px;border-radius:6px;border:1px solid var(--ui-line);background:var(--ui-soft);color:var(--ui-text);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:10px 14px;max-width:100%}
.vet-cert-upload{width:100%}
.vet-cert-replace{width:auto;flex:0 0 auto}
.vet-cert-upload:hover:not(:disabled),.vet-cert-replace:hover:not(:disabled){border-color:var(--ui-accent)}
.vet-cert-upload:focus-visible,.vet-cert-replace:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}
.vet-cert-upload:disabled,.vet-cert-replace:disabled{opacity:.6;cursor:wait}
.vet-message{margin:10px 0 0;font-size:13px;line-height:1.4;color:var(--ui-negative);overflow-wrap:anywhere}
.vet-message:empty{display:none}
.vet-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (min-width:340px){.apps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:768px){.apps-stage{max-width:720px}.apps-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.app-tile{padding:22px 16px 18px}}
