:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#202d42;background:#f5f7fb;font-size:14px;font-synthesis:none}*{box-sizing:border-box}a{color:#3054a5;text-decoration:none}a:hover{text-decoration:underline}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.layout{min-height:100vh;display:grid;grid-template-columns:235px minmax(0,1fr)}.sidebar{background:#15233d;color:#d3deef;padding:26px 15px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{font-size:20px;font-weight:800;color:white;padding:8px 12px;margin-bottom:27px;display:flex;align-items:center;gap:9px}.brand:hover{text-decoration:none}.brand .logo{background:#4267db;padding:2px 10px;border-radius:10px;font-size:25px}.brand small{font-size:10px;color:#93a7c4;font-weight:500;margin-left:auto}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a{color:#c6d1e1;border-radius:10px;padding:12px 14px;transition:background .2s}.sidebar nav a:hover{background:#ffffff13;text-decoration:none}.sidebar nav a.active{color:white;background:#3b548a;font-weight:700}.sidefoot{margin-top:auto;border-top:1px solid #4a5870;padding:14px 12px;display:flex;flex-direction:column;gap:9px;font-size:12px}.mainwrap{min-width:0;display:flex;flex-direction:column}.topbar{height:66px;background:#fff;border-bottom:1px solid #e3e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.topname{font-weight:600}.userchip{border-radius:50px;background:#eff3ff;color:#3859a5;padding:7px 13px;font-weight:600}.mobile-brand{display:none}.content{padding:30px 34px 48px;max-width:1450px;width:100%;margin:0 auto;flex:1}.heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px;flex-wrap:wrap}h1{font-size:26px;letter-spacing:-.035em;margin:0 0 5px}h2{font-size:17px;margin:0 0 17px}h3{font-size:14px;margin:25px 0 12px}.muted,.hint{color:#728199;margin:0}.hint{font-size:12px;line-height:1.55;margin:11px 0}.heading .muted{margin-top:5px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:23px}.stat{background:#fff;padding:25px;border:1px solid #e4eaf3;border-radius:15px;display:flex;flex-direction:column;gap:12px}.stat>span{font-size:12px;color:#6c7d95;font-weight:650}.stat strong{font-size:29px;letter-spacing:-.04em;color:#1c2e4c}.stat small{color:#8190a6}.panel{background:#fff;border:1px solid #e4eaf3;border-radius:15px;padding:24px;min-width:0;margin-bottom:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading h2{margin:0}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th,td{border-bottom:1px solid #edf0f5;padding:14px 12px;text-align:left}th{font-size:11px;color:#7c8b9f;text-transform:uppercase;letter-spacing:.04em}td small,.item small{display:block;color:#8090a4;margin-top:5px;font-size:12px}.right{text-align:right}tbody tr:last-child td{border:0}.empty{color:#8b98ac;text-align:center;padding:30px!important}.pill{display:inline-block;border-radius:25px;padding:5px 10px;font-size:11px;font-weight:750}.pill.ok{background:#e5f7eb;color:#207043}.pill.warn{background:#fff2dc;color:#9a5c0a}.pill.info{background:#eaf1ff;color:#3054a5}.pill.gray{background:#f0f2f5;color:#6a7890}.button,button.primary,button.danger,button[type=submit]:not(.text-button),.quiet-button{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:10px 15px;border:1px solid #d7dfec;background:#fff;color:#304563;font-weight:650;white-space:nowrap;text-decoration:none;line-height:1.25}.primary,button.primary,.button.primary{color:white!important;background:#3458c0!important;border-color:#3458c0!important}.danger,button.danger{color:#b23a40!important;border-color:#f0c5c9!important;background:#fff3f3!important}.quiet-button{padding:5px 9px;font-size:12px}.form{display:flex;flex-direction:column;gap:14px}.form label,form.inline label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#4e607b;font-weight:650}.form input,.form textarea,.form select,form.inline input{width:100%;padding:11px 12px;border:1px solid #d9e1ec;border-radius:8px;background:#fff;color:#20334d;outline-offset:2px}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid #91a8ed;border-color:#4268d8}.form input:disabled{background:#f5f7f9}.form button{align-self:flex-start}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.item{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #e9edf4;align-items:center}.item:last-child{border:0}.item b{font-size:13px}.item a,.item button{flex-shrink:0}.item .form{margin:0}.item .form button{padding:0!important;border:0!important;background:none!important;color:#3155a3!important}.text-button{padding:0;background:none;border:0;color:#b8c8e8;text-align:left}.text-button:hover{text-decoration:underline}.sidefoot form{margin:0}.alert{background:#fff3ed;border:1px solid #f6c7ab;color:#914d21;padding:12px 16px;border-radius:10px;margin:0 0 18px}.notice{background:#ecf6f0;border:1px solid #c1e6d0;color:#24633c;padding:13px 16px;border-radius:10px;margin:0 0 18px}.filters{display:flex;justify-content:space-between;gap:15px;align-items:end;flex-wrap:wrap}.inline{display:flex;align-items:end;gap:10px}.inline input{margin-top:4px}.back{display:block;font-size:12px;color:#789;margin-bottom:15px}.actions{display:flex;gap:8px;flex-wrap:wrap}.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:15px;border-bottom:1px solid #e9eef4}.facts dt{color:#7e8ca2}.facts dd{margin:0;text-align:right}.total-line{margin:20px 0;padding:15px;background:#f3f6fc;border-radius:10px;display:flex;justify-content:space-between;align-items:center}.total-line strong{font-size:20px}.editor-labels,.editor-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 48px;gap:8px;align-items:center}.editor-labels{color:#77879a;font-size:11px;margin-bottom:7px}.editor-row{margin-bottom:8px}.editor-row input{min-width:0;padding:10px}.editor-row .check{display:flex;align-items:center;justify-content:center}.editor-row .check input{width:auto}.danger-zone{border-top:1px solid #efdfdf;margin-top:22px;padding-top:15px}.danger-zone summary{color:#b03e47;cursor:pointer}.event{display:flex;gap:18px;padding:9px 0;border-bottom:1px solid #edf0f5;font-size:12px}.event span{color:#7c899c}.footer{text-align:center;color:#97a3b5;padding:18px;font-size:11px}.login-body{min-height:100vh;background:linear-gradient(150deg,#13213b,#2f4f92);display:grid;place-items:center;padding:20px}.login-card{background:white;width:100%;max-width:390px;border-radius:18px;padding:35px;box-shadow:0 22px 65px #06112755}.login-card .brand{color:#18283e;padding:0;margin-bottom:28px}.login-card h1{font-size:24px}.login-card .muted{margin-bottom:25px}.login-card .form button{width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}code{background:#f1f4f7;padding:2px 5px;border-radius:4px}@media(max-width:1020px){.split{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}.content{padding:20px}.sidebar{width:195px}.layout{grid-template-columns:195px minmax(0,1fr)}}@media(max-width:680px){.layout{display:block}.sidebar{position:static;width:100%;height:auto;padding:10px 12px}.sidebar .brand{display:none}.sidebar nav{display:flex;flex-direction:row;overflow-x:auto;white-space:nowrap;gap:2px}.sidebar nav a{padding:10px}.sidefoot{display:none}.topbar{height:52px;padding:0 18px}.topname{display:none}.mobile-brand{display:block;font-weight:750}.content{padding:18px 12px 38px}.stats{grid-template-columns:1fr;gap:9px}.stat{padding:16px;gap:5px}.stat strong{font-size:25px}.panel{padding:16px}.pair{grid-template-columns:1fr}.heading{margin-bottom:18px}h1{font-size:23px}.event{flex-wrap:wrap}.editor-labels,.editor-row{grid-template-columns:minmax(0,1fr) 86px 40px;gap:5px}.editor-row input{padding:7px}.actions .button{padding:8px}}

.mobile-logout{display:none}.readonly .content:not(.page-settings):not(.page-mis_documentos):not(.page-incidencias) form.form{display:none}.readonly .content .item a[href*="edit="]{display:none}@media(max-width:680px){.mobile-logout{display:inline-flex!important;border:0;background:transparent;color:#3655a7;font-size:12px;font-weight:700;padding:5px}.topbar .userchip{margin-left:auto;margin-right:8px}}

.charge-edit{border-bottom:1px solid #edf0f5;padding:8px 0 15px}.charge-edit summary{font-size:12px;color:#3656a4;cursor:pointer;margin-bottom:12px}
@media (prefers-color-scheme: dark){
:root{color:#dbe5f4;background:#101827}
body{background:#101827}.mainwrap{background:#101827}.topbar,.panel,.stat{background:#172235;border-color:#2a3952;color:#dfe8f6}.topname,h1,h2,h3,.stat strong,.item b{color:#eaf1fb}
.muted,.hint,.stat small,td small,.item small,.facts dt,.event span{color:#9fadc3}
.sidebar{background:#0d1627}.sidebar nav a.active{background:#304a80}
th,td,.item,.event{border-color:#2b3950}.total-line,.property{background:#223450}.stat>span{color:#aebed4}
.form input,.form select,.form textarea,form.inline input,.editor-row input{background:#0f1b2b;color:#eff4ff;border-color:#344560}
.form input:disabled{background:#243247;color:#a8b3c3}.button,.quiet-button,button[type=submit]:not(.primary):not(.text-button):not(.danger){background:#23334e;color:#dbe7fa;border-color:#394963}
.pill.gray{background:#2f3d52;color:#c3d0e3}.pill.warn{background:#453720;color:#edc080}.pill.info{background:#263c66;color:#9bbaff}.pill.ok{background:#204831;color:#b0eac5}
.login-card{background:#18263b;color:#ebf0f8}.login-card .brand{color:#e6effe}.notice{background:#1b412f;border-color:#31553e;color:#b6e6c8}.alert{background:#482e26;border-color:#6f4537;color:#f3c4ad}
}

.readonly .page-owners .split>.panel:first-child,.readonly .page-properties .split>.panel:first-child,.readonly .page-tenants .split>.panel:first-child,.readonly .page-contracts .split>.panel:first-child{display:none}.readonly .page-owners .split,.readonly .page-properties .split,.readonly .page-tenants .split,.readonly .page-contracts .split{grid-template-columns:1fr}

.prep-panel .panel-heading{gap:12px;align-items:center}.prep-panel h2{margin:0}.prep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}.prep-grid>div{border:1px solid #dce4ef;border-radius:9px;padding:12px;display:flex;flex-direction:column;gap:8px}.prep-grid small{font-size:11px;color:#78869c}.prep-grid b{font-size:13px}.prep-check{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;font-size:13px!important}.prep-check input{width:auto!important}@media(max-width:830px){.prep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.prep-grid{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.prep-grid>div{border-color:#344560}}

/* 0.2.0 — contraste, accesibilidad y cuentas */
code{background:#e8edf5;color:#253b5d;border:1px solid #dce4f1;overflow-wrap:anywhere}
.brand-icon{width:35px;height:35px;object-fit:contain;flex:none;border-radius:9px}
.login-card .brand-icon{width:48px;height:48px}
.login-card{max-width:430px}
.login-card .form{margin-top:18px}
.login-card .form button{width:100%}
.login-card .auth-switch{margin:22px 0 0;text-align:center;font-weight:650}
.login-card .muted{margin-bottom:0}
.login-card .form label{color:#465a78}
.form label,.form select,.form input,.form textarea{min-width:0}
.form input:focus-visible,.form textarea:focus-visible,.form select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #86a7eb;outline-offset:2px}
.account-user{border:1px solid #dce5f3;padding:18px;border-radius:12px;display:flex;flex-direction:column;gap:14px;margin:14px 0}
.account-user p{margin:6px 0 0}
.account-detail{padding:15px 0;border-bottom:1px solid #e6ecf4}
.account-detail:last-child{border-bottom:0}
.account-detail summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:9px}
.account-detail summary span{font-size:12px;color:#64758e}
.account-detail-content{padding:14px 0 4px}
.user-buttons{margin:10px 0}
.reset-box{margin-top:12px;padding:12px 0;border-top:1px solid #e3e8f0}
.reset-box summary{cursor:pointer;color:#385aaa;font-weight:650;margin-bottom:8px}
.check-inline{display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important}
.check-inline input{width:auto!important}
.page-users .panel{max-width:1080px}
.page-smtp .panel{max-width:900px}
@media(prefers-color-scheme:dark){
code{background:#2a3b58;color:#f0f5ff;border-color:#496080}
.login-card .form label{color:#d4def0}
.account-user{background:#1d2b43;border-color:#364960}
.account-detail,.reset-box{border-color:#364760}
.account-detail summary span{color:#adbad1}
}

.install-btn[hidden]{display:none!important}.install-btn{margin-left:auto;margin-right:12px}.topbar .userchip{flex-shrink:0}@media(max-width:680px){.install-btn{padding:6px 8px;font-size:11px;margin-left:auto;margin-right:6px}}
/* Contraste de campos, vínculos y estados en el modo oscuro */
@media(prefers-color-scheme:dark){
 .form label,form.inline label,.page-settings .form label,.charge-edit summary,.reset-box summary{color:#cfdef5}
 .content a:not(.button):not(.quiet-button):not(.primary):not(.danger):not(.back){color:#a5c2ff}
 .login-card a{color:#a5c2ff}
 .back,.facts dd{color:#d0ddf2}
 input::placeholder,textarea::placeholder{color:#9aaecb;opacity:1}
 .total-line strong,.total-line b{color:#eef5ff}
 .account-detail summary strong{color:#f0f5ff}
 .editor-labels{color:#becce0}
}
/* v0.2.1: schedules, deposits, documents and administrative archival controls */
.month-picker{margin:12px 0;border:1px solid var(--border,#d6dce7);border-radius:10px;padding:10px 12px;min-width:0}
.month-picker legend{font-size:.9rem;font-weight:650;padding:0 6px}
.month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.month-grid label{display:flex;align-items:center;gap:7px;margin:0;min-width:0;font-size:.86rem;font-weight:500}
.month-grid input{width:16px;height:16px;flex:none;accent-color:#2563eb}
.admin-record-actions{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.admin-record-actions .form{margin:0}
.admin-record-actions details{max-width:210px}
.admin-record-actions summary{cursor:pointer;font-size:.8rem;color:var(--muted,#64748b)}
.admin-record-actions .hint{font-size:.8rem}
@media(max-width:620px){.month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-record-actions{align-items:flex-start;width:100%}}

/* v0.2.4: boton de instalacion solo en cabecera del area privada */
.pwa-install-hint{font-size:12px;line-height:1.6;color:#52657d;margin:10px 0 0}.pwa-install-hint[hidden]{display:none!important}@media(prefers-color-scheme:dark){.pwa-install-hint{color:#d0dcee}}

/* v0.3.0 · Listados, módulos y navegación compacta */
@media(min-width:681px){.sidebar nav{overflow-y:auto;flex:1;min-height:0;padding-bottom:12px}.sidefoot{flex-shrink:0}}
.item{flex-wrap:wrap}.item>div:first-child{min-width:170px;flex:1}.page-incidencias .account-detail summary,.page-documentos .item{overflow-wrap:anywhere}
.page-settings .panel{max-width:1050px}details.account-detail[open]{margin-bottom:8px}.page-contract .panel .table-scroll{margin-top:14px}
.form .check-inline{cursor:pointer}.form .check-inline input{accent-color:#3a60be}
@media(max-width:680px){.sidebar nav a{flex-shrink:0}.item .form{max-width:100%}.heading .actions{width:100%;flex-wrap:wrap}.content{overflow-wrap:anywhere}}
@media(prefers-color-scheme:dark){.item .form button{color:#a5c2ff!important}.page-documentos .item{border-color:#364760}}
