/* =============================================================================
   Rejee — form controls
   Used by every authenticated page.
   ============================================================================= */

.input{margin-bottom:16px;}

.input label{
    display:block;
    font-family:inherit;
    font-size:10.5px;
    font-weight:600;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--grey);
    margin-bottom:6px;
}

.input input[type=text],
.input input[type=email],
.input input[type=password]{
    display:block;
    width:100%;
    border:1px solid var(--edge-2);
    border-radius:3px;
    padding:11px 13px;
    font:inherit;
    font-size:15px;
    color:var(--navy-d);
    background:var(--page);
}

.input input::placeholder{color:var(--grey-2);}

.input input:focus{
    outline:none;
    border-color:var(--sig);
    box-shadow:0 0 0 3px rgba(3,105,161,0.12);
}

/* Server-side validation errors from FormHelper */
.input.error input{border-color:#A32D2D;}
.error-message{
    font-size:13px;
    color:#A32D2D;
    margin-top:5px;
}

/* Flash messages */
.message{
    border-radius:3px;
    padding:11px 14px;
    font-size:14px;
    line-height:1.5;
    margin-bottom:20px;
}
.message.success{background:#E1F5EE;border:1px solid #5DCAA5;color:#04342C;}
.message.error{background:#FCEBEB;border:1px solid #F09595;color:#501313;}


/* CONSENT AND PASSWORD RULES */
.consent{margin:22px 0 8px;padding:18px 20px;background:var(--tint);border:1px solid var(--edge-2);border-radius:4px;}
.consent-head{font-size:14px;font-weight:600;margin-bottom:10px;}
.consent ul{margin:0 0 16px;padding-left:18px;font-size:14px;line-height:1.65;color:var(--grey);}
.consent ul li{margin-bottom:7px;}
.consent .checkbox label{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.5;
    text-transform:none;letter-spacing:0;font-family:inherit;color:var(--navy-d);cursor:pointer;}
.consent .checkbox input{margin-top:3px;flex:none;}
.decline-link{color:var(--grey);text-decoration:none;border-bottom:1px solid var(--edge-2);
    text-transform:none;letter-spacing:0;font-family:inherit;font-size:13.5px;}
.decline-link:hover{color:var(--navy-d);}

/* NOTICE CARD — expired links, declined invitations, confirmations */
.notice{max-width:440px;margin:0 auto;background:var(--page);border:1px solid var(--edge-2);
    border-radius:4px;box-shadow:var(--lift);padding:34px 36px;}
.notice-ic{width:42px;height:42px;border-radius:50%;background:var(--tint);
    border:1px solid var(--edge);display:flex;align-items:center;justify-content:center;
    color:var(--grey);margin-bottom:20px;}
.notice-ic.ok{background:#E1F5EE;border-color:#9FE1CB;color:#0F6E56;}
.notice h1{font-size:25px;line-height:1.2;margin-bottom:10px;}
.notice p{font-size:14.5px;line-height:1.65;color:var(--grey);margin-bottom:12px;}
.notice-foot{margin-top:8px;padding-top:16px;border-top:1px solid var(--edge);font-size:13.5px;}
.notice-foot a{color:var(--sig);text-decoration:none;border-bottom:1px solid rgba(3,105,161,.35);}
.notice-foot.mono{font-family:inherit;font-size:10.5px;font-weight:600;letter-spacing:0.04em;
    text-transform:uppercase;color:var(--grey-2);}
.notice-page{min-height:calc(100vh - 70px);display:flex;align-items:center;padding:40px 0;}
