:root{--bg:#f0e9df;--surface:#fff;--text:#4d524f;--text-h:#191c1a;--muted:#7a756e;--border:#cfb79f;--accent:#4c7972;--accent-hover:#3c6159;--accent-bg:#4c79721f;--sand:#cfb79f;--clay:#915a3c;--clay-bg:#915a3c24;--danger:#b42318;--danger-bg:#b4231814;--info-bg:#4c79721a;--radius:8px;--shadow:0 1px 2px #0000000d, 0 4px 12px #0000000a;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;--serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;font:15px/1.5 var(--sans);color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{color:var(--text-h);margin:0;font-size:22px;font-weight:600}p{margin:0 0 12px}button,input,select{font:inherit;color:inherit}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:13px}.button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-h);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.button:hover:not(:disabled){border-color:var(--muted)}.button:disabled{opacity:.6;cursor:default}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button.small{padding:4px 10px;font-size:13px}.form{flex-direction:column;gap:14px;display:flex}.field{color:var(--text-h);flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.field input,.field select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:8px 10px;font-size:15px;font-weight:400}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:-1px}.password-wrap{display:flex;position:relative}.password-wrap input{flex:1;min-width:0;padding-right:44px}.password-toggle{border-radius:var(--radius);width:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;bottom:0;right:0}.password-toggle:hover{color:var(--text-h)}.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.checks{flex-direction:row;align-items:flex-end;gap:18px;padding-bottom:8px}.check{align-items:center;gap:6px;font-weight:400;display:inline-flex}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.span-2{grid-column:span 2}@media (width<=800px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.grid{grid-template-columns:1fr}.span-2{grid-column:auto}}.actions{flex-wrap:wrap;gap:8px;display:flex}.alert{border-radius:var(--radius);margin:0;padding:10px 12px;font-size:14px}.alert.error{background:var(--danger-bg);color:var(--danger)}.alert.info{background:var(--info-bg);color:var(--text-h)}.centered{place-items:center;min-height:100svh;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:12px;padding:28px}.card h1{margin-bottom:16px}.brand{color:var(--accent);align-items:center;gap:10px;margin:0;text-decoration:none;display:inline-flex}.brand-logo{flex:none;width:40px;height:40px}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-name{font-family:var(--serif);letter-spacing:.03em;color:var(--text-h);font-size:23px;font-weight:600;line-height:1}.brand-sub{letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-size:10px;font-weight:600}.card .brand{margin-bottom:18px}.tabs{background:var(--bg);border-radius:var(--radius);gap:4px;margin-bottom:18px;padding:4px;display:flex}.tab{cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:6px}.tab.active{background:var(--surface);color:var(--text-h);box-shadow:var(--shadow);font-weight:600}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:12px 24px;display:flex}.nav{flex:1 0 100%;order:3;gap:4px;min-width:0;display:flex;position:relative}.nav-link{border-radius:var(--radius);white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;padding:6px 12px}.nav-link.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.societe-select{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.societe-select select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-h);max-width:240px;padding:6px 8px}.user{align-items:center;gap:10px;margin-left:auto;font-size:14px;display:flex}.user-name{color:var(--text-h)}.badge{background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.content{max-width:1200px;margin:0 auto;padding:24px}.nav-more{flex:none;position:relative}.nav-toggle{border-radius:var(--radius);color:var(--text);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;padding:6px 12px;font-size:15px;line-height:1.5}.nav-toggle:hover{background:var(--accent-bg)}.nav-toggle[aria-expanded=true]{background:var(--accent-bg);color:var(--accent)}.nav-dropdown{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:190px;box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.societe-select,.user{flex:none}@media (width<=900px){.nav-dropdown{left:0;right:auto}.user-name{display:none}}@media (width<=600px){.topbar,.content{padding-inline:16px}.brand-name{font-size:19px}.brand-logo{width:34px;height:34px}}.page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.empty{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:12px;padding:32px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px}.table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:600}.table tbody tr:last-child td{border-bottom:0}.table td:first-child{color:var(--text-h);font-weight:500}.table .num{text-align:right;font-variant-numeric:tabular-nums}.row-actions{text-align:right}.status{background:var(--bg);color:var(--text);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.status-active{color:#15803d;background:#16a34a1f}.status-occupied{color:#1d4ed8;background:#2563eb1f}.status-maintenance,.status-construction{background:var(--clay-bg);color:var(--clay)}.status-blocked,.status-contract_terminated{background:var(--danger-bg);color:var(--danger)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a.button,a.nav-link{text-decoration:none}a.nav-link{color:inherit}a.nav-link.active{color:var(--accent)}a.button.primary{color:#fff}.back-link{margin-bottom:12px;font-size:14px;display:inline-block}.page-header h1{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.field textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:inherit;resize:vertical;padding:8px 10px;font-weight:400}.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.field select:disabled{opacity:.7}.span-4{grid-column:1/-1}.details{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px 24px;margin:0;display:grid}.details dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:2px;font-size:12px;font-weight:600}.details dd{color:var(--text-h);margin:0}.details .wide{grid-column:1/-1}.pre{white-space:pre-wrap}.page-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.page-tab{white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px}.page-tab.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.link-list{margin:0;padding:0;list-style:none}.link-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.link-list li:last-child{border-bottom:0}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.filters .field select,.filters .field input{padding:6px 8px;font-size:14px}.panel+.panel{margin-top:16px}.panel-title{color:var(--text-h);margin:0 0 12px;font-size:15px;font-weight:600}.fieldset{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;margin:0;padding:14px 16px 16px;display:flex}.fieldset legend{color:var(--text-h);padding:0 6px;font-size:13px;font-weight:600}.segmented{flex-wrap:wrap;gap:18px;display:flex}.computed{color:var(--text-h);margin:0;padding:8px 0;font-size:15px;font-weight:400}.computed.invalid{color:var(--danger)}.alert.warning{background:var(--clay-bg);color:var(--text-h);border-left:3px solid #d97706}.alert ul{margin:6px 0;padding-left:20px}.status-inquiry,.status-checked_out,.status-inactive{background:var(--bg);color:var(--muted)}.status-pending,.status-partial{background:var(--clay-bg);color:var(--clay)}.status-confirmed{color:#1d4ed8;background:#2563eb1f}.status-checked_in,.status-paid{color:#15803d;background:#16a34a1f}.status-blocked{color:#6f6a63;background:#7a756e29}.status-cancelled,.status-no_show,.status-refunded{background:var(--danger-bg);color:var(--danger)}.calendar{--cal-label:170px;--cal-lane:28px;--cal-col:30px;--cal-band:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px;min-height:320px;max-height:calc(100vh - 230px);overflow:auto}@media (width<=600px){.calendar{--cal-label:110px}}.cal-row{grid-auto-rows:var(--cal-lane);border-bottom:1px solid var(--border);row-gap:4px;padding:6px 0;display:grid}.cal-row:last-child{border-bottom:0}.cal-head{z-index:3;background:var(--surface);grid-auto-rows:auto;padding:0;position:sticky;top:0}.cal-year .cal-months{z-index:4;top:0}.cal-year .cal-head:not(.cal-months){top:var(--cal-band)}.cal-head .cal-label{z-index:5}.cal-label{z-index:2;background:var(--surface);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;grid-column:1;align-items:center;padding:0 12px;font-size:13px;font-weight:500;display:flex;position:sticky;left:0;overflow:hidden}.cal-head .cal-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:600}.cal-day{min-width:var(--cal-col);border-left:1px solid var(--border)}.calendar.cal-year{--cal-col:22px}.cal-year .cal-row{min-width:max-content}.cal-track{background-image:repeating-linear-gradient(to right, var(--border) 0 1px, transparent 1px var(--cal-col)), repeating-linear-gradient(to right, var(--bg) 0 var(--cal-col), transparent var(--cal-col) calc(var(--cal-col) * 6), var(--bg) calc(var(--cal-col) * 6) calc(var(--cal-col) * 7))}.cal-year .cal-head .cal-day span{display:none}.cal-year .cal-head .cal-day strong{font-size:11px;font-weight:500}.cal-year .cal-bar{padding:0 4px;font-size:11px}.cal-months{border-bottom:0}.cal-monthband{height:var(--cal-band);border-left:1px solid var(--border);background:var(--bg);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.cal-day.weekend{background:var(--bg)}.cal-day.today{background:var(--accent-bg)}.cal-head .cal-day{color:var(--muted);flex-direction:column;align-items:center;padding:6px 0;font-size:11px;display:flex}.cal-head .cal-day strong{color:var(--text-h);font-size:13px}.cal-head .cal-day.today strong{color:var(--accent)}.cal-bar{z-index:1;text-align:center;white-space:nowrap;text-overflow:ellipsis;border:1px solid #00000073;border-radius:6px;justify-content:center;align-items:center;min-width:0;margin:0 2px;padding:0 8px;font-size:12px;font-weight:600;text-decoration:none;display:flex;overflow:hidden}.cal-bar.status-confirmed{background:#2563eb42}.cal-bar.status-checked_in{background:#16a34a42}.cal-bar.status-pending{background:#915a3c42}.cal-bar.status-blocked{background:#7a756e4d}.cal-bar.status-inquiry,.cal-bar.status-checked_out{background:#7a756e29}.cal-bar:hover{filter:brightness(.95);text-decoration:none}.cal-bar.clipped-start{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.cal-bar.clipped-end{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.segmented{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:3px;display:inline-flex}.segment{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 12px;font-size:13px;font-weight:500}.segment.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow);font-weight:600}.cal-year-select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-h);padding:5px 8px;font-size:14px;font-weight:600}.cal-month{text-align:center;min-width:96px;color:var(--text-h);text-transform:capitalize}.cal-legend{flex-wrap:wrap;gap:8px 16px;margin:12px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.cal-legend li{align-items:center;gap:6px;display:flex}.cal-swatch{border-radius:4px;width:14px;height:14px}a.page-tab{color:inherit;text-decoration:none}a.page-tab.active{color:var(--accent)}.section-title{color:var(--text-h);margin:24px 0 10px;font-size:15px;font-weight:600}.page-header+.section-title,.filters+.section-title{margin-top:0}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}@media (width<=600px){.stats{grid-template-columns:1fr}}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:600}.stat-value{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.amount-revenu{color:#15803d}.amount-depense{color:var(--clay)}.balance{color:var(--text-h);font-weight:600}.balance.negative{color:var(--danger)}.status-revenu{color:#15803d;background:#16a34a1f}.status-depense{background:var(--clay-bg);color:var(--clay)}.table tfoot td{border-top:1px solid var(--border);color:var(--text-h);font-weight:600}.table td.cell-notes{text-overflow:ellipsis;max-width:220px;overflow:hidden}.small-text{margin:0;font-size:13px}.button.danger{color:var(--danger)}.button.danger:hover:not(:disabled){border-color:var(--danger)}.table-wrap+.section-title,.stats+.alert,.alert+.table-wrap{margin-top:16px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:24px 0 10px;font-size:14px;display:flex}.section-heading .section-title{margin:0}.page-header+.section-heading{margin-top:0}.stat-hint{color:var(--muted);font-size:12px}.status-counts{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.status-counts li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 12px;display:flex}.status-counts strong{color:var(--text-h);font-variant-numeric:tabular-nums}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dashboard-grid .panel+.panel{margin-top:0}@media (width<=800px){.dashboard-grid{grid-template-columns:1fr}}.push-right{margin-left:auto}.status-ticket-new,.status-priority-high{background:var(--clay-bg);color:var(--clay)}.status-ticket-assigned,.status-ticket-in_progress{color:#1d4ed8;background:#2563eb1f}.status-ticket-waiting,.status-priority-low{background:var(--bg);color:var(--muted)}.status-ticket-completed{color:#15803d;background:#16a34a1f}.status-ticket-cancelled,.status-priority-urgent{background:var(--danger-bg);color:var(--danger)}.status-priority-normal{background:var(--bg);color:var(--text)}.suggestion{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.panel-heading{margin:0 0 12px}.panel-heading .panel-title{margin:0}.status-task-todo{background:var(--clay-bg);color:var(--clay)}.status-task-in_progress{color:#1d4ed8;background:#2563eb1f}.status-task-done{color:#15803d;background:#16a34a1f}.status-task-cancelled{background:var(--danger-bg);color:var(--danger)}.overdue{color:var(--danger);font-weight:600}.attachment-upload{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.attachment-upload .alert{margin:0;padding:4px 10px}.attachment-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.attachment-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.attachment-list li{flex-direction:column;align-items:center;gap:4px;display:flex}.attachment-thumb{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);justify-content:center;align-items:center;width:96px;height:96px;font-size:12px;display:flex;overflow:hidden}.attachment-thumb img{object-fit:cover;width:100%;height:100%}.page-header{flex-wrap:wrap}.button.large{padding:14px 22px;font-size:16px}.receipt-photo{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px 0;display:flex}.receipt-saved{margin-bottom:12px}.receipt-preview{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.receipt-preview .attachment-thumb{width:140px;height:140px}.receipt-preview-info{flex-direction:column;align-items:flex-start;gap:8px;display:flex}@media (width<=600px){.receipt-photo .button.large{white-space:normal;width:100%}.receipt-form .field input,.receipt-form .field select{font-size:16px}.receipt-form .actions{background:var(--surface);border-top:1px solid var(--border);border-radius:0 0 12px 12px;margin:0 -20px -20px;padding:12px 20px;position:sticky;bottom:0}.receipt-form .actions .button{flex:auto}}.report{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.report-header{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding-bottom:16px;display:flex}.report-logo{flex:none;width:52px;height:52px}.report-brand{font-family:var(--serif);color:var(--text-h);margin:0;font-size:18px;font-weight:600}.report-title{color:var(--text-h);margin:2px 0;font-size:20px;font-weight:600}.report-meta{color:var(--muted);margin:0;font-size:13px}.report-totals{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:20px 0;display:grid}.report-total{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.report-total span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px}.report-total strong{font-size:20px}.report-charts{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:8px;display:grid}.chart{border:1px solid var(--border);border-radius:var(--radius);padding:14px}.chart-title{color:var(--text-h);margin:0 0 12px;font-size:14px;font-weight:600}.chart-body{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.chart-pie{flex:none;width:128px;height:128px}.chart-legend{flex:150px;margin:0;padding:0;font-size:13px;list-style:none}.chart-legend li{align-items:center;gap:8px;padding:3px 0;display:flex}.chart-dot{border-radius:2px;flex:none;width:10px;height:10px}.chart-label{flex:auto}.chart-value{color:var(--muted);white-space:nowrap;flex:none}.report-footer{border-top:1px solid var(--border);color:var(--muted);margin:20px 0 0;padding-top:12px;font-size:12px}@media print{@page{margin:14mm}.topbar,.no-print,.page-tabs,.filters{display:none!important}body,.content{background:#fff;max-width:none;margin:0;padding:0}.report{border:0;border-radius:0;padding:0}.report-charts{grid-template-columns:1fr 1fr}.chart,.table-wrap{break-inside:avoid}.table-wrap{overflow:visible}}
