/* forms.css: inputs, fields, labels, filters, auth form controls. Split from the original single-file build; rule order inside each file is unchanged. */
.search{width:100%;padding:10px 11px;background:#f8edcf;border:1px solid var(--line);margin:14px 0 4px}
.chk{display:flex;gap:6px;align-items:center;color:#ead7ad;font-size:12px;letter-spacing:.3px;text-transform:none;font-weight:normal}
.chk input{width:auto}
.filter{width:100%;padding:8px 10px;background:#f8edcf;border:1px solid var(--line);margin:0 0 8px;font-size:13px}
.title{width:100%;border:0;border-bottom:1px solid #b79a68;background:transparent;text-align:center;font-size:clamp(27px,4vw,43px);line-height:1.1;padding:12px 0 15px;color:#302216;font-weight:bold;font-variant:small-caps;outline:none}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field.full{grid-column:1/-1}
label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#765b35;font-weight:bold}
input,select,textarea{color:#302216}
.field input,.field select,.field textarea{width:100%;background:#fff8e7a8;border:1px solid #c8ae7d;padding:10px 11px;outline-color:#9b7136;border-radius:0}
.field textarea{min-height:90px;resize:vertical;line-height:1.5}
.field textarea.large{min-height:290px}
.hint{font-size:12px;color:#6d5a3f;line-height:1.5;margin:10px 0 0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.auth-sub{text-align:center;color:#75634e;line-height:1.5;margin:0 0 24px}
.auth-card label{display:block;font-size:14px;margin:14px 0 6px}
.auth-card input{width:100%;padding:12px;border:1px solid #b99a66;background:#fffaf0;color:#2d2118;font:16px Arial,sans-serif;border-radius:2px}
.auth-primary{width:100%;margin-top:20px;padding:12px;border:1px solid #211912;background:#211912;color:#f4e7c9;font-size:15px;cursor:pointer}
.auth-secondary{width:100%;margin-top:10px;padding:10px;border:1px solid #b99a66;background:transparent;color:#2d2118;cursor:pointer}
.auth-message{min-height:20px;margin-top:12px;color:#8b3028;font:14px/1.4 Arial,sans-serif;overflow-wrap:anywhere}
.auth-privacy{font:12px/1.5 Arial,sans-serif;color:#75634e;margin-top:18px;text-align:center}
.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font:13px Arial,sans-serif}
.auth-links button{border:0;background:none;color:#755021;text-decoration:underline;cursor:pointer;padding:4px}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:68px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:#755021;font:600 13px Arial,sans-serif;padding:8px;cursor:pointer;text-decoration:underline}
.auth-primary:disabled{opacity:.6;cursor:wait}
.auth-primary:hover:not(:disabled){background:#49311d}
.auth-links button[hidden]{display:none}
.search,.filter{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-12%20-12%2024%2024%22%3E%3Cpath%20d%3D%22M0-10Q1.5-1.5%2010%200Q1.5%201.5%200%2010Q-1.5%201.5-10%200Q-1.5-1.5%200-10z%22%20fill%3D%22%239b7136%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:11px;background-position:calc(100% - 9px) 50%}
.filter{appearance:none;-webkit-appearance:none;padding-right:28px}
.title{background-image:linear-gradient(90deg,transparent,#9b713655,transparent);background-repeat:no-repeat;background-size:100% 1px;background-position:0 100%}
.field label:before{content:"◆";font-size:7px;color:#b08a4a;margin-right:7px;vertical-align:2px}
.field textarea{line-height:24px;background-image:repeating-linear-gradient(to bottom,transparent 0 23px,#a8895a38 23px 24px);background-attachment:local;background-position:0 10px;background-origin:padding-box;border-left:3px double #b08a4a;box-shadow:inset 0 1px 3px #7c58231f}
.field input,.field select{border-bottom:2px solid #b99a66;box-shadow:inset 0 1px 3px #7c58231f}
.field textarea:focus,.field input:focus,.field select:focus{background-color:#fffaf0;border-color:#9b7136}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-12%20-12%2024%2024%22%3E%3Cpath%20d%3D%22M0-10Q1.5-1.5%2010%200Q1.5%201.5%200%2010Q-1.5%201.5-10%200Q-1.5-1.5%200-10z%22%20fill%3D%22%239b7136%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:11px;background-position:calc(100% - 10px) 50%;padding-right:30px}
.auth-card input:focus{border-color:#9b7136;box-shadow:0 0 0 3px #9b713633;outline:none}
.auth-primary{background-image:linear-gradient(110deg,transparent 35%,#ffffff22 50%,transparent 65%);background-size:200% 100%;background-position:-200% 0;box-shadow:inset 0 0 0 3px #211912,inset 0 0 0 4px #9b713699;letter-spacing:1px;text-transform:uppercase;font-size:13px}
.auth-primary:hover:not(:disabled){animation:shimmer 1.1s ease}
.auth-secondary:before{content:"✉ "}
.auth-privacy{border-top:1px dashed #b99a66;padding-top:14px}
.auth-google{width:100%;margin-top:20px;padding:11px 12px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #b99a66;background:#fffaf0;color:#2d2118;font:600 14px Arial,sans-serif;cursor:pointer;box-shadow:inset 0 0 0 3px #fffaf0,inset 0 0 0 4px #9b713655}
.auth-google:hover:not(:disabled){background:#fff3d6}
.auth-google:disabled{opacity:.6;cursor:wait}
.auth-or{display:flex;align-items:center;gap:12px;margin:16px 0 0;color:#8a7555;font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:2px}
.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#b99a66)}
.auth-or:after{transform:scaleX(-1)}
.modal-card{background:#f4e7c9;border:1px solid #b99a66;box-shadow:0 20px 70px #000a;padding:22px;width:min(94vw,440px);max-height:90vh;overflow:auto;color:#2d2118;font:14px Georgia,serif;font-style:normal;letter-spacing:0}
.modal-card.wide{width:min(96vw,860px)}
.modal-card h2{margin:0 0 8px;font-size:20px}
.modal-card h3{margin:14px 0 6px;font-size:15px}
.modal-card p{font-size:13px;line-height:1.5;margin:0 0 10px}
.modal-card input,.modal-card select{width:100%;padding:10px;border:1px solid #b99a66;background:#fffaf0;margin:6px 0;font:15px Arial,sans-serif}
.pm-err,.sh-msg{color:#8b3028;font:13px Arial,sans-serif;min-height:18px}
.pm-actions{display:flex;gap:8px;margin-top:8px}
.pm-actions button{flex:1;padding:10px}
.cf{border-top:1px solid #b99a66;padding:10px 0}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cf-side{font:12px/1.4 Arial,sans-serif;background:#fffaf0;border:1px solid #c8ae7d;padding:8px;white-space:pre-wrap;overflow-wrap:anywhere}
.cf-side b{display:block;margin-bottom:4px}
.cf-side i{display:block;color:#765b35;margin-top:6px;font-weight:bold}
.cf-btns{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.cf-btns button{padding:9px 12px}
.sh-row{display:flex;gap:6px;align-items:center;font:13px Arial,sans-serif;border-top:1px solid #d8c18f;padding:6px 0}
.sh-row span{flex:1}
.sh-row button{padding:5px 8px}
