:root{
  --ap-black:#111;
  --ap-gold:#C08F5C;
  --ap-gold-dark:#95681c;
  --ap-gold-line:#bd8d2d;
  --ap-bg:#f6f4f1;
  --ap-surface:#fff;
  --ap-text:#111;
  --ap-muted:#666;
  --ap-border:#ddd6ce;
  --ap-radius:8px;
  --ap-sidebar-width:260px;
  --ap-sidebar:#131414;
  --ap-sidebar-hover:#1c1b19;
  --ap-sidebar-active:#29241e;
  --ap-sidebar-border:#34312c;
  --ap-page-gap:20px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,sans-serif;background:var(--ap-bg);color:var(--ap-text)}
.wrapper{display:flex;min-height:100vh}
main{flex:1;min-width:0}
.tab-view[hidden]{display:none!important}
.ap-tab-page{background:var(--ap-bg);color:var(--ap-text)}
.ap-surface{background:var(--ap-surface);color:var(--ap-text)}
ap-sidebar{width:var(--ap-sidebar-width);flex:0 0 var(--ap-sidebar-width);min-height:100vh;background:var(--ap-sidebar);color:#fff;padding:20px 10px;border-right:1px solid var(--ap-sidebar-border);box-shadow:8px 0 24px rgba(0,0,0,.12);display:flex;flex-direction:column;align-items:center}
ap-sidebar .brand{position:relative;width:100%;display:flex;justify-content:center;align-items:center;margin:-74px 0 0;padding:10px 0 0;text-align:center;pointer-events:none}
ap-sidebar .brand img{width:384px;max-width:110.4%;height:auto;display:block;margin:0 auto -70px;transform:translateY(10px);pointer-events:none}
ap-sidebar .ap-nav-item{position:relative;z-index:1;display:block;width:100%;margin:14px 0;padding:8px 0;border:0;border-radius:8px;box-sizing:border-box;background:transparent;color:#fff;text-align:center;text-decoration:none;font:inherit;cursor:pointer;user-select:none;transition:background .2s,color .2s}
ap-sidebar .brand+.ap-nav-item{margin-top:39px}
ap-sidebar .ap-nav-item:hover,ap-sidebar .ap-nav-item:focus-visible{background:var(--ap-sidebar-hover);outline:none}
ap-sidebar .ap-nav-item.active{color:var(--ap-gold);font-weight:700;background:var(--ap-sidebar-active);box-shadow:inset 3px 0 0 var(--ap-gold)}
ap-sidebar .sidebar-icon{display:inline-block;font-size:24px;line-height:1}
ap-sidebar .sidebar-motto{width:170px;margin:auto 0 0;padding-top:18px;color:#f3f3f3;letter-spacing:5px;font-size:12px;line-height:1;text-align:center}
ap-sidebar .sidebar-motto p,ap-sidebar .sidebar-motto b{display:block;margin:16px 0;color:inherit;font:inherit}
ap-sidebar .sidebar-motto span{display:block;width:66px;height:1px;margin:0 auto;background:var(--ap-gold)}
.client-title,.client-section,.planning-heading,.valuation-heading{background:var(--ap-black);color:#fff}
input,select,textarea{border-color:var(--ap-border)}
button,input,select,textarea{font-family:inherit}
.client-button,.valuation-button,.config-button{border-color:var(--ap-gold)}
.client-button.primary,.valuation-button.primary{background:var(--ap-gold)}
ap-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;margin:28px 20px 18px;color:var(--ap-muted);font-size:13px;text-align:center}
ap-footer::before,ap-footer::after{content:"";height:1px;background:var(--ap-gold-line)}
.tab-view:not([hidden]){animation:ap-view-in 500ms ease both}
@keyframes ap-view-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.tab-view:not([hidden]){animation:none}}
/* Estándar tipográfico global para tooltips AP. */
[role="tooltip"]{
  font-family:Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.5!important;
}
[role="tooltip"]>strong{
  display:block!important;
  margin:0 38px 8px 0!important;
  padding-right:0!important;
  color:#d0a14b!important;
  font-family:Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:.15px!important;
  text-transform:uppercase!important;
}
[role="tooltip"]>p,
[role="tooltip"]>.ap-popup-close~span{
  color:#c7c7c7!important;
  font-family:Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.5!important;
}
[role="tooltip"]>p{margin-top:0!important}
@media(max-width:760px){
  :root{--ap-page-gap:12px}
  .wrapper{display:block}
  ap-sidebar{
    position:sticky;
    top:0;
    z-index:1000;
    width:100%;
    min-height:60px;
    min-width:0;
    max-width:100vw;
    flex:none;
    flex-direction:row;
    flex-wrap:nowrap;
    justify-content:flex-start;
    align-items:center;
    gap:5px;
    padding:7px 9px;
    overflow-x:auto;
    overflow-y:hidden;
    background:#0b0b0b;
    color:#fff;
    border-right:0;
    border-bottom:1px solid var(--ap-sidebar-border);
    box-shadow:0 5px 14px rgba(0,0,0,.18);
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  ap-sidebar::-webkit-scrollbar{display:none}
  ap-sidebar .brand{
    position:sticky;
    left:0;
    z-index:3;
    flex:0 0 48px;
    width:48px;
    height:38px;
    margin:0 4px 0 0;
    padding:6px 4px;
    overflow:hidden;
    border:1px solid transparent;
    border-radius:8px;
    background:#0b0b0b;
    box-shadow:8px 0 10px #0b0b0b;
  }
  ap-sidebar .brand img{
    content:url("assets/ap-isotype-dark-transparent.png?v=1");
    width:40px;
    max-width:40px;
    height:26px;
    max-height:26px;
    object-fit:contain;
    margin:0;
    transform:none;
  }
  ap-sidebar .brand+.ap-nav-item{margin-top:0}
  ap-sidebar .ap-nav-item{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    width:auto;
    min-height:42px;
    margin:0;
    padding:8px 10px;
    transform:none;
    white-space:nowrap;
    font-size:12px;
    color:#fff;
  }
  ap-sidebar .ap-nav-item br{display:none}
  ap-sidebar .sidebar-icon{margin-right:5px;font-size:18px}
  ap-sidebar .ap-nav-item:hover,ap-sidebar .ap-nav-item:focus-visible{background:#25211c}
  ap-sidebar .ap-nav-item.active{background:#2f2922;box-shadow:inset 0 -3px 0 var(--ap-gold)}
  ap-sidebar .sidebar-motto{display:none}
  ap-footer{gap:12px;margin:20px 12px 12px;font-size:11px}
}

.ap-help-indicator{
  width:32px;
  height:32px;
  min-width:32px;
  margin:-7px -5px -7px 5px;
  padding:0;
  border:0;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  flex:0 0 32px;
  vertical-align:middle;
  background:transparent;
  color:var(--ap-gold,#c79845);
  cursor:help;
}
.ap-help-indicator:hover,.ap-help-indicator:focus-visible{
  background:rgba(199,152,69,.14);
  outline:1px solid currentColor;
  outline-offset:-4px;
}
.ap-help-indicator svg{
  width:19px;
  height:19px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ap-help-indicator .ap-help-dot{fill:currentColor;stroke:none}

.has-help[data-help]:after{display:none!important}
[role="tooltip"]:not(.ap-popup-open){
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
[role="tooltip"].ap-popup-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.ap-mobile-help-popup{
  position:absolute;
  z-index:200;
  top:calc(100% + 8px);
  left:0;
  width:min(360px,calc(100vw - 48px));
  padding:14px;
  border:1px solid #c79845;
  border-radius:10px;
  background:#111;
  color:#fff;
  box-sizing:border-box;
  box-shadow:0 14px 32px rgba(17,17,17,.3);
  font:400 12px/1.5 Arial,sans-serif;
  white-space:pre-line;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

[role="tooltip"]>.ap-popup-close+strong,
[role="tooltip"]>.ap-popup-close+span,
[role="tooltip"]>.ap-popup-close+p{
  display:block;
  padding-right:38px;
  box-sizing:border-box;
}

.ap-popup-field-title{
  display:block;
  margin:0 38px 8px 0;
  color:#d0a14b;
  font-size:13px;
  font-weight:700;
  line-height:1.25;
}

.ap-popup-close{
  position:absolute;
  z-index:5;
  top:7px;
  right:7px;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid #c79845;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#111;
  color:#fff;
  font:700 22px/1 Arial,sans-serif;
  cursor:pointer;
}

@media(min-width:761px){
  [role="tooltip"]>.ap-popup-drag-handle{
    cursor:grab!important;
    user-select:none;
    touch-action:none;
  }
  [role="tooltip"].ap-popup-dragging>.ap-popup-drag-handle{cursor:grabbing!important}
  [role="tooltip"].ap-popup-dragged{z-index:4000!important}
}
@media(max-width:760px){
  [role="tooltip"]{pointer-events:auto!important}
  [role="tooltip"].ap-popup-open{
    position:fixed!important;
    z-index:3000!important;
    top:auto!important;
    right:16px!important;
    bottom:max(16px,env(safe-area-inset-bottom))!important;
    left:16px!important;
    width:auto!important;
    max-width:calc(100vw - 32px)!important;
    max-height:min(70dvh,560px)!important;
    overflow:auto!important;
    box-sizing:border-box!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  [role="tooltip"].ap-popup-dismissed{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
