
.tah-pms-admin{max-width:1450px}
.tah-pms-admin h1{font-size:28px;margin-bottom:4px}
.tah-sub{color:#646970;margin:0 0 22px}
.tah-kpis{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:14px;margin:24px 0}
.tah-kpi{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:20px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.tah-kpi span{display:block;color:#646970;font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.tah-kpi strong{font-size:25px;line-height:1.2}
.tah-panel{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:22px;margin:20px 0}
.tah-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.tah-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.tah-tabs a{background:#fff;border:1px solid #dcdcde;padding:8px 12px;border-radius:20px;text-decoration:none}
.tah-tabs a.active{background:#1d2327;color:#fff;border-color:#1d2327}
.tah-table-wrap{overflow:auto}
.tah-table td,.tah-table th{vertical-align:middle}
.tah-pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#f0f0f1;font-size:12px;font-weight:600}
.status-checked_in{background:#d9f5e3;color:#116329}.status-confirmed{background:#e6f0ff;color:#124c9a}.status-cancelled{background:#fde7e7;color:#9d1c1c}.status-checked_out{background:#eee;color:#555}
.pay-paid{background:#d9f5e3;color:#116329}.pay-partial{background:#fff0c2;color:#6f4a00}.pay-unpaid{background:#fde7e7;color:#9d1c1c}
.tah-form label{display:flex;flex-direction:column;gap:7px;font-weight:600}
.tah-form input,.tah-form select,.tah-form textarea{width:100%;max-width:none}
.tah-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.tah-hk-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-top:20px}
.tah-hk-card{background:#fff;border:1px solid #dcdcde;border-top:5px solid #72aee6;border-radius:10px;padding:16px}
.tah-hk-card.hk-dirty{border-top-color:#d63638}.tah-hk-card.hk-clean{border-top-color:#00a32a}.tah-hk-card.hk-inspected{border-top-color:#8c8f94}.tah-hk-card.hk-maintenance{border-top-color:#dba617}
.tah-hk-card h3{font-size:22px;margin:0 0 3px}.tah-hk-card p{color:#646970;margin:0 0 12px}
.tah-hk-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.tah-hk-actions a{font-size:11px;text-decoration:none;border:1px solid #dcdcde;padding:5px 7px;border-radius:6px}
.tah-date-filter{display:flex;gap:8px;align-items:center;margin-top:15px}
@media(max-width:1100px){.tah-kpis{grid-template-columns:repeat(2,1fr)}.tah-hk-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.tah-kpis,.tah-grid,.tah-hk-grid{grid-template-columns:1fr}}


/* ===== V2 Planning ===== */
.tah-planning-wrap{overflow:auto;background:#fff;border:1px solid #dcdcde;border-radius:10px;margin-top:18px}
.tah-planning{border-collapse:separate;border-spacing:0;min-width:1200px;width:100%}
.tah-planning th,.tah-planning td{border-right:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;padding:0;min-width:105px;height:64px;text-align:center}
.tah-planning thead th{position:sticky;top:32px;background:#f6f7f7;z-index:3;padding:8px}
.tah-planning .room-col{position:sticky;left:0;background:#fff;z-index:4;min-width:170px;text-align:left;padding:10px}
.tah-planning thead .room-col{z-index:5;background:#f6f7f7}
.tah-planning th span{display:block;color:#646970;font-size:11px;text-transform:uppercase}
.tah-planning th strong{display:block;font-size:13px}
.tah-day-cell{position:relative;background:#fff}
.tah-empty-cell{color:#b0b0b0;font-size:11px}
.tah-stay-block{height:100%;min-height:64px;padding:8px;background:#e6f0ff;color:#124c9a;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left}
.tah-stay-block.status-checked_in{background:#d9f5e3;color:#116329}
.tah-stay-block.status-pending{background:#fff0c2;color:#6f4a00}
.tah-stay-block strong{font-size:12px;max-width:95px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tah-stay-block span{font-size:10px;opacity:.8}

/* Modal paiement */
.tah-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:99999}
.tah-modal.open{display:flex}
.tah-modal-box{background:#fff;width:min(460px,92vw);padding:24px;border-radius:12px;position:relative}
.tah-modal-close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:26px;cursor:pointer}
.tah-modal-box form{display:grid;gap:14px}
.tah-modal-box label{display:flex;flex-direction:column;gap:6px;font-weight:600}
.tah-mini-form{display:grid;gap:8px;margin-top:10px;min-width:220px}
.tah-mini-form textarea,.tah-mini-form select{width:100%}

/* Rapports */
.tah-pms-admin .tah-kpis{grid-template-columns:repeat(6,minmax(150px,1fr))}
@media(max-width:1200px){.tah-pms-admin .tah-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.tah-pms-admin .tah-kpis{grid-template-columns:1fr}}


/* ===== PMS V2.2 ===== */
.tah-frontdesk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tah-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.tah-panel-head h2{margin:0}
.tah-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:999px;background:#1d2327;color:#fff;font-weight:700}
.tah-fd-card{border:1px solid #e0e0e0;border-radius:9px;padding:14px;margin:10px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:#fff}
.tah-fd-card>div:first-child{display:flex;flex-direction:column;gap:4px}
.tah-fd-card span{color:#646970;font-size:12px}
.tah-fd-meta{display:flex;flex-direction:column;gap:8px;align-items:flex-end;text-align:right}
.tah-assign{display:inline-block;position:relative}
.tah-assign summary{list-style:none;cursor:pointer}
.tah-assign summary::-webkit-details-marker{display:none}
.tah-assign-box{position:absolute;z-index:50;right:0;top:36px;width:280px;background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:12px;box-shadow:0 8px 30px rgba(0,0,0,.15)}
.tah-assign-box select{width:100%;margin-bottom:8px}
.tah-activity-list{display:grid;gap:10px}
.tah-activity-item{display:grid;grid-template-columns:150px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}
.tah-activity-item span{color:#50575e}
.tah-activity-item small{color:#8c8f94}
.tah-sync-status{padding:14px 16px!important}
@media(max-width:1100px){.tah-frontdesk-grid{grid-template-columns:1fr}.tah-fd-meta{align-items:flex-start;text-align:left}}
@media(max-width:700px){.tah-fd-card{flex-direction:column}.tah-activity-item{grid-template-columns:1fr}.tah-assign-box{left:0;right:auto}}

/* V3 Production — Front-end PMS Portal */
.tah-pms-portal{max-width:1440px;margin:0 auto;padding:24px;background:#f4f2ed;color:#111;font-family:Arial,sans-serif}.tah-portal-head{display:flex;justify-content:space-between;align-items:center;background:#0d0e0e;color:#fff;border-radius:16px;padding:24px 28px}.tah-portal-head span{font-size:11px;letter-spacing:.15em;color:#d3a438;font-weight:800}.tah-portal-head h2{margin:5px 0;font-size:28px}.tah-portal-head p{margin:0;color:#aaa}.tah-live{font-size:12px;color:#d3a438}.tah-portal-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.tah-portal-kpis>div,.tah-portal-panel{background:#fff;border:1px solid #dedbd3;border-radius:12px;padding:18px}.tah-portal-kpis span,.tah-portal-kpis strong{display:block}.tah-portal-kpis span{font-size:11px;color:#777}.tah-portal-kpis strong{font-size:24px;margin-top:8px}.tah-portal-nav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.tah-portal-nav a{background:#111;color:#fff;text-decoration:none;padding:10px 14px;border-radius:8px;font-size:12px;font-weight:700}.tah-portal-nav a:hover{background:#c9972e;color:#111}.tah-portal-panel h3{margin-top:0}.tah-pms-login{max-width:520px;margin:60px auto;padding:30px;background:#fff;border:1px solid #ddd;border-radius:14px}.tah-pms-login input{width:100%;box-sizing:border-box}.tah-pms-login .button{background:#111;color:#fff;border:0;padding:10px 16px}.tah-pms-portal .tah-table-wrap{overflow:auto}.tah-pms-portal table{width:100%;border-collapse:collapse}.tah-pms-portal th,.tah-pms-portal td{text-align:left;padding:10px;border-bottom:1px solid #eee;font-size:12px}
@media(max-width:800px){.tah-portal-head{align-items:flex-start;flex-direction:column;gap:12px}.tah-portal-kpis{grid-template-columns:1fr 1fr}.tah-pms-portal{padding:12px}}@media(max-width:480px){.tah-portal-kpis{grid-template-columns:1fr}}


/* ===== V3.1 Bilingual FR / EN language switcher ===== */
.tah-pms-lang-switcher{display:flex;align-items:center;gap:6px;margin:0 0 14px auto;padding:6px 8px;background:#fff;border:1px solid #dcdcde;border-radius:10px;width:max-content;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.tah-pms-lang-label{font-size:11px;font-weight:700;color:#646970;margin-right:2px}
.tah-pms-lang-btn{border:1px solid #dcdcde;background:#fff;color:#1d2327;padding:6px 9px;border-radius:7px;cursor:pointer;font-size:12px;font-weight:700;line-height:1}
.tah-pms-lang-btn:hover{border-color:#c9972e}
.tah-pms-lang-btn.active{background:#111;color:#fff;border-color:#111}
.tah-portal-head .tah-pms-lang-switcher{margin:0 0 0 auto;background:#1b1b1b;border-color:#333;box-shadow:none}
.tah-portal-head .tah-pms-lang-label{color:#aaa}
.tah-portal-head .tah-pms-lang-btn{background:#111;border-color:#444;color:#fff}
.tah-portal-head .tah-pms-lang-btn.active{background:#d3a438;color:#111;border-color:#d3a438}
@media(max-width:800px){.tah-portal-head .tah-pms-lang-switcher{margin:6px 0 0 0}.tah-pms-lang-switcher{flex-wrap:wrap}}
