
*{box-sizing:border-box}body{margin:0;background:#faf8f5;color:#49382e;font:15px Arial,sans-serif;min-height:100vh}header{padding:22px 6%;border-bottom:1px solid #e6dbd1;display:flex;justify-content:space-between;align-items:center;gap:15px}header strong{font:normal 27px Georgia,serif}header small{display:block;letter-spacing:4px;font-size:9px;text-align:center;margin-top:6px}a{color:#73533d}main{max-width:520px;margin:8vh auto 60px;padding:0 20px}.card{background:#fff;border:1px solid #e6dcd3;padding:38px;box-shadow:0 8px 30px #4d392a0b}h1{font:normal 38px Georgia,serif;margin:0 0 14px}p{line-height:1.7;color:#74665d}label{display:block;margin:18px 0 7px;font-size:13px}input{width:100%;padding:13px;border:1px solid #cbbcaf;border-radius:2px;font:inherit}button{border:0;background:#624938;color:#fff;padding:14px 18px;cursor:pointer;font:inherit;margin-top:22px;width:100%}button:disabled{opacity:.65;cursor:wait}.linkbtn{border:0;background:transparent;color:#73533d;text-decoration:underline;width:auto;padding:0;margin:18px 0 0}.status{min-height:24px;margin-top:16px;font-size:13px}.status.error{color:#a12d2d}.status.ok{color:#286a45}.hidden{display:none} .tiles{display:grid;gap:12px;margin-top:20px}.tile{padding:17px;background:#f8f4ef;border:1px solid #e9ddd2} .tile b{display:block;margin-bottom:6px}.tile span{font-size:13px;color:#786b62} @media(max-width:600px){main{margin:35px auto}.card{padding:25px}h1{font-size:32px}header strong{font-size:21px}}

.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.admin-actions button{width:auto;margin:0}.wide{max-width:900px}.customer-table{width:100%;border-collapse:collapse;font-size:13px}.customer-table th,.customer-table td{padding:10px;border-bottom:1px solid #e6dbd1;text-align:left;overflow-wrap:anywhere}.customer-table th{background:#f8f4ef}.table-scroll{overflow-x:auto}.customer-search{margin:15px 0}.muted{font-size:13px;color:#786b62}.detail{background:#f8f4ef;padding:14px;margin:12px 0;overflow-wrap:anywhere}.detail dt{font-weight:bold;margin-top:10px}.detail dd{margin:4px 0 8px}.inlinebtn{width:auto;margin:0;padding:8px 12px}.notice{background:#fff8e9;padding:12px;border:1px solid #e8d5b5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .full{grid-column:1/-1} select{width:100%;padding:13px;border:1px solid #cbbcaf;background:white;color:inherit;font:inherit}.small-note{font-size:13px;color:#785d4a;line-height:1.6}.form-actions{display:flex;gap:10px}.form-actions button{width:auto}.secondary{background:#a68d7b}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}

#access-manager{scroll-margin-top:24px;padding:20px;border:2px solid #a68d7b;background:#faf8f5;margin:20px 0}#access-manager:focus{outline:2px solid #624938;outline-offset:3px}

.client-experience{min-width:0}.session-card{margin:0 0 22px;padding:22px;border:1px solid #e6dbd1;background:#fff}.session-featured{background:linear-gradient(145deg,#faf5ee,#fff);border-color:#cfb99f}.session-eyebrow{font-size:10px;letter-spacing:2px;color:#8b6a4b;margin:0 0 10px}.session-title{font:normal 27px/1.25 Georgia,serif;margin:0 0 14px;color:#49382e;overflow-wrap:anywhere}.session-status{display:inline-block;padding:5px 10px;border:1px solid #e2d7c8;border-radius:20px;font-size:11px;color:#6b5542;text-transform:capitalize}.session-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;margin:24px 0}.session-detail dt{font-size:11px;color:#8b7664;margin-bottom:5px}.session-detail dd{font-size:14px;color:#49382e;margin:0;line-height:1.5;overflow-wrap:anywhere}.session-guidance{border-top:1px solid #e6dbd1;padding-top:16px}.session-guidance h3{font:normal 21px Georgia,serif;margin:0 0 12px}.session-guidance ul{padding-left:19px;color:#74665d;font-size:14px;line-height:1.65}.session-guidance li{margin-bottom:9px}.client-contact{display:block;text-align:center;text-decoration:none;padding:15px;background:#624938;color:#fff;line-height:1.5}.client-contact:focus-visible{outline:3px solid #a68d7b;outline-offset:3px}.client-empty-title{font:normal 25px Georgia,serif}@media(max-width:420px){.session-card{padding:16px}.session-details{grid-template-columns:1fr}.session-title{font-size:24px}}

#contract-panel{border:2px solid #a68d7b;padding:20px;margin:20px 0;scroll-margin-top:20px}#contract-panel:focus{outline:2px solid #624938;outline-offset:3px}.contract-document{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.7 Georgia,serif;background:#faf8f5;padding:18px;border:1px solid #e6dbd1;max-height:60vh;overflow:auto}.contract-template{width:100%;font:13px/1.5 monospace;padding:12px}.contract-choice{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.contract-choice input{width:auto;flex-shrink:0;margin-top:4px}.contract-hash{overflow-wrap:anywhere;font-size:11px}#contract-panel textarea{width:100%;min-height:75px;font:inherit;padding:12px;border:1px solid #cbbcaf}#contract-panel fieldset{margin-top:18px;border:1px solid #cbbcaf}#contract-panel .form-grid{display:block}.session-contract{background:#a68d7b;margin-top:10px}.customer-table .inlinebtn{margin:3px}@media(max-width:420px){#contract-panel{padding:12px}.contract-document{padding:12px}}

#contract-status{position:sticky;top:10px;z-index:2;background:#fff;padding:12px;border:1px solid #e6dbd1;box-shadow:0 3px 12px #49382e12}#contract-status.error{border-color:#a12d2d;background:#fff5f3}#contract-panel [aria-invalid="true"]{border:2px solid #a12d2d;background:#fff5f3}

/* Agendamentos: dados legíveis e ações separadas, inclusive no celular. */
main:has(#account-view:not(.hidden)){max-width:1040px;margin-top:36px}
#booking-list-results{overflow:visible}
.booking-cards{display:grid;gap:18px;margin-top:18px}
.booking-card{min-width:0;padding:24px;border:1px solid #e6dbd1;border-radius:10px;background:#fff;box-shadow:0 3px 12px #49382e08}
.booking-number{margin:0 0 5px;font-size:12px;color:#786b62}
.booking-card h3{margin:0;font:normal 25px/1.3 Georgia,serif;overflow-wrap:break-word}
.booking-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px;margin:24px 0}
.booking-details dt{font-size:12px;color:#786b62;margin-bottom:6px}
.booking-details dd{margin:0;font-size:15px;line-height:1.5;overflow-wrap:break-word}
.booking-contract{display:inline-block;padding:5px 10px;border-radius:6px;background:#f4ede4;color:#684d34;font-size:13px}
.booking-contract.accepted{background:#e9f4ed;color:#286a45}
.booking-actions{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid #e6dbd1;padding-top:18px}
.booking-actions button{width:auto;min-width:170px;margin:0;border-radius:5px;line-height:1.4;padding:12px 18px;white-space:normal;word-break:normal}
.booking-actions .secondary{background:#f8f4ef;color:#624938;border:1px solid #cbbcaf}
.booking-actions button:focus-visible{outline:3px solid #a68d7b;outline-offset:3px}
@media(max-width:600px){main:has(#account-view:not(.hidden)){margin-top:24px}.booking-card{padding:18px}.booking-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking-actions{flex-direction:column}.booking-actions button{width:100%;min-width:0}.admin-actions button{flex:1 1 160px}}
@media(max-width:360px){.booking-details{grid-template-columns:1fr}}

#gallery-panel{border:1px solid #cbbcaf;border-radius:10px;padding:24px;margin:24px 0;scroll-margin-top:20px}#gallery-panel:focus{outline:2px solid #a68d7b;outline-offset:3px}
#gallery-status{padding:12px;background:#faf8f5;overflow-wrap:break-word}#gallery-status.error{border:1px solid #a12d2d;background:#fff5f3}
.gallery-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-bottom:24px}.gallery-config input,.gallery-config select{margin-top:8px}
#gallery-panel input[type=checkbox]{display:block;width:22px;height:22px;margin-top:10px;accent-color:#624938}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.gallery-photo{min-width:0;border:1px solid #e6dbd1;border-radius:8px;overflow:hidden;background:#fff}.gallery-photo img{display:block;width:100%;height:230px;object-fit:contain;background:#f4efe9}.gallery-photo p{margin:10px;font-size:12px;overflow-wrap:anywhere}.gallery-photo button{margin:0;border-radius:0;font-size:14px;min-height:48px}.gallery-heart[aria-pressed=true]{background:#8b3d50}.gallery-count{font-weight:bold;background:#f8f4ef;padding:14px;border:1px solid #e6dbd1}.gallery-total{font-weight:bold;font-size:20px;color:#49382e}.gallery-filenames{font-size:13px;line-height:1.8;max-height:280px;overflow:auto;overflow-wrap:anywhere;padding-left:22px}#gallery-panel .client-contact{margin-top:18px}#gallery-panel section{margin-top:24px}.session-gallery{background:#624938;margin-top:12px}
@media(max-width:700px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-config{grid-template-columns:1fr}.gallery-photo img{height:190px}#gallery-panel{padding:16px}}
@media(max-width:400px){.gallery-grid{grid-template-columns:1fr}.gallery-photo img{height:260px}}
.gallery-offer{padding:16px;border:1px solid #d9bd91;background:#fff9ee;border-radius:8px;color:#684d34}
.gallery-photo img[role=button]{cursor:zoom-in}.gallery-photo img:focus-visible{outline:3px solid #a68d7b;outline-offset:-3px}.gallery-zoom{max-width:94vw;max-height:94vh;padding:16px;border:1px solid #cbbcaf;border-radius:8px;background:#fff;color:#49382e}.gallery-zoom::backdrop{background:#21170fc9}.gallery-zoom img{display:block;max-width:85vw;max-height:70vh;object-fit:contain;margin:auto}.gallery-zoom p{margin:10px 0;overflow-wrap:anywhere}.gallery-zoom button{margin-top:8px}

#gallery-status{position:sticky;top:10px;z-index:2;box-shadow:0 3px 12px #49382e12}#gallery-panel [aria-invalid=true]{border:2px solid #a12d2d;background:#fff5f3}

.gallery-delivery{padding:20px;border:1px solid #b5cfbc;border-radius:8px;background:#f0f8f2;margin-bottom:24px}.gallery-delivery h3{margin:0;color:#286a45}.gallery-delivery .client-contact{background:#286a45;border-radius:5px}

.booking-search-bar{display:grid;grid-template-columns:2fr 1.5fr auto;gap:14px;align-items:end;margin:20px 0 10px}.booking-search-bar label{margin:0}.booking-search-bar input,.booking-search-bar select{margin-top:8px}.booking-search-bar button{margin:0;width:auto;border-radius:3px}.booking-card.hidden{display:none}@media(max-width:700px){.booking-search-bar{grid-template-columns:1fr}.booking-search-bar button{width:100%}}

#operations-panel{padding:24px;border:1px solid #cbbcaf;border-radius:10px;margin:24px 0;scroll-margin-top:20px}#operations-panel:focus{outline:2px solid #a68d7b;outline-offset:3px}.service-block{padding:20px;border:1px solid #e6dbd1;border-radius:8px;margin:24px 0;background:#faf8f5}#operations-panel textarea{width:100%;padding:12px;font:inherit;border:1px solid #cbbcaf}#operations-status{background:#fff;padding:12px;position:sticky;top:10px;z-index:2;overflow-wrap:anywhere}.customer-table{min-width:640px}.customer-table th,.customer-table td{overflow-wrap:normal;word-break:normal}.customer-table td{overflow-wrap:break-word}input:read-only{background:#f4efe9}@media(max-width:600px){#operations-panel{padding:15px}.service-block{padding:15px}.admin-actions{display:grid;grid-template-columns:1fr 1fr}.admin-actions button{width:100%;padding:12px;font-size:13px}}

.hidden{display:none!important}
