@font-face{font-family:Golos;src:url('/fonts/golos-text.ttf') format('truetype');font-weight:400 900;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{
 --ink:#292d3f;--accent:#535fc5;--accent-hover:#424dac;--paper:#f6f7fb;--line:#e6e8f0;--muted:#71768b;--white:#fff;
 --focus:#626b87;--danger-bg:#fff1f2;--danger-line:#edc5ca;--soft:#edeffc;--success:#28715c;--success-bg:#eaf5f0;--danger:#b13e4c;--warning:#825e24;--warning-bg:#fff3da;
 --font-body:Golos,system-ui,sans-serif;--font-heading:Manrope,Golos,sans-serif;
 font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--ink);background:var(--paper);scrollbar-color:#c5c9db var(--paper);scrollbar-width:thin;
}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--accent)}[hidden]{display:none!important}
::selection{background:#dce0ff;color:var(--ink)}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:#c5c9db;border-radius:8px}::-webkit-scrollbar-track{background:var(--paper)}
aside{width:254px;position:fixed;inset:0 auto 0 0;background:var(--white);border-right:1px solid var(--line);padding:38px 20px;display:flex;flex-direction:column;z-index:2}
.brand{font-family:var(--font-heading);font-size:27px;letter-spacing:-1.2px;color:var(--ink);text-decoration:none;font-weight:800;display:flex;align-items:center;gap:11px;padding:0 13px}.brand-mark{width:35px;height:35px;flex:none;color:var(--accent)}.brand span{display:block;font:10px var(--font-body);letter-spacing:.15px;color:var(--muted);margin-top:1px}.brand-word{display:block;line-height:1.2}
nav{margin-top:48px;display:grid;gap:7px}nav a{display:flex;align-items:center;gap:12px;padding:13px 15px;color:var(--muted);text-decoration:none;border-radius:10px;font-size:13px;font-weight:500;white-space:nowrap;transition:background .16s,color .16s}nav a svg{width:19px;height:19px;flex:none;stroke-width:1.6}nav a:hover{background:var(--paper);color:var(--ink)}nav a.active{background:var(--soft);color:var(--accent)}#badge:not(:empty){background:var(--accent);color:white;font-size:10px;min-width:20px;border-radius:6px;text-align:center;padding:2px 5px;margin-left:auto}aside small{margin-top:auto;display:block;padding:20px 15px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.8}aside small strong{color:var(--ink);font-weight:500}
main{margin-left:254px;padding:0 clamp(24px,4vw,64px);max-width:1800px}header{height:89px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}header>span{margin-right:auto}header time{font-variant-numeric:tabular-nums}header button.secondary{min-height:34px;padding:6px 13px;font-size:12px;background:transparent}
.heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:38px 0 30px}h1,h2,h3{font-family:var(--font-heading);line-height:1.25}h1{font-size:34px;font-weight:750;letter-spacing:-1.1px;margin:9px 0 0}h2{font-size:23px;letter-spacing:-.65px}h3{font-size:16px}#eyebrow{font-size:10px;font-weight:500;letter-spacing:1.3px;color:var(--muted);margin:0}.actions{display:flex;gap:10px}
button{border:1px solid transparent;border-radius:9px;background:var(--accent);color:var(--white);padding:11px 18px;min-height:44px;font-size:13px;font-weight:500;transition:background .16s,box-shadow .16s;white-space:nowrap}button:hover{background:var(--accent-hover);box-shadow:0 3px 9px #535fc51a}button.secondary{background:var(--white);border-color:var(--line);color:var(--ink)}button.secondary:hover{background:var(--paper);border-color:#cdd1e2;box-shadow:none}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:30px}.stat{background:var(--white);border:1px solid var(--line);padding:23px 26px 25px;border-radius:14px;position:relative}.stat span{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:8px}.stat span::before{content:'';width:7px;height:7px;background:var(--accent);border-radius:50%}.stat:nth-child(2) span::before{background:#62a48c}.stat:nth-child(3) span::before{background:#c59e67}.stat strong{display:block;font-family:var(--font-heading);font-size:32px;letter-spacing:-1px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:19px}.stat:first-child{background:var(--soft);border-color:#e0e3f8}
.panel{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 3px 12px #292d3f03}#toolbar{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;gap:16px}.search{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.search input{width:340px;background:var(--paper);border-color:transparent;font-size:12px}.search button{padding:5px 12px;background:transparent;border:0;color:var(--muted)}input,select,textarea{border:1px solid #d7dae6;border-radius:8px;padding:11px 13px;min-height:44px;background:var(--white);color:var(--ink);min-width:0;transition:border-color .16s,box-shadow .16s}input:hover,select:hover,textarea:hover{border-color:#aeb5d1}input::placeholder,textarea::placeholder{color:#858a9e}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input[type=checkbox]{min-height:auto;accent-color:var(--accent)}input[type=file]{width:100%;font-size:12px}input::file-selector-button{background:var(--soft);color:var(--accent);border:0;border-radius:5px;padding:7px 10px;margin-right:10px;font-family:inherit;cursor:pointer}textarea{resize:none;min-height:106px}fieldset{border:1px solid var(--line);border-radius:9px;padding:16px}legend{color:var(--muted);font-size:12px;padding:0 6px}
table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;font-weight:500;letter-spacing:.4px;color:var(--muted);background:#fafbfe;padding:14px 21px;white-space:nowrap}td{padding:20px 21px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}td strong{font-size:13px;font-weight:500}tbody tr:hover{background:#fcfcff}td small{display:block;color:var(--muted);font-size:11px;margin-top:6px}td button{font-size:11px;min-height:34px;padding:7px 11px;margin:3px 0}td:last-child{white-space:nowrap}.tag{display:inline-flex;align-items:center;gap:6px;background:var(--success-bg);color:var(--success);padding:5px 9px;border-radius:6px;font-size:10px;white-space:nowrap}.tag::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.waiting{background:var(--warning-bg);color:var(--warning)}.empty{text-align:center;padding:76px 24px;color:var(--muted);font-size:13px}.empty::before{content:'—';display:block;font-family:var(--font-heading);font-size:35px;color:#b8bed8;margin-bottom:12px}footer{padding:28px 0;color:var(--muted);font-size:10px;letter-spacing:.15px}
dialog{border:1px solid var(--line);border-radius:18px;width:620px;max-width:94vw;max-height:90dvh;padding:28px 32px 32px;box-shadow:0 25px 100px #292d3f30;color:var(--ink);background:var(--white)}dialog::backdrop{background:#252a4266;backdrop-filter:blur(3px)}.dialoghead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.dialoghead h2{margin:0}.dialoghead button{padding:4px 12px;min-height:36px;color:var(--muted)}#fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}#fields label{display:grid;gap:8px;font-size:12px;color:var(--muted)}#fields .wide{grid-column:1/-1}#fields fieldset label{display:inline-flex;align-items:center;margin-right:14px;color:var(--ink)}#form>#submit{margin-top:10px}#error{color:var(--danger);font-size:12px;line-height:1.6}#error:empty,#notice:empty{display:none}#notice{color:var(--success);background:var(--success-bg);padding:12px 16px;border-radius:8px;margin-bottom:18px;font-size:12px}#notice.bad{color:var(--danger);background:#fceef0}.report{padding:26px;display:flex;gap:26px;align-items:end;flex-wrap:wrap}.report label{display:grid;gap:8px;font-size:12px;color:var(--muted)}img{width:62px;height:50px;object-fit:cover;border-radius:6px}.detail{line-height:1.8;overflow-wrap:anywhere}#count{font-size:11px;color:var(--muted)}#results .report>div{flex:1;min-width:150px}#results h2{font-size:30px;margin-bottom:6px}
/* Authentication shares fonts, controls and tokens with the workspace. */
.auth-page{min-height:100dvh;display:grid;grid-template-columns:minmax(380px,46%) 1fr;background:var(--white)}.auth-story{background:var(--soft);padding:48px clamp(32px,5vw,80px);position:relative;overflow:hidden;display:flex;flex-direction:column}.auth-story .brand{padding:0}.auth-copy{margin:auto 0 16px;position:relative;z-index:1}.auth-copy .kicker{font-size:11px;letter-spacing:1.2px;color:var(--accent);margin-bottom:24px}.auth-copy h2{font-size:clamp(34px,3.3vw,50px);line-height:1.2;font-weight:650;letter-spacing:-1.8px;margin:0 0 24px}.auth-copy>p:last-child{max-width:310px;font-size:14px;line-height:1.8;color:#606987}.bed-art{width:100%;max-width:360px;height:auto;margin:24px auto 36px;color:var(--accent)}.auth-story footer{padding:0;font-size:11px;color:#626c8e}.auth-main{margin:0;padding:60px 40px;max-width:none;display:flex;align-items:center;justify-content:center}.auth-card{width:100%;max-width:360px}.auth-card .kicker{font-size:10px;letter-spacing:1.3px;color:var(--muted);margin-bottom:14px}.auth-card h1{font-size:31px;letter-spacing:-1px;margin-bottom:12px}.auth-intro{font-size:13px;color:var(--muted);margin:0 0 30px;line-height:1.7}.auth-card label{display:block;font-size:12px;color:var(--ink);font-weight:500}.auth-card input{display:block;width:100%;margin:9px 0 20px;min-height:48px;background:#fcfcfe}.auth-card #hint,.auth-card #otp p{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 22px}.auth-card #submit{width:100%;min-height:48px;margin-top:5px}.auth-card #back{margin-top:12px;width:100%}.auth-footnote{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;font-size:11px;color:var(--muted);line-height:1.8}.auth-security{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:10px;margin-top:24px}.auth-security svg{height:14px;width:14px;flex:none}
@media(min-width:1600px){.heading{margin-top:48px}.stats{margin-bottom:36px}.stat{padding:28px 30px}}
@media(max-width:1150px){aside{width:222px;padding:32px 14px}main{margin-left:222px;padding:0 28px}nav a{font-size:12px;gap:10px;padding:13px 12px}.heading{align-items:flex-start;flex-direction:column;gap:20px}.search input{width:280px}.stat{padding:20px}.stat strong{font-size:28px}.auth-main{margin:0;padding:40px 30px}.auth-story{padding:38px 32px}}
@media(max-width:760px){aside{position:static;width:100%;padding:20px 18px 12px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0;font-size:24px}.brand span,aside small{display:none}.brand-mark{width:30px;height:30px}nav{display:flex;overflow:auto;margin-top:22px;gap:4px}nav a{padding:11px 12px;flex:none}nav a svg{width:17px;height:17px}main{margin:0;padding:0 18px}header{height:64px;font-size:10px;gap:12px}header button.secondary{font-size:11px}.heading{margin:28px 0 24px}h1{font-size:29px}#eyebrow{font-size:9px}.stats{gap:9px;margin-bottom:22px}.stat{padding:16px 11px;border-radius:10px}.stat span{font-size:10px;gap:5px}.stat span::before{width:5px;height:5px}.stat strong{font-size:22px;letter-spacing:-.7px;margin-top:15px}#toolbar{padding:17px;align-items:flex-start;flex-direction:column;gap:10px}.search{width:100%;gap:7px}.search input{width:100%;min-width:0}td,th{padding-left:16px;padding-right:16px}.actions button{font-size:12px}.report{padding:20px;gap:18px}.auth-page{grid-template-columns:1fr}.auth-story{padding:24px;background:var(--soft)}.auth-copy,.bed-art,.auth-story footer{display:none}.auth-main{padding:44px 26px;min-height:calc(100dvh - 80px)}.auth-card{max-width:390px}.auth-card h1{font-size:30px}dialog{padding:24px 20px}#fields{grid-template-columns:1fr}#fields .wide{grid-column:auto}}
@media(max-width:370px){.stats{grid-template-columns:1fr}.stat{display:flex;align-items:center;justify-content:space-between}.stat strong{margin-top:0}.heading .actions{flex-wrap:wrap}.auth-main{padding:32px 20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

.account-label{font-size:11px;letter-spacing:0;color:var(--muted);overflow-wrap:anywhere}header .account-label{margin-right:0}
.existing-session{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:22px;font-size:12px;overflow-wrap:anywhere}.existing-session p{margin:0 0 10px}.existing-session button{font-size:11px;white-space:normal}
.client-page main{max-width:1400px}.client-page .heading{margin-bottom:24px}.client-page .panel{background:transparent;border:0;box-shadow:none;overflow:visible}.client-page #content{overflow:visible}.client-page .actions{display:none}
.client-intro{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;color:var(--muted);font-size:13px}.client-intro p{margin:0}.view-only{font-size:11px;border:1px solid var(--line);border-radius:6px;padding:5px 9px;white-space:nowrap}
.client-contracts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start;gap:20px}.client-contract{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:26px;min-width:0;overflow-wrap:anywhere}.contract-top{display:flex;justify-content:space-between;align-items:start;gap:14px}.contract-label{font-size:10px;letter-spacing:1px;color:var(--muted);margin:0 0 8px}.contract-top h2{font-size:22px;margin:0}.contract-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0}.contract-info .full{grid-column:1/-1}.contract-info dt{color:var(--muted);font-size:11px;margin-bottom:6px}.contract-info dd{margin:0;font-size:13px}.client-contract h3{font-size:14px;margin:0 0 16px}.client-payments{border-top:1px solid var(--line);padding-top:22px}.client-payments ul{list-style:none;margin:0;padding:0}.client-payments li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.client-payments li:last-child{border-bottom:0}.client-payments li small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.client-payments strong,.client-due strong{font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.client-due{background:var(--warning-bg);color:var(--warning);border-radius:8px;padding:16px;margin-bottom:22px}.client-due p{display:flex;justify-content:space-between;gap:12px;font-size:12px}.muted{color:var(--muted);font-size:12px}
@media(max-width:760px){header{flex-wrap:wrap;height:auto;min-height:78px;gap:8px 12px;padding:14px 0}header>span:first-child{margin-right:auto}header .account-label{order:4;width:100%;font-size:10px}.client-page aside{padding:18px}.client-page .heading{margin:25px 0 18px}.client-page .client-intro{align-items:flex-start;flex-direction:column;gap:10px}.client-contract{padding:20px}.client-contracts{grid-template-columns:1fr;gap:16px}.contract-top h2{font-size:19px}.contract-info{gap:18px 12px}.client-page footer{padding-bottom:32px}}
@media(max-width:650px){
 body:not(.auth-page) #content>table,body:not(.auth-page) #results>table{display:block;padding:0 14px 14px}
 #content table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 #content table tbody{display:grid;gap:12px}
 #content table tbody tr{display:block;border:1px solid var(--line);border-radius:10px;padding:5px 14px;background:var(--white);min-width:0}
 #content table td{display:grid;grid-template-columns:minmax(85px,34%) minmax(0,1fr);gap:4px 12px;border-top:0;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px;overflow-wrap:anywhere;white-space:normal}
 #content table td::before{content:attr(data-label);color:var(--muted);font-size:10px;grid-column:1;grid-row:1 / span 4}
 #content table td>*{grid-column:2}
 #content table td:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:7px;border-bottom:0;white-space:normal}
 #content table td:last-child::before{width:100%;flex:none}
 #content table td button{min-height:42px;margin:0;padding:9px 12px}
 #fields input,#fields select,#fields textarea,.auth-card input{font-size:16px}
 #fields{gap:16px}dialog{max-height:92dvh}#form>#submit{width:100%;min-height:48px}.report label{width:100%}.report label input,.report label select{width:100%;font-size:16px}.report>#calc{width:100%}
}

.brand-word{font-size:20px;letter-spacing:-.7px}.brand-word span{letter-spacing:0}.client-page .brand-word{font-size:20px}
.quick-filters{display:flex;gap:8px;padding:0 24px 20px;flex-wrap:wrap}.quick-filters button{font-size:11px;min-height:36px;padding:8px 12px}.quick-filters button[aria-pressed=true]{background:var(--soft);border-color:transparent;color:var(--accent)}.tag.overdue{background:#fceef0;color:var(--danger)}.tag.soon{background:var(--warning-bg);color:var(--warning)}tr.payment-overdue td:first-child{box-shadow:inset 3px 0 var(--danger)}tr.payment-soon td:first-child{box-shadow:inset 3px 0 #c59e67}
img[data-photo-kind]{cursor:zoom-in}#photo-dialog{width:950px;max-width:95vw}#photo-full{display:block;width:100%;height:auto;max-height:66dvh;object-fit:contain;background:var(--paper);margin:14px 0 18px}.photo-head{display:flex;align-items:center;justify-content:space-between}.photo-head h2{margin:0}#photo-link-label{display:grid;gap:8px;margin-top:14px;font-size:12px}#photo-link{width:100%;font-size:12px}#photo-message{font-size:12px;overflow-wrap:anywhere}.brand img.brand-mark{width:36px;height:36px;object-fit:contain;border-radius:0}
@media(max-width:650px){.quick-filters{padding:0 16px 16px;gap:7px}.quick-filters button{min-height:42px}#photo-dialog{padding:18px}#photo-share{width:100%}tr.payment-overdue td:first-child,tr.payment-soon td:first-child{box-shadow:none}#content table tr.payment-overdue{border-left:3px solid var(--danger)}#content table tr.payment-soon{border-left:3px solid #c59e67}}

tr[data-rental-id]{cursor:pointer}tr[data-rental-id]:hover{background:var(--soft)}tr[data-rental-id]:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}tr[data-rental-id] button{cursor:pointer}

.detail-payment{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.detail-payment p{font-size:13px}.detail-payment button{min-height:46px}@media(max-width:650px){.detail-payment button{width:100%;white-space:normal}}

/* Report controls share a baseline and group the dates as one input. */
.report-filters{display:grid;grid-template-columns:minmax(220px,1fr) 208px minmax(190px,1fr) auto;align-items:end;gap:20px;padding:26px;border-bottom:1px solid var(--line);background:var(--white)}
.filter-field{display:grid;gap:10px;min-width:0;font-size:12px;color:var(--muted)}.filter-label,.report-range legend{font-size:12px;color:var(--muted);font-weight:500;line-height:18px}
.period-switch{display:grid;grid-template-columns:repeat(4,1fr);height:48px;background:var(--paper);padding:4px;border:1px solid var(--line);border-radius:10px;gap:2px}.period-switch button{background:transparent;color:var(--muted);min-height:0;padding:0 8px;font-size:11px;border-radius:6px;border:0;box-shadow:none;white-space:nowrap}.period-switch button:hover{background:var(--soft);color:var(--accent)}.period-switch button[aria-pressed=true]{background:var(--white);color:var(--accent);box-shadow:0 1px 4px #292d3f14;font-weight:600}
.report-range{border:0;padding:0;margin:0;min-width:0;width:fit-content;max-width:100%}.report-range legend{padding:0;margin-bottom:10px}.date-range{display:grid;grid-template-columns:88px 12px 88px;align-items:center;height:48px;border:1px solid #d7dae6;border-radius:9px;background:var(--white);padding:0 9px}.date-range:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #535fc514}.date-range label{min-width:0;display:block}.date-range input{width:100%;height:44px;min-height:0;padding:8px 5px;border:0;background:transparent;font-size:12px;letter-spacing:-.15px;border-radius:6px}.date-range input:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}.range-separator{text-align:center;color:var(--muted);font-size:12px}
.report-filters select{appearance:none;-webkit-appearance:none;display:block;width:100%;height:48px;min-height:48px;border:1px solid #d7dae6;border-radius:9px;background-color:var(--white);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%2371768b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding:11px 36px 11px 13px;color:var(--ink);font-size:12px;font-family:var(--font-body);line-height:24px}
.report-apply{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:48px;min-height:48px;padding:11px 19px}.report-apply svg{width:18px;height:18px;flex:none}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:28px 26px}.report-summary>div{font-size:12px;color:var(--muted)}.report-summary h2{color:var(--ink);margin:0 0 9px;font-variant-numeric:tabular-nums}.report-summary>div+div{border-left:1px solid var(--line);padding-left:24px}
@media(max-width:1390px){.report-filters{grid-template-columns:minmax(220px,1fr) minmax(208px,1fr);gap:18px}.report-apply{justify-self:end;min-width:150px}.report-filters>.filter-field:nth-of-type(2){max-width:none}}
@media(max-width:650px){.report-filters{grid-template-columns:minmax(0,1fr);padding:20px 16px;gap:20px}.period-switch{height:48px}.period-switch button{font-size:12px}.date-range{padding:0 9px;grid-template-columns:108px 10px 108px}.date-range input{font-size:16px;padding:7px 3px}.report-filters select{font-size:16px}.report-apply{justify-self:stretch;width:100%}.report-summary{grid-template-columns:1fr;gap:16px;padding:24px 18px}.report-summary>div+div{padding:16px 0 0;border-left:0;border-top:1px solid var(--line)}#results .report-summary>div{min-width:0}#results .report-summary h2{font-size:27px}}

.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.detail-toolbar button{font-size:12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;margin:0 0 26px}.detail-grid .full{grid-column:1/-1}.detail-grid dt{font-size:11px;color:var(--muted);margin:0 0 6px}.detail-grid dd{font-size:14px;line-height:1.6;margin:0;overflow-wrap:anywhere}.field-hint{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.current-photo{display:grid;gap:10px;font-size:12px;color:var(--muted)}.current-photo img{width:130px;height:100px;object-fit:cover}.current-photo label{display:flex!important;align-items:center;gap:8px!important}
@media(max-width:650px){.detail-toolbar{align-items:flex-start;flex-wrap:wrap}.detail-grid{gap:18px 14px}.detail-grid dd{font-size:13px}.detail-toolbar button{min-height:44px}.detail-grid .full{grid-column:1/-1}}
tr[data-bed-id]{cursor:pointer}tr[data-bed-id]:hover{background:var(--soft)}tr[data-bed-id]:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}.small-action{font-size:10px;min-height:30px;padding:4px 8px;margin-left:5px}.contract-photo{display:grid;gap:9px;color:var(--muted);font-size:11px;margin-bottom:22px}.contract-photo img{width:150px;height:110px;object-fit:cover}
.flatpickr-calendar{font-family:var(--font-body);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 50px #292d3f22;padding:12px;background:var(--white);width:332px;z-index:20010!important}.flatpickr-calendar:before,.flatpickr-calendar:after{display:none}.flatpickr-months{margin-bottom:12px}.flatpickr-months .flatpickr-month{color:var(--ink);height:36px}.flatpickr-current-month{font-size:14px;padding-top:6px;font-weight:500}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{top:12px;border-radius:7px;padding:8px;height:32px;width:32px}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{background:var(--soft)}.flatpickr-weekdays{height:28px}.flatpickr-weekdaycontainer span.flatpickr-weekday{font-size:11px;color:var(--muted);font-weight:400}.flatpickr-days,.dayContainer{width:306px;min-width:306px;max-width:306px}.flatpickr-day{border-radius:8px;max-width:39px;height:39px;line-height:37px;margin:2px;font-size:12px;color:var(--ink)}.flatpickr-day.today{border-color:var(--accent);color:var(--accent)}.flatpickr-day.selected,.flatpickr-day.selected:hover{background:var(--accent);border-color:var(--accent);color:white}.flatpickr-day:hover{background:var(--soft);border-color:var(--soft)}.flatpickr-current-month .flatpickr-monthDropdown-months{font:inherit;padding:2px;min-height:0;background:transparent;border:0}.flatpickr-current-month input.cur-year{font:inherit;min-height:0;border:0;padding:2px}.flatpickr-calendar .numInputWrapper{width:62px}.flatpickr-input[readonly]{cursor:pointer}
@media(max-width:370px){.flatpickr-calendar{transform:scale(.92);transform-origin:top left}}

button.danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-line)}button.danger:hover{background:#fce5e8;border-color:#d99da6;box-shadow:none}

/* Pointer interaction stays quiet; keyboard focus remains explicit. */
button:focus:not(:focus-visible),a:focus:not(:focus-visible),tr[tabindex]:focus:not(:focus-visible){outline:none}
tr[data-rental-id]:hover,tr[data-bed-id]:hover{background:#f7f8fc}
tr[data-rental-id]:focus-visible,tr[data-bed-id]:focus-visible{background:var(--soft)}
.date-range:focus-within{border-color:#aeb5d1;box-shadow:0 0 0 2px #626b870d}.date-range input:focus-visible{outline:none;background:var(--paper)}
.next-payment-date{font-variant-numeric:tabular-nums}.next-payment-cell small.paid-through,.detail-grid .paid-through{color:var(--success)}

#dialogtitle:focus{outline:none}.dialoghead button.secondary,.photo-head button.secondary{border-color:transparent;background:var(--paper);border-radius:50%;width:36px;height:36px;padding:0;flex:none}.dialoghead button.secondary:hover,.photo-head button.secondary:hover{background:var(--line);color:var(--ink)}

input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--focus);box-shadow:0 0 0 2px #626b8720}.date-range input:focus-visible{box-shadow:none}

.tag.bed-rented{background:var(--soft);color:var(--accent)}

.row-action-cell{width:64px;text-align:right}.row-menu-trigger{width:36px;min-height:36px;padding:0;font-size:23px;line-height:1;letter-spacing:2px;border-color:transparent!important;background:transparent!important;color:var(--muted)!important}.row-menu-trigger:hover,.row-menu-trigger[aria-expanded=true]{background:var(--paper)!important;color:var(--ink)!important}.row-menu{position:fixed;inset:auto;margin:0;width:220px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 12px 35px #292d3f20;color:var(--ink)}.row-menu button{display:block;width:100%;margin:0;padding:11px 12px;min-height:42px;text-align:left;font-size:12px;font-weight:400;background:transparent;color:var(--ink);border:0;border-radius:7px}.row-menu button:hover{background:var(--paper);box-shadow:none}.row-menu button:focus-visible{outline-offset:-2px;background:var(--paper)}
@media(max-width:650px){#content td.row-action-cell{justify-content:flex-end}.row-menu-trigger{width:44px;min-height:44px}}

.heading .actions{flex-wrap:wrap}#exportcontracts{min-width:120px}
