
.cir-wrap { max-width: 1200px; margin: 20px auto; }
.cir-card { background: #fff; border: 1px solid #dcdcde; padding: 24px; margin-bottom: 20px; }
.cir-notice { padding: 12px 16px; margin: 0 0 16px; border-radius: 4px; }
.cir-success { background: #ecfdf3; border: 1px solid #a6f4c5; }
.cir-error { background: #fef3f2; border: 1px solid #fecdca; }
.cir-text, .cir-textarea { width: 100%; max-width: 100%; }
.cir-helper { color: #555; font-size: 0.95em; }
.cir-standard-block { margin: 28px 0; }
.cir-table-wrap { overflow-x: auto; }
.cir-table { width: 100%; border-collapse: collapse; }
.cir-table th, .cir-table td { border: 1px solid #dcdcde; padding: 10px; vertical-align: top; }
.cir-table th { background: #f6f7f7; text-align: left; }
.cir-table select, .cir-table textarea { width: 100%; }
.cir-summary-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); }
.cir-summary-card { border: 1px solid #dcdcde; padding: 16px; background: #fafafa; }

.cir-auth-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); }
.cir-register-form input[type="password"], .cir-register-form input[type="email"], .cir-register-form input[type="text"], .login-username input, .login-password input { width: 100%; }
.login-submit .button { width: auto; }
