/* Staff Profile Directory v2.3 – frontend profile editor */
.spd-editor{--b:#e5e7eb;--t:#172033;--m:#667085;--soft:#f8fafc;--err:#b42318;max-width:980px;margin:24px auto;font-size:16px;line-height:1.5;color:var(--t);container-type:inline-size;box-sizing:border-box}
.spd-editor *{box-sizing:border-box}
.spd-editor h2{margin:0 0 4px;font-size:1.5em;line-height:1.25}
.spd-editor h3{margin:0 0 16px;font-size:1.15em}
.spd-editor h4{margin:0 0 12px;font-size:1em}
.spd-editor a{color:var(--a,#1d4ed8)}

/* login */
.spd-login-box{max-width:460px;padding:28px;border:1px solid var(--b);border-radius:14px;background:#fff}
.spd-login-box p{color:var(--m);font-size:15px}
.spd-login-box form p{margin:0 0 14px;color:var(--t)}
.spd-login-box label{display:block;font-weight:600;font-size:14px;margin-bottom:4px}
.spd-login-box input[type=text],.spd-login-box input[type=password]{width:100%}
.spd-login-box .login-remember label{display:inline;font-weight:400}
.spd-login-box .spd-lost{margin:6px 0 0;font-size:14px}

/* inputs */
.spd-editor input[type=text],.spd-editor input[type=email],.spd-editor input[type=url],.spd-editor input[type=tel],.spd-editor input[type=number],.spd-editor input[type=date],.spd-editor input[type=password],.spd-editor select,.spd-editor textarea{width:100%;max-width:100%;padding:9px 11px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:var(--t);font:inherit;font-size:15px;line-height:1.4;min-height:42px}
.spd-editor textarea{min-height:0;resize:vertical}
.spd-editor input:focus,.spd-editor select:focus,.spd-editor textarea:focus{outline:2px solid var(--a,#1d4ed8);outline-offset:1px;border-color:var(--a,#1d4ed8)}
.spd-editor input[type=file]{font-size:14px;max-width:100%}
.spd-editor .spd-invalid{border-color:var(--err)!important;background:#fffbfa}
.spd-btn-primary,.spd-login-box input[type=submit]{display:inline-block;padding:11px 20px;border:0;border-radius:8px;background:var(--a,#1d4ed8);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.spd-btn-primary:hover,.spd-login-box input[type=submit]:hover{filter:brightness(.92)}
.spd-btn-primary[disabled]{opacity:.6;cursor:wait}

/* notices */
.spd-notice{padding:12px 16px;border-radius:10px;border:1px solid;margin:0 0 18px;font-size:15px}
.spd-notice p{margin:0 0 4px}.spd-notice p:last-child{margin:0}
.spd-notice ul{margin:6px 0 0 18px;padding:0}
.spd-notice-success{background:#ecfdf3;border-color:#abefc6;color:#067647}
.spd-notice-info{background:#eff8ff;border-color:#b2ddff;color:#175cd3}
.spd-notice-warn{background:#fffaeb;border-color:#fedf89;color:#93370d}
.spd-notice-error{background:#fef3f2;border-color:#fecdca;color:var(--err)}
.spd-ed-note{color:var(--m);font-size:14px;margin:0 0 14px}
.spd-empty{color:var(--m)}

/* manager picker */
.spd-picker{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;background:var(--soft);border:1px solid var(--b);border-radius:10px;margin-bottom:18px}
.spd-picker label{font-weight:600;font-size:14px}
.spd-picker select{flex:1 1 260px;width:auto}

/* header */
.spd-ed-head{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.spd-ed-head img,.spd-ed-initial{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;background:var(--soft);border:1px solid var(--b)}
.spd-ed-initial{display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:var(--a,#1d4ed8)}
.spd-ed-head p{margin:0;color:var(--m);font-size:15px}
.spd-ed-head .spd-ed-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:14px}

/* tabs – without JavaScript every section is shown, one after another */
.spd-ed-tabs{display:none;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--b);margin-bottom:20px}
.spd-editor.js .spd-ed-tabs{display:flex}
.spd-ed-tabs a{padding:10px 14px;text-decoration:none;color:#475467!important;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:15px;white-space:nowrap}
.spd-ed-tabs a[aria-selected=true]{color:var(--a,#1d4ed8)!important;border-bottom-color:var(--a,#1d4ed8);font-weight:700}
.spd-ed-tabs a.has-error::after{content:" •";color:var(--err)}
.spd-ed-sec{padding:22px;border:1px solid var(--b);border-radius:14px;background:#fff;margin-bottom:18px}
.spd-editor.js .spd-ed-sec{display:none}
.spd-editor.js .spd-ed-sec.is-active{display:block}
.spd-editor.js .spd-ed-sec h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* fields */
.spd-ed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.spd-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.spd-field>label,.spd-rows legend{font-weight:600;font-size:14px}
.spd-field small{color:var(--m);font-size:13px}
.spd-field-html,.spd-field-textarea,.spd-field-image,.spd-rows,.spd-wide{grid-column:1/-1}
.spd-locked{padding:9px 11px;border:1px dashed #d0d5dd;border-radius:8px;background:var(--soft);font-size:15px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.spd-lock{font-size:12px;color:var(--m)}
.spd-lock::before{content:"🔒 "}
.spd-inline{display:inline-flex!important;align-items:center;gap:6px;font-weight:400!important;font-size:14px}
.spd-photo-edit{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.spd-photo-prev{width:110px;height:110px;border-radius:12px;overflow:hidden;background:var(--soft);border:1px solid var(--b);display:flex;align-items:center;justify-content:center;color:var(--m);font-size:13px;flex:none}
.spd-photo-prev img{width:100%;height:100%;object-fit:cover}
.spd-photo-edit>div:last-child{display:flex;flex-direction:column;gap:8px;min-width:0}
.spd-current-file{margin:0;font-size:14px;display:flex;flex-wrap:wrap;gap:6px 14px;word-break:break-all}

/* repeaters */
.spd-rows{border:0;padding:0;margin:0;min-width:0}
.spd-rows legend{margin-bottom:8px;padding:0}
.spd-table-wrap{overflow-x:auto}
.spd-rows-table{width:100%;border-collapse:collapse;font-size:14px;margin:0}
.spd-rows-table th{text-align:left;font-weight:600;color:var(--m);font-size:13px;padding:0 6px 6px;border:0;background:none}
.spd-rows-table td{padding:4px 6px;border:0;vertical-align:middle;background:none}
.spd-rows-table td:first-child input{width:5em}
.spd-row-del,.spd-row-add{border:1px solid #d0d5dd;background:#fff;border-radius:8px;cursor:pointer;font:inherit;color:#344054}
.spd-row-del{width:36px;height:36px;padding:0;line-height:1}
.spd-row-del:hover{border-color:var(--err);color:var(--err)}
.spd-row-add{margin-top:8px;padding:8px 14px;font-size:14px}
.spd-row-add:hover{border-color:var(--a,#1d4ed8);color:var(--a,#1d4ed8)}

/* save bar */
.spd-ed-save{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:4px 0 18px}
.spd-editor.js .spd-ed-form .spd-ed-save{position:sticky;bottom:0;z-index:5;background:rgba(255,255,255,.96);padding:12px 0;border-top:1px solid var(--b);margin:0 0 18px}
.spd-dirty{font-size:14px;color:#b54708}
.spd-editor.js .spd-ed-form.is-pubs .spd-ed-save{display:none}

/* publications */
.spd-pub-admin{list-style:none;margin:0 0 20px;padding:0;border:1px solid var(--b);border-radius:10px}
.spd-pub-admin li{display:flex;justify-content:space-between;gap:14px;padding:12px 14px;border-top:1px solid var(--b);align-items:center}
.spd-pub-admin li:first-child{border-top:0}
.spd-pub-admin li>div{min-width:0}
.spd-pub-admin small{display:block;color:var(--m);font-size:13px}
.spd-pub-admin li>span{display:flex;gap:12px;font-size:14px;flex:none}
.spd-pub-admin .spd-del{color:var(--err)}
.spd-badge{display:inline-block;font-size:12px;padding:1px 8px;border-radius:99px;background:#fffaeb;color:#b54708;border:1px solid #fedf89;vertical-align:middle}
.spd-pub-form{padding:18px;background:var(--soft);border-radius:12px}
.spd-pub-form .spd-ed-save{margin:16px 0 0}

.spd-editor .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

@container (max-width:640px){
  .spd-ed-grid{grid-template-columns:minmax(0,1fr)}
  .spd-ed-sec{padding:16px}
  .spd-ed-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
  .spd-rows-table thead{display:none}
  .spd-rows-table,.spd-rows-table tbody,.spd-rows-table tr,.spd-rows-table td{display:block;width:100%}
  .spd-rows-table tr{position:relative;border:1px solid var(--b);border-radius:10px;padding:8px 48px 8px 8px;margin-bottom:8px}
  .spd-rows-table td{padding:3px 0}
  .spd-rows-table td[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:var(--m)}
  .spd-rows-table td:last-child{position:absolute;top:8px;right:8px;width:auto;padding:0}
  .spd-rows-table td:first-child input{width:100%}
  .spd-pub-admin li{flex-direction:column;align-items:flex-start}
  .spd-ed-head img,.spd-ed-initial{width:56px;height:56px}
}
