.ps {
  width:min(1280px,calc(100% - 96px)); margin:0 auto 58px;
  color:var(--fm-ink); font-family:var(--fm-sans);
}
.ps * {box-sizing:border-box;}
.ps [hidden] {display:none!important;}
.ps :is(h1,h2,h3,p,fieldset,address) {margin:0;}
.ps :is(h1,h2,h3) {
  font-family:var(--fm-heavy); font-weight:1000; letter-spacing:-.065em; line-height:1.02;
}
.ps h2 {font-size:clamp(26px,2.4vw,37px);}
.ps a,.ps button {color:inherit;}
.ps button,.ps summary {cursor:pointer;}
.ps :is(a,button,input,select,summary):focus-visible {outline:3px solid #783688; outline-offset:3px;}
.ps-back,.ps-kicker,.ps-planbar p,.ps-ticket-top,.ps-past>span {
  font:650 10px/1.5 var(--fm-mono);
}
.ps-back {padding:17px 0;}
.ps-back a,.ps-text,.ps-inactive a {text-underline-offset:4px;}
.ps-kicker,.ps-ticket-top,.ps-past>span {text-transform:uppercase; letter-spacing:.055em;}
.ps-nav {display:flex; align-items:stretch; gap:24px; border-bottom:1px solid var(--fm-ink);}
.ps-nav a {
  display:inline-flex; align-items:center; text-decoration:none; padding:12px 0; border-bottom:4px solid transparent;
  margin-bottom:-1px; font:700 13px/1.45 var(--fm-sans);
}
.ps-nav [aria-current=page] {border-bottom-color:var(--fm-coral);}
.ps-hero {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,315px); align-items:center; gap:30px;
  padding:27px 43px; background:var(--fm-coral); border-bottom:1px solid var(--fm-ink);
}
.ps-intro h1 {font-size:clamp(54px,5.5vw,82px); line-height:.89; margin:9px 0 15px;}
.ps-intro p:last-child {font-size:15px; line-height:1.46; max-width:390px;}
.ps-ticket {
  min-width:0; background:var(--fm-paper); color:var(--fm-ink); border:1px solid var(--fm-ink);
  box-shadow:4px 4px 0 var(--fm-ink); transform:rotate(-2deg); padding:13px 17px;
}
.ps-ticket-top {display:flex; align-items:center; justify-content:space-between; gap:8px; border-bottom:1px dashed #a69a81; padding-bottom:6px;}
.ps-ticket-top span:last-child {font:700 18px/1 var(--fm-sans);}
.ps-ticket>b {
  display:block; font:1000 clamp(29px,2.8vw,40px)/1.02 var(--fm-heavy);
  letter-spacing:-.068em; margin:10px 0;
}
.ps-ticket-item {display:flex; align-items:center; gap:11px; padding-top:9px; border-top:1px dashed #a69a81;}
.ps-ticket-item img {width:52px; height:52px; object-fit:cover; border:1px solid #b6ac95;}
.ps-ticket-item strong {display:block; font:1000 17px/1.05 var(--fm-heavy); letter-spacing:-.05em;}
.ps-ticket-item small {display:block; font:600 10px/1.4 var(--fm-mono); margin-top:4px;}
.ps-planbar {display:flex; align-items:flex-end; gap:24px; flex-wrap:wrap; margin:19px 0;}
.ps-planbar label,.ps-field {display:block; font:650 12px/1.4 var(--fm-sans);}
.ps-planbar select,.ps-field :is(input,select) {
  display:block; width:100%; max-width:100%; margin-top:5px; min-height:43px; border:1px solid #a6977c;
  border-radius:0; background:var(--fm-paper); color:var(--fm-ink); padding:8px 10px;
  font:550 14px/1.35 var(--fm-sans);
}
.ps-planbar select {min-width:270px;}
.ps-planbar p {color:#554b3d; margin-bottom:6px;}
.ps-cards {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; align-items:stretch;}
.ps-card,.ps-editor,.ps-period,.ps-empty-row {background:var(--fm-paper); border:1px solid #ac9d84;}
.ps-card {display:flex; flex-direction:column; min-width:0; padding:19px 22px 18px;}
.ps-card-head {display:flex; justify-content:space-between; align-items:flex-start; gap:10px;}
.ps-card-icon {display:inline-flex; flex:none; padding:5px; border:1px solid var(--fm-ink); background:var(--fm-olive);}
.ps-card-icon svg {width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.6;}
.ps-card-value {margin:15px 0; min-height:77px; overflow-wrap:anywhere;}
.ps address {font:500 14px/1.46 var(--fm-sans); overflow-wrap:anywhere;}
.ps address :is(span,b) {display:block;}
.ps address b,.ps-payline b {font:700 16px/1.42 var(--fm-sans); margin-bottom:2px;}
.ps-payline {display:flex; align-items:center; gap:12px; overflow-wrap:anywhere;}
.ps-payline b,.ps-payline small {display:block;}
.ps-payline small {font:600 10px/1.5 var(--fm-mono); color:#5f5140;}
.ps-bankmark {
  display:inline-flex; align-items:center; justify-content:center; flex:none; max-width:114px; min-height:36px;
  background:var(--fm-ink); color:var(--fm-paper); padding:7px 10px;
  font:italic 900 15px/1 var(--fm-sans); letter-spacing:-.04em; border-radius:4px;
}
.ps-card-bottom {display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:space-between; margin-top:auto; padding-top:13px; border-top:1px dashed #b4a68e;}
.ps-card-bottom p {font:550 12px/1.5 var(--fm-sans);}
.ps .ps-button {
  display:inline-flex; align-items:center; justify-content:space-between; gap:14px; min-height:43px;
  background:var(--fm-ink); color:var(--fm-paper); text-decoration:none; border:1px solid var(--fm-ink);
  padding:9px 13px; font:700 12px/1.4 var(--fm-sans);
}
.ps-button span {font-size:17px;}
.ps .ps-button:hover {background:#39332b;}
.ps-button:disabled {opacity:.65; cursor:wait;}
.ps-confirm,.ps-inactive {background:var(--fm-olive); border:1px solid var(--fm-ink); padding:11px 13px; font:550 13px/1.5 var(--fm-sans);}
.ps-confirm {margin-top:12px;}
.ps-confirm b {margin-right:5px;}
.ps-inactive {display:flex; gap:8px 13px; flex-wrap:wrap; align-items:center; margin:10px 0;}
.ps-editor {margin:17px 0 0; padding:21px 23px; border-color:var(--fm-ink); box-shadow:3px 3px 0 var(--fm-ink);}
.ps-editor-head {display:flex; gap:15px; align-items:center; justify-content:space-between; margin-bottom:17px;}
#ps-editor-title {scroll-margin-top:14px;}
.ps-text {padding:0; border:0; background:transparent; color:inherit; text-decoration:underline; font:650 12px/1.5 var(--fm-sans);}
button.ps-text {min-height:38px;}
.ps-editor-grid {display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,32%); gap:22px; align-items:start;}
.ps-effective {background:var(--fm-olive); padding:15px 17px; border:1px solid var(--fm-ink);}
.ps-effective strong {display:block; font:1000 27px/1.1 var(--fm-heavy); letter-spacing:-.055em; margin:9px 0;}
.ps-effective p {font:500 13px/1.5 var(--fm-sans);}
.ps-address-fields {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px;}
.ps-field.is-wide {grid-column:1/-1;}
.ps-form-note {display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 20px; align-items:center; margin-top:8px;}
.ps-form-note p {font:550 10px/1.4 var(--fm-mono);}
.ps-methods {border:0; min-width:0; padding:0;}
.ps-methods legend {padding:0; font:700 13px/1.4 var(--fm-sans); margin-bottom:8px;}
.ps-methods label {display:flex; align-items:center; gap:13px; border:1px solid #a99d88; padding:10px 12px; margin-bottom:7px; cursor:pointer; min-height:45px;}
.ps-methods label:has(input:checked) {background:#eff4d3; border-color:var(--fm-ink);}
.ps-methods input {accent-color:var(--fm-ink);}
.ps-methods :is(b,small) {display:block;}
.ps-methods b {font:700 15px/1.3 var(--fm-sans);}
.ps-methods :is(small,em) {font:600 10px/1.4 var(--fm-mono);}
.ps-methods em {margin-left:auto; max-width:102px; text-align:right;}
.ps-input-area>.ps-field {margin-top:11px;}
.ps-input-area>.ps-kicker {margin:1px 0 12px;}
.ps-editor-actions {display:flex; align-items:center; flex-wrap:wrap; gap:17px; margin-top:15px;}
.ps-error {margin-top:12px!important; font:650 13px/1.45 var(--fm-sans); color:#8f2717; background:#ffe2d9; padding:9px 12px;}
.ps-schedule {margin-top:28px;}
.ps-schedule>p {font:500 14px/1.5 var(--fm-sans); margin:8px 0 13px;}
.ps-period {margin:0 0 7px;}
.ps-period summary {display:grid; align-items:center; grid-template-columns:minmax(0,1fr) auto 15px; gap:10px; padding:12px 16px; list-style:none; min-height:47px;}
.ps-period summary::-webkit-details-marker {display:none;}
.ps-period summary strong {font:800 17px/1.2 var(--fm-sans);}
.ps-period summary span,.ps-past>span {font:600 10px/1.45 var(--fm-mono);}
.ps-period summary i {display:inline-block; position:relative; width:12px; height:12px;}
.ps-period summary i::before,.ps-period summary i::after {content:""; position:absolute; inset:5px 0 auto; height:2px; background:currentColor;}
.ps-period summary i::after {transform:rotate(90deg);}
.ps-period[open] summary i::after {display:none;}
.ps-period[open] summary {background:#eef1d8;}
.ps-period-values {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:13px 16px; border-top:1px dashed #b5a88e;}
.ps-period-values>div>.ps-kicker {margin-bottom:7px;}
.ps-period-values>a {grid-column:1/-1; justify-self:start;}
.ps-period-values address,.ps-period-values .ps-payline b {font-size:13px;}
.ps-past {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 15px; padding:12px 0 6px;}
.ps-empty-row {padding:17px; font-size:14px;}
.ps-missing {padding:26px 0;}
.ps-missing h1 {font-size:clamp(40px,5vw,72px);}
.ps-missing p {margin:14px 0 20px;}

@media(max-width:1000px){
  .ps {width:calc(100% - 56px);}
  .ps-hero {padding:24px 30px;}
  .ps-card-bottom {align-items:flex-start; flex-direction:column;}
}
@media(max-width:760px){
  .ps {width:calc(100% - 32px); margin-bottom:36px;}
  .ps-back {padding:12px 0;}
  .ps-nav {gap:15px;}
  .ps-nav a {font-size:11px; padding:10px 0;}
  .ps-hero {margin-inline:-16px; padding:19px 16px; gap:13px; grid-template-columns:minmax(0,1fr) minmax(108px,30%);}
  .ps-intro h1 {font-size:clamp(37px,9vw,57px); margin:7px 0 10px;}
  .ps-intro p:last-child {font-size:13px; line-height:1.42;}
  .ps-ticket {padding:9px; box-shadow:2px 2px 0 var(--fm-ink);}
  .ps-ticket-top {font-size:8px; gap:3px;}
  .ps-ticket-top span:last-child {font-size:13px;}
  .ps-ticket>b {font-size:clamp(15px,4vw,24px); margin:7px 0; line-height:1.08;}
  .ps-ticket-item {gap:6px; flex-wrap:wrap; padding-top:6px;}
  .ps-ticket-item img {width:31px; height:31px;}
  .ps-ticket-item strong {font-size:11px;}
  .ps-ticket-item small {font-size:8px; margin-top:2px;}
  .ps-planbar {margin:13px 0; gap:4px;}
  .ps-planbar label {width:100%;}
  .ps-planbar select {min-width:0; font-size:16px;}
  .ps-planbar p {font-size:9px; margin:2px 0 0;}
  .ps-cards {gap:10px;}
  .ps-card {padding:13px 15px;}
  .ps-card-icon svg {width:14px; height:14px;}
  .ps-card-value {margin:9px 0 11px; min-height:0;}
  .ps-card-bottom {padding-top:9px;}
  .ps address {font-size:13px;}
  .ps-card-bottom p {font-size:11px;}
  .ps-editor {padding:15px; margin-top:13px;}
  .ps-editor-grid {grid-template-columns:minmax(0,1fr);}
  .ps-effective {padding:12px; grid-row:1;}
  .ps-effective strong {font-size:22px; margin:5px 0;}
  .ps-editor-grid {gap:12px;}
  .ps-field :is(input,select) {font-size:16px;}
  .ps-form-note p {font-size:9px;}
  .ps-schedule {margin-top:22px;}
  .ps-schedule>p {font-size:13px; margin:7px 0 12px;}
  .ps-period summary {padding:11px 12px;}
  .ps-period summary strong {font-size:15px;}
  .ps-period summary span {font-size:9px;}
}
@media(max-width:540px){
  .ps-cards {grid-template-columns:minmax(0,1fr);}
  .ps-card-bottom {flex-direction:row; align-items:center;}
  .ps-period-values {grid-template-columns:minmax(0,1fr);}
}
@media(max-width:360px){
  .ps-nav {gap:11px;}
  .ps-nav a {font-size:10px;}
  .ps-hero {grid-template-columns:minmax(0,1fr) 96px; gap:7px;}
  .ps-intro h1 {font-size:35px;}
  .ps-card-bottom {gap:6px;}
  .ps-card-bottom p {max-width:138px;}
  .ps-button {padding-inline:10px; gap:7px;}
  .ps-address-fields {grid-template-columns:minmax(0,1fr);}
}
.ps-unpaid {margin-top:14px;padding:12px;background:#ffe3d5;border:1px solid #af7969;font-size:13px;line-height:1.5;}
.ps-unpaid p {margin:3px 0 6px;}
.ps-unpaid a {display:block;width:fit-content;}

.ps-unpaid.is-paid {background:#e5edbd;border-color:#7f9053;}
.ps-inactive.is-payment {background:#ffdfcc;border-color:#966b59;line-height:1.5;}

.ps-collection {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;background:#eef4ce;border:1px solid var(--fm-ink);padding:14px;margin-top:15px;}
.ps-collection time,.ps-collection>b {display:block;margin-top:3px;font:700 15px/1.4 var(--fm-sans);}
.ps-collection>strong {font:900 clamp(22px,2vw,29px)/1.1 var(--fm-heavy);letter-spacing:-.045em;}
.ps-collection>p,.ps-collection>small {grid-column:1/-1;font:500 13px/1.45 var(--fm-sans);}
.ps-collection>small {color:#4f563a;font-size:12px;}
@media(max-width:370px){.ps-collection {padding:11px;gap:5px 7px;}}

.ps-receipt-review {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px 28px;margin:17px 0;padding:22px 24px;background:#ebf3c3;border:1px solid var(--fm-ink);}
.ps-receipt-review h2 {margin:5px 0 8px;}
.ps-receipt-review p:not(.ps-kicker),.ps-receipt-review dl {font:500 14px/1.5 var(--fm-sans);}
.ps-receipt-review dl {margin:8px 0;}.ps-receipt-review dl>div {display:flex;flex-wrap:wrap;gap:2px 10px;}
.ps-receipt-review dt {color:#4d513f;}.ps-receipt-review dd {font-weight:700;margin:0;}
.ps-receipt-review .ps-receipt-help {font:500 12px/1.45 var(--fm-mono);}
.ps-receipt-actions {display:grid;justify-items:start;gap:11px;}
.ps-receipt-review a {font:650 13px/1.45 var(--fm-sans);text-underline-offset:3px;}
@media(max-width:720px){.ps-receipt-review{padding:15px;grid-template-columns:1fr;}.ps-receipt-review dl>div{display:block;margin-bottom:3px;}}

.ps-receipt-review .ps-receipt-conflict {margin:6px 0;padding:7px 9px;background:#fff1d2;border-left:3px solid var(--fm-ink);}
