:root{--dark:#172033;--muted:#667085;--line:#e6e9ef;--bg:#f6f7fb;--paper:#fff;--accent:#8b5e3c;--green:#0f766e;--red:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--dark)}a{color:inherit}.admin-layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#111827;color:#e5e7eb;padding:22px;position:sticky;top:0;height:100vh}.sidebar h1{font-size:1.05rem;margin:0 0 20px}.sidebar a{display:block;text-decoration:none;padding:11px 12px;border-radius:12px;color:#cbd5e1;font-weight:800;margin-bottom:4px}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.1);color:#fff}.main{padding:28px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.topbar h2{font-size:2rem;margin:0}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 14px 35px rgba(16,24,40,.07);margin-bottom:18px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}label{display:grid;gap:7px;font-weight:800;font-size:.9rem}input,select,textarea{border:1px solid #d0d5dd;border-radius:13px;padding:11px 12px;font:inherit;width:100%;background:#fff}textarea{min-height:130px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:999px;padding:10px 15px;font-weight:900;cursor:pointer;background:#172033;color:#fff}.btn.secondary{background:#fff;color:#172033;border:1px solid var(--line)}.btn.danger{background:var(--red)}.btn.green{background:var(--green)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8fafc}.badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:900;background:#eef2ff;color:#3730a3}.status-confirmed{background:#dcfce7;color:#166534}.status-cancelled,.status-rejected{background:#fee2e2;color:#991b1b}.status-pending{background:#fff7ed;color:#9a3412}.status-quote_requested{background:#e0f2fe;color:#075985}.status-quote_sent{background:#ede9fe;color:#5b21b6}.status-quote_rejected,.status-quote_expired{background:#f3f4f6;color:#4b5563}.flash{padding:13px 15px;border-radius:14px;margin-bottom:16px;font-weight:800}.flash-success{background:#dcfce7;color:#166534}.flash-error{background:#fee2e2;color:#991b1b}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.metric strong{font-size:2rem}.small{color:var(--muted);font-size:.88rem}.login{display:grid;place-items:center;min-height:100vh;padding:20px}.login .panel{width:min(440px,100%)}.gallery-admin{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-admin img{width:100%;height:150px;object-fit:cover;border-radius:16px}@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.main{padding:18px}.grid.two,.grid.three,.cards,.gallery-admin{grid-template-columns:1fr}.topbar{display:block}}

.grid.four{grid-template-columns:repeat(4,1fr)}.money-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.money-card{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:16px}.money-card span{display:block;color:var(--muted);font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.money-card strong{font-size:1.55rem}.money-card.paid{background:#ecfdf3;border-color:#bbf7d0}.money-card.due{background:#fff7ed;border-color:#fed7aa}.danger-text{color:#b42318}.template-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.template-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(16,24,40,.06)}.template-preview{height:150px;display:grid;place-items:end start;padding:18px;color:#fff;background:linear-gradient(135deg,#172033,#8b5e3c)}.template-preview strong{font-size:1.25rem}.template-card .body{padding:16px}.template-current{outline:4px solid rgba(15,118,110,.25)}.preview-elegance{background:linear-gradient(135deg,#fffaf0,#b98655);color:#172033}.preview-mountain{background:linear-gradient(135deg,#0f172a,#0f766e)}.preview-boutique{background:linear-gradient(135deg,#111827,#be123c)}@media(max-width:900px){.grid.four,.money-grid,.template-grid{grid-template-columns:1fr}}

.code-card textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem;background:#0f172a;color:#e5e7eb;border-color:#1e293b}.btn[disabled]{opacity:.45;cursor:not-allowed}.sidebar nav{max-height:calc(100vh - 110px);overflow:auto}
.actions.compact{margin-top:0;gap:5px}.actions.compact .btn{padding:7px 10px;font-size:.82rem}.planning-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:18px}.planning-table{border-collapse:collapse;min-width:980px;width:100%;background:#fff}.planning-table th,.planning-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:8px;min-width:96px;text-align:center;vertical-align:middle}.planning-table th{background:#f8fafc}.planning-table .room-col{position:sticky;left:0;z-index:2;background:#fff;text-align:left;min-width:170px}.planning-table thead .room-col{background:#f8fafc;z-index:3}.planning-table td.free{background:#f0fdf4;color:#166534;font-size:.78rem}.planning-table td.occupied{background:#fff7ed;color:#9a3412;font-weight:800}.planning-table td.occupied a{text-decoration:none}.bar{height:18px;background:#e6e9ef;border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:#0f766e;border-radius:999px}.translation-block{border:1px solid var(--line);border-radius:18px;padding:16px;margin:14px 0;background:#f8fafc}.reviews-box{overflow:hidden}.reviews-box iframe{max-width:100%}
@media(max-width:900px){.planning-table{font-size:.82rem}.planning-table th,.planning-table td{min-width:86px;padding:6px}.planning-table .room-col{min-width:140px}.actions.compact{display:grid}.actions.compact .btn{width:100%}}

.nested-panel{background:#f8fafc;box-shadow:none;margin-top:16px}.current-image-row{display:flex;align-items:center;gap:14px;margin:12px 0;padding:12px;background:#fff;border:1px solid var(--line);border-radius:16px}.current-image-row img{width:180px;height:95px;object-fit:cover;border-radius:12px}.page-images-admin{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.page-images-admin img{width:100%;height:130px;object-fit:cover;border-radius:14px}@media(max-width:900px){.current-image-row{display:block}.current-image-row img{width:100%;height:180px}.page-images-admin{grid-template-columns:1fr}}

.logo-admin-preview{display:flex;align-items:center;gap:14px;margin:12px 0;padding:12px;background:#fff;border:1px solid var(--line);border-radius:16px}.logo-admin-preview img{max-width:220px;max-height:90px;width:auto;height:auto;object-fit:contain}.sidebar-logo{display:block;max-width:160px;max-height:80px;width:auto;height:auto;object-fit:contain;margin:0 0 12px;background:#fff;border-radius:14px;padding:8px}

.dashboard-cards{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.room-occupied{background:#fff7ed;color:#9a3412}.room-dirty{background:#fee2e2;color:#991b1b}.room-clean{background:#dcfce7;color:#166534}.room-maintenance{background:#e0e7ff;color:#3730a3}.inline-form{display:grid;gap:6px;min-width:210px}.inline-exemption{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;margin-bottom:6px}.print-card{max-width:1100px;margin:auto}@media print{.sidebar,.topbar,.no-print,.flash{display:none!important}.admin-layout{display:block}.main{padding:0}.panel{box-shadow:none;border:0}.table th,.table td{padding:7px;font-size:12px}.main{background:#fff}.admin-layout,body{background:#fff}.btn{display:none!important}}@media(max-width:900px){.dashboard-cards{grid-template-columns:1fr}.inline-exemption{grid-template-columns:1fr}}
