/* Shared PH type tokens, including standalone help and verification. */
body.v2.ph-app {
  --ph-text-xs:.75rem; --ph-text-sm:.875rem; --ph-text-md:1rem;
  --ph-text-lg:1.25rem; --ph-text-xl:1.5rem; --ph-text-title:2rem;
  --ph-regular:400; --ph-medium:500; --ph-strong:600;
}
body.v2.ph-app{--v2-ground:#101315;--v2-surface:#181d20;--v2-soft:#20272b;--v2-ink:#eef2ee;--v2-muted:#adb9b5;--v2-action:#bdedce;--v2-hover:#d6f7e1;--v2-border:#35413e;--v2-control:#6e817a;--v3-focus:#bdedce;color-scheme:dark;background:var(--v2-ground);color:var(--v2-ink)}
.v2.ph-app .ph-header{position:static;display:flex;align-items:center;gap:12px;padding:20px 32px;border-bottom:1px solid var(--v2-border);font-size:var(--ph-text-xs);color:var(--v2-muted)}
.v2.ph-app .ph-wordmark{color:var(--v2-ink);font-size:var(--ph-text-lg);text-decoration:none}.ph-local{margin-left:auto;display:flex;align-items:center;gap:8px}.ph-local::before{content:'';width:7px;height:7px;background:var(--v2-action);border-radius:50%}
.v2.ph-app .ph-shell{max-width:1440px;margin:auto;padding:32px 24px}.v2.ph-app .ph-opening{max-width:780px;margin-bottom:24px}.v2.ph-app .ph-opening h1{font-size:var(--ph-text-title);margin:10px 0 14px}.v2.ph-app #ph-message{padding:0;margin:0}.v2.ph-app #ph-message:not(:empty){padding:12px 16px;margin-bottom:16px;border:1px solid var(--v2-control);border-radius:8px;background:var(--v2-soft)}.v2.ph-app #ph-message[data-error=true]{border-color:#efb099;color:#ffc8b7}
.v2.ph-app .tool-window{overflow:hidden}.v2.ph-app .tool-window-chrome{padding:12px 20px}.v2.ph-app .tool-window-body{display:grid;grid-template-columns:230px minmax(0,1fr)}.v2.ph-app .ph-sidebar{padding:20px 16px;background:var(--v2-surface);border-right:1px solid var(--v2-border)}.v2.ph-app .ph-sidebar form{margin-top:20px}.v2.ph-app .ph-sidebar button{width:100%;text-align:left}.v2.ph-app .ph-sidebar .ph-small{margin-top:12px}
.v2.ph-app label{display:block;font-size:var(--ph-text-xs);font-weight:500;color:var(--v2-ink);margin:0 0 6px}.v2.ph-app input:not([type=checkbox]),.v2.ph-app select,.v2.ph-app textarea{display:block;width:100%;padding:10px 12px;background:var(--v2-ground);border:1px solid var(--v2-control);border-radius:8px;color:var(--v2-ink);font:400 var(--ph-text-sm)/1.5 var(--sans);margin:4px 0 14px}.v2.ph-app input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:8px}.v2.ph-app input[type=file]{max-width:100%;padding:10px}.v2.ph-app input::file-selector-button{background:var(--v2-soft);border:1px solid var(--v2-control);border-radius:4px;color:var(--v2-ink);padding:8px;margin-right:10px}.v2.ph-app textarea{resize:vertical;min-height:86px}
.v2.ph-app button,.v2.ph-app .ph-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;min-height:44px;border:1px solid var(--v2-border);border-radius:8px;background:var(--v2-soft);color:var(--v2-ink);font:500 var(--ph-text-sm)/1.4 var(--sans);cursor:pointer;text-decoration:none}.v2.ph-app button:hover,.v2.ph-app .ph-button:hover{background:#2c3832;border-color:var(--v2-control)}.v2.ph-app button.primary{background:var(--v2-action);color:#13251a;border-color:var(--v2-action)}.v2.ph-app button.danger{color:#ffc8b7}.v2.ph-app button:disabled{background:var(--v2-soft);color:#8d9994;opacity:.7;cursor:not-allowed}.v2.ph-app .ph-link-button{border:0;background:transparent;color:var(--v2-action);padding:8px 0;justify-content:flex-start}
.v2.ph-app .ph-content{min-width:0;background:var(--v2-ground)}.v2.ph-app .ph-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:0;border-bottom:1px solid var(--v2-border)}.v2.ph-app .ph-steps li{padding:0;margin:0;border-right:1px solid var(--v2-border)}.v2.ph-app .ph-steps button{width:100%;height:100%;border:0;border-radius:0;background:var(--v2-surface);font-size:var(--ph-text-xs);display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 10px;text-align:left}.v2.ph-app .ph-steps button[aria-current=step]{background:#25382d;color:var(--v2-action);box-shadow:inset 0 -2px var(--v2-action)}.v2.ph-app .ph-step-number{font-size:var(--ph-text-xs);color:var(--v2-muted)}
.v2.ph-app .ph-panel{padding:24px}.v2.ph-app .ph-panel h2{font:500 var(--ph-text-xl)/1.2 var(--v2-display);margin:0 0 14px}.v2.ph-app .ph-panel h3{font-size:var(--ph-text-md);margin:0 0 12px}.v2.ph-app .ph-muted,.v2.ph-app .ph-small{color:var(--v2-muted)}.v2.ph-app .ph-small{font-size:var(--ph-text-xs);line-height:1.6}.v2.ph-app .ph-notice{padding:14px 16px;border:1px solid var(--v2-border);border-radius:8px;background:var(--v2-soft);margin:0 0 20px;font-size:var(--ph-text-xs)}.v2.ph-app .ph-notice.sample{border-color:#667650;background:#262e21}.v2.ph-app .ph-flex{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.v2.ph-app .ph-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.v2.ph-app .ph-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.v2.ph-app .ph-card{padding:20px;border:1px solid var(--v2-border);border-radius:10px;background:var(--v2-surface);min-width:0}.v2.ph-app .ph-card+.ph-card{margin-top:16px}.v2.ph-app .ph-grid>.ph-card{margin:0}.v2.ph-app details{border:1px solid var(--v2-border);border-radius:8px;background:var(--v2-surface);margin:16px 0;padding:14px}.v2.ph-app summary{cursor:pointer;font-weight:500}.v2.ph-app details>div{padding-top:16px}
.v2.ph-app .ph-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.v2.ph-app .ph-stat{padding:16px;background:var(--v2-surface);border:1px solid var(--v2-border);border-radius:8px}.v2.ph-app .ph-stat strong{display:block;font-size:var(--ph-text-lg);font-weight:500;font-variant-numeric:tabular-nums;margin:6px 0;overflow-wrap:anywhere}.v2.ph-app .ph-stat span{font-size:var(--ph-text-xs);color:var(--v2-muted)}
.v2.ph-app .ph-table-wrap{width:100%;overflow:auto;border:1px solid var(--v2-border);border-radius:8px;margin:12px 0}.v2.ph-app table{width:100%;margin:0;border-collapse:collapse;font-size:var(--ph-text-xs);background:var(--v2-surface)}.v2.ph-app th,.v2.ph-app td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--v2-border);vertical-align:top;overflow-wrap:anywhere}.v2.ph-app th{font-weight:500;color:var(--v2-muted);background:var(--v2-soft)}.v2.ph-app .ph-review{display:grid;grid-template-columns:minmax(220px, .8fr) minmax(0,1.2fr);gap:20px}.v2.ph-app .ph-queue{list-style:none;padding:0;margin:0;max-height:700px;overflow:auto}.v2.ph-app .ph-queue li{margin:0 0 8px}.v2.ph-app .ph-queue button{display:block;width:100%;text-align:left;background:var(--v2-surface)}.v2.ph-app .ph-queue button[aria-pressed=true]{border-color:var(--v2-action);background:#25382d}.v2.ph-app .ph-queue strong,.v2.ph-app .ph-queue small{display:block}.v2.ph-app .ph-queue small{color:var(--v2-muted);font-size:var(--ph-text-xs);overflow-wrap:anywhere}.v2.ph-app .ph-badge{display:inline-block;border:1px solid var(--v2-control);border-radius:5px;padding:2px 6px;font-size:var(--ph-text-xs);color:var(--v2-action);margin:6px 0}.v2.ph-app .ph-evidence{margin:8px 0;padding-left:18px;font-size:var(--ph-text-xs);color:var(--v2-muted)}.v2.ph-app .ph-evidence li{margin:4px 0}.v2.ph-app .ph-detail{overflow-wrap:anywhere}.v2.ph-app dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px;font-size:var(--ph-text-xs);margin:0}.v2.ph-app dt{color:var(--v2-muted)}.v2.ph-app dd{margin:0}.v2.ph-app .ph-help{max-width:850px;margin:32px 0;color:var(--v2-muted);font-size:var(--ph-text-xs)}.v2.ph-app .ph-help h2{font-size:var(--ph-text-xl)}.v2.ph-app .ph-footer{padding:24px;max-width:1440px;margin:auto;border-top:1px solid var(--v2-border);font-size:var(--ph-text-xs);color:var(--v2-muted)}.v2.ph-app .ph-loading{padding:24px}.v2.ph-app [hidden]{display:none!important}.v2.ph-app .ph-print-only{display:none}
@media(max-width:1050px){.v2.ph-app .tool-window-body{grid-template-columns:190px minmax(0,1fr)}.v2.ph-app .ph-review{grid-template-columns:1fr}.v2.ph-app .ph-queue{max-height:260px}.v2.ph-app .ph-stats{grid-template-columns:1fr}.v2.ph-app .ph-grid{grid-template-columns:1fr}}
@media(max-width:700px){.v2.ph-app .ph-header{padding:14px 16px;flex-wrap:wrap;gap:6px 10px}.v2.ph-app .ph-local{font-size:var(--ph-text-xs)}.v2.ph-app .ph-shell{padding:24px 10px}.v2.ph-app .ph-opening h1{font-size:var(--ph-text-title)}.v2.ph-app .tool-window-body{display:block}.v2.ph-app .ph-sidebar{border-right:0;border-bottom:1px solid var(--v2-border)}.v2.ph-app .ph-sidebar-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v2.ph-app .ph-sidebar form{margin-top:4px}.v2.ph-app .ph-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.v2.ph-app .ph-panel{padding:16px}.v2.ph-app .ph-card{padding:14px}.v2.ph-app .ph-steps button{padding:10px}.v2.ph-app .ph-review{gap:16px}.v2.ph-app .ph-stats strong{font-size:var(--ph-text-lg)}.v2.ph-app .ph-table-wrap table{min-width:560px}}
@media print{
  @page{margin:14mm;size:A4 portrait}
  body.v2.ph-app{--v2-ground:#fff;--v2-surface:#fff;--v2-soft:#f4f4f4;--v2-ink:#111;--v2-muted:#333;--v2-border:#aaa;--v2-action:#111;color-scheme:light;background:white;color:black;font-size:10pt}
  .v2.ph-app .ph-header,.v2.ph-app .ph-opening,.v2.ph-app #ph-message,.v2.ph-app .ph-sidebar,.v2.ph-app .ph-steps,.v2.ph-app .tool-window-chrome,.v2.ph-app .ph-help,.v2.ph-app .ph-footer,.v2.ph-app .ph-no-print,.v2.ph-app button,.v2.ph-app .skip{display:none!important}
  .v2.ph-app .ph-shell,.v2.ph-app .ph-panel{padding:0;margin:0;max-width:none}.v2.ph-app .tool-window,.v2.ph-app .tool-window-body,.v2.ph-app .ph-content{display:block;border:0;box-shadow:none;overflow:visible;background:white}.v2.ph-app .ph-print-only{display:block}.v2.ph-app .ph-stats{grid-template-columns:repeat(3,1fr)}.v2.ph-app .ph-stat{padding:8px}.v2.ph-app .ph-stat strong{font-size:var(--ph-text-sm)}.v2.ph-app .ph-table-wrap{overflow:visible;border:0}.v2.ph-app table{font-size:8pt;table-layout:fixed;min-width:0!important}.v2.ph-app th,.v2.ph-app td{padding:5px}.v2.ph-app tr,.v2.ph-app .ph-stat{break-inside:avoid}.v2.ph-app thead{display:table-header-group}.v2.ph-app h2,.v2.ph-app h3{break-after:avoid}.v2.ph-app .ph-notice{padding:8px}.v2.ph-app a{color:black;text-decoration:none}
}
