: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 .24s 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}}
@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;
    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{
    flex:0 0 142px;
    width:142px;
    height:42px;
    margin:0 4px 0 0;
    padding:5px 7px;
    overflow:hidden;
    border:1px solid #d2c6b7;
    border-radius:8px;
    background:#f3f0eb;
  }
  ap-sidebar .brand img{
    content:url("assets/ap-index-horizontal.png");
    width:128px;
    max-width:none;
    height:auto;
    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;
  }
  ap-sidebar .ap-nav-item br{display:none}
  ap-sidebar .sidebar-icon{margin-right:5px;font-size:18px}
  ap-sidebar .ap-nav-item.active{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-popup-close{display:none}

@media(max-width:760px){
  [role="tooltip"]{pointer-events:auto!important}
  [role="tooltip"].ap-mobile-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  [role="tooltip"].ap-popup-dismissed{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .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;
  }
  .has-help[data-help]:after{display:none!important}
  .ap-mobile-help-popup{
    position:absolute;
    z-index:200;
    top:calc(100% + 8px);
    left:0;
    width:min(360px,calc(100vw - 48px));
    padding:42px 14px 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;
  }
}
