.profile-back{margin:4px 0 16px}
.profile-back a{color:#425d6c;text-decoration:none}
.profile-back a:hover{text-decoration:underline}
.unified-profile{overflow:hidden}
.profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid #e4e8eb}
.profile-hero-avatar{display:grid;width:62px;height:62px;place-items:center;border-radius:50%;background:#e8f2f6;color:#2f6278;font-size:25px;font-weight:750}
.profile-hero h2{margin:3px 0 4px;font-size:24px}
.profile-hero p{margin:0;color:#6c7d87;overflow-wrap:anywhere}
.profile-kind{color:#71828c;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.profile-count{padding:7px 10px;border-radius:99px;background:#eef5f7;color:#395f70;font-size:12px}
.profile-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:22px 0;background:#dfe5e8;border:1px solid #dfe5e8}
.profile-facts>div{min-width:0;padding:16px;background:#fff}
.profile-facts dt{color:#75848d;font-size:11px}
.profile-facts dd{margin:6px 0 0;font-weight:650;overflow-wrap:anywhere}
.profile-section{margin-top:22px}
.profile-section h3{margin:0 0 10px;font-size:15px}
.profile-section p{color:#526773}
.profile-customer-details{padding-top:20px;border-top:1px solid #e4e8eb}
.profile-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.profile-section-heading h3{margin-bottom:3px}
.profile-section-heading p{margin:0;font-size:12px}
.profile-edit-form{margin:0}
.profile-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}
.profile-edit-grid label{display:grid;align-content:start;gap:6px;color:#667983;font-size:11px}
.profile-edit-grid input,.profile-edit-grid textarea{width:100%;box-sizing:border-box;border:1px solid #d4dde2;border-radius:7px;background:#fff;color:#26343b;padding:10px 12px;font:inherit;font-size:13px}
.profile-edit-grid input{min-height:42px}
.profile-edit-grid textarea{resize:vertical;line-height:1.55}
.profile-edit-grid input:focus,.profile-edit-grid textarea:focus{outline:2px solid #4e8ca8;outline-offset:1px;border-color:#4e8ca8}
.profile-address-field{grid-column:span 2}
.profile-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:16px}
.profile-autosave-status{margin-right:auto;color:#6d7f88;font-size:12px}
.profile-autosave-status.is-error{color:#b42318}
.profile-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid #e1e7ea;border-left:1px solid #e1e7ea}
.profile-details>div{min-width:0;padding:14px 16px;border-right:1px solid #e1e7ea;border-bottom:1px solid #e1e7ea}
.profile-details dt{color:#77868e;font-size:11px}
.profile-details dd{margin:5px 0 0;line-height:1.55;overflow-wrap:anywhere}
.profile-details>div:nth-child(8){grid-column:span 2}
.profile-tags{display:flex;flex-wrap:wrap;gap:8px}
.profile-tags span{padding:7px 10px;border:1px solid #d9e2e7;border-radius:7px;background:#f7f9fa;font-size:12px}
.profile-permissions{margin-top:22px;border-top:1px solid #e4e8eb;padding-top:16px}
.profile-permissions summary{cursor:pointer;font-weight:650}
.profile-permissions ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;padding-left:20px}
.profile-permissions small{display:block;color:#7a8890}
.profile-history table{min-width:780px}
.profile-history td small{display:block;color:#75848d}
.profile-booking-link{color:#253b47;text-decoration:none}
.profile-booking-link:hover{text-decoration:underline}
.profile-state{max-width:640px}
.profile-page-link{display:block;margin:0 0 8px;padding:10px 12px;border:1px solid #d7e2e8;border-radius:8px;color:#255b70;text-align:center;text-decoration:none}
.profile-page-link:hover{background:#edf5f7}

/* Affiliate self-profile: calm, compact account management. */
.affiliate-profile-page{display:grid;gap:20px;color:#2d2a27}
.affiliate-profile-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:22px;overflow:hidden;border-top:4px solid #2d2a27;background:linear-gradient(145deg,#fff 55%,#faf6f0)}
.affiliate-profile-identity{display:flex;align-items:center;min-width:0;gap:17px}
.affiliate-profile-avatar{display:grid;width:72px;height:72px;flex:0 0 72px;place-items:center;border-radius:20px;background:linear-gradient(145deg,#24211f,#474038);color:#fff;box-shadow:0 10px 25px #241c1426;font-size:29px;font-weight:750}
.affiliate-profile-identity>div{min-width:0}.affiliate-profile-eyebrow{display:block;margin-bottom:5px;color:#96704f;font-size:9px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}
.affiliate-profile-identity h2{margin:0;color:#25221f;font-size:25px;line-height:1.35;overflow-wrap:anywhere}.affiliate-profile-identity p{margin:5px 0 0;color:#77716b;font-size:12px;line-height:1.6}
.affiliate-profile-hero>.op-badge{margin-top:4px;padding:6px 11px;font-size:11px}
.affiliate-profile-summary{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:2px -23px -23px;border-top:1px solid #e9e4df;background:#fbfaf8}
.affiliate-profile-summary>div{min-width:0;padding:16px 23px;border-right:1px solid #e9e4df}.affiliate-profile-summary>div:last-child{border-right:0}
.affiliate-profile-summary dt{color:#8a837c;font-size:9px;font-weight:650;letter-spacing:.04em}.affiliate-profile-summary dd{margin:6px 0 0;color:#34302c;font-size:12px;font-weight:650;line-height:1.55;overflow-wrap:anywhere}.affiliate-profile-summary code{color:#795537;font-size:12px}
.affiliate-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.affiliate-profile-card{min-width:0;border-top:3px solid #d7c4b1;box-shadow:0 8px 28px #2f261d0a}.affiliate-profile-security{border-top-color:#b8c3c8}
.affiliate-profile-card-heading{display:flex;align-items:flex-start;gap:12px;padding-bottom:18px;border-bottom:1px solid #ece8e4}.affiliate-profile-card-heading>span{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:9px;background:#f2ece5;color:#8a6545;font-size:9px;font-weight:750}.affiliate-profile-security .affiliate-profile-card-heading>span{background:#edf1f2;color:#536a74}
.affiliate-profile-card-heading h2,.affiliate-profile-card-heading p{margin:0}.affiliate-profile-card-heading h2{font-size:17px;color:#292622}.affiliate-profile-card-heading p{margin-top:4px;color:#837c75;font-size:10px;line-height:1.65}
.affiliate-profile-form .op-form{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;max-width:none;margin:20px 0 0}.affiliate-profile-form .op-form label{color:#5d5751;font-size:11px}.affiliate-profile-form .op-form input{width:100%;min-height:46px;border-color:#d9d3cc;border-radius:9px;padding:11px 12px;font-size:13px}.affiliate-profile-form .op-form input:focus{border-color:#9d795a;box-shadow:0 0 0 3px #9d795a16}.affiliate-profile-form .op-form input[readonly]{background:#f5f3f0;color:#7c7771;cursor:not-allowed}.affiliate-profile-form .op-form label>small{color:#969089;font-size:9px;font-weight:400;line-height:1.6}.affiliate-profile-form .op-form>.button{width:100%;min-height:46px;margin-top:3px;background:#2c2926;color:#fff}.affiliate-profile-form .op-form>.button:hover{background:#161412}
@media(max-width:800px){.profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-details,.profile-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.affiliate-profile-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.affiliate-profile-summary>div:nth-child(2){border-right:0}.affiliate-profile-summary>div:nth-child(-n+2){border-bottom:1px solid #e9e4df}.affiliate-profile-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.profile-hero{grid-template-columns:auto minmax(0,1fr)}.profile-hero>.op-badge,.profile-count{grid-column:2;justify-self:start}.profile-facts,.profile-details,.profile-edit-grid{grid-template-columns:1fr}.profile-details>div:nth-child(8),.profile-address-field{grid-column:auto}.profile-permissions ul{grid-template-columns:1fr}.profile-edit-actions .button{width:100%}.affiliate-profile-hero{grid-template-columns:minmax(0,1fr)}.affiliate-profile-hero>.op-badge{justify-self:start}.affiliate-profile-avatar{width:58px;height:58px;flex-basis:58px;border-radius:16px;font-size:24px}.affiliate-profile-identity{align-items:flex-start}.affiliate-profile-identity h2{font-size:21px}.affiliate-profile-summary{grid-template-columns:minmax(0,1fr);margin-left:-17px;margin-right:-17px;margin-bottom:-17px}.affiliate-profile-summary>div{padding:13px 17px;border-right:0;border-bottom:1px solid #e9e4df!important}.affiliate-profile-summary>div:last-child{border-bottom:0!important}}
