:root{font-family:system-ui,sans-serif;color:#172b46;background:#f3f7fc;font-synthesis:none;line-height:1.5;color-scheme:light;--blue: #155eef;--blue-hover: #104fca;--navy: #142b4b;--muted: #62748d;--line: #d7e1ef}*{box-sizing:border-box}body{margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,input{font:inherit}.shell{width:min(100% - 2rem,50rem);margin-inline:auto}.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1.25rem 0}.topbar strong,.topbar span{display:block}.topbar span{color:#5a6e88;font-size:.875rem}main{padding-block:1rem 2rem}.panel{padding:clamp(1rem,4vw,2rem);border:1px solid var(--line);border-radius:1rem;background:#fff}.gate{max-width:29rem;margin:1.5rem auto}h1{margin:0 0 .75rem;font-size:clamp(1.4rem,4vw,1.9rem);line-height:1.2;overflow-wrap:anywhere}.panel>button+h1{margin-top:1rem}p{margin-block:.75rem}form{display:grid;gap:1rem;margin-top:1.25rem}label{display:grid;gap:.35rem;font-weight:600}input{width:100%;min-width:0;min-height:2.75rem;padding:.6rem .7rem;border:1px solid #c5d2e3;border-radius:.65rem;color:var(--navy);background:#fff}button{min-height:2.75rem;padding:.55rem .9rem;border:1px solid transparent;border-radius:.65rem;color:#fff;background:var(--blue);font-weight:650;cursor:pointer}button:hover:not(:disabled){background:var(--blue-hover)}button:disabled{opacity:.65;cursor:wait}.secondary,.entry{color:#194b95;background:#f4f8ff;border-color:#c8d8ef}.secondary:hover:not(:disabled),.entry:hover:not(:disabled){background:#e8f0ff}:focus-visible{outline:3px solid #4a83ec;outline-offset:3px}.actions{display:flex;flex-wrap:wrap;gap:.5rem}.directory-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem;margin-bottom:1rem}.directory{display:grid;gap:.65rem;padding:0;margin:.6rem 0 0;list-style:none}.entry{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1rem;width:100%;padding:.8rem 1rem;text-align:left}.entry strong,.entry span span{display:block;overflow-wrap:anywhere}.entry span span,.entry>span:last-child{font-size:.875rem;font-weight:500}.validity-urgent{--status-ink: #8e2635;--status-bg: #fff3f4;--status-border: #bd4d5d}.validity-soon{--status-ink: #694600;--status-bg: #fff7db;--status-border: #b4851e}.validity-valid{--status-ink: #174b95;--status-bg: #eef5ff;--status-border: #6e9ce6}.validity-group{margin-top:1.5rem}.validity-heading{padding:.7rem .85rem;border-radius:.55rem;border-inline-start:.25rem solid var(--status-border);color:var(--status-ink);background:var(--status-bg)}.validity-heading h2{margin:0;font-size:1rem}.validity-heading p{margin:.2rem 0 0;font-size:.875rem}.validity-empty{margin:.6rem .85rem 0;color:#526782;font-size:.875rem}.validity-group .entry{color:var(--navy);background:#fff;border-color:var(--line);border-inline-start:.25rem solid var(--status-border)}.validity-group .entry:hover:not(:disabled){background:var(--status-bg)}.entry .entry-status{display:grid;justify-items:start;gap:.15rem}.validity-badge,.entry .validity-badge{display:inline-block;padding:.1rem .5rem;border:1px solid var(--status-border);border-radius:1rem;background:var(--status-bg);color:var(--status-ink);font-size:.82rem;font-weight:700}.error{color:#9a2424}.pending{color:#875015;font-weight:650}.secret{display:block;overflow-wrap:anywhere;background:#f0f5ff;padding:.75rem;border-radius:.5rem}.brand{display:flex;align-items:center;gap:.8rem}.brand small{display:block;color:#5a6e88;font-size:.875rem}.login-shell{display:grid;place-items:center;min-height:100svh;width:min(100% - 2rem,28rem);margin:auto;padding-block:1rem}.login-layout{width:100%;padding:0;margin:0;border:1px solid #dce5f2;border-radius:1rem;background:#fff;box-shadow:0 18px 48px #173b6e10}.login-layout .gate{width:100%;max-width:unset;margin:0;padding:clamp(1.5rem,5vw,2.4rem);border:0;border-radius:inherit;background:transparent}.gate h1{margin:0 0 1.5rem;color:var(--navy);font-size:clamp(1.65rem,4vw,1.9rem);letter-spacing:-.025em}.gate form{gap:.9rem;margin-top:0}.gate label{gap:.45rem;color:#243a58;font-size:.93rem;font-weight:600}.gate input{min-height:3.1rem;padding:.7rem .85rem;border-color:#cbd7e7;border-radius:.7rem}.gate input:focus{border-color:#4a83ec;outline:3px solid #4a83ec2a}.password-field{position:relative;margin-top:-.6rem}.password-field input{padding-right:3.2rem}.password-toggle{position:absolute;top:50%;right:.4rem;display:grid;place-items:center;width:2.25rem;min-height:2.25rem;padding:.4rem;transform:translateY(-50%);border:0;border-radius:.55rem;color:#61748e;background:transparent}.password-toggle:hover:not(:disabled){color:var(--blue);background:#eef4ff}.password-toggle svg{display:block;width:1.25rem;height:1.25rem}.gate form>button:last-of-type{min-height:3.1rem;margin-top:.2rem;border-radius:.7rem;font-size:.95rem}@media(max-width:760px){.login-shell{width:min(100% - 1rem,28rem);padding-block:.75rem}.login-layout .gate{padding:1.5rem}}
