:root{--sgp-red:#e31e24;--sgp-yellow:#fdd800;--sgp-gold:#febd01;--sgp-blue:#0008f9;--sgp-bg:#f4f5f7;--sgp-ink:#202124;--sgp-muted:#687079;--sgp-border:#e1e4e8;--sgp-green:#168a50;--sgp-shadow:0 10px 30px rgba(29,33,41,.07)}
*{box-sizing:border-box}.sgp-app{min-height:100vh;background:var(--sgp-bg);color:var(--sgp-ink);display:grid;grid-template-columns:250px 1fr;font-family:Inter,Arial,sans-serif}.sgp-sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--sgp-border);padding:24px 16px;display:flex;flex-direction:column;z-index:20}.sgp-brand{padding:8px 12px 24px}.sgp-brand strong{display:block;color:var(--sgp-red);font-size:23px;font-weight:900}.sgp-brand span{font-size:12px;letter-spacing:.18em;color:var(--sgp-muted)}.sgp-sidebar nav{display:flex;flex-direction:column;gap:5px}.sgp-sidebar nav a,.sgp-logout{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:10px;color:#3e4349;text-decoration:none;font-weight:650;font-size:14px}.sgp-sidebar nav a:hover,.sgp-sidebar nav a.active{background:#fff4bf;color:#9c171b}.sgp-sidebar nav a.active{box-shadow:inset 3px 0 var(--sgp-red)}.sgp-logout{margin-top:auto;color:#9c171b}.sgp-main{min-width:0;padding:34px 38px 70px}.sgp-menu-toggle{display:none}.sgp-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.sgp-page-header h1{font-size:28px;line-height:1.15;margin:0 0 5px}.sgp-page-header p{margin:0;color:var(--sgp-muted)}.sgp-card{background:#fff;border:1px solid var(--sgp-border);border-radius:15px;padding:21px;box-shadow:var(--sgp-shadow);margin-bottom:20px}.sgp-card h2{font-size:18px;margin:0 0 16px}.sgp-card h3{font-size:15px;margin:20px 0 10px}.sgp-kpis{display:grid;grid-template-columns:repeat(3,minmax(145px,1fr));gap:15px;margin-bottom:20px}.sgp-kpi{background:#fff;border-radius:14px;padding:18px;border:1px solid var(--sgp-border);border-top:4px solid #9aa0a6;box-shadow:var(--sgp-shadow)}.sgp-kpi span{display:block;color:var(--sgp-muted);font-size:13px}.sgp-kpi strong{display:block;font-size:31px;margin-top:8px}.sgp-kpi.success{border-top-color:var(--sgp-green)}.sgp-kpi.warning{border-top-color:var(--sgp-gold)}.sgp-kpi.blue{border-top-color:var(--sgp-blue)}.sgp-kpi.danger{border-top-color:var(--sgp-red)}.sgp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.sgp-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c9ced4;background:#fff;color:#333;text-decoration:none;border-radius:9px;padding:10px 16px;font-weight:700;font-size:14px;cursor:pointer}.sgp-btn:hover{filter:brightness(.97)}.sgp-btn-primary{background:var(--sgp-red);border-color:var(--sgp-red);color:#fff}.sgp-btn-success{background:var(--sgp-green);border-color:var(--sgp-green);color:#fff}.sgp-btn-danger{background:#fff0f0;border-color:#ffb3b3;color:#b31318}.sgp-btn-small{padding:7px 11px;font-size:12px}.sgp-alert{border-radius:10px;padding:13px 16px;margin-bottom:18px}.sgp-alert-success{background:#e9f8ef;color:#116c3d}.sgp-alert-error{background:#fff0f0;color:#9c171b}.sgp-tabs{display:flex;gap:5px;overflow:auto;margin-bottom:0}.sgp-tabs a{white-space:nowrap;background:#e8eaed;color:#4d5156;text-decoration:none;padding:11px 15px;border-radius:10px 10px 0 0;font-weight:700;font-size:13px}.sgp-tabs a.active{background:#fff;color:var(--sgp-red)}.sgp-filter{display:flex;gap:10px;background:#fff;border:1px solid var(--sgp-border);padding:15px;border-radius:0 12px 12px 12px;margin-bottom:18px}.sgp-filter input{flex:1}.sgp-table-wrap{overflow:auto;padding:0}.sgp-table-wrap h2{padding:20px 20px 0}.sgp-table{width:100%;border-collapse:collapse;min-width:700px}.sgp-table th{text-align:left;color:#70757a;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:14px 16px;border-bottom:1px solid var(--sgp-border)}.sgp-table td{padding:14px 16px;border-bottom:1px solid #edf0f2;font-size:14px}.sgp-person{display:flex;align-items:center;gap:11px}.sgp-person img,.sgp-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#eee;display:grid;place-items:center}.sgp-person small{display:block;color:var(--sgp-muted);margin-top:3px}.sgp-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;background:#eee}.status-active{background:#dff5e9;color:#0d7240}.status-renewal_due{background:#fff2bd;color:#785800}.status-pending,.status-review_pending{background:#e8ecff;color:#2429a8}.status-expired,.status-inactive,.status-rejected{background:#ffe3e3;color:#9d151a}.sgp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.sgp-form label,.sgp-form-grid label,fieldset{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:13px}.sgp-form input,.sgp-form select,.sgp-form textarea,.sgp-inline-form input,.sgp-inline-form select,.sgp-filter input,textarea{width:100%;min-height:44px;border:1px solid #cbd0d6;border-radius:8px;padding:10px 12px;background:#fff;font:inherit}.sgp-form input[type=file],fieldset input{padding:8px}.sgp-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sgp-check-grid label{display:flex;gap:7px;align-items:center;background:#f7f8f9;border-radius:8px;padding:10px;font-size:13px}.sgp-check-grid input{width:auto;min-height:auto}.sgp-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.sgp-help{color:var(--sgp-muted);font-size:13px}.sgp-consent{display:flex!important;flex-direction:row!important;align-items:flex-start!important;background:#fff8d6;padding:14px;border-radius:9px;margin-top:18px}.sgp-consent input{width:auto;min-height:auto;margin-top:2px}.sgp-inline-form{display:flex;gap:10px;align-items:center}.sgp-profile{display:grid;grid-template-columns:140px 1fr;gap:20px}.sgp-profile>img{width:140px;height:170px;object-fit:cover;border-radius:12px}dl{margin:0}dt{font-size:11px;text-transform:uppercase;color:var(--sgp-muted);font-weight:800;margin-top:11px}dd{margin:3px 0 0;font-weight:600}.sgp-docs{display:flex;gap:10px;flex-wrap:wrap}.sgp-doc{display:flex;flex-direction:column;gap:4px;min-width:110px;padding:12px;border:1px solid var(--sgp-border);border-radius:9px;text-decoration:none;color:inherit}.sgp-doc span{font-size:12px;color:var(--sgp-muted)}.sgp-timeline{border-left:2px solid #e4e6e8;margin-left:5px;padding-left:18px}.sgp-timeline article{padding:0 0 16px}.sgp-timeline span{display:block;color:var(--sgp-muted);font-size:12px;margin-top:3px}.sgp-renewal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sgp-countdown{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--sgp-yellow);font-size:23px;font-weight:900}.sgp-login-card{max-width:430px;margin:8vh auto;background:#fff;border-radius:18px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.12);font-family:Inter,Arial,sans-serif}.sgp-login-brand{text-align:center;margin-bottom:25px}.sgp-login-brand h1{color:var(--sgp-red);margin:0}.sgp-login-card label{font-weight:700}.sgp-login-card input[type=text],.sgp-login-card input[type=password]{width:100%;padding:12px;border:1px solid #ccd1d6;border-radius:8px}.sgp-login-card .button-primary{width:100%;background:var(--sgp-red);border:0;border-radius:8px;padding:12px;color:#fff;font-weight:800}
.sgp-user-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.sgp-user-actions form{margin:0}.sgp-project-author{margin-top:auto;padding:16px 13px 3px;color:var(--sgp-muted);font-size:10px;line-height:1.45}.sgp-project-author strong{color:#9c171b;font-size:11px}.sgp-project-author+.sgp-logout{margin-top:5px}
@media(max-width:900px){.sgp-app{grid-template-columns:1fr}.sgp-sidebar{position:fixed;left:-270px;width:250px;transition:.2s}.sgp-sidebar.open{left:0;box-shadow:10px 0 35px rgba(0,0,0,.15)}.sgp-main{padding:22px 16px 60px}.sgp-menu-toggle{display:inline-flex;border:0;background:#fff;border-radius:8px;padding:9px 12px;font-size:20px;margin-bottom:14px}.sgp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sgp-grid-2{grid-template-columns:1fr}.sgp-form-grid{grid-template-columns:1fr}.sgp-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sgp-renewal-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.sgp-kpis,.sgp-check-grid,.sgp-renewal-grid{grid-template-columns:1fr}.sgp-page-header{align-items:flex-start;flex-direction:column}.sgp-profile{grid-template-columns:1fr}.sgp-inline-form,.sgp-filter{flex-direction:column}.sgp-login-card{margin:20px 14px;padding:24px}}
