input, select, textarea { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
input, textarea { padding: 10px 12px; }
select { padding: 8px 34px 8px 11px; }
textarea { resize: vertical; line-height: 1.45; }
input::placeholder, textarea::placeholder { color: color-mix(in srgb, var(--muted), transparent 25%); }
.field { display: grid; gap: 6px; min-width: 0; color: var(--ink); }
.field > span { font-size: .72rem; font-weight: 800; }
.form-grid { display: grid; grid-template-columns: 1fr; gap: 13px; }
.form-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.form-hint { margin-top: 12px; font-size: .7rem; }
.form-error { min-height: 21px; margin-top: 8px; color: var(--tomato-dark); font-size: .75rem; font-weight: 700; }
.form-success { color: var(--olive); font-size: .75rem; font-weight: 700; }
.form-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }.form-row.between{justify-content:space-between}
.check-field { display: flex; align-items: flex-start; gap: 8px; font-size: .72rem; color: var(--muted); }.check-field input{width:18px;height:18px;min-height:18px;flex:0 0 auto}.check-field span{line-height:1.35}
.filter-form { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1; overflow-x: auto; padding: 2px; }
.filter-form input, .filter-form select { min-width: 155px; min-height: 42px; font-size: .76rem; }
.filter-form .button { min-height: 42px; white-space: nowrap; }
.search-control { position: relative; min-width: 190px; flex: 1; }.search-control .icon{position:absolute;top:11px;left:11px;width:18px;color:var(--muted)}.search-control input{padding-left:36px}
.inline-form { display: flex; gap: 8px; }.inline-form input{min-width:0}.inline-form .button{flex:0 0 auto}
.password-input { position: relative; }.password-input input{padding-right:75px}.password-input button{position:absolute;top:5px;right:5px;min-height:34px;padding:5px 8px;border:0;background:transparent;color:var(--tomato-dark);font-size:.68rem;font-weight:800}
.inline-alert { margin-bottom: 14px; padding: 11px; border-radius: 9px; color: #77590c; background: var(--warning-soft); font-size: .72rem; }
.auth-shell { min-height: 100vh; display: grid; background: var(--surface); }
.auth-brand { position: relative; overflow: hidden; display: none; padding: clamp(35px,5vw,80px); color: #fff; background: var(--charcoal); }
.auth-brand::before { content:'';position:absolute;width:500px;height:500px;right:-200px;bottom:-170px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}
.brand-lockup { display:flex;align-items:center;gap:12px;position:relative;z-index:1}.brand-lockup>div strong,.brand-lockup>div span{display:block}.brand-lockup>div strong{font-family:var(--font-display);font-size:1.25rem}.brand-lockup>div span{font-size:.68rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.13em}
.auth-promise { position: relative; z-index:1; max-width:630px;margin:auto 0}.auth-promise h1{max-width:600px;color:#fff;font-family:var(--font-display);font-size:clamp(2.5rem,5vw,5rem);font-weight:400;line-height:1}.auth-promise p{max-width:470px;margin-top:24px;color:rgba(255,255,255,.6);font-size:1rem}.auth-quote{position:relative;z-index:1;display:flex;gap:12px;align-items:flex-start;max-width:420px}.auth-quote>span{font-family:var(--font-display);font-size:2.5rem;color:var(--tomato)}.auth-quote p{padding-top:9px;color:rgba(255,255,255,.75);font-size:.8rem}
.auth-panel { width:100%;display:grid;place-items:center;align-content:center;min-width:0;padding:28px 18px;background:var(--cream)}
.auth-card { width:min(430px,calc(100vw - 36px));min-width:0;padding:25px 20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.auth-card h2{font-size:2rem}.auth-subtitle{margin:8px 0 22px;font-size:.8rem}.auth-form{display:grid;gap:14px;min-width:0}.auth-form .form-error{margin:0}.auth-switch{margin-top:20px;text-align:center;font-size:.78rem}.auth-switch a{font-weight:800}.auth-legal{width:min(400px,calc(100vw - 36px));margin-top:18px;text-align:center;font-size:.64rem}
