:root{
  --ptr-bg:#fff;
  --ptr-card:#f8fafc;
  --ptr-border:#e5e7eb;
  --ptr-text:#111827;
  --ptr-muted:#6b7280;
  --ptr-accent:#2563eb;
  --ptr-danger:#b91c1c;
  --ptr-radius:14px;
  --ptr-space:14px;
}
.ptr-form{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--ptr-text);}
.ptr-card{background:var(--ptr-card);border:1px solid var(--ptr-border);border-radius:var(--ptr-radius);padding:var(--ptr-space);margin:0 0 16px 0;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.ptr-card h2{margin:0 0 10px 0;font-size:1.1rem;}
.ptr-grid-1, .ptr-grid-2, .ptr-grid-3{display:grid;gap:var(--ptr-space);}
.ptr-grid-1{grid-template-columns:1fr;}
.ptr-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.ptr-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:800px){
  .ptr-grid-2,.ptr-grid-3{grid-template-columns:1fr;}
}
.ptr-form label{display:block;font-size:.92rem;color:var(--ptr-muted);}
.ptr-form input[type="text"],
.ptr-form input[type="email"],
.ptr-form input[type="number"],
.ptr-form input[type="date"],
.ptr-form input[type="tel"],
.ptr-form select,
.ptr-form textarea{
  width:100%;padding:10px 12px;border:1px solid var(--ptr-border);border-radius:12px;background:var(--ptr-bg);
  font-size:1rem;color:var(--ptr-text);outline:none;transition:border-color .15s, box-shadow .15s;
}
.ptr-form textarea{min-height:90px;resize:vertical;}
.ptr-form input:focus, .ptr-form select:focus, .ptr-form textarea:focus{
  border-color:var(--ptr-accent);box-shadow:0 0 0 3px rgba(37,99,235,.15);
}
.ptr-inline{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:.9rem;}
.ptr-check{display:flex;align-items:center;gap:8px;margin-top:8px;}
.ptr-actions{display:flex;align-items:center;gap:12px;margin-top:16px;}
.ptr-actions button{
  appearance:none;border:none;background:var(--ptr-accent);color:white;padding:10px 16px;border-radius:12px;cursor:pointer;
  font-weight:600;transition:transform .05s ease, box-shadow .15s ease;
}
.ptr-actions button[type="button"]{background:#111827;}
.ptr-actions button:hover{box-shadow:0 6px 16px rgba(37,99,235,.25);}
.ptr-actions button:active{transform:translateY(1px);}
.ptr-status{font-size:.92rem;color:var(--ptr-muted);}
.ptr-output{margin-top:16px;}
.ptr-summary{background:#fff;border:1px solid var(--ptr-border);border-radius:12px;padding:14px;}
.ptr-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.ptr-total .label{font-size:.9rem;color:var(--ptr-muted);}
.ptr-total .value{font-size:1.6rem;font-weight:800;}
.ptr-range, .ptr-meta{color:var(--ptr-muted);font-size:.95rem;margin-top:4px;}
.ptr-break{margin-top:14px;background:#fff;border:1px solid var(--ptr-border);border-radius:12px;padding:12px;}
.ptr-break h4{margin:0 0 8px 0;}
.ptr-break ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.ptr-break li{display:flex;justify-content:space-between;border-bottom:1px dashed var(--ptr-border);padding:6px 0;}
.ptr-warn{margin-top:10px;background:#fffbeb;border:1px solid #fbbf24;color:#92400e;border-radius:12px;padding:12px;}
.ptr-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:12px;padding:12px;}
.ptr-hidden{display:none;}
.ptr-hint{margin:0 0 8px 0;font-size:.85rem;color:var(--ptr-muted);}

.ptr-success{background:#ecfdf3;border:1px solid #bbf7d0;color:#166534;border-radius:12px;padding:12px;margin-top:10px;}
