
*{box-sizing:border-box;margin:0;padding:0}
body.user-page{font-family:var(--font-body);color:var(--text-primary);min-height:100vh;background:var(--bg-canvas);line-height:1.65}
.auth-wrapper{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.auth-visual{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:0;background:#0b0f0b;min-height:100vh}
.auth-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.06) brightness(.82)}
.auth-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,10,.25),rgba(10,14,10,.05) 40%,rgba(10,14,10,.9))}
.auth-visual-content{position:relative;z-index:1;padding:48px;color:#ece7d8}
.auth-visual-content h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.02;letter-spacing:-.02em;margin:14px 0 12px}
.auth-visual-content h1 em{font-style:italic;color:#d8b566}
.auth-visual-content p{color:#c9c4b2;max-width:46ch;font-size:.95rem}
.auth-visual-badges{display:flex;gap:0;margin-top:22px;border-top:1px solid rgba(236,231,216,.3);border-bottom:1px solid rgba(236,231,216,.3)}
.auth-visual-badges span{padding:10px 16px 10px 0;margin-right:16px;border-right:1px solid rgba(236,231,216,.3);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}
.auth-form-side{display:flex;align-items:center;justify-content:center;padding:44px 28px;background:var(--bg-canvas)}
.auth-card{width:100%;max-width:440px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-top:3px solid var(--color-wheat);padding:38px 34px}
.brand-badge{display:inline-flex;gap:8px;align-items:center;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:18px;text-decoration:none}
.auth-card h2{font-family:var(--font-display);font-size:2rem;font-weight:560;margin-bottom:4px}
.auth-card .subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:24px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:7px}
.input-wrap{position:relative;display:flex;align-items:center}
.input-wrap input{width:100%;background:var(--bg-deep);border:1px solid var(--border-subtle);padding:13px 14px 13px 44px;color:var(--text-primary);font-size:.93rem;font-family:inherit;outline:none;border-radius:0}
.input-wrap input:focus{border-color:var(--text-main)}
.input-wrap .field-icon{position:absolute;left:15px;color:var(--text-muted);font-size:.85rem}
.btn-primary{width:100%;background:var(--color-wheat);color:#171207;border:1px solid var(--color-wheat);padding:14px;font-weight:800;cursor:pointer;display:flex;gap:10px;align-items:center;justify-content:center;margin-top:10px;text-decoration:none;font-size:.95rem}
.btn-primary:hover{background:var(--color-wheat-hover)}
.auth-footer{margin-top:22px;font-size:.86rem;color:var(--text-secondary);text-align:left;border-top:1px solid var(--border-subtle);padding-top:18px}
.auth-footer a{color:var(--text-main);font-weight:700}
.alert-box{padding:12px 14px;font-size:.85rem;margin-bottom:16px;display:none;border:1px solid var(--border-subtle)}
.alert-danger{background:var(--status-danger-bg);border-left:3px solid var(--status-danger);color:var(--text-main)}
.alert-success{background:var(--status-healthy-bg);border-left:3px solid var(--status-healthy);color:var(--text-main)}
.dashboard-layout{max-width:1180px;margin:0 auto;padding:26px 28px 64px}
.dashboard-topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid var(--border-subtle);border-top:3px solid var(--color-wheat);background:var(--bg-surface);padding:18px 22px;margin-bottom:24px;flex-wrap:wrap}
.topbar-left{display:flex;gap:14px;align-items:center}
.topbar-logo img{height:42px;width:42px;object-fit:cover;filter:grayscale(.4)}
.topbar-title h1{font-family:var(--font-h);font-size:1.3rem;font-weight:560}
.topbar-title p{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.topbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.user-badge{display:flex;gap:10px;align-items:center;border:1px solid var(--border-subtle);padding:6px 14px 6px 6px;font-size:.85rem;font-weight:700}
.user-avatar{width:32px;height:32px;background:var(--text-main);color:var(--bg-deep);display:grid;place-items:center;font-weight:800}
.btn-sm{padding:9px 15px;font-size:.83rem;font-weight:700;text-decoration:none;cursor:pointer;border:1px solid var(--border-subtle);background:transparent;color:var(--text-main);display:inline-flex;gap:7px;align-items:center}
.btn-outline:hover{border-color:var(--text-main)}
.btn-danger-outline{border-color:var(--status-danger-border);color:var(--status-danger)}
.bento-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border-subtle);margin-bottom:24px;background:var(--bg-surface)}
.stat-card{padding:22px;border-right:1px solid var(--border-subtle);display:flex;gap:16px;align-items:center}
.stat-card:last-child{border-right:0}
.stat-icon{width:46px;height:46px;border:1px solid var(--border-subtle);display:grid;place-items:center;flex-shrink:0}
.stat-info .stat-val{font-family:var(--font-h);font-size:1.9rem}
.stat-info .stat-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.history-section{border:1px solid var(--border-subtle);background:var(--bg-surface);padding:28px}
.section-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center}
.section-header h2{font-family:var(--font-h);font-size:1.4rem;font-weight:560}
.search-input{background:var(--bg-deep);border:1px solid var(--border-subtle);padding:11px 15px;color:var(--text-primary);width:260px;font-family:inherit;font-size:.88rem;outline:none;border-radius:0}
.search-input:focus{border-color:var(--text-main)}
.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:0;border:1px solid var(--border-subtle)}
.scan-card{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:20px;display:flex;flex-direction:column;gap:12px;justify-content:space-between;background:var(--bg-surface)}
.crop-badge{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border-subtle);padding:4px 10px;color:var(--text-muted)}
.scan-date{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}
.scan-disease-title{font-family:var(--font-h);font-size:1.2rem}
.conf-bar-wrap{margin:10px 0 2px}
.conf-bar-label{display:flex;justify-content:space-between;font-size:.76rem;color:var(--text-muted);margin-bottom:5px}
.conf-bar-bg{height:3px;background:var(--border-subtle)}
.conf-bar-fill{height:100%;background:var(--color-wheat)}
.scan-card-actions{display:flex;gap:8px;border-top:1px solid var(--border-subtle);padding-top:14px}
.btn-view-advice{flex:1;background:var(--text-main);color:var(--bg-deep);border:1px solid var(--text-main);padding:9px;font-size:.82rem;font-weight:800;cursor:pointer}
.btn-delete-scan{background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);padding:9px 12px;cursor:pointer}
.empty-state{padding:56px 20px;text-align:center;color:var(--text-secondary);grid-column:1/-1}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;justify-content:center;align-items:center;z-index:9999;padding:18px}
.modal-content{background:var(--bg-surface);border:1px solid var(--border-strong);border-top:3px solid var(--color-wheat);width:100%;max-width:720px;max-height:90vh;overflow-y:auto;padding:32px;position:relative}
.modal-close-btn{position:absolute;top:14px;right:14px;background:transparent;border:1px solid var(--border-subtle);color:var(--text-main);width:36px;height:36px;cursor:pointer}
@media(max-width:960px){.auth-wrapper{grid-template-columns:1fr}.auth-visual{min-height:320px}.bento-stats{grid-template-columns:1fr}.stat-card{border-right:0;border-bottom:1px solid var(--border-subtle)}.dashboard-topbar{flex-direction:column;align-items:stretch}.search-input{width:100%}.history-section{padding:20px 14px}}
@media(max-width:640px){
  html,body{overflow-x:clip}
  input,select,textarea,.search-input{font-size:16px!important}
  .dashboard-layout{padding:16px 12px 48px}
  .dashboard-topbar{padding:16px}
  .topbar-right .btn-sm{min-height:44px}
  .history-grid{grid-template-columns:1fr}
  .modal-content{margin:0;max-height:94vh}
  .user-badge{max-width:100%;overflow:hidden}
  .user-badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media print{.dashboard-topbar,.history-filters,.modal-close-btn,.btn-print{display:none!important}}
