/* pages.css — page-specific */

/* ===== Login ===== */
.login-page{
  min-height:100vh;display:grid;place-items:center;
  background:
    radial-gradient(ellipse at top left, rgba(61,220,151,.18), transparent 55%),
    radial-gradient(ellipse at bottom right, rgba(74,158,255,.15), transparent 55%),
    linear-gradient(180deg, #1a2332 0%, #2a3a52 100%);
  padding:20px;
  position:relative;
  overflow:hidden;
}
.login-page::before{
  content:'';
  position:absolute; inset:0;
  background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40"><circle cx="1" cy="1" r="1" fill="rgba(255,255,255,0.06)"/></svg>');
  pointer-events:none;
}
.login-card{
  width:420px;max-width:100%;
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(20px);
  border-radius:var(--radius-lg);
  box-shadow:0 30px 80px rgba(0,0,0,.3), 0 0 0 1px rgba(255,255,255,.1);
  padding:44px 40px;
  position:relative;
  z-index:1;
}
.login-card h1{text-align:center;font-size:20px;font-weight:700;margin-bottom:6px;letter-spacing:-0.3px}
.login-card .sub{text-align:center;color:var(--text-secondary);font-size:12px;margin-bottom:30px}
.login-card .brand{
  display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:var(--space-5);
}
.login-card .brand .logo{
  width:44px;height:44px;border-radius:12px;
  background:var(--grad-primary);
  display:grid;place-items:center;
  color:#0a1f17;font-weight:800;font-size:16px;
  box-shadow:0 8px 20px rgba(61,220,151,.4);
}
.login-card .remember{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);margin-bottom:20px}
.login-card .company{text-align:center;color:var(--text-muted);font-size:11px;margin-top:22px;letter-spacing:.3px}

/* ===== Unit table ===== */
.unit-table .val{font-variant-numeric:tabular-nums}

/* Auto save indicator */
.autosave{
  display:flex;align-items:center;gap:8px;
  font-size:11px;color:var(--text-secondary);
  padding:8px 14px;
  background:rgba(61,220,151,.08);
  border:1px solid rgba(61,220,151,.18);
  border-radius:var(--radius-pill);
  font-weight:600;
}
.autosave .dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--accent-good);
  box-shadow:0 0 10px rgba(61,220,151,.6);
  animation:pulse 1.8s ease infinite;
}
@keyframes pulse{0%,100%{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}

/* Permission denied */
.denied{padding:80px 20px;text-align:center}
.denied svg{width:72px;height:72px;color:var(--accent-bad);margin-bottom:16px;opacity:.8}

/* Success page */
.success-wrap{
  text-align:center;
  padding:60px 24px 40px;
}
.success-wrap .icon-big{
  width:96px;height:96px;margin:0 auto 20px;
  border-radius:50%;
  background:var(--grad-accent-soft);
  display:grid;place-items:center;
  color:var(--accent-good-dark);
  border:2px solid rgba(61,220,151,.3);
}
.success-wrap h2{font-size:24px;font-weight:700;margin:16px 0 6px;letter-spacing:-0.4px}
.success-wrap .sub{color:var(--text-secondary);font-size:13px;font-family:'Inter','Noto Sans JP',sans-serif}
.success-wrap .actions{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:32px}
.success-wrap .actions .btn{width:320px;justify-content:center}
