/* Rouzyar 0.25.4: one input visual system for every web panel. */
:root{--form-border:#bfd5dd;--form-focus:#159da3;--form-surface:#fff;--form-radius:16px;--form-gap:16px}
:where(.app-view,.admin-portal,.auth-view,body:has(main>form)) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){
 appearance:auto;min-height:48px;max-width:100%;width:100%;padding:11px 15px;border:1.5px solid var(--form-border);border-radius:var(--form-radius);background:var(--form-surface);color:var(--ink,#173f4a);font:inherit;line-height:1.65;box-shadow:0 2px 5px rgba(20,75,90,.025);transition:border-color .15s,box-shadow .15s}
:where(.app-view,.admin-portal,.auth-view,body:has(main>form)) textarea{min-height:100px;resize:vertical}
:where(.app-view,.admin-portal,.auth-view,body:has(main>form)) :is(input,select,textarea):focus-visible{outline:2px solid var(--form-focus);outline-offset:1px;border-color:var(--form-focus);box-shadow:0 0 0 4px rgba(18,156,161,.10)}
:where(.app-view,.admin-portal,.auth-view,body:has(main>form)) :is(input,textarea)::placeholder{color:#748b98;opacity:1}
:where(.app-view,.admin-portal,.auth-view,body:has(main>form)) :is(input,select,textarea):disabled{background:#eff3f4;color:#667f87;cursor:not-allowed}
:where(.app-view,.admin-portal,.auth-view,body:has(main>form)) :is(input,select,textarea)[aria-invalid=true]{border-color:#b83242}
:where(.app-view,.admin-portal,.auth-view) :is(.form-grid,.form-stack,.settings-grid,.fields,.report-filter,.supervisor-filters){gap:var(--form-gap);align-items:start}
:where(.app-view,.admin-portal,.auth-view) label{min-width:0;line-height:1.7}
:where(.app-view,.admin-portal,.auth-view) label>small{display:block;margin-top:5px;font-size:12px;color:var(--muted,#607c8d);line-height:1.7}
:where(.app-view,.admin-portal,.auth-view) :is(.form-actions,.dialog-actions,.modal-actions){gap:12px;align-items:center;flex-wrap:wrap;margin-block:18px 5px}
@media(max-width:720px){:where(.app-view,.admin-portal,.auth-view) :is(.form-grid,.settings-grid,.fields,.supervisor-filters){grid-template-columns:minmax(0,1fr)}:where(.app-view,.admin-portal,.auth-view) :is(.card,.form-grid,.modal-card){min-width:0}}

/* Live, accessible password guidance for account registration and administrator resets. */
.password-requirements{background:rgba(15,145,147,.055);border:1px solid #d4e8e9;border-radius:15px;padding:12px 16px;line-height:1.85;font-size:12px;color:var(--ink,#234451)}
.password-requirements strong{display:block;margin-bottom:4px;font-size:12px}
.password-requirements ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:2px}
.password-requirements li{display:flex;gap:8px;align-items:flex-start;color:var(--muted,#647b85)}
.password-requirements li::before{content:'○';color:#a17b33;font-weight:bold;font-size:15px}
.password-requirements li.valid{color:#147d5f}
.password-requirements li.valid::before{content:'✓';color:#147d5f}
.name-input-note{display:block;font-size:12px;line-height:1.7;color:var(--muted,#647b85);margin-top:-8px}
#userPasswordDialog .dialog-body{max-height:90dvh;overflow-y:auto}
#userPasswordDialog .dialog-body input{width:100%;direction:ltr;text-align:left}
