:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}body{margin:0;min-height:100vh}.site-header{height:72px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid #e7ebf2;position:sticky;top:0}.brand{font-weight:800;font-size:1.35rem;text-decoration:none;color:#172033}nav{display:flex;gap:10px;align-items:center}button,.primary{font:inherit;border:0;border-radius:10px;padding:10px 14px;cursor:pointer;background:#eef2f8;color:#172033}.primary{display:inline-block;background:#172033;color:white;text-decoration:none;padding:13px 18px}.hero{max-width:1180px;margin:auto;padding:12vh 6vw}.hero>div{max-width:720px}.eyebrow{font-size:.8rem;letter-spacing:.14em;color:#65708a}.hero h1{font-size:clamp(2.5rem,6vw,5.4rem);line-height:.98;margin:.35em 0}.hero p{font-size:1.15rem;line-height:1.65;color:#5a6479;margin-bottom:28px}dialog{border:0;border-radius:18px;padding:0;width:min(92vw,520px);box-shadow:0 24px 80px #0003}dialog::backdrop{background:#0c122080;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #edf0f5}.modal-head button{background:transparent;font-size:1.5rem;padding:2px 8px}#modalBody{padding:22px}.field{margin-bottom:14px}.field label{display:block;font-size:.88rem;font-weight:650;margin-bottom:6px}.field input,.field select{width:100%;padding:12px;border:1px solid #ccd3df;border-radius:9px;background:#fff;font:inherit}.muted{color:#6a7386;font-size:.9rem}.error{background:#fff1f1;color:#9d2626;padding:10px 12px;border-radius:9px;margin:10px 0}.success{background:#edf9f0;color:#206b34;padding:10px 12px;border-radius:9px;margin:10px 0}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.locked{background:#f1f4f8!important;color:#667085}.inline{display:inline}.linkbtn{background:transparent}.id-card{font-size:1.6rem;font-weight:800;letter-spacing:.08em;text-align:center;padding:18px;background:#f3f6fa;border-radius:12px}.recovery{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;background:#fff8dd;padding:12px;border-radius:8px}.workspace{max-width:1000px;margin:60px auto;padding:0 24px}.card{background:white;border:1px solid #e5eaf1;border-radius:14px;padding:22px;margin:18px 0}@media(max-width:720px){nav button:nth-of-type(n+3){display:none}.site-header{padding:0 16px}.hero{padding-top:10vh}}

.warning{padding:14px 16px;border:1px solid #f4c56b;background:#fff8e8;border-radius:10px;color:#7a4b00;line-height:1.5}.recovery{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-word}

/* CoreSlot password visibility control */
.password-wrap{
  position:relative;
  width:100%;
}

.password-wrap > input{
  width:100%;
  padding-right:3rem !important;
  box-sizing:border-box;
}

.password-eye{
  position:absolute;
  right:.55rem;
  top:50%;
  transform:translateY(-50%);
  width:2.1rem;
  height:2.1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:.55rem;
  background:transparent;
  color:inherit;
  opacity:.62;
  cursor:pointer;
  padding:0;
}

.password-eye:hover,
.password-eye:focus-visible{
  opacity:1;
  background:rgba(127,127,127,.10);
  outline:none;
}

.password-eye:focus-visible{
  box-shadow:0 0 0 2px rgba(79,70,229,.25);
}

.password-eye svg{
  width:1.18rem;
  height:1.18rem;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}

.password-eye.is-visible::after{
  content:"";
  position:absolute;
  width:1.35rem;
  height:1.8px;
  background:currentColor;
  transform:rotate(-45deg);
  border-radius:2px;
}

/* CoreSlot Workspace v1.4 */
.workspace-v2{max-width:1380px;margin:36px auto;padding:0 28px;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:28px;align-items:start}.profile-panel{display:flex;flex-direction:column;gap:16px}.profile-card,.side-card,.managed-card,.service-card{background:#fff;border:1px solid #e5eaf1;border-radius:18px}.profile-card{padding:28px;text-align:center}.avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}.avatar{width:112px;height:112px;border-radius:50%;overflow:hidden;background:#eaf0f8;display:grid;place-items:center;font-size:2.3rem;font-weight:800;color:#40506a;border:4px solid #fff;box-shadow:0 0 0 1px #dfe5ee}.avatar img{width:100%;height:100%;object-fit:cover}.photo-change{font-size:.86rem;font-weight:700;color:#40506a;cursor:pointer}.profile-name{font-size:1.45rem;margin:18px 0 7px}.profile-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;letter-spacing:.08em;color:#102a43}.immutable-note{margin-top:7px;color:#8a94a6;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.side-card{padding:20px}.side-card h2{font-size:1rem;margin:0 0 10px}.side-card details{border-top:1px solid #edf0f5;padding:2px 0}.side-card summary{cursor:pointer;padding:13px 0;font-weight:700}.side-card details form{padding:8px 0 14px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.form-message:empty{display:none}.form-message{margin-top:12px}.hidden{display:none!important}.services-panel{min-width:0}.services-heading{padding:12px 4px 20px}.services-heading h1{font-size:clamp(1.8rem,3vw,2.6rem);margin:7px 0}.services-heading p{max-width:760px;color:#697386;line-height:1.65}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-card{padding:22px;display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:start;min-height:225px}.service-monogram{width:54px;height:54px;border-radius:14px;background:#102a43;color:#fff;display:grid;place-items:center;font-weight:800}.service-body h2{margin:3px 0 8px;font-size:1.2rem}.service-body p{color:#697386;line-height:1.55;margin:0}.service-status{margin-top:18px;font-size:.82rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:#697386}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2d8a4e;margin-right:7px}.service-open{grid-column:1/-1;align-self:end;text-align:center}.service-card button.service-open:disabled{cursor:not-allowed;opacity:.62}.service-disabled{background:#fbfcfe}.managed-card{margin-top:22px;padding:22px}.managed-card h2{margin-top:0}.managed-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:11px 0;border-top:1px solid #edf0f5;align-items:center}.managed-row small{color:#697386}.site-header{z-index:10}@media(max-width:980px){.workspace-v2{grid-template-columns:1fr}.profile-panel{display:grid;grid-template-columns:1fr 1fr}.profile-card{grid-column:1/-1}.services-panel{grid-row:2}.profile-panel{grid-row:1}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.workspace-v2{margin:20px auto;padding:0 16px}.profile-panel{display:flex}.service-grid{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}.managed-row{grid-template-columns:1fr}.service-card{min-height:0}}

/* CoreSlot profile photo cropper v1.4.3 */
.photo-crop-modal{position:fixed;inset:0;background:rgba(15,23,42,.72);z-index:1000;display:grid;place-items:center;padding:18px}
.photo-crop-dialog{width:min(92vw,560px);background:#fff;border-radius:18px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.28)}
.photo-crop-dialog h2{margin:0 0 6px}.photo-crop-dialog p{margin:0 0 16px;color:#697386}
.photo-crop-stage{width:min(78vw,420px);aspect-ratio:1;margin:auto;position:relative;overflow:hidden;background:#111827;border-radius:14px;touch-action:none;cursor:grab}
.photo-crop-stage:active{cursor:grabbing}.photo-crop-stage img{position:absolute;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.photo-crop-mask{position:absolute;inset:8%;border-radius:50%;box-shadow:0 0 0 999px rgba(0,0,0,.48);border:2px solid rgba(255,255,255,.92);pointer-events:none}
.photo-crop-controls{margin-top:18px}.photo-crop-controls input[type=range]{width:100%}
.photo-crop-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
#photoMessage[data-state="success"]{color:#217a3c}#photoMessage[data-state="error"]{color:#b42318}

/* CoreSlot crop modal visibility corrective v1.4.3.1 */
.photo-crop-modal.hidden{display:none !important;}
.photo-crop-modal:not(.hidden){display:grid !important;}

/* CoreSlot Workspace Photo v1.4.4.0 */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
button.photo-change{appearance:none;background:transparent;border:0;padding:4px 8px;color:#40506a;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}
button.photo-change:hover{text-decoration:underline}
.photo-crop-modal.hidden{display:none!important}
.photo-crop-modal:not(.hidden){display:grid!important}

/* CoreSlot Workspace UX v1.4.5.0 */
.profile-readonly{margin:0 0 14px}
.profile-readonly>div{padding:9px 0;border-bottom:1px solid #e6ebf2}
.profile-readonly dt{font-size:.78rem;font-weight:700;color:#64748b;margin-bottom:3px}
.profile-readonly dd{margin:0;color:#111827;white-space:pre-wrap}
.form-actions{display:flex;gap:10px;align-items:center}
#securityStatus:empty,#contactStatus:empty{display:none}
#securityStatus{margin:0 0 10px}
