:root{--navy:#142942;--deep:#10253a;--teal:#1d776c;--teal-dark:#146357;--mint:#e4f3ee;--bg:#f6f8fa;--ink:#18283a;--muted:#788592;--border:#e7ecf0;--shadow:0 8px 32px rgba(30,48,65,.035);--radius:15px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:34px;line-height:1.15;font-weight:750;margin-bottom:10px}h2{font-size:19px;margin-bottom:0;font-weight:720}h3{font-size:16px;margin-bottom:0}p{margin-bottom:0}.small{font-size:12px}.muted,.subtitle{color:var(--muted)}.subtitle{font-size:14px}.eyebrow{font-size:11px;font-weight:780;letter-spacing:1.9px;color:var(--teal);margin-bottom:13px;display:flex;gap:9px;align-items:center}.status-dot,.mini-dot{width:7px;height:7px;display:inline-block;background:#38ad86;border-radius:50%;flex-shrink:0}.mini-dot.amber{background:#e5a242}.mini-dot.blue{background:#66a8eb}.mini-dot.green{background:#35a779}
.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--deep);width:258px;min-width:258px;min-height:100vh;color:#d4dfeb;display:flex;flex-direction:column;padding:31px 17px 24px;position:sticky;top:0;height:100vh;z-index:10}.brand{display:flex;align-items:center;gap:12px;margin:0 9px 52px;color:#fff}.brand-symbol{width:41px;height:41px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#2d6f6c;box-shadow:0 4px 17px #0002}.brand-symbol svg{width:23px;height:23px}.brand-wordmark{font-weight:800;letter-spacing:1.05px;font-size:13px;line-height:1.25}.brand-wordmark small{display:block;letter-spacing:.05px;font-size:10px;font-weight:450;color:#a2bac8;margin-top:4px}.sidebar-label{color:#7891a9;font-size:10px;letter-spacing:1.8px;font-weight:750;margin:0 14px 15px}.sidebar-subheading{margin-top:40px}.navigation{display:flex;flex-direction:column;gap:6px}.nav-link{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:10px;color:#b9c9d9;font-weight:560;font-size:13px}.nav-link:hover{background:#ffffff0d;color:#fff}.nav-link.active{background:#2c695f;color:#fff;font-weight:700}.nav-icon{font-size:19px;width:23px;text-align:center;line-height:1}.sidebar-bottom{margin-top:auto;padding-top:28px}.sidebar-tip{border-radius:13px;background:#fff0;border:1px solid #ffffff1c;padding:17px 16px;margin:0 5px 22px}.tip-star{color:#95d6c3;font-size:23px}.sidebar-tip p{font-size:12px;line-height:1.65;color:#b6c7d5;margin-top:6px}.account-item{border-top:1px solid #ffffff20;padding:20px 4px 14px;display:flex;gap:10px;align-items:center}.avatar,.small-avatar{display:inline-flex;align-items:center;justify-content:center;background:#b7ddd1;color:#176857;flex-shrink:0;font-weight:800;border-radius:50%;width:36px;height:36px}.account-details{min-width:0;display:flex;flex-direction:column;line-height:1.35}.account-details strong{color:white;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-details small{color:#a4b7c8;font-size:11px;margin-top:3px}.account-actions{display:flex;justify-content:space-between;padding:8px 6px 0;font-size:12px}.account-actions a,.account-actions button{color:#b3c5d5}.account-actions button{border:0;background:none;padding:0}.account-actions a:hover,.account-actions button:hover{color:white}.main-shell{flex:1;min-width:0;display:flex;flex-direction:column}.page-content{width:100%;max-width:1540px;padding:52px 56px 68px;margin:0 auto;flex:1}.footer{color:#a0abb5;font-size:11px;text-align:center;padding:20px 24px 25px}.footer span{padding:0 7px}.mobile-header{display:none}.page-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:31px}.page-head.compact{margin-bottom:27px}.page-head h1{margin-bottom:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:9px;padding:11px 17px;min-height:41px;font-weight:700;font-size:12px;text-align:center;white-space:nowrap;border:1px solid transparent;transition:.16s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--teal);color:#fff;box-shadow:0 3px 11px #1d776c15}.btn-primary:hover{background:var(--teal-dark)}.btn-secondary{background:#fff;border-color:#dfe6eb;color:#526679}.btn-secondary:hover{border-color:#b4cbd3}.btn-ghost{color:#758594;background:transparent}.btn-full{width:100%}.btn-lg{padding:14px 22px;min-height:50px;font-size:13px}.btn-sm{padding:7px 11px;min-height:33px}.btn-head{padding:14px 18px}.plus{font-size:20px;font-weight:400;line-height:.8}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:39px}.stat-card{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow);transition:.16s}.stat-card:hover{transform:translateY(-2px);border-color:#c9dadc}.stat-label{font-size:12px;color:#758493;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:6px}.stat-icon{color:#738ca0;font-size:22px;line-height:1}.stat-amber{color:#e3a349}.stat-blue{color:#7fb2e5}.stat-green{color:#4bb58c}.stat-value{font-size:37px;font-weight:760;letter-spacing:-1.5px;line-height:1.3;margin:12px 0 5px}.stat-note{font-size:11px;color:#95a1ac;display:flex;align-items:center;gap:7px}
.list-section{margin-top:6px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-head h2{font-size:20px}.section-head p{margin-top:5px}.filters{background:#fff;border:1px solid var(--border);border-radius:11px;padding:14px;display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.search-field{position:relative;flex:1 1 240px}.search-symbol{position:absolute;left:14px;top:4px;font-size:26px;color:#91a1ad}.search-field input{padding-left:43px!important}.search-field input,.filter-options select{height:42px!important}.filter-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filters input:not([type=checkbox]),.filters select{border:1px solid #e4e9ed;background:white;border-radius:8px;outline:0;padding:10px 13px;font-size:12px;min-width:0}.filters select{width:160px}.my-filter{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:600;color:#617083}.my-filter input{accent-color:var(--teal);width:15px;height:15px}.filter-clear{font-size:12px;color:var(--teal);font-weight:700}
.incidents-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.incident-card{display:flex;flex-direction:column;border:1px solid var(--border);background:#fff;border-radius:var(--radius);overflow:hidden;min-width:0;box-shadow:var(--shadow);transition:transform .15s,border-color .15s,box-shadow .15s}.incident-card:hover{transform:translateY(-3px);border-color:#bed7d4;box-shadow:0 12px 30px #152f4614}.incident-cover{height:154px;position:relative;background:#dce8e7;overflow:hidden}.incident-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.incident-card:hover .incident-cover img{transform:scale(1.035)}.cover-empty{display:flex;justify-content:center;align-items:center;flex-direction:column;background:linear-gradient(145deg,#e8f1ee,#dceae9)}.cover-symbol{font-size:60px;font-weight:200;color:#a6c4bd;line-height:1}.cover-caption{font-size:10px;color:#8eb0a6;text-transform:uppercase;letter-spacing:2px}.incident-number{position:absolute;top:12px;left:12px;background:#ffffffeb;border-radius:5px;padding:5px 9px;color:#526273;font-size:11px;font-weight:780}.incident-body{padding:19px 19px 16px;display:flex;flex-direction:column;flex:1}.incident-tags{display:flex;justify-content:space-between;gap:7px;align-items:center;margin-bottom:12px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:30px;padding:5px 10px;font-size:10px;font-weight:750;white-space:nowrap}.pill .mini-dot{width:6px;height:6px;background:currentColor}.pill-pendiente{background:#fff2dd;color:#b27a28}.pill-revision{background:#f4eaff;color:#9465ac}.pill-curso{background:#e7f1ff;color:#417dbd}.pill-resuelta{background:#e0f4e9;color:#28865b}.pill-descartada{background:#ebedf0;color:#68747f}.priority{color:#89949f;font-size:11px;font-weight:650}.priority-alta{color:#d28239}.priority-urgente{color:#be4a4a}.incident-body h3{font-size:15px;line-height:1.34;font-weight:750;margin-bottom:9px;letter-spacing:-.015em}.incident-excerpt{color:#85919c;font-size:12px;line-height:1.6;margin-bottom:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.incident-location{font-size:11px;color:#7d8994;margin-top:auto;padding-bottom:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incident-location span{font-size:18px;color:#8f9daa;vertical-align:-2px;margin-right:2px}.incident-footer{border-top:1px solid #eef0f2;display:flex;align-items:center;gap:7px;padding-top:14px;min-width:0}.small-avatar{width:27px;height:27px;font-size:10px}.incident-author{font-size:11px;color:#6b7b89;font-weight:630;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incident-date{font-size:10px;color:#a0abb3;margin-left:auto;white-space:nowrap}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;color:var(--muted);font-size:12px}.pagination div{display:flex;gap:8px}
.empty-state{border:1px dashed #cfdde3;background:#fff;border-radius:15px;min-height:330px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px 20px}.empty-icon{font-size:42px;color:#b0c9c8;margin-bottom:6px}.empty-state h3{font-size:19px}.empty-state p{color:#87929d;max-width:450px;margin:9px 0 21px}.breadcrumb{display:flex;align-items:center;gap:10px;color:#8a96a0;font-size:12px;margin:-16px 0 29px}.breadcrumb a:hover{color:var(--teal)}.breadcrumb span{color:#b6c0c9}.surface{background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.form-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:22px;align-items:start}.form-main{display:flex;flex-direction:column;gap:22px}.form-aside{display:flex;flex-direction:column;gap:18px}.form-panel{padding:29px 31px}.panel-heading{display:flex;align-items:center;gap:14px;margin-bottom:29px}.panel-heading h2{font-size:16px}.panel-heading p{font-size:12px;color:#93a0ab;margin-top:2px}.panel-icon{background:#e4f3ee;color:var(--teal);border-radius:10px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.panel-icon-purple{background:#f1eefe;color:#876cb9}.panel-icon-orange{background:#fdf0e0;color:#d59a50}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.field:last-child{margin-bottom:0}.field label{font-size:12px;font-weight:720;color:#45586a}.required{color:#c85c57}.field input,.field select,.field textarea{background:#fff;border:1px solid #dce5ea;border-radius:9px;padding:13px 14px;width:100%;outline:0;color:#263747;transition:border-color .15s,box-shadow .15s;font-size:13px}.field input:focus,.field select:focus,.field textarea:focus,.search-field input:focus,.filters select:focus{border-color:#62ac9e;box-shadow:0 0 0 3px #bde0d733}.field textarea{resize:vertical;min-height:145px;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:#b0bac3}.field small{color:#98a4ad;font-size:11px}.upload-zone{border:1.5px dashed #b9d9d3;background:#f7fcfa;border-radius:12px;min-height:185px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:6px;cursor:pointer;padding:20px;color:#82938f}.upload-zone:hover{border-color:#4e9a8c;background:#f0faf6}.upload-zone strong{color:#3d776d;font-size:13px}.upload-zone span{font-size:11px}.upload-zone .upload-icon{font-size:30px;color:#4a9b8e}.upload-zone input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.preview-grid,.attached-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:14px}.preview-box,.attached-image{position:relative;overflow:hidden;border:1px solid #e2e9ec;border-radius:9px;aspect-ratio:1.3;background:#f1f4f5}.preview-box img,.attached-image img{width:100%;height:100%;object-fit:cover}.preview-box span{position:absolute;bottom:0;left:0;right:0;background:#162b39b7;color:white;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:10px;padding:5px}.upload-warning{color:#be4a4a;font-size:12px;grid-column:1/-1}.remove-photo{position:absolute;top:6px;right:6px;background:#fff;color:#a33d43;border:0;border-radius:50%;width:23px;height:23px;font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0003}.subsection-title{font-size:12px;margin-bottom:9px;color:#607482}.form-actions{display:flex;flex-direction:column;gap:3px}.permission-note{border:1px solid #dceae5;background:#eef7f3;border-radius:11px;padding:14px;display:flex;gap:11px;color:#577971;line-height:1.6;font-size:11px}.permission-note>span{color:#629a89;font-size:21px}.permission-note p{padding-top:3px}
.detail-head{margin-top:2px}.detail-head h1{max-width:800px}.detail-pills{display:flex;gap:9px;align-items:center;margin-bottom:16px}.detail-pills .priority{border:1px solid #e3e9ed;padding:4px 9px;border-radius:20px}.id-light{font-size:11px;color:#8997a3;margin-left:4px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,.85fr);gap:22px;align-items:start}.detail-main,.detail-aside{display:flex;flex-direction:column;gap:20px}.detail-panel{padding:27px 29px}.detail-section-title{border-bottom:1px solid #edf1f3;padding-bottom:17px;margin-bottom:21px}.detail-section-title h2{font-size:17px;display:flex;align-items:center;gap:8px}.detail-description{white-space:pre-wrap;color:#637484;font-size:13px;line-height:1.9;overflow-wrap:anywhere}.count-bubble{font-size:11px;background:#edf3f4;color:#708793;padding:2px 8px;border-radius:12px}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gallery-photo{border-radius:9px;overflow:hidden;aspect-ratio:1.28;background:#e4efed;display:block}.gallery-photo img{height:100%;width:100%;object-fit:cover;transition:.18s}.gallery-photo:hover img{transform:scale(1.04)}.no-photos{text-align:center;padding:28px;color:#8b9ba4}.no-photos span{font-size:35px;color:#a4bcb7}.no-photos p{margin:3px 0 9px}.no-photos a{font-weight:700;color:var(--teal)}.timeline{margin:4px 0 0 6px}.timeline-row{display:flex;gap:16px;position:relative;padding:0 0 23px}.timeline-row:last-child{padding-bottom:3px}.timeline-row:not(:last-child):before{content:"";position:absolute;left:5px;top:11px;bottom:0;border-left:1px solid #dce6e5}.timeline-mark{width:11px;height:11px;background:#fff;border:3px solid #5aa999;border-radius:100%;flex-shrink:0;position:relative;z-index:1;margin-top:5px}.timeline-row p{font-size:12px;font-weight:650;color:#46596b}.timeline-row small{display:block;color:#9aa7b2;font-size:11px;margin-top:3px}.aside-title{font-size:16px;margin-bottom:18px}.info-row{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;font-size:11px;margin:16px 0}.info-row>span{color:#97a2ad}.info-row>strong{text-align:right;color:#596c7b;font-size:11px;max-width:60%;font-weight:680}.info-row .pill{font-size:10px}.info-separator{height:1px;background:#ecf0f2;margin:20px 0}.creator-line{display:flex;gap:12px;align-items:center}.creator-line div{display:flex;flex-direction:column}.creator-line strong{font-size:12px}.creator-line div span{color:#95a2ac;font-size:11px;margin-top:3px}
.users-surface{overflow:hidden}.users-table-wrap{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;text-align:left}.users-table th{background:#fbfcfd;font-size:10px;color:#929faa;letter-spacing:1px;padding:18px 22px;white-space:nowrap}.users-table td{padding:16px 22px;border-top:1px solid #eff2f4;color:#617383;font-size:12px}.table-user{display:flex;gap:10px;align-items:center;min-width:185px}.table-user>span:last-child{display:flex;flex-direction:column}.table-user strong{color:#405164}.table-user small{color:#9aa7ae;margin-top:3px}.user-footnote{font-size:12px;color:#8a98a5;margin-top:17px}.narrow-container{max-width:680px}.narrow-container>.form-panel{padding:32px}.inline-actions{flex-direction:row;gap:12px;margin-top:28px}.checkbox-line{display:flex;align-items:center;gap:10px;font-size:12px;color:#5b7081;font-weight:650}.checkbox-line input{accent-color:var(--teal)}.profile-summary{padding:21px 25px;display:flex;gap:16px;align-items:center;margin-bottom:20px}.profile-summary h2{font-size:18px}.profile-summary p{color:#8b99a6;font-size:12px;margin-top:4px}.avatar-big{width:48px;height:48px;font-size:20px}.flash-stack{margin-bottom:22px;display:flex;flex-direction:column;gap:8px}.flash{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px;border-radius:9px;font-weight:600;font-size:12px;border:1px solid #ccebdc;background:#effbf4;color:#217d58}.flash-error{background:#fff1ef;border-color:#f5d4cf;color:#ab4c42}.flash button{border:0;background:none;color:inherit;font-size:21px;line-height:1}.error-page{border:0;min-height:65vh}.error-page h1{font-size:26px}.error-code{font-size:72px;letter-spacing:-6px;color:#afd2c5;font-weight:800;line-height:1}.error-auth{height:100vh;display:grid;place-items:center}
/* Acceso */
.auth-page{background:#fff}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(400px,50%) 1fr}.auth-intro{background:#13344a;color:#fff;position:relative;overflow:hidden;padding:47px clamp(35px,6vw,99px) 43px;min-height:700px;display:flex;flex-direction:column}.auth-brand{margin:0;position:relative;z-index:1}.auth-brand .brand-symbol{background:#317e71}.auth-copy{position:relative;z-index:1;margin:auto 0 160px;max-width:530px}.eyebrow-light{color:#9fd7c9}.auth-copy h1{font-size:clamp(38px,3.7vw,58px);letter-spacing:-2px;line-height:1.15;margin:21px 0}.auth-copy h1 em{font-style:normal;color:#8cdbbd}.auth-copy>p{color:#afc8d4;line-height:1.85;font-size:15px;margin-bottom:34px;max-width:440px}.auth-feature{margin:14px 0;color:#d1e4e6;font-size:12px;font-weight:550;display:flex;gap:12px;align-items:center}.auth-feature span{width:21px;height:21px;border-radius:50%;background:#2f6d65;color:#a9e5d1;text-align:center;font-weight:800;line-height:21px}.auth-intro-footer{position:relative;z-index:1;color:#90b0bb;font-size:11px}.auth-decoration{position:absolute;inset:auto 0 0 0;height:195px;display:flex;align-items:flex-end;gap:8px;opacity:.42;transform:translateY(55px)}.building{background:linear-gradient(180deg,#4c7f83,#21465d);height:160px;width:28%;border-radius:9px 9px 0 0;box-shadow:inset 0 0 0 1px #ffffff10}.building:after{content:"";display:block;margin:23px auto;width:65%;height:100px;background:repeating-linear-gradient(90deg,transparent 0 22px,#81b4af 22px 33px,transparent 33px 58px),repeating-linear-gradient(180deg,transparent 0 25px,#81b4af 25px 39px,transparent 39px 57px);opacity:.4}.b1{height:132px;width:26%}.b2{height:205px;width:40%}.b3{height:125px;width:30%}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:55px 35px}.auth-card{width:min(100%,400px)}.login-icon{width:45px;height:45px;border:1px solid #d5e9e3;background:#f0f8f5;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:28px;color:#478e7d;margin-bottom:29px}.auth-card .eyebrow{margin-bottom:7px}.auth-card h2{font-size:31px;letter-spacing:-1.1px;margin:0 0 12px}.auth-card>.muted{line-height:1.8;font-size:13px;margin-bottom:32px}.form-stack{display:flex;flex-direction:column;gap:4px}.form-stack .field{margin-bottom:18px}.auth-card .btn{justify-content:space-between;margin-top:3px}.password-wrapper{position:relative}.password-wrapper input{padding-right:50px}.reveal-password{position:absolute;top:0;right:0;height:100%;border:0;background:transparent;color:#8397a7;width:46px}.auth-help{font-size:11px;line-height:1.8;color:#96a3ad;text-align:center;margin-top:31px;padding:20px 9px;border-top:1px solid #edf0f2}.auth-flashes{position:absolute;z-index:3;top:20px;left:50%;transform:translateX(-50%);width:min(90vw,400px)}
@media(max-width:1270px){.page-content{padding:43px 34px 55px}.sidebar{width:235px;min-width:235px}.incidents-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{gap:12px}.stat-card{padding:19px 17px}.form-layout{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr)}}
@media(max-width:940px){.sidebar{width:230px;min-width:230px}.page-content{padding:35px 25px 55px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout,.form-layout{grid-template-columns:1fr}.form-aside{display:contents}.form-layout .form-actions,.form-layout .permission-note{grid-column:1}.auth-intro{padding-left:44px;padding-right:44px}.auth-layout{grid-template-columns:minmax(340px,47%) 1fr}.auth-copy h1{font-size:40px}.auth-card h2{font-size:25px}}
@media(max-width:680px){.app-shell{display:block}.sidebar{position:fixed;transform:translateX(-105%);width:270px;height:100dvh;min-width:0;box-shadow:18px 0 35px #1f38433d;transition:transform .18s}.sidebar.mobile-visible{transform:translateX(0)}.mobile-header{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--border);padding:15px 20px;position:sticky;top:0;z-index:9}.mobile-brand{color:var(--navy);font-size:18px}.mobile-brand strong{font-size:14px}.menu-toggle{background:#edf5f2;border:0;border-radius:8px;padding:4px 12px;font-size:23px;color:var(--teal)}.page-content{padding:26px 16px 44px}.page-head{align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:23px}.page-head h1{font-size:27px}.btn-head{width:100%}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:30px}.stat-card{padding:15px}.stat-label{font-size:10px}.stat-value{font-size:30px}.stat-note{font-size:10px;line-height:1.35}.incidents-grid{grid-template-columns:1fr}.incident-cover{height:175px}.filters{align-items:stretch}.search-field{flex-basis:100%}.filter-options{width:100%;gap:8px}.filter-options select{flex:1}.filter-options .btn{padding:9px}.page-head .subtitle{font-size:13px}.form-panel,.detail-panel,.narrow-container>.form-panel{padding:20px}.panel-heading{gap:9px}.panel-heading h2{font-size:15px}.preview-grid,.attached-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.breadcrumb{margin:-5px 0 18px}.detail-pills{flex-wrap:wrap}.footer{line-height:1.8}.auth-layout{display:flex;flex-direction:column}.auth-intro{min-height:auto;padding:25px 26px 32px}.auth-brand{margin:0}.auth-copy{margin:52px 0 0}.auth-copy h1{font-size:32px;letter-spacing:-1px;margin:13px 0}.auth-copy>p{font-size:13px;margin-bottom:22px}.auth-feature,.auth-intro-footer,.auth-decoration{display:none}.auth-form-side{padding:38px 26px 50px;flex:1}.auth-card{max-width:440px}.login-icon{margin-bottom:20px}.auth-card h2{font-size:27px}.auth-card>.muted{margin-bottom:22px}.users-table th,.users-table td{padding:13px 12px}.error-page{min-height:70vh}}

/* Portal del propietario — módulos v2 */
.portal-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:-4px 0 30px}
.portal-tile{padding:23px 20px;text-decoration:none;color:var(--navy);display:flex;flex-direction:column;gap:6px;transition:transform .18s,box-shadow .18s}
.portal-tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px #253a4a10}
.portal-tile>span{font-size:26px;color:#338e7b;line-height:1.2;margin-bottom:5px}
.portal-tile strong{font-size:14px}.portal-tile small{font-size:11px;color:#8b9aa7;line-height:1.6}
.portal-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.portal-panel{padding:25px}.portal-panel .section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.portal-panel .section-head h2{font-size:16px}.portal-panel .section-head a{color:#258a74;font-size:12px;font-weight:700}
.portal-row{border-top:1px solid #edf0f3;padding:16px 0;display:flex;justify-content:space-between;align-items:center;gap:10px}
.portal-row strong{font-size:13px;color:#40556a}.portal-row p{font-size:12px;color:#7b8d9a;margin:6px 0;white-space:pre-wrap}
.portal-row small{color:#9ca9b1;font-size:11px}.portal-row-link{text-decoration:none}.portal-row-link>span{color:#528d7e}
.portal-empty{padding:23px 5px;font-size:13px;color:#8b9ca7;line-height:1.7}
.portal-stack{display:flex;flex-direction:column;gap:15px;margin-top:20px}
.portal-record{padding:25px 27px;display:flex;align-items:flex-start;gap:20px}
.portal-record-icon{background:#eaf5ef;border:1px solid #d6e9e0;min-width:48px;height:48px;border-radius:12px;display:grid;place-items:center;color:#297f69;font-size:18px;font-weight:800}
.portal-record-body{flex:1;min-width:0}.portal-record-body h2{font-size:17px;color:#263b4f;margin:8px 0 10px;line-height:1.4}
.portal-record-body p{font-size:12px;color:#728494;margin:9px 0;line-height:1.75}
.portal-record-body small{font-size:11px;color:#95a3ac;display:block;margin-top:12px}
.portal-kicker{font-size:11px;color:#4c9a81;font-weight:700}.portal-paragraph{font-size:13px;color:#617586;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}
.portal-tag{color:#895517;background:#fff3d9;border:1px solid #f9dfab;padding:3px 7px;border-radius:10px;font-size:10px}
.portal-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:95px}.portal-actions form{margin:0}
.portal-actions .btn{width:100%;justify-content:center}.portal-hint{background:#fff9ed;border-left:3px solid #e6b96c;padding:12px 15px;color:#946e32;font-size:12px;line-height:1.7}
@media(max-width:1100px){.portal-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portal-cols{grid-template-columns:1fr}.portal-record{padding:20px;gap:13px;flex-wrap:wrap}.portal-actions{min-width:0;width:100%;flex-direction:row}.portal-record-icon{min-width:40px;height:40px;font-size:15px}}
@media(max-width:420px){.portal-tiles{gap:10px}.portal-tile{padding:15px}.portal-tile strong{font-size:12px}.portal-record-body h2{font-size:15px}}

/* Presidencia V3: selección accesible de viviendas */
.home-check-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:260px;overflow:auto;border:1px solid #d9e0e8;border-radius:12px;padding:12px;background:#fafbfd; }
.home-check { display:flex;gap:8px;align-items:center;font-size:13px;cursor:pointer;padding:6px;border-radius:7px; }
.home-check:hover { background:#e9f1fa; }
.home-check input { flex:none; }

.profile-linked-homes { margin-top:22px; }


/* Presidencia V3.1: continuidad del diseño del portal y directorio de viviendas */
.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#466176 transparent}
.sidebar-bottom{flex-shrink:0}
@media(max-height:830px) and (min-width:681px){.brand{margin-bottom:25px}.sidebar-subheading{margin-top:18px}.nav-link{padding:10px 13px}.sidebar{padding-top:24px}}
.home-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 23px}
.home-kpi{display:flex;align-items:center;gap:17px;padding:21px 22px;min-width:0}
.home-kpi-icon{width:44px;height:44px;min-width:44px;border-radius:12px;background:#edf2fc;color:#446d9b;display:grid;place-items:center;font-size:23px}
.home-kpi-icon-green{background:#e4f3ee;color:#27836e}
.home-kpi-icon-amber{background:#fff3e2;color:#bd8b34}
.home-kpi-label{font-size:12px;color:#83919f;font-weight:650}
.home-kpi strong{font-size:29px;line-height:1.2;color:var(--navy);letter-spacing:-.04em;display:block;margin:2px 0}
.home-kpi small{font-size:11px;color:#9aa6b0}
.home-directory-toolbar{padding:20px 23px;display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:18px}
.home-directory-toolbar h2{font-size:17px;color:var(--navy);margin:0 0 3px}
.home-directory-toolbar p{font-size:12px;color:#80909d;margin:0}
.home-search-control{display:flex;flex-direction:column;gap:5px;min-width:245px}
.home-search-control label{font-size:11px;color:#738696;font-weight:730}
.home-search-control input{border:1px solid #dce5ea;border-radius:9px;padding:10px 12px;background:#fff;color:var(--ink);outline:0;min-width:0;width:100%}
.home-search-control input:focus-visible{border-color:#62ac9e;box-shadow:0 0 0 3px #bde0d733}
.home-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-card{padding:22px;display:flex;flex-direction:column;min-width:0;transition:transform .18s,box-shadow .18s,border-color .18s}
.home-card:hover{transform:translateY(-2px);border-color:#cadcdb;box-shadow:0 10px 22px #253a4a0d}
.home-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.home-card-symbol{width:39px;height:39px;background:#e5f3ed;border-radius:10px;display:grid;place-items:center;color:#338b73;font-size:23px}
.home-card-code{font-weight:800;font-size:11px;letter-spacing:.07em;color:#4d6b77;background:#f1f5f7;border-radius:8px;padding:6px 9px}
.home-card h2{font-size:16px;color:#294158;margin:0 0 11px;line-height:1.35;overflow-wrap:anywhere}
.home-card-status{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;border-radius:20px;font-size:11px;padding:5px 9px;font-weight:720}
.home-card-status-active{background:#e6f5ed;color:#247a55}
.home-card-status-pending{background:#fff2e0;color:#9f742f}
.home-card-status-pending .mini-dot{background:#daa64c}
.home-card-members{font-size:12px;color:#526b7b;margin:13px 0 19px;min-height:35px;overflow-wrap:anywhere}
.home-card-members-muted{color:#a0aeb9}
.home-card-action{margin-top:auto;align-self:flex-start;gap:7px}
.home-no-results{padding:25px;text-align:center;color:#768996;font-size:13px}
[hidden]{display:none!important}
.profile-linked-homes{margin:22px 0 0;padding:25px}
.profile-linked-homes h2{font-size:16px;margin-bottom:10px}
.profile-linked-homes ul{margin:0;padding-left:19px;line-height:1.9;color:#627485;font-size:13px}
.profile-linked-homes p{font-size:13px;color:#8798a5}
@media(max-width:1230px){.home-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.home-kpis{gap:11px}.home-kpi{padding:17px 15px}}
@media(max-width:800px){.home-kpis{grid-template-columns:1fr}.home-directory-toolbar{flex-direction:column;align-items:stretch}.home-search-control{min-width:0}}
@media(max-width:550px){.home-directory{grid-template-columns:1fr}.home-kpi{padding:16px}.home-card{padding:18px}}
