:root{--green:#315c4b;--green2:#477967;--cream:#f7f4ed;--ink:#26332e;--muted:#6f7d76;--line:#dfe5e1;--white:#fff;--warn:#ba7a2a;--danger:#a94545}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--green);text-decoration:none}header{height:70px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.brand{display:flex;gap:12px;align-items:center}.brand strong,.brand small{display:block}.brand small{opacity:.75}.logo,.big-logo{display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--green);font-family:Georgia,serif;font-weight:bold}.logo{width:40px;height:40px;font-size:24px}.big-logo{width:72px;height:72px;font-size:42px;margin:auto}.logout{color:#fff}nav{background:#fff;border-bottom:1px solid var(--line);padding:0 24px;display:flex;overflow:auto}nav a{padding:15px 12px;white-space:nowrap;font-weight:600}.container{max-width:1280px;margin:0 auto;padding:26px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{margin:0;font-size:30px}.page-head p{margin:3px 0;color:var(--muted)}button,.button{border:0;border-radius:9px;background:var(--green);color:#fff;padding:11px 16px;font-weight:700;cursor:pointer;display:inline-block}.secondary{background:#e7eee9;color:var(--green);margin-top:12px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cfd8d3;border-radius:8px;background:#fff;font:inherit}textarea{min-height:84px}label{font-weight:650;color:#42514a}label input,label select,label textarea{margin-top:5px;font-weight:400}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:20px;box-shadow:0 3px 12px rgba(29,52,42,.035)}.panel h2{margin:0 0 16px}.panel-head,.actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:20px}.kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px}.kpis span,.kpis strong{display:block}.kpis span{color:var(--muted);font-size:13px}.kpis strong{font-size:22px;margin-top:5px}.occupancy strong{font-size:34px}.occupancy span{display:block;color:var(--muted)}.bar{height:9px;background:#e7ece9;border-radius:10px;margin:13px 0 7px;overflow:hidden}.bar i{height:100%;display:block;background:var(--green2)}.room-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}.room-mini{padding:10px;border-radius:9px;border:1px solid var(--line);display:flex;flex-direction:column}.room-mini.busy{background:#edf5f0}.room-mini.free{background:#fff8eb}.room-mini small{color:var(--muted)}.room-mini span{font-size:12px;margin-top:4px}.task-list>div{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid #edf0ee}.task-list>div:last-child{border:0}.task-list small{display:block;color:var(--muted)}.dot{width:9px;height:9px;background:var(--warn);border-radius:50%;margin-top:7px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.room-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;color:var(--ink);box-shadow:0 3px 12px rgba(29,52,42,.035)}.room-card:hover{transform:translateY(-2px)}.room-card h2{margin:18px 0 3px}.room-card p{color:var(--muted);min-height:22px}.room-top,.room-foot{display:flex;justify-content:space-between;gap:10px}.room-foot{border-top:1px solid var(--line);padding-top:13px;color:var(--muted)}.badge{padding:4px 8px;border-radius:999px;font-size:12px;font-style:normal}.badge.ok{background:#e5f2ea;color:#246042}.badge.warn{background:#fff0d9;color:#8b5b20}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form-grid .full{grid-column:1/-1}.hidden{display:none}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{font-size:12px;text-transform:uppercase;color:var(--muted)}.empty{color:var(--muted);text-align:center;padding:30px}.photo-grid,.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.photo-grid img,.gallery img{width:100%;height:140px;object-fit:cover;border-radius:9px}.gallery{grid-template-columns:repeat(4,1fr)}.gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.gallery figure img{height:190px;border-radius:0}.gallery figcaption{padding:12px}.gallery figcaption b,.gallery figcaption span,.gallery figcaption small{display:block}.gallery figcaption span{color:var(--green);font-size:12px}.gallery figcaption small{color:var(--muted);margin-top:4px}.back{display:inline-block;margin-bottom:10px}.flash{padding:12px 15px;border-radius:9px;margin-bottom:15px}.flash.success{background:#e5f2ea;color:#246042}.flash.danger{background:#f8e5e5;color:#8f3030}.login-card{max-width:420px;margin:8vh auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;text-align:center}.login-card form{text-align:left}.login-card label{display:block;margin:13px 0}.login-card button{width:100%;margin-top:8px}.login-card .hint{color:var(--muted);font-size:12px}.detailed .check{width:28px;height:28px;padding:0;border-radius:50%;border:2px solid var(--green);background:#fff;color:var(--green)}.detailed .done{opacity:.55}.detailed .done b{text-decoration:line-through}.detailed p{margin:4px 0;color:var(--muted)}.report-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.annual-total{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.annual-total span{background:var(--cream);padding:15px;border-radius:9px;color:var(--muted)}.annual-total strong{display:block;color:var(--ink);font-size:20px;margin-top:5px}@media(max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.room-mini-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){header{padding:0 15px}nav{padding:0 8px}.container{padding:18px 12px}.page-head{align-items:flex-start;flex-direction:column}.actions{width:100%}.kpis{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.gallery{grid-template-columns:1fr 1fr}.room-mini-grid{grid-template-columns:repeat(2,1fr)}.report-row{grid-template-columns:1fr 1fr}.annual-total{grid-template-columns:1fr}.brand small{display:none}}

/* Alma Rooms v1.0 corporate identity */
:root{--green:#1a3749;--green2:#2b5268;--cream:#f6ead1;--ink:#193442;--muted:#6e6b63;--line:#dfd1b6;--white:#fffdf8;--warn:#b87925;--danger:#a94545;--gold:#e7c27f}
body{background:linear-gradient(180deg,#f8eedb 0,#f6f0e5 260px,#f7f4ed 100%)}
.app-header{height:86px;background:var(--gold);border-bottom:1px solid rgba(26,55,73,.18);padding:0 28px}
.brand{display:flex;align-items:center;gap:13px;height:100%}.brand img{display:block;width:225px;max-height:74px;object-fit:contain;object-position:left center}.version-chip{background:var(--green);color:#fff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;white-space:nowrap}.logout{color:var(--green);font-weight:800}
nav{background:#fffaf0;border-bottom-color:var(--line)}nav a{color:var(--green)}nav a:hover{background:#f4e4c2}
.login-card{max-width:500px;padding:30px 38px;background:#fffaf0;border-color:#d9c59e;box-shadow:0 18px 45px rgba(26,55,73,.12)}.login-logo{display:block;width:100%;max-width:390px;margin:0 auto 4px}.login-version{display:inline-block;color:#fff;background:var(--green);border-radius:999px;padding:5px 11px;font-weight:800;font-size:12px}.login-card>p{color:var(--muted);margin:14px 0 20px}.login-card .hint{display:none}
.home-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--gold);border:1px solid #d9b66f;border-radius:18px;padding:10px 18px;margin-bottom:20px;overflow:hidden}.home-brand img{width:330px;max-width:75%;height:120px;object-fit:contain;object-position:left center}.home-brand span{background:var(--green);color:#fff;padding:8px 13px;border-radius:999px;font-weight:800;white-space:nowrap}
button,.button{background:var(--green)}a{color:var(--green)}.bar i{background:var(--green2)}
footer{max-width:1280px;margin:10px auto 25px;padding:0 26px;text-align:right;color:var(--muted);font-size:12px}
@media(max-width:600px){.app-header{height:72px;padding:0 12px}.brand img{width:172px;max-height:64px}.version-chip{font-size:10px;padding:4px 7px}.home-brand{padding:6px 10px}.home-brand img{height:88px;max-width:72%}.home-brand span{font-size:11px;padding:6px 8px}.login-card{margin:4vh auto;padding:24px 20px}.login-logo{max-width:340px}footer{text-align:center;padding:0 12px}.logout{font-size:13px}}
/* Alma Rooms v1.1 */
nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:7px 20px;gap:4px;overflow:visible}nav a{padding:9px 7px;text-align:center;border-radius:8px;font-size:13px;white-space:normal}.home-brand{display:none}.room-mini.reserved{background:#e8f0f8}.badge.info{background:#e8f0f8;color:#285b7a}.total-row th{background:#f4ead6;font-size:13px}.big-total{font-size:24px;color:var(--green)}.compact{margin:0;padding:9px 12px}.inline-form,.search-form{display:flex;gap:10px;align-items:center}.inline-form input,.search-form input{flex:1}.invoice-reader p{color:var(--muted)}.search-result{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);color:var(--ink)}.search-result small{display:block;color:var(--muted)}.calendar-event{display:grid;grid-template-columns:105px 75px 1fr;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
@media(max-width:900px){nav{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){nav{grid-template-columns:repeat(3,minmax(0,1fr));padding:6px;gap:3px}nav a{font-size:11px;padding:7px 3px}.inline-form,.search-form{flex-direction:column;align-items:stretch}.calendar-event{grid-template-columns:85px 65px 1fr;font-size:12px}.actions{flex-wrap:wrap}.actions form{flex:1}}
/* Alma Rooms v1.2 */
.property-occupancy-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.property-occupancy-grid h3{margin:0 0 8px;color:var(--green)}.occupancy-row{display:grid;grid-template-columns:48px 82px 1fr;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:9px;margin-bottom:7px;color:var(--ink)}.occupancy-row.ocupada{background:#edf5f0}.occupancy-row.reservada{background:#e8f0f8}.occupancy-row.libre{background:#fff8eb}.occupancy-row span{font-size:12px;color:var(--muted)}.occupancy-row strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.occupation-filters{display:grid;grid-template-columns:170px 190px 1fr auto;gap:10px}.block-muted{display:block;color:var(--muted);font-size:12px;margin-top:3px}.check-line{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:12px;border-radius:8px}.check-line input{width:auto;margin:0}.rule-note{background:#eef4f7;border-left:4px solid var(--green);padding:12px;border-radius:6px}.exit-panel{border-color:#d8b77e}
.document-viewer iframe{width:100%;height:72vh;border:1px solid var(--line);border-radius:10px;background:#f6f6f6}.report-card{padding:14px 0;border-bottom:1px solid var(--line)}.report-card:last-child{border-bottom:0}.category-bar{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}.danger-zone{border-color:#d9a5a5}.danger{background:#8f3030}.kpis small{display:block;color:var(--muted);margin-top:4px}.calendar-event{border-left:4px solid var(--green);padding-left:12px}.invoice-reader{background:linear-gradient(135deg,#fff,#eef5f1)}
.document-list{display:grid;gap:12px;margin:16px 0}.document-card{border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;justify-content:space-between;gap:18px;align-items:center}.document-card small{display:block;color:var(--muted);margin-top:4px}.document-card form{display:flex;gap:6px;align-items:center}.document-card input[type=file]{max-width:220px}.add-document{margin-top:16px}.add-document summary{cursor:pointer;font-weight:700;color:var(--green)}.period-toggle{color:var(--text)!important;background:#fff!important;border:1px solid var(--line)!important}.document-replacement{border-top:1px solid var(--line);padding-top:12px}
.danger-zone .secondary{background:#e7eee9;color:#17394c;border:1px solid #9eb3bc}.danger-zone .actions{align-items:flex-end}.danger-zone form{max-width:460px}.task-list>div>form:last-child{margin-left:auto}
@media(max-width:700px){.property-occupancy-grid{grid-template-columns:1fr}.document-viewer{padding:8px}.document-viewer iframe{height:62vh}.inline-form{align-items:stretch;flex-direction:column}.inline-form input,.inline-form button{width:100%}.occupation-filters{grid-template-columns:1fr}.actions{flex-wrap:wrap}.actions>*{flex:1}.kpis{grid-template-columns:1fr 1fr}.app-header{position:sticky;top:0;z-index:5}.document-card{align-items:stretch;flex-direction:column}.document-card .actions,.document-card form{width:100%;flex-direction:column}.document-card input[type=file]{max-width:none;width:100%}}
@media(max-width:700px){.property-occupancy-grid{grid-template-columns:1fr 1fr;gap:8px}.occupancy-row{grid-template-columns:38px 1fr;padding:8px}.occupancy-row strong{grid-column:1/-1}.occupation-filters{grid-template-columns:1fr}.property-occupancy-grid h3{font-size:16px}}
.occupation-filters{grid-template-columns:150px 180px minmax(180px,1fr) 150px 150px auto}.history-date{font-size:12px}.muted{color:var(--muted)}
@media(max-width:900px){.occupation-filters{grid-template-columns:1fr 1fr}.occupation-filters button{grid-column:1/-1}}

/* Alma Rooms P3 — responsive visual system */
.app-header{height:92px;background:linear-gradient(110deg,#f0cd8a,#e8bd6d);position:relative;z-index:20}.header-actions{display:flex;align-items:center;gap:16px}.icon-link{font-size:30px;color:var(--green);line-height:1}.user-link{color:var(--green);font-weight:700}.app-header .brand img{width:205px}nav{position:sticky;top:0;z-index:15;display:flex;justify-content:center;gap:8px;padding:8px 16px;background:rgba(255,253,248,.96);backdrop-filter:blur(12px)}nav a{min-width:92px;display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:14px;padding:9px 10px;font-size:12px}nav a span{font-size:22px;line-height:1}nav a:hover{background:#eaf1f5}.container{max-width:1320px}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;color:var(--ink)}.kpi-card span,.kpi-card strong,.kpi-card small{display:block}.kpi-card span,.kpi-card small{color:var(--muted)}.kpi-card strong{font-size:22px;margin:5px 0}.alert-card{display:block;color:var(--ink)}.bank-alert{background:#edf5ff}.filters-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.filters-grid button{min-width:120px}.compact-filters{padding:16px}.invoice-reader summary{cursor:pointer;font-weight:800;color:var(--green);font-size:17px}.list-title{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px}.list-title h2{margin:0}.big-total{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 18px;text-align:right}.big-total small{display:block;font-size:12px;color:var(--muted)}.expense-list{display:grid;gap:10px}.expense-row{display:grid;grid-template-columns:52px minmax(180px,1.5fr) minmax(150px,1fr) auto auto minmax(190px,auto);align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 16px;box-shadow:0 5px 18px rgba(26,55,73,.05)}.expense-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#f4cc79;color:var(--green);font-weight:900;font-size:20px}.expense-main b,.expense-main span,.expense-main small{display:block}.expense-main span,.expense-main small{color:var(--muted)}.expense-tags{display:flex;flex-wrap:wrap;gap:6px}.expense-tags span{background:#eaf3f8;border-radius:999px;padding:4px 9px;font-size:12px}.expense-tags span+span{background:#f5e8cf}.row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.row-actions form{margin:0}.gallery figure{position:relative}.photo-select{position:absolute;z-index:2;top:8px;left:8px;background:#fff;padding:5px 8px;border-radius:8px;font-size:12px}.photo-select input{width:auto;margin:0}.share-selected{position:sticky;bottom:18px;margin:18px auto;display:block}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.bank-card h2{margin:8px 0 2px}.bank-card .discard{margin-top:14px}.chart{height:185px;display:flex;align-items:flex-end;gap:14px;border-bottom:1px solid var(--line);padding:10px;overflow-x:auto}.chart-group{min-width:54px;text-align:center}.chart-bars{height:155px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.chart-bars i{width:12px;min-height:2px;border-radius:4px 4px 0 0}.expected{background:#e6bd6b}.income{background:#2f755d}.expense{background:#d76565}.chart-legend{display:flex;gap:20px}.chart-legend span:before{content:'';display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px}.chart-legend .expected:before{background:#e6bd6b}.chart-legend .income:before{background:#2f755d}.chart-legend .expense:before{background:#d76565}.passkey-login{width:100%;margin-top:12px}.tax-section{break-inside:avoid}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:20px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.card strong,.card span{display:block}.card strong{font-size:22px}
@media(max-width:900px){.filters-grid{grid-template-columns:1fr 1fr}.expense-row{grid-template-columns:48px 1fr auto}.expense-tags,.expense-row>.badge{grid-column:2}.row-actions{grid-column:2/-1}.user-link{display:none}nav{justify-content:flex-start;overflow-x:auto}}
@media(max-width:600px){.app-header{height:78px}.app-header .brand img{width:155px}.header-actions{gap:9px}.version-chip{display:none}nav{bottom:0;top:auto;position:fixed;width:100%;padding:5px 5px calc(5px + env(safe-area-inset-bottom));box-shadow:0 -4px 16px rgba(26,55,73,.12)}nav a{min-width:68px;font-size:10px;padding:7px 5px}nav a span{font-size:19px}.container{padding-bottom:95px}.filters-grid{grid-template-columns:1fr}.expense-row{grid-template-columns:42px minmax(0,1fr);padding:12px}.expense-row>strong,.expense-row>.badge,.expense-tags,.row-actions{grid-column:2}.expense-main{min-width:0}.expense-main b,.expense-main span{overflow-wrap:anywhere}.list-title{align-items:flex-end}.big-total{font-size:18px}.gallery{grid-template-columns:1fr}.gallery figure img{height:230px}.chart{gap:8px}.property-occupancy-grid{grid-template-columns:1fr 1fr}.page-head h1{font-size:28px}.document-card,.panel{max-width:100%;overflow:hidden}.table-wrap{max-width:100%;overflow-x:auto}.header-actions .logout{font-size:12px}}
@media print{header,nav,footer,.print-hide{display:none!important}.container{max-width:none;padding:0}.panel{box-shadow:none}.tax-section{page-break-after:always}}

/* Alma Rooms v1.6-RC2 — mobile usability and accessible contrast */
.nav-more{display:none}.nav-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#edf4f8;font-size:19px!important}.nav-home{background:#e7f4ec}.nav-rooms{background:#eef0ff}.nav-expenses{background:#fff1cf}.nav-income{background:#e5f3ff}
button,.button{color:#fff!important}.button.secondary,button.secondary,.secondary.button{background:#e7eee9!important;color:#17394c!important;border:1px solid #9eb3bc}.correction-button{background:#145d7a!important;color:#fff!important}.danger,.danger.button{background:#973535!important;color:#fff!important}button:disabled{opacity:.45;cursor:not-allowed}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:13px}.menu-grid a{display:flex;min-height:132px;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;color:var(--ink);box-shadow:0 7px 20px rgba(26,55,73,.06)}.menu-grid a span{font-size:34px}.menu-grid a b{font-size:17px;margin-top:7px}.menu-grid a small{color:var(--muted);margin-top:2px}
.user-list{display:grid;gap:8px;margin:12px 0 22px}.user-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.user-list small{display:block;color:var(--muted)}.income-action{display:flex;align-items:center;gap:8px}.income-action input{min-width:145px}
input[readonly]{background:#f0f1ef;color:#53615b}.responsive-table-panel{overflow:visible}
@media(max-width:700px){
  body{background:#f4f6f9}.app-header{box-sizing:content-box;padding-top:env(safe-area-inset-top);height:66px}.app-header .brand img{width:145px}.header-actions .icon-link{font-size:21px}.header-actions .logout{font-size:13px}
  nav{display:grid;grid-template-columns:repeat(5,1fr);overflow:visible}.nav-secondary{display:none!important}.nav-more{display:flex}.nav-icon{width:31px;height:31px;font-size:17px!important}nav a{min-width:0!important;font-size:10px!important}
  .container{padding:15px 10px calc(88px + env(safe-area-inset-bottom))}.page-head{margin-bottom:14px;gap:10px}.page-head h1{font-size:27px}.page-head p{font-size:14px}.panel{padding:14px;border-radius:16px;margin-bottom:13px}.panel h2{font-size:20px;margin-bottom:11px}
  .form-grid{grid-template-columns:1fr 1fr;gap:10px}.form-grid .full{grid-column:1/-1}.form-grid label{font-size:13px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;padding:9px}.check-line{grid-column:1/-1}
  .kpis{gap:8px;margin-bottom:12px}.kpis article{padding:12px}.kpis strong{font-size:20px}.actions{gap:7px}.actions .button,.actions button{width:auto;min-width:0;text-align:center}
  .responsive-table-panel{padding:0;background:transparent;border:0;box-shadow:none}.responsive-table-panel .table-wrap{overflow:visible}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{background:#fff;border:1px solid var(--line);border-radius:17px;padding:12px 14px;margin-bottom:11px;box-shadow:0 5px 16px rgba(26,55,73,.06)}.responsive-table td{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;border:0;padding:6px 0;white-space:normal;text-align:right}.responsive-table td:before{content:attr(data-label);font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800;text-align:left}.responsive-table td.card-action{display:block;padding-top:10px;border-top:1px solid var(--line);margin-top:5px}.responsive-table td.card-action:before{display:none}.responsive-table .card-action>.actions{display:flex;width:100%}.responsive-table .card-action form{flex:1}.responsive-table .card-action button,.responsive-table .card-action .button{width:100%}.income-action{display:grid!important;grid-template-columns:1fr 1fr;gap:7px}.income-action input{min-width:0}.occupations-table td:first-child{font-size:17px}.occupations-table .card-action .button{display:block}
  .expense-row{gap:7px 11px}.expense-row .row-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.expense-row .row-actions a,.expense-row .row-actions button{width:100%;text-align:center}.gallery{grid-template-columns:1fr 1fr}.gallery figure img{height:165px}.gallery figcaption{padding:9px}.gallery .row-actions{display:grid;grid-template-columns:1fr}.share-selected{width:calc(100% - 20px)}
  .menu-grid{grid-template-columns:1fr 1fr;gap:10px}.menu-grid a{min-height:116px;padding:12px}.menu-grid a span{font-size:30px}.user-list article{align-items:flex-start}.user-list form{flex:0 0 auto}
}
@media(max-width:390px){.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.gallery{grid-template-columns:1fr 1fr}.app-header .brand img{width:128px}.logout{font-size:12px!important}}

/* Alma Rooms v1.6-RC3 */
.compact-menu{grid-template-columns:repeat(3,minmax(170px,1fr));max-width:760px}.settings-grid{margin-bottom:18px}.match-box{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:12px;background:#f9fbfc}.match-box summary{cursor:pointer;font-weight:800;color:var(--green)}.match-box form{margin-top:12px}.photo-select,.selection-actions{display:none}.photo-selection-mode .photo-select{display:block}.photo-selection-mode .selection-actions{position:sticky;display:flex;justify-content:center;gap:8px;bottom:18px;z-index:12;background:#fff;padding:10px;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px rgba(26,55,73,.18);margin:14px auto;max-width:520px}.photo-selection-mode .selection-gallery figure:has(input:checked){outline:4px solid #397aa1}.header-actions .icon-link{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.45);font-size:20px}.tax-section:last-child{page-break-after:auto!important}
@media(max-width:700px){.app-header{box-sizing:border-box;height:88px;padding-top:max(env(safe-area-inset-top),18px);padding-bottom:6px}.app-header .brand img{width:132px;max-height:58px}.header-actions{gap:5px}.header-actions .icon-link{width:34px;height:34px;font-size:17px}.compact-menu{grid-template-columns:1fr 1fr}.photo-head{flex-direction:row;align-items:flex-end}.photo-head .actions{width:auto;flex-wrap:wrap;justify-content:flex-end}.photo-head .actions button{padding:9px 10px}.selection-gallery .photo-select{font-size:12px}.photo-selection-mode .selection-actions{bottom:82px;margin:12px 8px}.match-box .inline-form{display:grid;grid-template-columns:1fr}.match-box .inline-form button{width:100%}}
@media print{.tax-section:last-child{page-break-after:auto!important}}

/* v1.7: dense, readable operational lists for desktop and mobile. */
.month-title{align-items:center}.month-title h1{margin:0}.month-title form{margin-left:auto}.month-title input,.period-label{font-weight:800;color:var(--green);border:1px solid var(--line);border-radius:10px;padding:8px;background:white}.monthly-summary{display:flex;gap:14px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 14px;margin:-3px 0 18px}.monthly-summary strong{font-size:18px}.monthly-summary a{font-weight:800}.page-actions{display:flex;gap:9px;margin:-4px 0 14px}.page-actions button,.page-actions .button{margin:0}.inline-alert{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;margin-top:14px;border-top:1px solid var(--line);color:var(--green)}.occupation-list,.income-list{display:grid;gap:9px}.occupation-row,.income-row{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 12px rgba(26,55,73,.05)}.occupation-row summary{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(230px,1.5fr) auto;gap:12px;align-items:center;padding:14px 17px;cursor:pointer;list-style:none}.occupation-row summary::-webkit-details-marker{display:none}.occupation-row summary:after{content:'⌄';font-size:20px;color:var(--muted)}.occupation-row[open] summary{border-bottom:1px solid var(--line)}.room-code{font-weight:850;color:var(--green)}.occupation-detail{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:15px;padding:14px 17px;align-items:start}.occupation-detail small,.income-row small{display:block;color:var(--muted);font-weight:700;margin-bottom:3px}.income-row{display:grid;grid-template-columns:1.35fr .7fr .75fr minmax(175px,1fr);gap:16px;align-items:center;padding:14px 17px}.income-row>div{min-width:0}.income-row span{display:block}.income-row .badge{display:inline-flex;margin-top:5px}.income-row .row-actions{display:flex;justify-content:flex-end;gap:7px}.report-export .actions{display:flex;gap:8px}.report-detail{margin-top:14px}
.reset-password-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;gap:6px;margin-top:7px}.reset-password-form input{min-width:0;padding:7px}
@media(max-width:700px){.month-title{margin-bottom:7px}.month-title input,.period-label{font-size:13px;padding:7px}.monthly-summary{display:grid;gap:4px;margin-bottom:13px}.monthly-summary strong{font-size:16px}.page-actions{margin-bottom:11px}.occupation-row summary{grid-template-columns:1fr auto;gap:7px;padding:12px}.occupation-row summary>span:nth-child(2){grid-column:1}.occupation-row summary:after{grid-column:2;grid-row:1}.occupation-detail{grid-template-columns:1fr 1fr;padding:12px;gap:11px}.occupation-detail .button{grid-column:1/-1}.income-row{grid-template-columns:1fr auto;padding:12px;gap:8px}.income-row>div:nth-child(2){grid-row:2}.income-row>div:nth-child(3){grid-row:2;justify-self:end;text-align:right}.income-row .row-actions{grid-column:1/-1;justify-content:stretch;border-top:1px solid var(--line);padding-top:9px}.income-row .row-actions form{flex:1}.income-row .row-actions button{width:100%}.income-action{grid-template-columns:1fr 1.25fr!important}.inline-alert{display:grid;gap:2px}.report-export .actions{display:grid;grid-template-columns:1fr}.report-export .button{text-align:center}.report-detail .table-wrap{overflow-x:auto}.report-detail table{min-width:500px}}
@media(max-width:700px){.reset-password-form{grid-template-columns:1fr}.user-list article .actions{display:grid;width:100%}.user-list article .actions>form,.user-list article .actions>details{width:100%}}

/* RC3 final navigation: seven direct accesses in two compact rows. */
@media(max-width:700px){nav{position:sticky;top:0;bottom:auto;grid-template-columns:repeat(4,1fr);padding:5px 6px;gap:3px;box-shadow:0 4px 14px rgba(26,55,73,.08)}nav .nav-secondary{display:flex!important}nav .nav-more{display:none!important}nav a{padding:4px 2px!important;gap:1px!important}nav a:nth-child(n+5){grid-row:2}.container{padding-bottom:22px}}

/* v1.8: compact, predictable lists and mobile-first forms. */
nav{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));overflow:visible}
.summary-strip{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:-8px 0 18px;color:var(--muted)}
.summary-strip strong{color:var(--ink)}
.occupation-list{display:grid;gap:10px}.occupation-row{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.occupation-row summary{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(180px,1.5fr) auto;gap:12px;align-items:center;padding:15px 17px;cursor:pointer;list-style:none}.occupation-row summary::-webkit-details-marker{display:none}.room-code{font-weight:800}.occupation-detail{display:grid;grid-template-columns:1.4fr repeat(3,1fr) auto;gap:14px;padding:0 17px 16px}.occupation-detail small{display:block;color:var(--muted);font-size:12px}.occupation-detail b{display:block;margin-top:3px}.period-label{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 11px;font-weight:700}.page-actions{display:flex;gap:9px;margin:-8px 0 14px}.page-actions .secondary{margin:0}.danger{background:var(--danger)!important;color:#fff}.details-block{margin-bottom:12px}.details-block>summary{cursor:pointer;font-weight:800;padding:12px 0}.details-block[open]>summary{color:var(--green)}
@media(max-width:900px){nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.occupation-detail{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){nav{position:sticky;top:0;bottom:auto}.occupation-row summary{grid-template-columns:1fr auto;gap:5px 10px;padding:13px}.occupation-row summary .badge{grid-column:2;grid-row:1/3}.occupation-detail{grid-template-columns:1fr;padding:0 13px 14px;gap:11px}.occupation-detail .button{width:100%;text-align:center}.summary-strip{display:grid;gap:5px}.page-actions{width:100%;flex-wrap:wrap}.page-actions .button,.page-actions button{flex:1}.form-grid{grid-template-columns:1fr!important}.form-grid .full{grid-column:auto!important}input,select,textarea{max-width:100%}table{font-size:13px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}
