:root { --izi-green:#087a50; --izi-green-dark:#05643f; --izi-green-soft:#e8f6ef; --izi-navy:#173b57; --izi-yellow:#e5a11a; --izi-text:#17201d; --izi-muted:#68736f; --izi-line:#dfe7e3; --izi-canvas:#f3f6f5; }
html, body { margin: 0; min-height: 100%; color: var(--izi-text); background: var(--izi-canvas); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { min-height: 100vh; }
* { box-sizing: border-box; }
button, input { font: inherit; }
a { color: var(--izi-green); }

.izidose-auth-shell { min-height: 100vh; padding: 32px; display: grid; grid-template-columns: minmax(300px, .9fr) minmax(420px, 560px); gap: 40px; align-items: center; justify-content: center; overflow: hidden; position: relative; background: radial-gradient(circle at 15% 15%, rgba(8,122,80,.18), transparent 30%), radial-gradient(circle at 90% 85%, rgba(23,59,87,.15), transparent 31%), #eef4f1; }
.izidose-auth-shell::before, .izidose-auth-shell::after { content:""; position:absolute; border-radius:999px; pointer-events:none; }
.izidose-auth-shell::before { width:330px; height:330px; left:-160px; top:-150px; background:rgba(8,122,80,.11); }
.izidose-auth-shell::after { width:260px; height:260px; right:-120px; bottom:-100px; background:rgba(23,59,87,.1); }
.izidose-auth-brand { max-width: 480px; padding: 40px; position: relative; z-index: 1; }
.izidose-auth-icon { width: 82px; height: 82px; display:block; border-radius:25px; box-shadow:0 14px 34px rgba(23,59,87,.16); }
.izidose-auth-logo { width: 190px; height:auto; display:block; margin-top:25px; }
.izidose-auth-brand h1 { margin: 27px 0 10px; max-width: 420px; color: var(--izi-navy); font-size: clamp(35px, 5vw, 57px); line-height: 1.02; letter-spacing: -.055em; }
.izidose-auth-brand p { max-width: 430px; margin:0; color:var(--izi-muted); font-size:17px; line-height:1.55; }

.izidose-auth-card { width:100%; padding:34px; position:relative; z-index:2; background:rgba(255,255,255,.97); border:1px solid rgba(255,255,255,.86); border-radius:25px; box-shadow:0 24px 70px rgba(23,59,87,.14); }
.izidose-auth-eyebrow { margin:0 0 7px; color:var(--izi-green); font-size:10px; font-weight:850; letter-spacing:.15em; }
.izidose-auth-card h2 { margin:0; font-size:29px; line-height:1.1; letter-spacing:-.04em; }
.izidose-auth-subtitle { margin:7px 0 20px; color:var(--izi-muted); font-size:13px; }
.izidose-auth-card form > label { display:grid; gap:6px; margin-top:13px; color:#46554f; font-size:11px; font-weight:750; }
.izidose-auth-card input[type="text"], .izidose-auth-card input[type="tel"], .izidose-auth-card input[type="email"], .izidose-auth-card input[type="password"] { width:100%; height:47px; padding:0 13px; border:1px solid var(--izi-line); border-radius:12px; outline:0; color:var(--izi-text); background:#fbfdfc; font-size:13px; }
.izidose-auth-card input:focus { border-color:var(--izi-green); box-shadow:0 0 0 3px var(--izi-green-soft); }
.izidose-password { position:relative; display:block; }
.izidose-password input { padding-right:45px !important; }
.izidose-password button { position:absolute; right:5px; top:5px; width:37px; height:37px; border:0; background:transparent; color:#83908b; cursor:pointer; }
.izidose-login-options { margin-top:13px; display:flex; justify-content:space-between; align-items:center; gap:15px; color:var(--izi-muted); font-size:11px; }
.izidose-login-options label { display:flex; align-items:center; gap:6px; }
.izidose-login-options input { accent-color:var(--izi-green); }
.izidose-login-options a { font-weight:700; text-decoration:none; }
.izidose-auth-submit { width:100%; height:48px; margin-top:19px; border:0; border-radius:12px; color:white; background:var(--izi-green); box-shadow:0 10px 24px rgba(8,122,80,.2); font-size:13px; font-weight:800; cursor:pointer; }
.izidose-auth-submit:hover { background:var(--izi-green-dark); }
.izidose-auth-switch { margin:20px 0 0; padding-top:18px; border-top:1px solid #edf2ef; color:var(--izi-muted); text-align:center; font-size:12px; }
.izidose-auth-switch a { font-weight:800; text-decoration:none; }
.izidose-auth-notice { margin-bottom:16px; padding:12px 14px; border-radius:11px; font-size:12px; font-weight:650; }
.izidose-auth-notice.info { color:var(--izi-navy); background:#edf5f8; border:1px solid #d4e4eb; }
.izidose-auth-notice.error { color:#a33d2d; background:#fff4f1; border:1px solid #efd1ca; }
.izidose-auth-notice.success { color:var(--izi-green-dark); background:var(--izi-green-soft); border:1px solid #c9e6d7; }

.izidose-app-top { height:76px; padding:0 34px; display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:100; background:rgba(255,255,255,.96); border-bottom:1px solid var(--izi-line); box-shadow:0 5px 20px rgba(23,59,87,.035); backdrop-filter:blur(16px); }
.izidose-app-top img { width:140px; height:auto; display:block; }
.izidose-app-top > div { display:flex; align-items:center; gap:14px; color:var(--izi-muted); font-size:12px; }
.izidose-app-top > div span { font-weight:700; }
.izidose-app-top > div a { padding:8px 11px; border-radius:9px; color:var(--izi-green-dark); background:var(--izi-green-soft); font-size:10px; font-weight:800; text-decoration:none; }
.izidose-page-panel .izidose-wrap { min-height:calc(100vh - 76px); }
.izidose-page-panel .izidose-header { display:none; }
.izidose-page-panel .izidose-toolbar { padding-top:36px; }
.izidose-page-panel .button-link { border:0; padding:0; background:transparent; cursor:pointer; }
.izidose-page-panel .panel-notice { max-width:1172px; margin:20px auto -8px; }

@media (max-width: 900px) {
  .izidose-auth-shell { grid-template-columns:1fr; padding:28px 20px; }
  .izidose-auth-brand { padding:15px 10px 0; text-align:center; margin:0 auto; }
  .izidose-auth-icon, .izidose-auth-logo { margin-left:auto; margin-right:auto; }
  .izidose-auth-brand h1 { margin-top:19px; font-size:38px; }
  .izidose-auth-brand p { font-size:14px; }
  .izidose-auth-card { max-width:560px; margin:0 auto; }
}

@media (max-width: 520px) {
  .izidose-auth-shell { padding:18px 14px 28px; gap:20px; align-items:start; }
  .izidose-auth-brand { padding-top:6px; }
  .izidose-auth-icon { width:62px; height:62px; border-radius:19px; }
  .izidose-auth-logo { width:145px; margin-top:13px; }
  .izidose-auth-brand h1 { margin:13px 0 5px; font-size:28px; }
  .izidose-auth-brand p { font-size:12px; }
  .izidose-auth-card { padding:24px 19px; border-radius:20px; }
  .izidose-auth-card h2 { font-size:25px; }
  .izidose-login-options { align-items:flex-start; }
  .izidose-app-top { height:66px; padding:0 18px; }
  .izidose-app-top img { width:122px; }
  .izidose-app-top > div span { display:none; }
}

