/* Newtown Members — Front-end styles
   These are intentionally minimal and theme-agnostic.
   Override freely in your theme's style.css. */

.nm-notice { padding: .9rem 1.2rem; border-radius: 6px; margin-bottom: 1.25rem; font-size: .9rem; }
.nm-success { background: #d4edda; color: #155724; border-left: 4px solid #27ae60; }
.nm-error   { background: #f8d7da; color: #721c24; border-left: 4px solid #c0392b; }
.nm-info    { background: #d1ecf1; color: #0c5460; border-left: 4px solid #17a2b8; }

.nm-form-group  { margin-bottom: 1.1rem; }
.nm-form-row    { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.nm-form-group label { display: block; font-weight: 600; font-size: .85rem; margin-bottom: .3rem; }
.nm-form-group input,
.nm-form-group select,
.nm-form-group textarea { width: 100%; padding: .55rem .85rem; border: 1px solid #ccc; border-radius: 5px; font-size: .95rem; }
.nm-form-group input:focus,
.nm-form-group select:focus,
.nm-form-group textarea:focus { outline: none; border-color: #2c5f2e; box-shadow: 0 0 0 3px rgba(44,95,46,.12); }
.nm-field-hint { font-size: .8rem; color: #666; margin-top: .25rem; display: block; }
.nm-required { color: #c0392b; }
.nm-checkbox-label { display: flex; align-items: flex-start; gap: .6rem; font-weight: 400; cursor: pointer; }
.nm-checkbox-label input[type="checkbox"] { width: auto; margin-top: .2rem; flex-shrink: 0; }
.nm-signup-login { text-align: center; font-size: .9rem; margin-top: 1.25rem; color: #666; }

@media (max-width: 600px) { .nm-form-row { grid-template-columns: 1fr; } }

.nm-btn { display: inline-block; padding: .6rem 1.4rem; border-radius: 5px; font-weight: 700; font-size: .85rem; cursor: pointer; border: none; text-align: center; text-decoration: none; transition: opacity .2s; }
.nm-btn:hover { opacity: .88; }
.nm-btn-primary { background: #2c5f2e; color: #fff; }
.nm-btn-outline { background: transparent; border: 2px solid currentColor; }
.nm-btn-danger  { background: #c0392b; color: #fff; }
.nm-btn-sm  { padding: .35rem .9rem; font-size: .8rem; }
.nm-btn-lg  { padding: .8rem 2rem; font-size: 1rem; }

.nm-document-list { list-style: none; padding: 0; margin: 0; }
.nm-document-item { display: flex; align-items: center; gap: .9rem; padding: .8rem .95rem; border-radius: 5px; background: #f8f8f8; margin-bottom: .5rem; }
.nm-doc-icon  { font-size: 1.4rem; flex-shrink: 0; }
.nm-doc-info  { flex: 1; min-width: 0; }
.nm-doc-name  { font-weight: 600; font-size: .9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nm-doc-meta  { font-size: .78rem; color: #666; margin-top: .15rem; }
.nm-doc-actions { display: flex; gap: .4rem; flex-shrink: 0; }
.nm-doc-category { font-size: 1rem; font-weight: 700; margin: 1.25rem 0 .6rem; color: #2c5f2e; padding-bottom: .4rem; border-bottom: 2px solid #f5a623; }
.nm-admin-badge { color: #c0392b; font-weight: 700; }

.nm-signup-form { max-width: 520px; }
