/* Nest Properties BD - additions: notices, forms, pagination, client area, invoices, media, dashboard helpers. */

.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:200;border-radius:0 0 10px 0}
.skip:focus{left:0}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.stack-f{display:flex;flex-direction:column;gap:14px;min-width:0}
.inl{display:inline-flex;margin:0}
.hint{color:var(--muted);font-size:12.5px;line-height:1.4}
.fld input[readonly]{background:var(--surface2);color:var(--muted);cursor:not-allowed}
.tsel{display:flex;gap:8px;flex-wrap:wrap}
.tsel select{flex:1;min-width:180px}
.tsel input{flex:1;min-width:180px}

/* notices */
.flash-wrap{display:flex;flex-direction:column;gap:8px;padding-top:14px}
.dbody .flash,.dmain>.flash-wrap{margin:0}
.dmain>.flash-wrap{padding:14px 24px 0;max-width:none;width:100%}
.flash{padding:12px 16px;border-radius:12px;font-weight:600;font-size:14.5px;border:1px solid transparent;overflow-wrap:anywhere}
.okmsg{background:var(--good-bg);color:var(--good);border-color:color-mix(in srgb,var(--good) 30%,transparent)}
.infomsg{background:var(--info-bg);color:var(--info);border-color:color-mix(in srgb,var(--info) 25%,transparent)}
.flash.err{background:var(--bad-bg);color:var(--bad);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}
.flash .btn{margin-left:8px}

/* pagination */
.pager{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:22px}
.pg{min-width:40px;height:40px;padding:0 12px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none;font-weight:600;font-variant-numeric:tabular-nums}
a.pg:hover{border-color:var(--orange)}
.pg.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.pg.gap{border:0;background:none}

/* auth pages */
.auth,.admin-login{display:grid;place-items:start center;padding-block:40px 64px}
.admin-login{min-height:100dvh;padding-inline:16px;align-items:center}
.auth-card{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}
.admin-login .auth-card{max-width:440px}
.auth-card h1{font-size:clamp(24px,4vw,30px)}
.auth-foot{padding-top:6px;border-top:1px solid var(--line)}
.auth-card .logo{align-self:flex-start}

/* client area */
.acct{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;padding-block:28px 56px;align-items:start}
.anav{position:sticky;top:calc(84px + env(safe-area-inset-top,0px));background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px}
.anav-h{display:flex;gap:10px;align-items:center;padding:6px 6px 12px;border-bottom:1px solid var(--line);min-width:0}
.anav-h div{min-width:0}
.anav-h b,.anav-h small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anav nav{display:flex;flex-direction:column;gap:2px}
.anav-i{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;text-decoration:none;font-weight:600;color:var(--ink);font-size:14.5px}
.anav-i:hover{background:var(--surface2)}
.anav-i.on{background:var(--navy);color:#fff}
.acct-main{display:flex;flex-direction:column;gap:18px;min-width:0}
.acct-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.acct-h h1{font-size:clamp(24px,3.4vw,32px)}
.acct-h .btn{margin-left:auto}
@media (max-width:900px){
  .acct{grid-template-columns:minmax(0,1fr);gap:16px;padding-block:16px 40px}
  .anav{position:static;padding:10px;min-width:0}
  .anav-h{display:none}
  .anav nav{flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:2px}
  .anav-i{white-space:nowrap;flex:none}
  .anav>form{display:none}
}
.is-account .dt-tabs{display:none}

/* invoice */
.inv{padding-block:28px 56px}
.inv-card{max-width:820px;margin-inline:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:22px}
.inv-top{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}
.inv-top h1{font-size:34px}
.inv-st{display:inline-block;margin-top:8px;padding:4px 12px;border-radius:999px;border:2px solid var(--bad);color:var(--bad);font-weight:800;letter-spacing:.1em;font-size:13px}
.inv-st.paid{border-color:var(--good);color:var(--good)}
.inv-to{display:flex;flex-direction:column;gap:2px}
.inv-t{min-width:0}
.inv-t td,.inv-t th{padding:14px 12px}
@media print{
  .sh,.sf,.ann,.noprint,#toast,.skip{display:none!important}
  body{background:#fff!important;color:#000!important}
  .inv{padding:0}.inv-card{border:0;box-shadow:none;padding:0}
}

/* dashboard helpers */
.admin-login{background:var(--bg)}
.tags-l form.inl{display:inline-flex}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.mtile{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.mtile img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--surface2)}
.mmeta{padding:10px;display:flex;flex-direction:column;gap:8px}
.inq{gap:10px}
.dbody .empty{background:var(--surface);border:1px dashed var(--line);border-radius:14px;padding:36px 16px}
.dtop .btn,.dtop form{flex:none}
.dbody>.tbl-wrap+.pager,.dbody>.pager{margin-top:6px}
.grow{flex:1;min-width:0}
.dlg .row{gap:10px}
.ov[hidden]{display:none}
.dside .foot .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.dside .foot .btn-ghost:hover{background:rgba(255,255,255,.1)}
.pe-title,.pe .pe-title{width:100%}
.ed.article{max-width:none}
.ed img{max-width:100%;height:auto;border-radius:10px}
.bcard .bf .fld textarea{min-height:90px}
.bcard .bf .row.two-c{display:grid;grid-template-columns:1fr 1fr;gap:10px}
[data-bulk]:not([hidden]){display:flex}
.dt-tabs{display:flex;gap:4px}
@media (max-width:900px){.dmain>.flash-wrap{padding-inline:16px}.pe{grid-template-columns:1fr}.editor{grid-template-columns:1fr}.pv{position:static;max-height:none}}
.dnav,.dnav:hover{text-decoration:none}
