.grs-page{max-width:1180px;margin:40px auto;padding:0 18px;box-sizing:border-box}
.grs-auth-page{max-width:900px}
.grs-card{background:#fff;border-radius:24px;padding:34px;box-shadow:0 18px 50px rgba(23,33,52,.08);border:1px solid rgba(17,24,39,.06)}
.grs-card-wide{padding:38px}
.grs-hero{background:linear-gradient(135deg,#ffffff 0%,#f7f9fc 100%)}
.grs-heading{margin-bottom:24px}.grs-heading h2{margin:0 0 8px;font-size:32px;line-height:1.15;color:#1b2430}.grs-heading p{margin:0;color:#5e6b7a;font-size:15px}
.grs-form{display:grid;gap:18px}.grs-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grs-col-full{grid-column:1/-1}
.grs-field label{display:block;font-weight:700;color:#1f2937;margin:0 0 8px;font-size:14px}
.grs-field input,.grs-field select,.grs-field textarea,.grs-search-form input{width:100%;padding:15px 16px;border:1px solid #d6dce5;border-radius:14px;background:#fff;box-sizing:border-box;font-size:15px;transition:.2s ease}
.grs-field input:focus,.grs-field select:focus,.grs-field textarea:focus,.grs-search-form input:focus{outline:none;border-color:#7c8aa5;box-shadow:0 0 0 4px rgba(124,138,165,.12)}
.grs-check{display:flex;align-items:center;gap:10px;color:#475569;font-size:14px}
.grs-btn,.grs-btn:visited{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:14px 22px;border-radius:14px;background:#1f2937;color:#fff!important;border:none;text-decoration:none;font-weight:700;cursor:pointer;transition:.2s ease;min-height:50px}
.grs-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(31,41,55,.16)}
.grs-btn-secondary{background:#4b5563}
.grs-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px}.grs-links a{color:#243447;text-decoration:none;font-weight:600}
.grs-alert{padding:15px 18px;border-radius:14px;margin-bottom:20px;font-weight:600}.grs-alert-success{background:#ecfdf3;color:#166534}.grs-alert-error{background:#fef2f2;color:#991b1b}.grs-alert-info{background:#eff6ff;color:#1d4ed8}
.grs-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.grs-mini-card{display:block;text-decoration:none;background:#fff;padding:22px;border-radius:18px;border:1px solid rgba(17,24,39,.06);box-shadow:0 10px 25px rgba(15,23,42,.05)}
.grs-mini-card strong{display:block;color:#111827;font-size:17px;margin-bottom:6px}.grs-mini-card span{color:#64748b;font-size:14px}
.grs-table-wrap{overflow:auto}.grs-table{width:100%;border-collapse:collapse}.grs-table th,.grs-table td{padding:15px 14px;border-bottom:1px solid #e5e7eb;text-align:left}.grs-table th{color:#334155;background:#f8fafc}
.grs-empty{padding:24px;border-radius:16px;background:#f8fafc;color:#475569}
.grs-search-form{display:flex;gap:14px;align-items:center;margin:18px 0 22px}.grs-search-form input{flex:1}
.grs-result-card{padding:24px;border:1px solid #e5e7eb;border-radius:20px;background:#fff;margin-top:18px;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.grs-result-card h3{margin:0 0 14px;color:#111827;font-size:24px}.grs-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grs-meta-item{background:#f8fafc;padding:14px;border-radius:14px}.grs-meta-item span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#64748b;margin-bottom:4px}.grs-meta-item strong{font-size:15px;color:#0f172a}
.grs-detail{margin-top:16px;color:#334155}.grs-detail p{margin:8px 0 0;line-height:1.6}.grs-evidence{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.grs-file-link{display:inline-flex;padding:10px 14px;border-radius:12px;background:#eef2ff;color:#3730a3;text-decoration:none;font-weight:700}
.grs-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grs-check-box{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.grs-check-box span{color:#334155;font-size:14px;line-height:1.3}
@media (max-width: 768px){.grs-grid-2,.grs-dashboard-grid,.grs-meta-grid,.grs-check-grid{grid-template-columns:1fr}.grs-card,.grs-card-wide{padding:22px}.grs-search-form{flex-direction:column;align-items:stretch}}
