/* ════════════════════════════════════════════════════════
   Estilos del módulo Mapa de Vida (portados, aislados bajo .mapa-root)
   ════════════════════════════════════════════════════════ */
.mapa-root{
  font-family:-apple-system,'Segoe UI',sans-serif;
  background:#f7f6f2;color:#23211c;
  border-radius:16px;overflow:hidden;
  -webkit-tap-highlight-color:transparent;
}
.mapa-root .wrap{max-width:780px;margin:0 auto;padding:22px 16px 40px;}
.mapa-root h1{font-family:Georgia,serif;font-size:26px;font-weight:500;letter-spacing:-.02em;margin:0;}
.mapa-root .greet{font-size:14px;color:#8c887e;margin-top:4px;font-family:Georgia,serif;font-style:italic;}
.mapa-root .date{font-size:11px;color:#a39e92;font-family:monospace;}
.mapa-root .stats{display:flex;gap:15px;margin-top:15px;font-size:12px;color:#8c887e;font-family:monospace;flex-wrap:wrap;align-items:center;}
.mapa-root .dot{width:7px;height:7px;border-radius:50%;display:inline-block;}
.mapa-root .strip{display:flex;gap:3px;height:4px;margin:16px 0 24px;border-radius:4px;overflow:hidden;}
.mapa-root .tabs{display:flex;border-bottom:1px solid #ece8df;margin-bottom:22px;overflow-x:auto;}
.mapa-root .tab{font-size:14px;padding:10px 0;margin-right:26px;border:none;background:none;cursor:pointer;color:#9a958a;font-weight:450;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;font-family:inherit;}
.mapa-root .tab.active{color:#23211c;font-weight:600;border-bottom-color:#23211c;}
.mapa-root .card{background:#fffdf9;border:1px solid #ece8df;border-radius:18px;margin-bottom:10px;}
.mapa-root .pill{font-size:11px;padding:3px 9px;border-radius:99px;font-family:monospace;white-space:nowrap;flex-shrink:0;}
.mapa-root .area-head{display:flex;align-items:center;gap:13px;padding:13px 12px;cursor:pointer;user-select:none;}
.mapa-root .area-icon{width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.mapa-root .area-name{font-family:Georgia,serif;font-size:19px;font-weight:500;flex:1;letter-spacing:-.01em;}
.mapa-root .chev{transition:transform .2s;color:#c8c2b4;font-size:11px;display:inline-block;}
.mapa-root .chev.open{transform:rotate(180deg);}
.mapa-root .area-body{margin-left:14px;padding-left:15px;margin-top:2px;margin-bottom:6px;}
.mapa-root .sec{margin-bottom:8px;}
.mapa-root .sec-head{display:flex;align-items:center;gap:10px;padding:6px 4px;cursor:pointer;user-select:none;}
.mapa-root .sec-bar{width:3px;align-self:stretch;min-height:17px;border-radius:2px;flex-shrink:0;}
.mapa-root .sec-name{font-size:14px;flex:1;}
.mapa-root .sec-body{margin-left:4px;padding-left:15px;padding-bottom:4px;}
.mapa-root .sub-head{display:flex;align-items:center;gap:8px;padding:5px 2px;cursor:pointer;user-select:none;}
.mapa-root .sub-name{font-size:12px;color:#9a958a;flex:1;}
.mapa-root .sub-body{margin-left:4px;padding-left:15px;padding-bottom:4px;}
.mapa-root .task{display:flex;align-items:center;gap:12px;padding:8px 2px;border-top:1px solid #f4f1ea;}
.mapa-root .task-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.mapa-root .task-label{font-size:14px;color:#33312a;flex:1;line-height:1.4;}
.mapa-root .task-r{padding:10px 2px;border-top:1px solid #f4f1ea;}
.mapa-root .task-r-top{display:flex;align-items:flex-start;gap:10px;}
.mapa-root .check{width:20px;height:20px;border-radius:50%;background:transparent;cursor:pointer;flex-shrink:0;padding:0;margin-top:1px;}
.mapa-root .task-r-bot{display:flex;align-items:center;gap:8px;margin-top:8px;padding-left:30px;}
.mapa-root input[type=date],.mapa-root input[type=text],.mapa-root select,.mapa-root textarea{font-family:inherit;outline:none;}
.mapa-root .di{font-size:12px;border:1px solid #e5e1d7;border-radius:8px;padding:5px 8px;font-family:monospace;}
.mapa-root .ren{flex:1;font-size:14px;border-radius:8px;padding:6px 8px;background:#fff;}
.mapa-root .del{background:none;border:none;color:#c98b80;font-size:16px;cursor:pointer;padding:2px 6px;}
.mapa-root .btn{padding:13px;border:none;border-radius:12px;cursor:pointer;font-size:15px;font-weight:600;width:100%;font-family:inherit;}
.mapa-root .btn-dark{background:#23211c;color:#fff;}
.mapa-root .btn-light{background:#f1eee7;color:#23211c;border:1px solid #e5e1d7;}
.mapa-root .review-bar{background:#1D9E75;border-radius:14px;padding:14px 16px;margin-bottom:18px;display:flex;align-items:center;gap:12px;color:#fff;}
.mapa-root .review-close{background:#fff;color:#1D9E75;border:none;border-radius:10px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;}
.mapa-root .qa{background:#23211c;border-radius:18px;padding:16px;margin-bottom:18px;}
.mapa-root .qa-lbl{font-size:11px;color:#a39e92;letter-spacing:.08em;text-transform:uppercase;font-family:monospace;margin-bottom:10px;}
.mapa-root .qa-in{width:100%;font-size:14px;border:none;border-radius:10px;padding:11px 12px;margin-bottom:10px;}
.mapa-root .qa-sel{font-size:13px;border:1px solid #e5e1d7;border-radius:8px;padding:8px;background:#fff;flex:1;min-width:0;}
.mapa-root .focus-card{background:#fffdf9;border:1px solid #ece8df;border-radius:18px;padding:18px 20px 14px;margin-bottom:18px;}
.mapa-root .focus-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:11px;}
.mapa-root .modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999;display:flex;align-items:flex-end;justify-content:center;}
.mapa-root .sheet{background:#fafaf7;border-radius:20px 20px 0 0;padding:20px;width:100%;max-width:780px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;gap:14px;}
.mapa-root .sheet-head{display:flex;align-items:center;justify-content:space-between;}
.mapa-root .sheet-title{font-family:Georgia,serif;font-size:17px;font-weight:500;}
.mapa-root .x{background:none;border:none;font-size:20px;cursor:pointer;color:#9a958a;padding:4px 8px;}
.mapa-root .ta{min-height:160px;resize:vertical;border:1px solid #e5e1d7;border-radius:12px;padding:12px;font-size:12px;font-family:monospace;background:#f4f2ee;color:#33312a;}
.mapa-root h3{margin:0 0 12px;font-family:Georgia,serif;font-weight:500;font-size:16px;}
.mapa-root .row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f4f1ea;}
.mapa-root .muted{font-size:12px;color:#aca69b;font-family:monospace;}
