/* PPI-specific content adaptation only. CCI header/sidebar/background and Tally skins are untouched. */
:root{--surface-2:var(--panel-alt);--surface-3:var(--panel-alt);--danger:var(--red);--primary:#ecebff;--primary-text:#1b2242;--heavy-shadow:0 24px 80px rgba(0,0,0,.4);--ring-track:var(--line);--chart-grid:var(--line)}
:root[data-theme=light]{--primary:#1b2242;--primary-text:#fff;--heavy-shadow:0 24px 80px rgba(21,29,56,.2)}
.shell-icon{display:inline-flex;align-items:center;flex:0 0 20px}
.ppi-ui{font-size:15px}
#view{min-width:0;container-type:inline-size}
#view .card,#editorDialog,#exportDialog{background:var(--panel)}
#view .profile-overview{background:linear-gradient(130deg,var(--panel) 45%,color-mix(in srgb,var(--purple-soft) 56%,var(--panel)))}
#view .tally-card{background:linear-gradient(135deg,var(--panel),color-mix(in srgb,var(--purple-soft) 57%,var(--panel)))}
.ppi-ui .light-asset{display:none!important}
.ppi-ui .dark-asset{display:block!important}
[data-theme=light] .ppi-ui .light-asset{display:block!important}
[data-theme=light] .ppi-ui .dark-asset{display:none!important}
#pageHeader .page-heading{margin-bottom:25px}
#pageHeader .page-heading h1{margin:0 0 9px;font-weight:670}
#pageHeader .page-heading p{font-size:14px;line-height:1.6;margin:0;color:var(--muted)}
#pageHeader .eyebrow{font-size:10px;letter-spacing:.16em;margin:0 0 8px;line-height:1.5}
#pageHeader .page-actions{flex-shrink:0}
.ppi-studio-lockup{display:flex;align-items:center;gap:18px;min-width:0}
.ppi-studio-lockup .studio-title-art{border:0;background:none;box-shadow:none;width:96px;height:92px;padding:0}
.ppi-context{flex-wrap:wrap}
.portfolio-context-person{display:flex;align-items:center;gap:10px;min-width:0}
.portfolio-context-person>div{display:grid;gap:2px}
.portfolio-context-person strong{font-size:13px;overflow-wrap:anywhere}
.portfolio-context-person>div>span{font-size:11px;color:var(--muted)}
.ppi-context .badge{font-size:10px}
.ppi-context .filter-note{line-height:1.5;font-size:11px}
.ppi-ui .button{font-family:inherit;min-height:41px;font-size:13px;font-weight:600;line-height:1.5;padding:10px 16px;border-radius:10px;background:var(--panel);color:var(--ink);border:1px solid var(--border);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.ppi-ui .button.small{min-height:33px;padding:7px 11px;font-size:12px}
.ppi-ui .button.primary{background:linear-gradient(118deg,rgba(34,191,223,.15),rgba(139,96,245,.19));border-color:rgba(108,152,211,.7);color:var(--ink)}
[data-theme=light] .ppi-ui .button.primary{color:#2b4182;background:linear-gradient(118deg,#e6f8ff,#ede7ff);border-color:#a6b7e3}
.ppi-ui .button.danger{background:var(--red-soft);border-color:var(--red);color:var(--red)}
.ppi-ui .button.secondary,.ppi-ui .button.glass{background:var(--panel);color:var(--ink)}
.ppi-ui .button:disabled{cursor:not-allowed;opacity:.48}
.ppi-ui .button::after{z-index:1}
.ppi-ui input,.ppi-ui textarea,.ppi-ui select{color:var(--ink);background:var(--surface)}
#view .draft-area{background:transparent}
#view .draft-editor-shell{background:var(--panel)}
#view .private-notice{background:var(--panel-alt)}
.ppi-ui .portfolio-sidebar{background:var(--panel);border-color:var(--border)}
#editorDialog,#exportDialog{border-radius:18px;color:var(--ink);max-height:calc(100dvh - 48px);overflow-y:auto;overflow-x:hidden}
#editorDialog{width:680px}#exportDialog{width:1100px}
#editorDialog .modal-top,#exportDialog .modal-top{border-bottom:1px solid var(--border);padding:0 0 20px;margin-bottom:20px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
#editorDialog .modal-top h2,#exportDialog .modal-top h2{font-size:24px}
#editorDialog::before,#exportDialog::before{inset:0}
#editorDialog .form-actions,#exportDialog .form-actions{gap:10px}
#view .portfolio-sidebar::before,#view .private-notice::before{content:none}
/* Supporting and priority card animation is supplied by cci-reference.css. */
[data-effects=subtle] .ppi-ui :is(.neon,.glass,.export-animated,.ppi-export),[data-effects=subtle] .ppi-ui :is(.neon,.glass,.export-animated)::before,[data-effects=subtle] .ppi-ui :is(.neon,.glass,.export-animated)::after{animation:none!important}
[data-effects=subtle] .ppi-ui .glass::after{display:none}
[data-effects=subtle] #view .priority-panel{box-shadow:var(--shadow)}
#tallyDock .glass>*{position:relative;z-index:2}
/* Never export editor-only branding; the PDF renderer is unchanged. */
@media print{.draft-watermark,.ppi-studio-lockup .studio-title-art{display:none!important}}
/* Readable content when the CCI rail reduces the available workspace width. */
@container(max-width:980px){.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr)}.identity{flex-wrap:wrap}.identity .badge{display:none}.studio-layout{grid-template-columns:300px minmax(0,1fr)}}
@container(max-width:800px){.dashboard-grid,.highlights-layout,.studio-layout{grid-template-columns:minmax(0,1fr)}.studio-settings{grid-template-columns:1fr 1fr}.studio-settings>.task-group,.studio-settings>.generate-group{grid-column:1/-1}.portfolio-layout{grid-template-columns:170px minmax(0,1fr)}.highlights-layout>.stack{grid-template-columns:minmax(0,1fr)}.draft-header{flex-wrap:wrap}}
@container(max-width:560px){.portfolio-layout{grid-template-columns:minmax(0,1fr)}.portfolio-sidebar{position:static;display:flex;flex-wrap:wrap;gap:5px;padding:7px}.portfolio-tab{flex:1 1 calc(50% - 5px);font-size:12px;white-space:normal}.portfolio-tab small{display:none}.sidebar-note{display:none}.studio-settings{grid-template-columns:1fr}.studio-settings>.task-group,.studio-settings>.generate-group{grid-column:auto}.task-grid{grid-template-columns:1fr 1fr}.card-header{flex-wrap:wrap}.profile-bottom{flex-wrap:wrap}.profile-bottom .button{width:100%}.mini-records{gap:10px}.mini-records button{min-width:0;flex:1}.mini-records button+button{padding-left:8px}.mini-records span{font-size:11px;white-space:normal}.record-top{flex-wrap:wrap}.record-top .row-actions{margin-left:auto}.toolbar{flex-wrap:wrap}.toolbar select{width:100%}.searchbox{min-width:0;width:100%}.detail-grid{grid-template-columns:1fr}.detail-grid .span-2{grid-column:auto}.studio-title-art{flex-shrink:0}.draft-header .badge{font-size:10px}.draft-controls{padding:16px}.draft-controls .button{flex:1 1 40%;padding:8px}.draft-count{font-size:11px;padding:0 16px}.identity .initials{flex-basis:48px;height:48px}.profile-overview{padding:20px}.identity h2{font-size:22px}.profile-bio{font-size:14px}.writing-shortcuts{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1200px){#pageHeader .page-heading{align-items:flex-start;flex-wrap:wrap}#pageHeader .page-actions{justify-content:flex-start}}
@media(max-width:720px){#pageHeader .page-heading h1{font-size:30px}#pageHeader .page-heading p{font-size:13px}.ppi-studio-lockup{gap:12px}.ppi-studio-lockup .studio-title-art{width:64px;height:64px}.ppi-context{gap:10px}.ppi-context .filter-note{margin-left:0;text-align:left}.ppi-context .badge{font-size:9px}.ppi-ui .page-footer{flex-direction:column;gap:8px}.ppi-ui .page-footer .text-button{font-size:11px}.ppi-ui .icon-button{min-width:30px}#pageHeader .page-actions{flex-wrap:wrap;width:100%}#pageHeader .page-actions .btn{flex:1;min-width:0;white-space:normal}.ppi-ui .form-actions{flex-wrap:wrap}.ppi-ui .form-actions .button{white-space:normal}.ppi-ui .form-grid{grid-template-columns:1fr}.ppi-ui .form-grid .span-2{grid-column:auto}}
@media(max-width:480px){#pageHeader .page-heading h1{font-size:28px}.ppi-studio-lockup .studio-title-art{width:52px;height:58px}.ppi-ui .private-notice{padding:12px;font-size:12px}.ppi-ui .card-header,.ppi-ui .card-body{padding-left:16px;padding-right:16px}.ppi-ui .record,.ppi-ui .highlight-card{padding:16px}.ppi-ui .form-actions .button{flex:1 1 40%}.ppi-ui .form-actions .form-note{flex-basis:100%}}
.ppi-export{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:0;
  color:#fff!important;
  background:linear-gradient(90deg,#2ed8ff,#8c63ff,#ff4ca7,#2ed8ff);
  background-size:300% 100%;
  box-shadow:0 10px 28px rgba(131,89,239,.24),0 0 0 1px rgba(255,255,255,.22) inset;
  animation:cciExcelButtonGlow 4.5s ease-in-out infinite;
  transition:transform .18s ease,box-shadow .18s ease;
}
.ppi-export:hover:not(:disabled){
  color:#fff!important;
  transform:translateY(-1px);
  background:linear-gradient(90deg,#2ed8ff,#8c63ff,#ff4ca7,#2ed8ff);
  background-size:300% 100%;
  box-shadow:0 14px 34px rgba(131,89,239,.32),0 0 18px rgba(35,185,232,.22),0 0 24px rgba(244,72,164,.16);
}
.ppi-export:active:not(:disabled){transform:translateY(0)}
[data-theme="dark"] .ppi-export{
  color:#fff!important;
  box-shadow:0 10px 30px rgba(94,90,255,.30),0 0 20px rgba(46,216,255,.16),0 0 24px rgba(255,76,167,.12);
}
[data-effects=subtle] .ppi-export{animation:none;box-shadow:var(--shadow)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* PPI's single toast is an overlay, not CCI's stacked toast component. */
#toast{position:fixed;bottom:27px;left:50%;transform:translateX(-50%) translateY(20px);max-width:min(560px,calc(100% - 36px));z-index:1000;background:var(--ink);color:var(--panel);padding:13px 18px;border:0;border-radius:10px;box-shadow:var(--heavy-shadow);font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;animation:none}
#toast.visible{opacity:1;transform:translateX(-50%)}
/* CCI's primary modal-edge rule, mapped to PPI's existing dialog IDs. */
:root[data-effects=current] :is(#editorDialog,#exportDialog).modal.neon::before{padding:3px}

/* V1.1.2: the editor frame stays around the visible window, not the scrolling form.
   The same original header/content/padding now live in an inner scroll container.
   A 3px non-scrolling inset keeps text from passing underneath the translucent frame.
   Total inner spacing stays 25px on desktop / 21px on mobile.
   Only PPI's editor dialog changes; export and Tally dialogs are untouched. */
#editorDialog{padding:3px;overflow:hidden}
#editorDialog>.ppi-editor-scroll{
  position:relative;
  z-index:1;
  flex:1 1 auto;
  min-height:0;
  min-width:0;
  max-height:inherit;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  border-radius:15px;
  padding:22px;
}
#editorDialog::before,#editorDialog::after{pointer-events:none}
@media(max-width:720px){#editorDialog>.ppi-editor-scroll{padding:18px}}

/* S10 v1.0.6 — PPI popup border only.
   Match the existing, non-scrolling editor frame for the Export popup as well.
   Original total spacing stays 25px desktop / 21px mobile (3px + 22px / 18px).
   The isolated inner layer keeps all preview/form content below the full frame. */
#editorDialog,#exportDialog{position:fixed}
#exportDialog{padding:3px;overflow:hidden}
#exportDialog>.ppi-export-scroll{
  position:relative;
  z-index:1;
  flex:1 1 auto;
  min-height:0;
  min-width:0;
  max-height:inherit;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  border-radius:15px;
  padding:22px;
}
#exportDialog::before,#exportDialog::after{pointer-events:none}
@media(max-width:720px){#exportDialog>.ppi-export-scroll{padding:18px}}
