
:root{
  --jsp-primary:#0f766e;
  --jsp-primary-dark:#115e59;
  --jsp-accent:#16a34a;
  --jsp-border:#d1d5db;
  --jsp-text:#0f172a;
  --jsp-bg:#f8fafc;
}
.jsp-wrap{max-width:1200px;margin:24px auto;padding:0 16px;color:var(--jsp-text)}
.jsp-admin-wrap .jsp-card,.jsp-card{background:#fff;border:1px solid var(--jsp-border);border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.05);margin-bottom:20px}
.jsp-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.jsp-col-3{grid-column:span 3}.jsp-col-5{grid-column:span 5}.jsp-col-6{grid-column:span 6}.jsp-col-7{grid-column:span 7}
.jsp-stat-grid{margin-bottom:20px}
.jsp-stat-card{background:linear-gradient(135deg,#ffffff 0%,#f0fdf4 100%);position:relative;overflow:hidden}
.jsp-stat-card:before{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:999px;background:rgba(15,118,110,.08)}
.jsp-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#475569;position:relative;z-index:1}
.jsp-stat-value{font-size:32px;font-weight:700;color:var(--jsp-primary);position:relative;z-index:1;margin-top:8px}
.jsp-form label{display:block;font-weight:700;margin-bottom:6px;color:var(--jsp-text)}
.jsp-form input[type=text],.jsp-form input[type=email],.jsp-form input[type=date],.jsp-form input[type=number],.jsp-form select,.jsp-form textarea{width:100%;max-width:100%;padding:11px 13px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:var(--jsp-text)}
.jsp-form input:focus,.jsp-form select:focus,.jsp-form textarea:focus{outline:none;border-color:var(--jsp-primary);box-shadow:0 0 0 3px rgba(15,118,110,.12)}
.jsp-form textarea{min-height:90px}
.jsp-two-col,.jsp-three-col,.jsp-four-col,.jsp-row-inline{display:grid;gap:16px}
.jsp-two-col{grid-template-columns:repeat(2,1fr)}
.jsp-three-col{grid-template-columns:repeat(3,1fr)}
.jsp-four-col{grid-template-columns:repeat(4,1fr)}
.jsp-row-inline{grid-template-columns:3fr 1fr;align-items:end}
.jsp-row-button{display:flex;align-items:flex-end}
.jsp-table{width:100%;border-collapse:separate;border-spacing:0}
.jsp-table th,.jsp-table td{padding:12px 10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}
.jsp-table thead th{background:#ecfdf5;font-weight:700;color:#065f46}
.jsp-table tr:hover td{background:#fafafa}
.jsp-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.jsp-box{border:1px solid #e2e8f0;padding:14px;border-radius:14px;background:#fafafa;margin-bottom:14px}
.jsp-highlight-box{background:linear-gradient(135deg,#f0fdf4 0%,#ecfeff 100%);border-color:#a7f3d0}
.jsp-messages{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.jsp-message{padding:14px;border-radius:14px;border:1px solid #e5e7eb;background:#fff}
.jsp-message.is-service{border-left:4px solid var(--jsp-primary)}
.jsp-message.is-customer{border-left:4px solid var(--jsp-accent)}
.jsp-message-meta{font-size:12px;color:#64748b;margin-bottom:8px}
.jsp-badge{display:inline-block;background:#f1f5f9;border-radius:999px;padding:2px 8px;font-size:11px}
.jsp-repeat-group{display:flex;flex-direction:column;gap:12px}
.jsp-repeat-row{border:1px dashed #94a3b8;border-radius:14px;padding:14px;background:#fcfcfc}
.jsp-small-text{font-size:12px;color:#64748b;margin-bottom:8px}
.jsp-attachment-list{margin:8px 0 0 18px}
.jsp-filter-form{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.jsp-filter-form input,.jsp-filter-form select{min-width:220px}
.jsp-wrap .button,.jsp-admin-wrap .button{border-radius:10px;padding:8px 14px;border-color:#cbd5e1}
.jsp-wrap .button.button-primary,.jsp-admin-wrap .button.button-primary{background:var(--jsp-primary);border-color:var(--jsp-primary);color:#fff}
.jsp-wrap .button.button-primary:hover,.jsp-admin-wrap .button.button-primary:hover{background:var(--jsp-primary-dark);border-color:var(--jsp-primary-dark)}
.jsp-wa-button{background:#16a34a !important;border-color:#16a34a !important;color:#fff !important}
.jsp-wa-button:hover{background:#15803d !important;border-color:#15803d !important}
@media (max-width:900px){.jsp-grid,.jsp-two-col,.jsp-three-col,.jsp-four-col,.jsp-row-inline{grid-template-columns:1fr}.jsp-col-3,.jsp-col-5,.jsp-col-6,.jsp-col-7{grid-column:span 12}}
