:root{
  --pd-touch:44px;--pd-gap:16px;--pd-radius:18px;--pd-safe-bottom:env(safe-area-inset-bottom,0px);
  --pd-surface:#ffffff;--pd-surface-2:#f6f8fb;--pd-text:#172033;--pd-muted:#667085;--pd-border:#dfe5ec;
  --pd-primary:#176b48;--pd-primary-strong:#0f5136;--pd-danger:#b42318;--pd-warning:#b54708;
  --pd-shadow:0 12px 32px rgba(16,24,40,.12);--pd-focus:0 0 0 3px rgba(23,107,72,.2)
}
:root[data-pd-theme="dark"]{
  --pd-surface:#172033;--pd-surface-2:#101828;--pd-text:#f8fafc;--pd-muted:#aab4c4;--pd-border:#344054;
  --pd-primary:#48c78e;--pd-primary-strong:#69d7a5;--pd-shadow:0 14px 36px rgba(0,0,0,.38);--pd-focus:0 0 0 3px rgba(72,199,142,.25)
}
.pd-shared-ui *{box-sizing:border-box}
.pd-shared-ui button,.pd-shared-ui [role="button"],.pd-shared-ui input,.pd-shared-ui select,.pd-shared-ui textarea{font:inherit}
.pd-shared-ui button,.pd-shared-ui [role="button"]{min-height:var(--pd-touch);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.pd-shared-ui img,.pd-shared-ui svg,.pd-shared-ui canvas{max-width:100%}
.pd-shared-ui .pd-responsive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--pd-gap)}
.pd-shared-ui .pd-responsive-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.pd-shared-ui .pd-scroll-x{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.pd-shared-ui .pd-only-app{display:none!important}.pd-platform-app .pd-only-app{display:initial!important}.pd-platform-app .pd-only-browser{display:none!important}
.pd-card-shared{border-radius:var(--pd-radius)!important;overflow:hidden}
.pd-control-shared{transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;touch-action:manipulation}
.pd-control-shared:active:not(:disabled){transform:translateY(1px)}
.pd-control-shared:focus-visible,.pd-input-shared:focus-visible,.pd-btn:focus-visible{outline:0;box-shadow:var(--pd-focus)!important}
.pd-control-shared:disabled,.pd-btn:disabled{opacity:.55;cursor:not-allowed}
.pd-input-shared{transition:border-color .16s ease,box-shadow .16s ease;background:var(--pd-surface);color:var(--pd-text)}
.pd-btn{border:0;border-radius:12px;padding:10px 16px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:700;cursor:pointer;transition:.16s ease}
.pd-btn--primary{background:var(--pd-primary);color:#fff}.pd-btn--secondary{background:var(--pd-surface-2);color:var(--pd-text);border:1px solid var(--pd-border)}
.pd-btn--danger{background:var(--pd-danger);color:#fff}.pd-btn--ghost{background:transparent;color:var(--pd-text)}
.pd-btn.is-loading{pointer-events:none}.pd-spinner{width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pd-spin .7s linear infinite}
@keyframes pd-spin{to{transform:rotate(360deg)}}
.pd-card{background:var(--pd-surface);color:var(--pd-text);border:1px solid var(--pd-border);border-radius:var(--pd-radius);box-shadow:var(--pd-shadow);overflow:hidden}
.pd-card__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px 18px 0}.pd-card__title{margin:0;font-size:1.05rem}.pd-card__subtitle{margin:5px 0 0;color:var(--pd-muted)}.pd-card__body{padding:18px}
.pd-field{display:grid;gap:7px;color:var(--pd-text)}.pd-field__label{font-weight:700;font-size:.92rem}.pd-field__control{width:100%;min-height:44px;border:1px solid var(--pd-border);border-radius:12px;padding:10px 12px;background:var(--pd-surface);color:var(--pd-text)}
.pd-field__message{min-height:16px;color:var(--pd-muted)}.pd-field.has-error .pd-field__control,.pd-control-error{border-color:var(--pd-danger)!important;box-shadow:0 0 0 3px rgba(180,35,24,.12)!important}.pd-field.has-error .pd-field__message{color:var(--pd-danger)}
.pd-modal-open{overflow:hidden}.pd-modal-overlay{position:fixed;inset:0;background:rgba(16,24,40,.62);opacity:0;transition:opacity .18s ease;z-index:9998}.pd-modal-overlay.is-open{opacity:1}
.pd-modal-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-46%) scale(.98);width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px);display:flex;flex-direction:column;background:var(--pd-surface);color:var(--pd-text);border:1px solid var(--pd-border);border-radius:20px;box-shadow:var(--pd-shadow);opacity:0;transition:.18s ease;z-index:9999;overflow:hidden}
.pd-modal-dialog.is-open{opacity:1;transform:translate(-50%,-50%) scale(1)}.pd-modal__header{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--pd-border)}.pd-modal__title{margin:0;font-size:1.12rem}.pd-modal__close{font-size:1.5rem;padding:5px 12px}.pd-modal__body{padding:18px;overflow:auto}.pd-modal__actions{padding:14px 18px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--pd-border)}
.pd-toast-region{position:fixed;right:16px;bottom:calc(80px + var(--pd-safe-bottom));display:grid;gap:10px;z-index:10020;pointer-events:none}.pd-toast{min-width:min(320px,calc(100vw - 32px));max-width:420px;padding:13px 15px;border-radius:13px;background:var(--pd-surface);color:var(--pd-text);border:1px solid var(--pd-border);box-shadow:var(--pd-shadow);opacity:0;transform:translateY(10px);transition:.18s ease}.pd-toast.is-visible{opacity:1;transform:none}.pd-toast--success{border-left:4px solid var(--pd-primary)}.pd-toast--warning{border-left:4px solid var(--pd-warning)}.pd-toast--error{border-left:4px solid var(--pd-danger)}
@media(max-width:820px){
  :root{--pd-gap:12px;--pd-radius:16px}.pd-shared-ui body{overflow-x:hidden}.pd-shared-ui .pd-responsive-grid{grid-template-columns:1fr}.pd-shared-ui .pd-responsive-row>*{max-width:100%}.pd-shared-ui input,.pd-shared-ui select,.pd-shared-ui textarea{font-size:16px!important}
  .pd-shared-ui .modal,.pd-shared-ui [class*="modal-content"],.pd-shared-ui [class*="dialog"]{max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important}.pd-shared-ui .app{padding-bottom:calc(var(--pd-safe-bottom) + 8px)}
  .pd-modal-dialog{left:12px;right:12px;bottom:calc(12px + var(--pd-safe-bottom));top:auto;width:auto;max-height:calc(100dvh - 24px - var(--pd-safe-bottom));transform:translateY(18px);border-radius:20px}.pd-modal-dialog.is-open{transform:none}.pd-modal__actions{display:grid;grid-template-columns:1fr}.pd-toast-region{left:16px;right:16px}.pd-toast{min-width:0;max-width:none}
}
@media(min-width:821px){.pd-shared-ui .pd-only-mobile{display:none!important}}
@media(prefers-reduced-motion:reduce){.pd-shared-ui *, .pd-shared-ui *::before,.pd-shared-ui *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
