/* Cristal institucional LNH · una capa visual compartida, sin lógica ni datos. */
:root{
 --c-green:#4caf50;--c-blue:#2196f3;--c-yellow:#ffeb3b;
 --c-ink:#244a5c;--c-line:#d7e5ee;--c-radius:16px;
 --c-paper:linear-gradient(150deg,#fff 0%,#fff 62%,#f5faff 100%);
 --c-glass:linear-gradient(165deg,#fff 0%,#f9fcff 45%,#edf5fb 100%);
 --c-edge:inset 0 1px 0 #fff,inset 0 -1px 0 #d5e5ee70;
 --c-shadow:0 8px 22px #234d660c,0 2px 5px #234d6606;
 --c-green-button:linear-gradient(170deg,#4caf50 0%,#358d43 20%,#287b3c 70%,#247337 100%);
}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#f2f7fb;color:var(--c-ink)}
#lnh-org{font-family:inherit}
#lnh-org .o-shell{border:1px solid #dce8ef;border-radius:24px;box-shadow:0 14px 50px #244c650c;background:#fff}
#lnh-org .o-header,.a-header{
 background:var(--c-paper);border-bottom:1px solid #dce8ef;
 box-shadow:0 1px 0 #fff;position:relative;
}
#lnh-org .o-header{padding:17px 24px}
#lnh-org .o-header strong{letter-spacing:.65px}
#lnh-org .o-logo{border-radius:50%}
#lnh-org .o-admin-link,#lnh-org .o-close,.a-secondary{
 background:var(--c-glass);border:1px solid #cbdfe9;border-radius:12px;
 box-shadow:var(--c-edge),0 3px 8px #224e6408;color:#286687;
 text-decoration:none;transition:box-shadow .18s,border-color .18s,transform .18s;
}
#lnh-org .o-admin-link{min-height:44px;display:inline-flex;align-items:center;padding:9px 13px;font-weight:600}
#lnh-org .o-maphero{border-bottom:0}
#lnh-org .o-mapstage{
 border:1px solid #e1edf3;background:var(--c-paper);
 box-shadow:0 18px 36px #214d6126,inset 0 1px 0 #fff,inset 0 -2px 0 #d8e9f180;
}
#lnh-org .o-selected{border:1px solid #d7e8ec;background:var(--c-glass);box-shadow:var(--c-edge),0 5px 12px #173e4915}
#lnh-org .o-mapcaption{background:var(--c-glass);box-shadow:var(--c-edge);border-color:#dae8ef}
#lnh-org .o-filterbar{padding:22px 24px;background:#fff;border-bottom:1px solid #e0ebf1;gap:15px;box-shadow:none}
#lnh-org label{font-size:12px;font-weight:600;color:#496979}
#lnh-org select,.a-editor input:not([type=checkbox]),.a-editor select,.a-login input,.a-search input{
 border:1px solid #cbdfe9;border-radius:12px;background:linear-gradient(#fff,#fbfdff);
 color:var(--c-ink);min-height:48px;box-shadow:inset 0 2px 4px #234f6805,0 1px 0 #fff;
 transition:border-color .18s,box-shadow .18s;
}
#lnh-org select:disabled,.a-editor select:disabled{background:#f1f5f8;color:#8295a0;box-shadow:none}
#lnh-org .o-body{background:#f4f8fb;padding-top:24px}
#lnh-org .o-tabs,.a-tabs{
 gap:6px;padding:5px;border:1px solid #dce7ef;border-radius:16px;
 background:#eaf1f6;box-shadow:inset 0 1px 3px #28566d06;
}
#lnh-org .o-tabs{max-width:570px;margin:0 auto 25px}
#lnh-org .o-tab,.a-tabs button{
 flex:1;min-width:0;min-height:46px;padding:10px 13px;
 background:var(--c-glass);border:1px solid #d9e6ed;border-radius:12px;color:#4b6878;
 box-shadow:var(--c-edge),0 2px 5px #244e6306;font-weight:600;
 transition:background .18s,box-shadow .18s,transform .18s;
}
#lnh-org .o-tab[aria-pressed=true],.a-tabs button[aria-pressed=true]{
 color:#fff;background:var(--c-green-button);border-color:#328944;
 box-shadow:inset 0 1px 0 #ffffff6b,inset 0 -1px 0 #155f2d55,0 4px 10px #277b3b20;
}
#lnh-org .o-group{border:1px solid #d2e2eb;border-top:3px solid var(--c-green);border-radius:20px;background:#fff;box-shadow:var(--c-shadow)}
#lnh-org .o-group.o-municipal{border-top-color:var(--c-blue)}
#lnh-org .o-group.o-local{border-top-color:#a9bdc9}
#lnh-org .o-grouphead{background:var(--c-paper);padding:17px 19px}
#lnh-org .o-kind{font-size:11px;letter-spacing:.8px;color:#627f8d}
#lnh-org .o-grouphead strong{color:#244d61}
#lnh-org .o-people{background:#f4f8fb;padding:14px;gap:13px;border-top:1px solid #e1eaf0}
#lnh-org .o-person{border:1px solid #d6e4ed;border-radius:17px;background:var(--c-paper);box-shadow:0 5px 15px #2b56670b,inset 0 1px 0 #fff;overflow:hidden}
#lnh-org .o-person-cover{
 position:relative;isolation:isolate;overflow:hidden;
 background:#4caf50 url('./assets/crystal-facets.svg') center/cover no-repeat;
 padding:24px 12px;min-height:133px;
 box-shadow:inset 1px 1px 0 #ffffff80,inset -1px 0 0 #ffffff6e;
}
#lnh-org .o-person-cover::before{
 content:'';position:absolute;inset:0;z-index:-1;
 background:linear-gradient(125deg,#ffffff35,transparent 34%,#ffffff12 60%,transparent);
 border-radius:inherit;pointer-events:none;
}
#lnh-org .o-person-cover::after{content:none}
#lnh-org .o-portrait{
 position:relative;isolation:isolate;background:#fff;border:4px solid #fff;
 border-radius:50%;margin:0 auto;flex-shrink:0;
 box-shadow:0 0 0 2px #ffffff7d,0 0 0 5px #d9f4ff3d,0 7px 14px #084b5c2e,inset 0 1px 0 #fff;
}
#lnh-org .o-person-info{background:var(--c-paper);padding:15px}
#lnh-org .o-person strong{font-weight:700;letter-spacing:-.15px}
#lnh-org .o-person .o-role-label{color:#397c43;line-height:1.35}
#lnh-org .o-person-territory{color:#6a808e;line-height:1.4}
#lnh-org .o-phone{color:#436d82;letter-spacing:.15px}
#lnh-org .o-actions{gap:8px;margin-top:13px}
#lnh-org .o-action,.a-primary{
 border:1px solid #c9deeb;border-radius:12px;min-height:44px;
 background:linear-gradient(165deg,#fff,#f0f7fc 55%,#eaf3fa);color:#206b9b;
 box-shadow:inset 0 2px 0 #ffffffd9,inset 0 -1px 0 #cee1ed80,0 3px 8px #224f6506;
 font-weight:600;transition:box-shadow .18s,transform .18s,filter .18s;
}
#lnh-org .o-whatsapp,.a-primary{
 color:#fff;background:var(--c-green-button);border-color:#348e46;
 box-shadow:inset 0 2px 0 #ffffff52,inset 0 -1px 0 #155f2d66,0 4px 9px #277b3b15;
}
#lnh-org .o-link{background:#b7cfdc;width:2px}
#lnh-org .o-territory>button{
 border-radius:15px;background:var(--c-paper);border-color:#d2e2eb;border-top-color:var(--c-blue);
 box-shadow:var(--c-edge),var(--c-shadow);padding:15px;
}
#lnh-org .o-localgrid .o-territory>button{border-top-color:var(--c-green)}
#lnh-org .o-open-team{font-weight:600;color:#2676a5}
#lnh-org .o-notice{color:#5b798a}
#lnh-org .o-status{border:1px solid #d1e4f0;background:#edf6fd;border-radius:13px;color:#315f7a}
#lnh-org .o-footer{border-top:1px solid #dce7ee;background:#fff;color:#688492;padding:15px 24px}
/* Administración: el mismo material, con formularios y estados claros. */
.a-header{border-bottom:1px solid #dce8ef;box-shadow:0 4px 16px #254f6506}
.a-header>a:last-child{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-weight:600}
.a-login,.a-editor,.a-record{
 border:1px solid #d7e5ee;border-radius:18px;background:var(--c-paper);
 box-shadow:var(--c-edge),var(--c-shadow);
}
.a-login{border-top:3px solid var(--c-green)}
.a-editor{border-top:3px solid var(--c-blue)}
.a-eyebrow{color:#397f45}
.a-primary,.a-secondary{min-height:46px;font-weight:600}
.a-secondary{color:#34677f}
.a-tabs{padding:5px;flex-wrap:nowrap}
.a-toolbar{gap:12px}
.a-message{border-radius:13px;box-shadow:inset 0 1px 0 #ffffff9c}
.a-preview{
 background:#f4f8fb;border:1px solid #dbe7ee;box-shadow:inset 0 1px 0 #fff;
 border-radius:14px;
}
.a-preview img{border-radius:50%;width:76px;height:76px;border:3px solid #fff;box-shadow:0 0 0 1px #d4e3ec,0 4px 10px #234e6512}
.a-record-main img{border-radius:50%;width:50px;height:50px;border:2px solid #fff;box-shadow:0 0 0 1px #d5e4ec,0 3px 7px #234e6510}
.a-record strong{color:#2b5164}
.a-tag{background:#edf7f0;border:1px solid #d6e9dc;color:#397547}
.a-tag[data-muted=true]{background:#f1f4f6;border-color:#e0e7eb;color:#647e8b}
.a-note{line-height:1.5}
@media(hover:hover) and (pointer:fine){
 #lnh-org .o-action:hover,.a-primary:hover{filter:brightness(1.045);transform:translateY(-1px)}
 #lnh-org .o-whatsapp:hover{background:var(--c-green-button)}
 #lnh-org .o-admin-link:hover,#lnh-org .o-close:hover,.a-secondary:hover{border-color:#a8ccdf;box-shadow:var(--c-edge),0 4px 12px #234d6612;transform:translateY(-1px)}
 #lnh-org .o-person:hover{transform:translateY(-2px);box-shadow:0 9px 22px #234e6512}
 .a-primary:hover{background:var(--c-green-button)}
}
#lnh-org .o-action:active,.a-primary:active,.a-secondary:active{transform:translateY(1px);box-shadow:inset 0 1px 3px #16415a18}
#lnh-org a:focus-visible,#lnh-org button:focus-visible,#lnh-org select:focus-visible{outline:3px solid #2196f3;outline-offset:3px}
@media(max-width:600px){
 .a-tabs button{padding:9px 7px;font-size:12px}
 .a-record{border-radius:15px}
 .a-preview img{width:65px;height:65px}
}
@media(max-width:560px){
 #lnh-org .o-shell{border-radius:20px}
 #lnh-org .o-header{padding:13px 15px}
 #lnh-org .o-admin-link{font-size:11px;padding:8px 10px}
 #lnh-org .o-filterbar{padding:19px 16px;gap:15px}
 #lnh-org .o-body{padding:20px 12px 25px}
 #lnh-org .o-tabs{flex-wrap:nowrap;gap:4px;padding:4px}
 #lnh-org .o-tab{font-size:11px;padding:9px 5px;min-height:46px}
 #lnh-org .o-people{padding:10px;gap:12px}
 #lnh-org .o-person{grid-template-columns:90px minmax(0,1fr);border-radius:16px}
 #lnh-org .o-person-cover{min-height:150px;padding:19px 9px}
 #lnh-org .o-person-info{padding:14px 12px}
 #lnh-org .o-portrait{width:65px;height:65px;border-width:3px}
 #lnh-org .o-actions{gap:6px}
 #lnh-org .o-action{font-size:11px;padding:9px 7px}
 #lnh-org .o-grouphead{padding:15px}
 #lnh-org .o-kind{font-size:10px}
 #lnh-org .o-footer{padding:14px 17px}
}
@media(max-width:370px){
 #lnh-org .o-person{grid-template-columns:78px minmax(0,1fr)}
 #lnh-org .o-portrait{width:55px;height:55px}
 #lnh-org .o-person-info{padding:13px 10px}
 #lnh-org .o-header strong{font-size:11px;letter-spacing:.2px}
}
@media(prefers-reduced-motion:reduce){
 #lnh-org *,#lnh-org *::before,#lnh-org *::after,.a-primary,.a-secondary,.a-tabs button{animation:none!important;transition:none!important}
}
@media(forced-colors:active){
 #lnh-org .o-tab[aria-pressed=true],.a-tabs button[aria-pressed=true]{border:2px solid Highlight}
 #lnh-org .o-person-cover{background:Canvas}
}
