.grupa-sms { --gw-navy:#0b2545; --gw-blue:#0f5da8; --gw-green:#12a150; --gw-bg:#f4f7fb; --gw-border:#dce4ef; }
.grupa-sms h1 { font-weight:800; color:var(--gw-navy); }
.grupa-sms-subtitle { font-size:15px; color:#52616f; margin-top:-4px; }
.grupa-sms-grid { display:grid; grid-template-columns:repeat(5,minmax(140px,1fr)); gap:16px; margin:20px 0; }
.grupa-sms-card { background:#fff; border:1px solid var(--gw-border); border-radius:16px; padding:18px; box-shadow:0 10px 25px rgba(11,37,69,.06); min-height:95px; position:relative; overflow:hidden; }
.grupa-sms-card:before { content:""; position:absolute; right:-30px; top:-35px; width:95px; height:95px; background:linear-gradient(135deg,var(--gw-blue),var(--gw-green)); opacity:.11; border-radius:50%; }
.grupa-sms-card .dashicons { color:var(--gw-blue); font-size:28px; width:28px; height:28px; }
.grupa-sms-card strong { display:block; font-size:30px; margin-top:10px; color:var(--gw-navy); line-height:1; }
.grupa-sms-card small { display:block; margin-top:7px; color:#566; font-weight:700; }
.grupa-sms-panel { background:#fff; border:1px solid var(--gw-border); border-radius:16px; padding:20px; margin:20px 0; box-shadow:0 10px 25px rgba(11,37,69,.05); }
.grupa-sms-panel h2 { margin-top:0; color:var(--gw-navy); }
.grupa-sms-form-grid { display:grid; grid-template-columns:repeat(4,minmax(160px,1fr)); gap:14px; }
.grupa-sms label { display:block; margin-bottom:14px; }
.grupa-sms label span { display:block; font-weight:700; margin-bottom:6px; color:#223; }
.grupa-sms input[type=text], .grupa-sms input[type=date], .grupa-sms input[type=email], .grupa-sms select, .grupa-sms textarea { width:100%; max-width:100%; border:1px solid #ccd7e3; border-radius:10px; padding:8px 10px; background:#fff; }
.grupa-sms label.wide { margin-top:14px; }
.grupa-sms textarea { min-height:90px; }
.grupa-sms-iso-bars > div { display:grid; grid-template-columns:160px 1fr 55px; gap:12px; align-items:center; margin:12px 0; }
.grupa-sms-iso-bars .bar { height:11px; background:#edf2f7; border-radius:50px; overflow:hidden; }
.grupa-sms-iso-bars .bar i { display:block; height:100%; background:linear-gradient(90deg,var(--gw-blue),var(--gw-green)); border-radius:50px; }
.grupa-sms .widefat th { font-weight:800; color:var(--gw-navy); }
.grupa-sms.frontend { background:var(--gw-bg); border-radius:18px; padding:20px; }
@media (max-width:1200px){ .grupa-sms-grid{grid-template-columns:repeat(3,1fr)} .grupa-sms-form-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:700px){ .grupa-sms-grid,.grupa-sms-form-grid{grid-template-columns:1fr} .grupa-sms-iso-bars > div{grid-template-columns:1fr} }
.grupa-sms-success{background:#e8f7ef;border:1px solid #9bd8b2;color:#0d6b35;border-radius:12px;padding:12px 14px;margin-bottom:14px;font-weight:700}
.grupa-sms input[type=datetime-local],.grupa-sms input[type=email]{width:100%;max-width:100%;border:1px solid #ccd7e3;border-radius:10px;padding:8px 10px;background:#fff}
.grupa-sms code{background:#eef5ff;border-radius:6px;padding:3px 6px}
.grupa-sms-testing .grupa-sms-test-links{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-top:12px}
.grupa-sms-testing .grupa-sms-test-links a{display:block;text-align:center;text-decoration:none;background:#f0f6ff;border:1px solid #cfe0f5;border-radius:12px;padding:10px;font-weight:800;color:var(--gw-navy)}
.grupa-sms-testing .grupa-sms-test-links a:hover{background:#e8f7ef;border-color:#9bd8b2;color:#0d6b35}
.grupa-sms-testing .grupa-sms-panel{scroll-margin-top:40px}
.grupa-sms-testing button.button-primary{border-radius:10px;padding:6px 18px;font-weight:800}
@media (max-width:900px){.grupa-sms-testing .grupa-sms-test-links{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.grupa-sms-testing .grupa-sms-test-links{grid-template-columns:1fr}}

/* v0.4 frontend login */
.grupa-sms-login-panel form { max-width: 430px; margin-top: 16px; }
.grupa-sms-login-panel form p { margin: 0 0 14px; }
.grupa-sms-login-panel label { font-weight: 700; display: block; margin-bottom: 6px; }
.grupa-sms-login-panel input[type="text"],
.grupa-sms-login-panel input[type="password"] { width: 100%; padding: 11px 12px; border: 1px solid #d5dde5; border-radius: 10px; }
.grupa-sms-login-panel input[type="submit"] { background: #0b5d3b; color: #fff; border: 0; border-radius: 10px; padding: 11px 18px; font-weight: 800; cursor: pointer; }
.grupa-sms-help-text { background: #f4f8f6; border-left: 4px solid #0b5d3b; padding: 10px 12px; border-radius: 8px; }


/* v0.5 frontend tabbed testing forms */
.grupa-sms-testing .grupa-sms-tab-intro { position: sticky; top: 12px; z-index: 5; }
.grupa-sms-testing .grupa-sms-test-form { display: none; }
.grupa-sms-testing .grupa-sms-test-form:target { display: block; animation: grupaSmsFadeIn .18s ease-in-out; }
.grupa-sms-testing .grupa-sms-form-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.grupa-sms-testing .grupa-sms-form-heading h2 { margin:0; }
.grupa-sms-close-form { text-decoration:none; background:#f7fafc; border:1px solid #d6e0ea; color:var(--gw-navy); padding:8px 12px; border-radius:999px; font-weight:800; white-space:nowrap; }
.grupa-sms-close-form:hover { background:#fff3f3; border-color:#f3b5b5; color:#9d1b1b; }
.grupa-sms-testing .grupa-sms-test-links a:focus,
.grupa-sms-testing .grupa-sms-test-links a:hover { transform: translateY(-1px); box-shadow:0 8px 16px rgba(11,37,69,.08); }
@keyframes grupaSmsFadeIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:700px){ .grupa-sms-testing .grupa-sms-tab-intro{position:static} .grupa-sms-testing .grupa-sms-form-heading{align-items:flex-start; flex-direction:column;} }


/* v0.6 frontend saved records and details */
.grupa-sms-front-records { margin-top: 24px; padding-top: 18px; border-top: 1px solid #e4ebf3; }
.grupa-sms-record-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.grupa-sms-record-heading h3 { margin:0; color:var(--gw-navy); }
.grupa-sms-record-heading small { color:#5b6b7c; font-weight:700; }
.grupa-sms-table-wrap { overflow-x:auto; border:1px solid #e1e8f0; border-radius:12px; }
.grupa-sms-front-records table { margin:0; min-width:720px; }
.grupa-sms-view-btn { white-space:nowrap; }
.grupa-sms-empty-records { background:#f7fafc; border:1px dashed #cbd8e6; border-radius:12px; padding:12px; color:#52616f; }
.grupa-sms-testing .grupa-sms-record-detail { display:none; scroll-margin-top:40px; }
.grupa-sms-testing .grupa-sms-record-detail:target { display:block; animation: grupaSmsFadeIn .18s ease-in-out; }
.grupa-sms-detail-grid { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:12px; margin:14px 0; }
.grupa-sms-detail-item { background:#f7fafc; border:1px solid #e3ebf5; border-radius:12px; padding:12px; }
.grupa-sms-detail-item span, .grupa-sms-detail-text span { display:block; font-size:12px; font-weight:800; color:#5f6f7e; text-transform:uppercase; letter-spacing:.03em; margin-bottom:5px; }
.grupa-sms-detail-item strong { display:block; color:var(--gw-navy); font-size:15px; overflow-wrap:anywhere; }
.grupa-sms-detail-text { background:#fff; border:1px solid #e3ebf5; border-radius:12px; padding:14px; margin:12px 0; }
.grupa-sms-detail-text p { margin:0; color:#263747; white-space:normal; }
@media (max-width:1000px){ .grupa-sms-detail-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px){ .grupa-sms-detail-grid{grid-template-columns:1fr} .grupa-sms-record-heading{align-items:flex-start; flex-direction:column} }

/* v0.7 frontend workflow controls */
.grupa-sms-workflow-box{margin-top:18px;padding:16px;border:1px solid #d9e3ee;border-radius:14px;background:#f8fbff}
.grupa-sms-workflow-box h3{margin-top:0;color:#0f3557}
.grupa-sms-danger-line{margin-top:12px;border-top:1px dashed #ccd8e5;padding-top:12px}
.grupa-sms .button.grupa-sms-danger{border-color:#b42318;color:#b42318;background:#fff}
.grupa-sms .button.grupa-sms-danger:hover{background:#fff5f5;color:#7a271a;border-color:#7a271a}

.grupa-sms-upload-box{margin:18px 0;padding:16px;border:1px dashed #b8c7d9;border-radius:14px;background:#f8fbff}
.grupa-sms-upload-box label{display:block;font-weight:600;color:#17324d}
.grupa-sms-upload-box span{display:block;margin-bottom:8px}
.grupa-sms-upload-box input[type=file]{display:block;width:100%;padding:10px;background:#fff;border:1px solid #d8e1eb;border-radius:10px}
.grupa-sms-upload-box small{display:block;margin-top:8px;color:#5b6b7a;font-weight:400}
.grupa-sms-evidence-list{margin:10px 0 0 20px;padding:0}
.grupa-sms-evidence-list li{margin:6px 0}
.grupa-sms-evidence-list a{font-weight:700;text-decoration:none}

/* v0.9 frontend reports center */
.grupa-sms-report-center .grupa-sms-subtitle{margin-top:0}
.grupa-sms-report-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;margin:16px 0}
.grupa-sms-report-card{background:#f7fafc;border:1px solid #dfe9f4;border-radius:14px;padding:14px;text-align:center}
.grupa-sms-report-card strong{display:block;font-size:28px;color:var(--gw-navy);line-height:1}
.grupa-sms-report-card span{display:block;margin-top:6px;font-weight:800;color:#586b7d;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.grupa-sms-report-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.grupa-sms-report-table{margin-top:18px;padding-top:12px;border-top:1px solid #e4ebf3}
.grupa-sms-report-table h3{margin:0 0 10px;color:var(--gw-navy)}
.grupa-sms-badge{display:inline-block;border:1px solid #cfe0f5;background:#f0f6ff;color:var(--gw-navy);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800;white-space:nowrap}
@media (max-width:1100px){.grupa-sms-report-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.grupa-sms-report-grid{grid-template-columns:repeat(2,1fr)}}
@media print{body *{visibility:hidden}.grupa-sms,.grupa-sms *{visibility:visible}.grupa-sms{position:absolute;left:0;top:0;width:100%;background:#fff!important}.grupa-sms-test-links,.grupa-sms-close-form,.grupa-sms-report-actions,.grupa-sms-test-form:not(:target){display:none!important}.grupa-sms-report-center{display:block!important;box-shadow:none!important;border:0!important}}

.grupa-sms-access-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.grupa-sms-access-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700}.grupa-sms-access-pill.allowed{background:#e8f7ee;color:#12743b;border:1px solid #b9e6c8}.grupa-sms-access-pill.denied{background:#fff1f1;color:#9d1c1c;border:1px solid #f3c1c1}.grupa-sms-warning{background:#fff8e5;border-left:4px solid #d99a00;padding:12px 14px;margin:12px 0;border-radius:6px}.grupa-sms-access-panel{border-top:4px solid var(--grupa-sms-brand,#0f5da8)}

/* v1.1 company profile and branding */
.grupa-sms-company-profile{border-top:4px solid var(--grupa-sms-brand,#0f5da8)}
.grupa-sms-company-head{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.grupa-sms-company-head img{width:72px;height:72px;object-fit:contain;border:1px solid #dfe8f2;border-radius:14px;background:#fff;padding:6px}
.grupa-sms-company-head h2{margin:0;color:var(--gw-navy)}
.grupa-sms-company-head p{margin:5px 0 0;color:#516273}
.grupa-sms-company-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grupa-sms-company-grid div{background:#f8fbff;border:1px solid #e3edf7;border-radius:14px;padding:14px}
.grupa-sms-company-grid span{display:block;font-size:12px;font-weight:900;color:#536779;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}
.grupa-sms-company-grid p{margin:0;color:#273849;line-height:1.55}
@media (max-width:760px){.grupa-sms-company-head{align-items:flex-start;flex-direction:column}.grupa-sms-company-grid{grid-template-columns:1fr}}

/* v1.5 Frontend portal navigation */
.grupa-sms-portal-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid #e5e7eb;border-left:5px solid var(--grupa-sms-brand,#0f5da8);border-radius:14px;padding:14px 16px;margin:0 0 18px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.grupa-sms-portal-nav-brand{display:flex;flex-direction:column;gap:2px;line-height:1.2;text-decoration:none;color:#0f172a}.grupa-sms-portal-nav-brand strong{font-size:18px}.grupa-sms-portal-nav-brand span{font-size:12px;color:#64748b}.grupa-sms-portal-nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.grupa-sms-portal-nav-links a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#f8fafc;border:1px solid #cbd5e1;color:#0f172a;border-radius:999px;padding:8px 13px;font-weight:700;font-size:13px}.grupa-sms-portal-nav-links a:hover{background:#eef6ff;border-color:var(--grupa-sms-brand,#0f5da8);color:var(--grupa-sms-brand,#0f5da8)}.grupa-sms-portal-nav-links .grupa-sms-logout-link{background:#fff1f2;border-color:#fecdd3;color:#be123c}.grupa-sms-portal-nav-links .grupa-sms-logout-link:hover{background:#ffe4e6;color:#9f1239;border-color:#fb7185}@media(max-width:720px){.grupa-sms-portal-nav{align-items:flex-start;flex-direction:column}.grupa-sms-portal-nav-links{width:100%}.grupa-sms-portal-nav-links a{flex:1 1 45%;}}

/* v1.8 Action Alerts */
.grupa-sms-alert-center{border-left:5px solid #d63638;}
.grupa-sms-alert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:18px 0;}
.grupa-sms-alert-card{display:block;text-decoration:none;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 6px 18px rgba(0,0,0,.05);color:#1f2937;transition:transform .2s ease,box-shadow .2s ease;}
.grupa-sms-alert-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.09);}
.grupa-sms-alert-card strong{display:block;font-size:30px;line-height:1;margin-bottom:6px;color:#b42318;}
.grupa-sms-alert-card span{display:block;font-weight:800;margin-bottom:6px;}
.grupa-sms-alert-card small{display:block;color:#5f6b7a;line-height:1.35;}
.grupa-sms-alert-high{border-color:#fecaca;background:#fff7f7;}
.grupa-sms-alert-medium{border-color:#fed7aa;background:#fffaf4;}
.grupa-sms-alert-list{margin-top:12px;}
.grupa-sms-alert-latest{margin-top:16px;padding-top:10px;border-top:1px solid #eef0f3;}
.grupa-sms-alert-latest h4{margin:0 0 10px;font-size:16px;}
