:root{--purple:#34246f;--purple2:#271956;--green:#79bd5c;--green-pale:#eff8eb;--ink:#222536;--muted:#686b78;--line:#dedee7;--bg:#f7f7fa;--white:#fff;--shadow:0 20px 60px rgba(26,20,55,.18)}
*{box-sizing:border-box}
html{font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--bg)}
body{margin:0;background:linear-gradient(180deg,#fff 0,#f7f7fa 320px)}
button,input,select{font:inherit}
.registry-shell{max-width:1120px;margin:auto;padding:24px}
.registry-header{display:flex;align-items:center;gap:28px;padding:10px 0 26px;border-bottom:5px solid var(--green)}
.brand-logo{width:245px;max-width:38%;height:auto;display:block}
.eyebrow{margin:0 0 6px;color:var(--purple);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
h1{margin:0;color:var(--purple2);font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.7rem);line-height:1}
.controls{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;align-items:end;padding:24px 0 18px}
label{display:grid;gap:7px;color:var(--purple);font-size:.82rem;font-weight:700}
input,select{width:100%;min-height:48px;border:1px solid #c9c9d6;border-radius:9px;background:#fff;color:var(--ink);padding:0 13px;outline:none}
input:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(52,36,111,.12)}
#reset{min-height:48px;padding:0 16px;border:1px solid var(--purple);border-radius:9px;background:#fff;color:var(--purple);font-weight:700;cursor:pointer}
.summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:13px 16px;border-radius:9px;background:var(--green-pale);color:#36422f}
.legend{margin-left:auto;font-size:.83rem;color:#52604c}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green);margin-right:6px}
.member-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.member{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:13px;min-height:68px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.member.available{border-left:5px solid var(--green);cursor:pointer;box-shadow:0 2px 10px rgba(30,25,60,.04)}
.member.available:hover{border-color:var(--green);transform:translateY(-1px);box-shadow:0 7px 20px rgba(30,25,60,.10)}
.number{font-family:Georgia,serif;font-weight:700;color:var(--purple);font-size:1rem}
.member-name{display:block;font-weight:700;line-height:1.3}.member-meta{display:block;margin-top:7px;color:var(--muted);font-size:.75rem;line-height:1.35}
.member.available{text-align:left;color:inherit;font:inherit}
.open-mark{color:var(--purple);font-size:1.35rem;font-weight:700}
.suspended .member-name{text-decoration:line-through;color:#777}.suspended .number{color:#8b6370}
.empty{text-align:center;padding:40px 10px;color:var(--muted)}
.dialog{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px}.dialog[hidden]{display:none}
.dialog-backdrop{position:absolute;inset:0;background:rgba(20,16,40,.72);backdrop-filter:blur(4px)}
.profile{position:relative;z-index:1;width:min(920px,100%);max-height:92vh;overflow:auto;border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.close{position:sticky;float:right;top:12px;margin:12px 12px 0 0;width:42px;height:42px;border:0;border-radius:50%;background:var(--purple);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;z-index:3}
.profile-head{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;padding:34px 38px 28px;border-bottom:6px solid var(--green);background:linear-gradient(135deg,#fff,#f4f1fb)}
.profile-emblem{display:grid;place-items:center;aspect-ratio:1;border:3px solid var(--green);border-radius:50%;background:#fff;color:var(--purple);box-shadow:inset 0 0 0 7px #fff, inset 0 0 0 9px var(--purple)}
.profile-emblem strong{font-family:Georgia,serif;font-size:2rem}.profile-emblem span{font-size:.68rem;font-weight:800;letter-spacing:.1em}
.profile-head h2{margin:0 0 12px;color:var(--purple);font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.05}.profile-codes{display:flex;flex-wrap:wrap;gap:8px}.pill{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.82rem}
.profile-body{padding:28px 38px 38px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{padding:16px;border:1px solid var(--line);border-radius:10px}.field.wide{grid-column:1/-1}.field h3{margin:0 0 7px;color:var(--purple);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.field p{margin:0;white-space:pre-line;line-height:1.55}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.action{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:8px;background:var(--purple);color:#fff;text-decoration:none;font-weight:700}.action.secondary{background:var(--green);color:#17330d}
@media(max-width:900px){.controls{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.member-list{grid-template-columns:1fr}}
@media(max-width:600px){.registry-shell{padding:14px}.registry-header{align-items:flex-start;gap:14px}.brand-logo{width:145px}.eyebrow{font-size:.68rem}.controls{grid-template-columns:1fr}.search-field{grid-column:auto}.legend{width:100%;margin-left:0}.profile-head{grid-template-columns:92px 1fr;padding:24px 18px 20px;gap:15px}.profile-emblem strong{font-size:1.35rem}.profile-body{padding:20px 18px 28px}.profile-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}}
