.profile-page-head{align-items:center}
.profile-head-actions{display:flex;gap:10px;align-items:center}
.profile-shell{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}
.profile-summary-card,.profile-card,.profile-logout-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px rgba(37,47,74,.06)}
.profile-summary-card{position:sticky;top:92px;padding:20px;display:grid;gap:16px}
.profile-avatar{width:74px;height:74px;border-radius:24px;background:linear-gradient(135deg,#1b84ff,#0f766e);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:900;box-shadow:0 16px 30px rgba(27,132,255,.24)}
.profile-summary-main{display:grid;gap:4px}
.profile-summary-main span,.profile-section-title span,.profile-summary-meta span,.profile-tenant-mini span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.profile-summary-main strong{font-size:22px;line-height:1.15;color:#071437}
.profile-summary-main small,.profile-tenant-mini small{color:var(--muted);font-weight:700;overflow-wrap:anywhere}
.profile-summary-meta{display:grid;gap:8px}
.profile-summary-meta div{border:1px solid #e7edf7;background:#fbfdff;border-radius:14px;padding:12px;display:grid;gap:5px}
.profile-summary-meta strong{font-size:14px;color:#071437;overflow-wrap:anywhere}
.profile-tenant-mini{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;border-top:1px dashed var(--line);padding-top:16px}
.profile-tenant-mini img{width:76px;height:52px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#fff}
.profile-tenant-mini strong{display:block;color:#071437;overflow-wrap:anywhere}
.profile-main-grid{display:grid;gap:16px}
.profile-card{padding:20px}
.profile-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}
.profile-section-title h2{margin:4px 0 0;font-size:20px;color:#071437}
.profile-fields{display:grid;gap:14px}
.profile-fields.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-fields.region-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.profile-fields .span-2{grid-column:1/-1}
.profile-fields label{font-size:13px}
.profile-fields input,.profile-fields select,.profile-fields textarea{min-height:48px;border-radius:13px;background:#fff}
.profile-fields textarea{min-height:112px}
.profile-appearance-hint{border:1px solid #d9e8ff;background:#f1f6ff;color:#0b5fb9;border-radius:14px;padding:12px;display:grid;gap:4px}
.profile-appearance-hint span{font-size:12px;color:#497098;font-weight:700}
.profile-brand-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:center;margin-bottom:16px}
.profile-logo-frame{height:112px;border:1px dashed #c9d6e8;border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f4f8ff);display:grid;place-items:center;padding:12px}
.profile-logo-frame img{max-width:100%;max-height:88px;object-fit:contain}
.profile-brand-copy{display:grid;gap:10px}
.profile-brand-copy p{margin:0;color:var(--muted);font-weight:700;line-height:1.5}
.profile-sticky-actions{position:sticky;bottom:16px;z-index:12;display:flex;justify-content:flex-end;gap:10px;padding:12px;border:1px solid rgba(219,223,233,.9);border-radius:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);box-shadow:0 14px 36px rgba(37,47,74,.12)}
.profile-sticky-actions button,.profile-sticky-actions a{min-width:150px}
.profile-logout-card{margin-top:16px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.profile-logout-card h2{margin:0 0 4px;color:#071437}
.profile-logout-card form{margin:0}

.theme-dark .profile-summary-card,.theme-dark .profile-card,.theme-dark .profile-logout-card,.theme-dark .profile-sticky-actions{background:#111827;border-color:var(--line)}
.theme-dark .profile-summary-main strong,.theme-dark .profile-summary-meta strong,.theme-dark .profile-section-title h2,.theme-dark .profile-tenant-mini strong,.theme-dark .profile-logout-card h2{color:#f8fafc}
.theme-dark .profile-summary-meta div,.theme-dark .profile-logo-frame{background:#0b1220;border-color:#334155}
.theme-dark .profile-appearance-hint{background:#10233d;border-color:#315985;color:#bfdbfe}
.theme-dark .profile-appearance-hint span{color:#93c5fd}

@media(max-width:980px){
  .profile-shell{grid-template-columns:1fr}
  .profile-summary-card{position:relative;top:auto;grid-template-columns:auto minmax(0,1fr);align-items:center}
  .profile-summary-meta,.profile-tenant-mini{grid-column:1/-1}
  .profile-summary-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .profile-page-head{display:flex!important;flex-direction:row;align-items:center;justify-content:space-between}
  .profile-page-head h1{font-size:24px}
  .profile-head-actions .button{min-height:42px;padding:8px 12px}
  .profile-shell{gap:12px}
  .profile-summary-card,.profile-card,.profile-logout-card{border-radius:22px}
  .profile-summary-card{padding:16px;grid-template-columns:62px minmax(0,1fr);gap:13px}
  .profile-avatar{width:62px;height:62px;border-radius:20px;font-size:25px}
  .profile-summary-main strong{font-size:19px}
  .profile-summary-meta{grid-template-columns:1fr 1fr;gap:8px}
  .profile-summary-meta div:nth-child(3){grid-column:1/-1}
  .profile-card{padding:16px}
  .profile-section-title h2{font-size:18px}
  .profile-fields.two-col,.profile-fields.region-grid{grid-template-columns:1fr}
  .profile-brand-layout{grid-template-columns:1fr}
  .profile-logo-frame{height:126px}
  .profile-sticky-actions{position:fixed;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;padding:10px}
  body.role-petugas .profile-sticky-actions,body.role-end_user .profile-sticky-actions{bottom:calc(94px + env(safe-area-inset-bottom))}
  .profile-sticky-actions button,.profile-sticky-actions a{min-width:0;width:100%}
  .profile-logout-card{margin-bottom:88px}
}
