@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-ext-400-normal.BQZuk6qB.woff2) format("woff2"),url(./inter-cyrillic-ext-400-normal.DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal.obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal.HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-ext-400-normal.DGGRlc-M.woff2) format("woff2"),url(./inter-greek-ext-400-normal.KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-400-normal.B4URO6DV.woff2) format("woff2"),url(./inter-greek-400-normal.q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-vietnamese-400-normal.DMkecbls.woff2) format("woff2"),url(./inter-vietnamese-400-normal.Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal.C1nco2VV.woff2) format("woff2"),url(./inter-latin-ext-400-normal.77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal.CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-cyrillic-ext-700-normal.BjwYoWNd.woff2) format("woff2"),url(./inter-cyrillic-ext-700-normal.LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-cyrillic-700-normal.CjBOestx.woff2) format("woff2"),url(./inter-cyrillic-700-normal.DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-greek-ext-700-normal.qfdV9bQt.woff2) format("woff2"),url(./inter-greek-ext-700-normal.BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-greek-700-normal.C3JjAnD8.woff2) format("woff2"),url(./inter-greek-700-normal.BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-vietnamese-700-normal.DlLaEgI2.woff2) format("woff2"),url(./inter-vietnamese-700-normal.BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-latin-ext-700-normal.Ca8adRJv.woff2) format("woff2"),url(./inter-latin-ext-700-normal.TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-latin-700-normal.Yt3aPRUw.woff2) format("woff2"),url(./inter-latin-700-normal.BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(./inter-cyrillic-ext-800-normal.BZOjs1Xv.woff2) format("woff2"),url(./inter-cyrillic-ext-800-normal.Ca-gJeZY.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(./inter-cyrillic-800-normal.C7MGvYyJ.woff2) format("woff2"),url(./inter-cyrillic-800-normal.CCHyn08d.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(./inter-greek-ext-800-normal.B--PVpEC.woff2) format("woff2"),url(./inter-greek-ext-800-normal.DUe57HfS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(./inter-greek-800-normal.CLIouy3y.woff2) format("woff2"),url(./inter-greek-800-normal.BU00tryP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(./inter-vietnamese-800-normal.Cm7tD1pz.woff2) format("woff2"),url(./inter-vietnamese-800-normal.DDlpr_Ee.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(./inter-latin-ext-800-normal.DZJjya6U.woff2) format("woff2"),url(./inter-latin-ext-800-normal.BOMpwxm3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(./inter-latin-800-normal.BYj_oED-.woff2) format("woff2"),url(./inter-latin-800-normal.D1mf63XC.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2328;background:#fbfaf8;--color-ink: #1f2328;--color-accent: #b88645;--color-accent-dark: #9b6d33;--color-accent-soft: #f2e3cf;--color-muted: #77716b;--color-border: #e9e1d8;--color-border-strong: #d9cbb8;--color-surface: #ffffff;--color-surface-soft: #f7f2eb;--color-danger: #9b2d28;--color-status-positive-bg: #dff0df;--color-status-positive-text: #367246;--color-status-negative-bg: #ffe1df;--color-status-negative-text: #9b2d28;--shadow-subtle: 0 1px 2px rgba(47, 35, 22, .06), 0 8px 20px rgba(47, 35, 22, .05);--shadow-lifted: 0 3px 6px rgba(47, 35, 22, .08), 0 14px 28px rgba(47, 35, 22, .07);--focus-ring: 0 0 0 3px rgba(184, 134, 69, .28);--font-serif: Georgia, "Times New Roman", serif;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: 8px;--radius-lg: 14px;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}body.catalog-filter-sheet-open{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}a:hover{color:var(--color-accent)}a:active{color:var(--color-ink)}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.site-header{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,3rem);border-bottom:1px solid var(--color-border);background:#fbfaf8eb}.site-header>.brand{grid-column:1;justify-self:start}.site-header>.site-nav{grid-column:2;justify-self:center}.site-header>.language-switcher,.site-header>.mobile-menu-toggle{grid-column:3;justify-self:end}.brand{display:inline-flex;flex-direction:column;gap:.05rem;min-width:0;line-height:1;text-decoration:none}.brand-primary{font-family:var(--font-serif);font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.brand-subtitle{color:var(--color-accent);font-size:.72rem;font-weight:600;letter-spacing:.04em}nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}nav a{color:var(--color-ink);font-size:.95rem;font-weight:600;text-decoration:none}nav a:hover{color:var(--color-accent-dark)}.mobile-menu-toggle,.mobile-menu-panel{display:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;box-shadow:var(--focus-ring)}main{padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,3rem)}.page-section{width:min(100%,960px);margin:0 auto}.hero-section{padding-top:clamp(1rem,5vw,4rem)}.narrow-section{width:min(100%,560px)}.eyebrow{margin-bottom:.75rem;color:#637066;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand-primary{font-family:var(--font-serif);font-weight:400}h1{max-width:760px;margin-bottom:1.1rem;font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.08;letter-spacing:0}h2{margin-bottom:.65rem;font-size:1.2rem;line-height:1.25;letter-spacing:0}p{max-width:680px;margin-bottom:1rem;color:#4e5c52;font-size:1.05rem;line-height:1.6}.legal-page h2{margin-top:2rem}.legal-page ul{max-width:680px;margin:0 0 1rem;padding-left:1.25rem;color:#4e5c52;font-size:1.05rem;line-height:1.6}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.75rem 1rem;border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;cursor:pointer;font-weight:700;line-height:1.1;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}.button.secondary,button.secondary{background:#fff;color:var(--color-accent)}.button.danger,button.danger{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.button:not(.disabled):hover,button:not(:disabled):hover{border-color:var(--color-accent-dark);background:var(--color-accent-dark);box-shadow:0 2px 8px #2f231629;transform:translateY(-1px)}.button:not(.disabled):active,button:not(:disabled):active{box-shadow:none;transform:translateY(0)}.button.secondary:not(.disabled):hover,button.secondary:not(:disabled):hover{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-dark)}.button.danger:not(.disabled):hover,button.danger:not(:disabled):hover{border-color:#7f211b;background:#7f211b}.confirm-dialog-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem}.confirm-dialog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;min-height:0;border:0;border-radius:0;padding:0;background:#1f23287a;cursor:default}.confirm-dialog-backdrop:hover,.confirm-dialog-backdrop:active{border:0;background:#1f23287a;box-shadow:none;transform:none}.confirm-dialog{position:relative;z-index:1;display:grid;gap:1rem;width:min(100%,28rem);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:1.25rem;background:var(--color-surface);box-shadow:var(--shadow-lifted)}.confirm-dialog h2,.confirm-dialog p{margin:0}.confirm-dialog h2{color:var(--color-ink);font-size:1.15rem}.confirm-dialog p{color:var(--color-muted);line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;border-color:var(--color-border);background:var(--color-surface-soft);color:var(--color-muted);opacity:1}.auth-form{display:grid;gap:1rem;margin-top:2rem}.auth-error{margin:0;border:1px solid #ba3b31;border-radius:6px;padding:.75rem;background:#fff3f1;color:#8f241c;font-size:.95rem;font-weight:700}label{display:grid;gap:.4rem;color:#2d3b31;font-weight:700}input,textarea{width:100%;min-height:2.75rem;border:1px solid #cfc8bc;border-radius:var(--radius-sm);padding:.75rem;background:#fff;color:var(--color-ink);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{min-height:10rem;resize:vertical}select{width:100%;min-height:2.75rem;border:1px solid #cfc8bc;border-radius:var(--radius-sm);padding:.7rem 2rem .7rem .75rem;background:#fff;color:var(--color-ink);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}input:hover,textarea:hover,select:hover{border-color:#b9ad9e}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--color-accent)}input[type=checkbox],input[type=radio]{width:1rem;min-height:1rem;accent-color:var(--color-accent)}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.admin-grid article{display:flex;flex-direction:column;min-height:8rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;background:var(--color-surface);box-shadow:var(--shadow-subtle);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.admin-grid article:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lifted);transform:translateY(-2px)}.admin-grid .stat-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin-bottom:1.25rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent)}.admin-grid .eyebrow{margin-bottom:.55rem}.admin-grid h2{margin-bottom:.55rem;font-family:var(--font-serif);font-size:clamp(2.35rem,5vw,3.25rem);line-height:.95}.admin-grid p{margin-bottom:0;font-size:.95rem}.admin-grid .button{margin-top:1rem}.admin-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(1.5rem,4vw,2.5rem)}.admin-sidebar{position:sticky;top:1rem;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem;background:var(--color-surface);box-shadow:var(--shadow-subtle)}.admin-sidebar-top,.admin-sidebar-bottom{display:grid;gap:1rem}.admin-sidebar .brand{padding:.25rem .35rem 1rem;border-bottom:1px solid var(--color-border)}.admin-content{min-width:0}.user-pill{margin:0;overflow-wrap:anywhere;color:var(--color-muted);font-size:.9rem;font-weight:700}.logout-form{margin:0}.logout-form .button{width:100%}.admin-nav{display:grid;gap:.4rem;justify-content:stretch}.admin-nav .side-link{display:flex;align-items:center;width:100%;border:1px solid transparent;border-radius:var(--radius-sm);padding:.75rem .85rem;color:var(--color-ink);font-weight:700;text-align:left;text-decoration:none}.admin-nav .side-link:hover,.admin-nav .side-link.active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-dark)}.admin-dashboard h1{font-size:clamp(2rem,6vw,3.5rem)}.admin-section{display:grid;gap:1.5rem}.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.admin-heading h1{font-size:clamp(2rem,6vw,3.5rem)}.admin-heading p{margin-bottom:0}.data-table-wrap{width:100%;overflow-x:auto;border:1px solid #ded8ce;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-subtle)}.data-table{width:100%;min-width:860px;border-collapse:collapse}.data-table th,.data-table td{padding:.85rem 1rem;text-align:left;vertical-align:middle}.data-table th{background:var(--color-surface-soft);color:var(--color-muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;line-height:1.2;text-transform:uppercase;white-space:nowrap}.data-table td{border-top:1px solid #ebe6dc;color:var(--color-ink);font-size:.94rem}.data-table tbody tr:hover{background:var(--color-accent-soft)}.admin-table-thumbnail{width:5rem;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius-sm);background:#e7e1d7}.admin-table-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.admin-table-title{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.admin-table-title h2{margin:0;font-size:1rem;line-height:1.25}.admin-pill{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--color-status-positive-text) 24%,transparent);border-radius:999px;padding:.25rem .5rem;background:var(--color-status-positive-bg);color:var(--color-status-positive-text);font-size:.76rem;font-weight:800;line-height:1.15}.admin-pill.inactive-status{border-color:color-mix(in srgb,var(--color-status-negative-text) 24%,transparent);background:var(--color-status-negative-bg);color:var(--color-status-negative-text)}.invoice-concept{margin:0;font-size:.95rem}.admin-row-categories{margin-top:.5rem}.row-actions{display:flex;flex-direction:column;gap:.5rem}.row-actions form{margin:0}.row-actions .button,.row-actions button{width:100%;white-space:nowrap}.property-form{display:grid;gap:1rem}.property-form-summary-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(22rem,.95fr);gap:1rem;align-items:start}.property-text-field{display:grid;gap:.4rem;width:100%;max-width:36rem;color:#2d3b31;font-weight:700}.title-generator-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:stretch}.title-generator-row button{white-space:nowrap}.form-panel,.delete-panel{display:grid;gap:1.1rem;border:1px solid #ded8ce;border-radius:var(--radius-lg);padding:1rem;background:#fff;box-shadow:var(--shadow-subtle)}.form-panel h2,.delete-panel h2{margin-bottom:0;font-size:1.15rem}.readonly-field{display:inline-grid;width:fit-content;min-width:8rem;gap:.2rem;border:1px solid #ebe6dc;border-radius:6px;padding:.55rem .7rem;background:var(--color-surface-soft)}.readonly-field span{color:var(--color-muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.readonly-field strong{color:var(--color-ink);font-size:1rem}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.1rem}.form-grid .field-label-text{min-height:2.5em;min-height:2lh}.property-numeric-field{max-width:9rem}.toggle-row,.form-actions{display:flex;flex-wrap:wrap;gap:.75rem}.invoice-total-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;align-self:end}.invoice-total-preview div{min-height:2.75rem;border:1px solid #ebe6dc;border-radius:6px;padding:.55rem;background:#f9f8f4}.invoice-total-preview span{display:block;color:#637066;font-size:.76rem;font-weight:700}.invoice-total-preview strong{display:block;margin-top:.15rem;color:var(--color-ink);font-weight:800}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:700}.checkbox-label input{width:1rem;min-height:1rem}.category-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}fieldset{display:grid;gap:.85rem;min-width:0;margin:0;border:1px solid #ebe6dc;border-radius:var(--radius-lg);padding:1rem}legend{padding:0 .35rem;color:#2d3b31;font-weight:800}.checkbox-list{display:grid;gap:.45rem;max-height:14rem;overflow-y:auto}.muted-text{margin:0;color:#637066;font-size:.95rem}.delete-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center}.delete-panel p{margin-bottom:0}.photo-manager{align-items:start}.photo-upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem}.photo-list{display:grid;gap:.75rem}.photo-row{display:grid;grid-template-columns:9rem minmax(0,1fr) auto;align-items:end;gap:1rem;border:1px solid #ebe6dc;border-radius:var(--radius-lg);padding:.75rem;cursor:grab;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,opacity .16s ease}.photo-row.dragging{opacity:.45}.photo-row.drop-target{border-color:#1d3829;background:#eef5ef;box-shadow:var(--focus-ring)}.photo-row:active{cursor:grabbing}.staged-photo-row,.staged-photo-row:active{cursor:default}.photo-row img{display:block;width:100%;aspect-ratio:4 / 3;border-radius:6px;object-fit:cover}.photo-order-form{display:none}.photo-drag-hint{margin:0;color:#637066;font-size:.95rem;font-weight:700}.photo-delete-form{margin:0}.catalog-page{margin-top:clamp(-2.5rem,-4vw,-1rem);padding:0 clamp(1rem,4vw,3rem)}.catalog-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.8fr);align-items:center;gap:clamp(1rem,3vw,2rem);min-height:176px;margin-bottom:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(1.15rem,3vw,2rem);background:var(--color-surface-soft);box-shadow:var(--shadow-subtle)}.catalog-hero h1{margin-bottom:.75rem;font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.08;letter-spacing:0}.catalog-hero p{margin-bottom:0;color:var(--color-muted)}.hero-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;width:min(100%,760px);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.4rem;background:var(--color-surface);box-shadow:var(--shadow-subtle)}.hero-search-field{position:relative;display:flex;align-items:center;min-width:0}.hero-search input{width:100%;min-height:3rem;border:0;padding-right:2.75rem;background:transparent;box-shadow:none}.hero-search input:focus-visible{outline-offset:0}.hero-search button{min-height:3rem;border-radius:calc(var(--radius-lg) - 4px)}.hero-search .hero-search-clear{position:absolute;right:.25rem;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;min-height:2.25rem;border:0;border-radius:999px;padding:0;color:var(--color-muted);background:transparent;font-size:1.25rem;line-height:1;box-shadow:none}.hero-search .hero-search-clear:hover,.hero-search .hero-search-clear:focus-visible{color:var(--color-ink);background:var(--color-surface-soft)}.language-switcher{flex-wrap:nowrap;gap:.2rem;border:1px solid color-mix(in srgb,var(--color-accent) 34%,var(--color-border));border-radius:var(--radius-lg);padding:.25rem;background:var(--color-surface)}.language-switcher a{display:inline-flex;align-items:center;gap:.3rem;min-width:2.5rem;border-radius:6px;padding:.55rem .7rem;font-size:.8rem;text-align:center}.language-flag{font-size:.95em;line-height:1}.language-switcher a:hover,.language-switcher .active-language{background:var(--color-accent);color:#fff}.catalog-filters{display:grid;gap:1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem;background:var(--color-surface);box-shadow:var(--shadow-subtle)}.catalog-filters label{gap:.35rem;font-size:.88rem}.catalog-layout{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:1.25rem;align-items:start}.catalog-filter-panel{position:sticky;top:5.5rem}.catalog-results{min-width:0}.filter-section{display:grid;gap:.65rem;min-width:0}.filter-section h3,.amenity-filters legend{margin:0;padding:0;color:var(--color-ink);font-family:var(--font-sans);font-size:.83rem;font-weight:800;letter-spacing:0}.filter-section label{min-width:0}.filter-subgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.75rem}.amenity-filters{gap:.65rem;border:0;padding:0}.amenity-options{display:grid;grid-template-columns:1fr;gap:.5rem;max-height:9rem;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-soft);padding:.5rem}.amenity-options label{display:flex;flex-direction:row;align-items:center;gap:.45rem;min-height:2.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.55rem;color:var(--color-ink);font-weight:700;line-height:1.2}.amenity-options input{flex:0 0 auto;accent-color:var(--color-accent)}.amenity-options label span{min-width:0;overflow-wrap:anywhere}.pill-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.pill-row button{min-height:2.7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.55rem;background:var(--color-surface);color:var(--color-ink);font-size:.88rem;font-weight:700;overflow-wrap:anywhere;box-shadow:none}.pill-row button.full-width{grid-column:1 / -1}.pill-row button.active{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.filter-actions .button,.filter-actions button{min-height:2.75rem;white-space:nowrap}.mobile-filter-button,.mobile-filter-button-anchor,.mobile-filter-button-sentinel,.catalog-filter-overlay{display:none}.catalog-summary{margin-bottom:1rem;color:var(--color-muted);font-weight:700}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.catalog-pagination{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center;margin-top:1.5rem}.catalog-pagination .disabled{opacity:.45;pointer-events:none}.pagination-status{color:var(--color-muted);font-weight:700}.property-card{display:flex;height:100%;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-subtle);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.property-card:hover{color:inherit;box-shadow:var(--shadow-lifted);transform:translateY(-2px)}.property-media{position:relative;aspect-ratio:4 / 3;background:var(--color-surface-soft)}.property-media img{display:block;width:100%;height:100%;object-fit:cover}.photo-placeholder{display:grid;width:100%;height:100%;place-items:center;color:var(--color-muted);font-weight:700}.media-badges{position:absolute;top:.75rem;left:.75rem;display:flex;flex-wrap:wrap;gap:.4rem}.media-badges span,.category-badges span{display:inline-flex;align-items:center;gap:.35rem;min-width:0;border:1px solid color-mix(in srgb,var(--color-accent) 42%,transparent);border-radius:999px;padding:.35rem .55rem;background:#ffffffeb;color:var(--color-accent-dark);font-size:.78rem;font-weight:800;line-height:1.15;overflow-wrap:anywhere}.category-badges a{border-radius:999px;color:inherit;text-decoration:none}.category-badges a:hover span{border-color:var(--color-accent);background:var(--color-accent-soft)}.category-badges svg{flex:0 0 auto}.property-content{display:flex;flex:1;flex-direction:column;gap:.75rem;padding:1rem}.property-content h2{margin-bottom:0;font-family:var(--font-serif);font-size:1.1rem;line-height:1.25;min-height:2.5em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.property-location{margin:-.3rem 0 0;color:var(--color-muted);font-size:.9rem;font-weight:700}.property-price{margin-bottom:0;color:var(--color-accent-dark);font-size:1.25rem;font-weight:800;line-height:1.2}.property-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin:0}.property-facts div{min-width:0}.property-facts dt{color:var(--color-muted);font-size:.74rem;font-weight:700;line-height:1.15}.property-facts dd{margin:.1rem 0 0;color:var(--color-ink);font-size:.92rem;font-weight:800;line-height:1.15}.category-badges{display:flex;flex-wrap:wrap;gap:.4rem}.category-badges span{background:var(--color-surface-soft)}.property-detail-button{width:100%;margin-top:auto}.empty-state{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:2rem;background:var(--color-surface)}.empty-state h2{font-size:1.35rem}.empty-state p{margin-bottom:0}@media(max-width:700px){.site-header{display:flex;align-items:center;flex-direction:row}.site-header .brand{min-height:2.5rem;justify-content:center}nav{justify-content:flex-start}.site-header>.site-nav,.site-header>.language-switcher{display:none}.mobile-menu-toggle{display:inline-flex;width:2.75rem;min-height:2.75rem;flex:0 0 auto;padding:0}.mobile-menu-panel{position:absolute;z-index:20;top:calc(100% + .5rem);right:clamp(1rem,4vw,3rem);left:clamp(1rem,4vw,3rem);display:grid;gap:1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem;background:var(--color-surface);box-shadow:var(--shadow-lifted)}.mobile-menu-nav{display:grid;gap:.4rem}.mobile-menu-nav a{border-radius:6px;padding:.65rem .7rem}.mobile-menu-nav a:hover{background:var(--color-accent-soft)}.mobile-language-switcher{display:grid;gap:.4rem;width:100%}h1{line-height:1.05}.admin-grid,.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;min-height:0}.admin-sidebar .brand{padding-bottom:.75rem}.admin-sidebar-bottom{border-top:1px solid var(--color-border);padding-top:1rem}.admin-heading,.delete-panel{grid-template-columns:1fr}.admin-heading{display:grid;grid-template-columns:1fr}.property-form-summary-row,.form-grid,.category-admin-grid,.title-generator-row,.photo-upload-form,.photo-row,.photo-order-form,.invoice-total-preview{grid-template-columns:1fr}.row-actions{flex-direction:row;flex-wrap:wrap}.row-actions form,.row-actions .button,.row-actions button,.form-actions .button,.form-actions button,.photo-upload-form button,.photo-order-form button,.photo-delete-form button,.delete-panel button,.logout-form .button{width:100%}.catalog-page{padding-bottom:calc(5.25rem + env(safe-area-inset-bottom))}.catalog-hero{grid-template-columns:1fr;min-height:0}.hero-search,.catalog-layout{grid-template-columns:1fr}.catalog-filter-panel,.catalog-filters-inline{display:none}.catalog-filters-sheet,.property-grid{grid-template-columns:1fr}.property-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-filter-button-sentinel{display:block;height:1px;margin-bottom:-1px;pointer-events:none}.mobile-filter-button-anchor{display:block;min-height:2.75rem;margin-bottom:1.25rem}.mobile-filter-button{display:inline-flex;width:100%;box-shadow:var(--shadow-lifted)}.mobile-filter-button.stuck{position:fixed;z-index:25;top:0;right:1rem;left:1rem;width:auto;box-shadow:var(--shadow-lifted)}.catalog-filter-overlay{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:block}.catalog-filter-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;min-height:0;border:0;border-radius:0;padding:0;background:#17211b52;box-shadow:none;transform:none}button.catalog-filter-backdrop:hover,button.catalog-filter-backdrop:active{background:#17211b52;box-shadow:none;transform:none}.catalog-filter-sheet{position:absolute;right:0;bottom:0;left:0;max-height:min(86vh,44rem);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--color-border);border-bottom:0;border-radius:12px 12px 0 0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));background:var(--color-surface);box-shadow:var(--shadow-lifted)}.catalog-filter-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.catalog-filter-sheet-header h2{margin-bottom:0}.catalog-filter-close{min-height:2.5rem;padding:.6rem .75rem}.catalog-filters-sheet{margin-bottom:0;border:0;padding:0;box-shadow:none}.filter-actions,.filter-actions .button,.filter-actions button{width:100%}.filter-actions{flex-direction:column}}@media(min-width:701px)and (max-width:1100px){.catalog-hero,.catalog-layout{grid-template-columns:1fr}.catalog-filter-panel,.catalog-filters-inline{display:none}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-filter-button-sentinel{display:block;height:1px;margin-bottom:-1px;pointer-events:none}.mobile-filter-button-anchor{display:block;min-height:2.75rem;margin-bottom:1.25rem}.mobile-filter-button{display:inline-flex;width:100%;box-shadow:var(--shadow-lifted)}.mobile-filter-button.stuck{position:fixed;z-index:25;top:0;right:clamp(1rem,4vw,3rem);left:clamp(1rem,4vw,3rem);width:auto;box-shadow:var(--shadow-lifted)}.catalog-filter-overlay{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:block}.catalog-filter-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;min-height:0;border:0;border-radius:0;padding:0;background:#17211b52;box-shadow:none;transform:none}button.catalog-filter-backdrop:hover,button.catalog-filter-backdrop:active{background:#17211b52;box-shadow:none;transform:none}.catalog-filter-sheet{position:absolute;right:0;bottom:0;left:0;max-height:min(86vh,44rem);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--color-border);border-bottom:0;border-radius:12px 12px 0 0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));background:var(--color-surface);box-shadow:var(--shadow-lifted)}.catalog-filter-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.catalog-filter-sheet-header h2{margin-bottom:0}.catalog-filter-close{min-height:2.5rem;padding:.6rem .75rem}.catalog-filters-sheet{grid-template-columns:1fr;margin-bottom:0;border:0;padding:0;box-shadow:none}.filter-actions,.filter-actions .button,.filter-actions button{width:100%}.filter-actions{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.button:not(.disabled):hover,button:not(:disabled):hover,.admin-grid article:hover,.property-card:hover{transform:none}}.site-footer.svelte-12qhfyh{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;padding:1.25rem clamp(1rem,4vw,3rem);border-top:1px solid var(--color-border);background:#fbfaf8eb}.footer-brand.svelte-12qhfyh{display:grid;gap:.5rem}.footer-contact.svelte-12qhfyh{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.footer-contact.svelte-12qhfyh a:where(.svelte-12qhfyh){overflow-wrap:anywhere;color:var(--color-ink);font-size:.95rem;font-weight:600;text-decoration:none}.footer-contact.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{color:var(--color-accent-dark)}.footer-legal.svelte-12qhfyh{grid-column:1 / -1;justify-content:flex-start}.footer-legal.svelte-12qhfyh ul:where(.svelte-12qhfyh){display:flex;flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none}.footer-legal.svelte-12qhfyh a:where(.svelte-12qhfyh){display:inline-flex;align-items:center;overflow-wrap:anywhere}@media(max-width:700px){.site-footer.svelte-12qhfyh{grid-template-columns:1fr}.footer-contact.svelte-12qhfyh{justify-content:flex-start}.footer-contact.svelte-12qhfyh a:where(.svelte-12qhfyh),.footer-legal.svelte-12qhfyh a:where(.svelte-12qhfyh),.site-footer.svelte-12qhfyh .brand:where(.svelte-12qhfyh){min-height:2.5rem}}
