*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--pe-ink);background:var(--pe-canvas);-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
img,svg{max-width:100%}
.pe-hidden{display:none!important}
.pe-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pe-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 17px;border:1px solid transparent;border-radius:10px;font-weight:700;transition:.18s ease;background:#fff;color:var(--pe-ink)}
.pe-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(17,24,39,.1)}
.pe-btn:active{transform:translateY(0)}
.pe-btn-primary{color:#fff;background:linear-gradient(135deg,var(--pe-primary),var(--pe-primary-2));box-shadow:0 9px 24px color-mix(in srgb,var(--pe-primary) 35%,transparent)}
.pe-btn-success{color:#fff;background:linear-gradient(135deg,var(--pe-success),var(--pe-lime))}
.pe-btn-outline{background:transparent;border-color:rgba(255,255,255,.28);color:#fff}
.pe-btn-soft{background:#f6f7fa;border-color:var(--pe-border)}
.pe-btn-danger{background:#fff1f3;color:#c61f46;border-color:#ffd5df}
.pe-icon-btn{width:42px;height:42px;border-radius:12px;border:1px solid var(--pe-border);background:#fff;display:grid;place-items:center;color:#596170}
.pe-icon-btn:hover{background:#f8f9fc}
.pe-field-label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#697181;margin-bottom:7px}
.pe-input,.pe-select,.pe-textarea{width:100%;border:1px solid #dfe3ea;border-radius:10px;background:#fff;color:var(--pe-ink);padding:11px 13px;outline:none;transition:.15s}
.pe-input:focus,.pe-select:focus,.pe-textarea:focus{border-color:var(--pe-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--pe-primary) 14%,transparent)}
.pe-textarea{min-height:110px;resize:vertical}
.pe-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pe-form-grid .pe-span-2{grid-column:1/-1}
.pe-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#f0f2f6;color:#566070;white-space:nowrap}
.pe-badge-success{background:#e8fbf4;color:#128361}
.pe-badge-warning{background:#fff7df;color:#a66a00}
.pe-badge-danger{background:#fff0f3;color:#c22348}
.pe-badge-purple{background:#f0ecff;color:#5d43db}
.pe-dot{width:8px;height:8px;border-radius:999px;background:currentColor;display:inline-block}
.pe-avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--pe-primary),var(--pe-primary-2));color:#fff;font-weight:800}
.pe-empty{padding:54px 24px;text-align:center;border:1px dashed #d8dde6;border-radius:16px;background:#fbfcfe;color:var(--pe-muted)}
.pe-toast-stack{position:fixed;right:22px;bottom:22px;z-index:99999;display:grid;gap:10px;max-width:min(380px,calc(100vw - 32px))}
.pe-toast{background:#111827;color:#fff;padding:14px 16px;border-radius:12px;box-shadow:0 18px 48px rgba(0,0,0,.22);animation:peToastIn .25s ease}
.pe-toast.is-error{background:#a91f3f}
.pe-toast.is-success{background:#08775b}
@keyframes peToastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.pe-modal-backdrop{position:fixed;inset:0;z-index:2147483000;isolation:isolate;background:rgba(7,12,24,.46);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px;animation:peFade .16s ease}
.pe-modal{width:min(680px,100%);max-height:min(860px,calc(100vh - 40px));overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.25);animation:peModal .2s ease}
.pe-modal-lg{width:min(980px,100%)}
.pe-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--pe-border);position:sticky;top:0;background:#fff;z-index:2}
.pe-modal-head h2{margin:0;font-size:21px}
.pe-modal-head p{margin:5px 0 0;color:var(--pe-muted);font-size:14px}
.pe-modal-body{padding:24px}
.pe-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid var(--pe-border);position:sticky;bottom:0;background:#fff}
@keyframes peFade{from{opacity:0}to{opacity:1}}
@keyframes peModal{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.pe-panel-backdrop{position:fixed;inset:0;background:rgba(10,15,26,.2);z-index:99970}
.pe-side-panel{position:fixed;right:0;top:0;bottom:0;width:min(440px,calc(100vw - 26px));background:#fff;z-index:99980;box-shadow:-24px 0 70px rgba(0,0,0,.18);display:flex;flex-direction:column;animation:pePanel .2s ease}
.pe-side-panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--pe-border)}
.pe-side-panel-head h3{margin:0}
.pe-side-panel-body{padding:18px;overflow:auto;flex:1}
@keyframes pePanel{from{transform:translateX(100%)}to{transform:none}}
.pe-loading{min-height:240px;display:grid;place-items:center;color:var(--pe-muted)}
.pe-spinner{width:26px;height:26px;border:3px solid #e7e9ef;border-top-color:var(--pe-primary);border-radius:50%;animation:peSpin .7s linear infinite}
@keyframes peSpin{to{transform:rotate(360deg)}}


/* ProjEvo contextual guidance */
.pe-field-help{
  display:block;
  margin-top:7px;
  color:#858d9b;
  font-size:11px;
  line-height:1.45;
  font-weight:500
}
label:focus-within>.pe-field-help{color:var(--pe-primary)}
.pe-input::placeholder,.pe-textarea::placeholder{color:#adb3be;opacity:1}
.pe-guidance-tooltip{
  --pe-tooltip-arrow-left:50%;
  position:fixed;
  z-index:2147483000;
  opacity:0;
  transform:translateY(7px) scale(.985);
  transform-origin:center top;
  transition:opacity .2s ease,transform .24s cubic-bezier(.2,.8,.2,1);
  filter:drop-shadow(0 22px 45px rgba(18,16,44,.28))
}
.pe-guidance-tooltip[data-placement="top"]{
  transform-origin:center bottom;
  transform:translateY(-7px) scale(.985)
}
.pe-guidance-tooltip.is-visible{opacity:1;transform:translateY(0) scale(1)}
.pe-guidance-tooltip::before{
  content:"";
  position:absolute;
  left:calc(var(--pe-tooltip-arrow-left) - 9px);
  top:-8px;
  width:18px;
  height:18px;
  background:#17162c;
  transform:rotate(45deg);
  border-radius:3px;
  z-index:0
}
.pe-guidance-tooltip[data-placement="top"]::before{top:auto;bottom:-8px}
.pe-guidance-tooltip-content{
  position:relative;
  z-index:1;
  overflow:hidden;
  padding:17px 18px 15px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 0%,rgba(132,111,255,.35),transparent 42%),
    linear-gradient(145deg,#18162e,#242044 72%,#17162c);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px
}
.pe-guidance-tooltip-eyebrow{
  display:block;
  margin-bottom:6px;
  color:#bfb5ff;
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em
}
.pe-guidance-tooltip strong{
  display:block;
  padding-right:12px;
  color:#fff;
  font-size:14px;
  line-height:1.35
}
.pe-guidance-tooltip p{
  margin:8px 0 13px;
  color:#d9d7e7;
  font-size:12px;
  line-height:1.55
}
.pe-guidance-dismiss{
  appearance:none;
  padding:0;
  color:#c8beff;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(200,190,255,.45);
  cursor:pointer;
  font:inherit;
  font-size:11px;
  font-weight:750;
  line-height:1.3
}
.pe-guidance-dismiss:hover,.pe-guidance-dismiss:focus-visible{
  color:#fff;
  border-bottom-color:#fff;
  outline:0
}
@media(max-width:600px){
  .pe-guidance-tooltip{max-width:calc(100vw - 28px)}
}
@media(prefers-reduced-motion:reduce){
  .pe-guidance-tooltip{transition:none}
}


/* v3.6.27 — global mobile viewport, touch and modal hardening */
html{
  width:100%;
  min-height:100%;
  overflow-wrap:anywhere;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  min-height:100%;
}
body.pe-modal-open{
  overscroll-behavior:none;
}
:where(button,a,input,select,textarea,[role="button"]){
  -webkit-tap-highlight-color:transparent;
}
:where(input,select,textarea){
  min-width:0;
}
.pe-modal-backdrop{
  --pe-modal-viewport-height:100dvh;
  height:var(--pe-modal-viewport-height,100dvh);
  max-height:var(--pe-modal-viewport-height,100dvh);
  overflow:hidden;
  overscroll-behavior:contain;
  padding:
    max(16px,env(safe-area-inset-top))
    max(16px,env(safe-area-inset-right))
    max(16px,env(safe-area-inset-bottom))
    max(16px,env(safe-area-inset-left));
}
.pe-modal{
  display:flex;
  flex-direction:column;
  min-width:0;
  max-width:100%;
  max-height:min(860px,calc(var(--pe-modal-viewport-height,100dvh) - max(32px,env(safe-area-inset-top) + env(safe-area-inset-bottom))));
  overflow:hidden;
  overscroll-behavior:contain;
}
.pe-modal-head,
.pe-modal-foot{
  position:relative;
  inset:auto;
  flex:0 0 auto;
}
.pe-modal-head>*{
  min-width:0;
}
.pe-modal-head .pe-icon-btn{
  flex:0 0 auto;
}
.pe-modal-head h2,
.pe-modal-head p{
  overflow-wrap:anywhere;
}
.pe-modal-body{
  flex:1 1 auto;
  min-height:0;
  max-width:100%;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.pe-modal-body>*{
  min-width:0;
  max-width:100%;
}
.pe-modal-body :where(table,img,video,canvas,iframe,object,embed,pre,code){
  max-width:100%;
}
.pe-modal-body :where(pre,code){
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.pe-modal-foot{
  flex-wrap:wrap;
  padding-bottom:max(18px,env(safe-area-inset-bottom));
}
.pe-side-panel{
  height:100dvh;
  max-height:100dvh;
  padding-bottom:env(safe-area-inset-bottom);
}
.pe-side-panel-body{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

@media(max-width:720px){
  .pe-btn,
  .pe-icon-btn,
  :where(input.pe-input,select.pe-select,textarea.pe-textarea){
    min-height:44px;
  }
  .pe-modal-backdrop{
    place-items:end center;
    padding:max(8px,env(safe-area-inset-top)) 0 0;
  }
  .pe-modal,
  .pe-modal-lg{
    width:100%;
    max-width:100%;
    max-height:calc(var(--pe-modal-viewport-height,100dvh) - max(8px,env(safe-area-inset-top)));
    border-radius:20px 20px 0 0;
  }
  .pe-modal-head{
    gap:12px;
    padding:16px 16px 14px;
  }
  .pe-modal-head h2{
    font-size:19px;
    line-height:1.2;
  }
  .pe-modal-head p{
    font-size:12px;
    line-height:1.45;
  }
  .pe-modal-body{
    padding:16px;
  }
  .pe-modal-foot{
    gap:8px;
    padding:12px 16px max(12px,env(safe-area-inset-bottom));
  }
  .pe-side-panel{
    width:100%;
    max-width:100%;
  }
}

@media(max-width:520px){
  .pe-modal-foot>.pe-btn,
  .pe-modal-foot>button,
  .pe-modal-foot>a{
    flex:1 1 100%;
    width:100%;
  }
  .pe-modal-body .pe-form-grid,
  .pe-modal-body [class*="-grid"]{
    min-width:0;
  }
  .pe-toast-stack{
    right:12px;
    bottom:max(12px,env(safe-area-inset-bottom));
    left:12px;
    max-width:none;
  }
}

@media(max-height:520px) and (orientation:landscape){
  .pe-modal-backdrop{
    padding:4px max(8px,env(safe-area-inset-right)) 4px max(8px,env(safe-area-inset-left));
  }
  .pe-modal,
  .pe-modal-lg{
    max-height:calc(var(--pe-modal-viewport-height,100dvh) - 8px);
    border-radius:14px;
  }
  .pe-modal-head{
    padding-top:10px;
    padding-bottom:10px;
  }
  .pe-modal-body{
    padding-top:12px;
    padding-bottom:12px;
  }
  .pe-modal-foot{
    padding-top:9px;
    padding-bottom:max(9px,env(safe-area-inset-bottom));
  }
}
