    @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap');
    * { margin: 0; padding: 0; box-sizing: border-box; }
    body { 
      font-family: 'JetBrains Mono', 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', monospace;
      background: #0a0e14; 
      color: #00ff41; 
      min-height: 100vh; 
      display: flex; 
      flex-direction: column; 
      align-items: center; 
      justify-content: center;
      overflow: hidden;
    }
    
    /* Matrix rain background */
    .matrix-bg {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      opacity: 0.05;
      z-index: 0;
    }
    
    /* Scanline effect */
    body::before {
      content: '';
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: repeating-linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.15),
        rgba(0, 0, 0, 0.15) 1px,
        transparent 1px,
        transparent 2px
      );
      pointer-events: none;
      z-index: 1000;
    }
    
    .terminal-container {
      width: 100%;
      max-width: 650px;
      padding: 20px;
      z-index: 10;
    }
    
    .terminal {
      background: linear-gradient(180deg, #1a1f2e 0%, #0d1117 100%);
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 
        0 0 0 1px rgba(0, 255, 65, 0.1),
        0 25px 50px -12px rgba(0, 0, 0, 0.8),
        0 0 100px rgba(0, 255, 65, 0.1);
      border: 1px solid rgba(0, 255, 65, 0.2);
    }
    
    .terminal-header {
      background: linear-gradient(180deg, #2d333b 0%, #22272e 100%);
      padding: 12px 16px;
      display: flex;
      align-items: center;
      gap: 8px;
      border-bottom: 1px solid rgba(0, 255, 65, 0.1);
    }
    
    .terminal-btn {
      width: 12px;
      height: 12px;
      border-radius: 50%;
    }
    .terminal-btn.red { background: #ff5f57; }
    .terminal-btn.yellow { background: #febc2e; }
    .terminal-btn.green { background: #28c840; }
    
    .terminal-title {
      flex: 1;
      text-align: center;
      font-size: 12px;
      color: #8b949e;
      letter-spacing: 1px;
    }
    
    .terminal-body {
      padding: 25px;
      min-height: 400px;
    }
    
    .boot-sequence {
      font-size: 13px;
      line-height: 1.8;
      margin-bottom: 20px;
    }
    
    .boot-line {
      opacity: 0;
      transform: translateY(5px);
      animation: bootFadeIn 0.3s forwards;
    }
    
    @keyframes bootFadeIn {
      to { opacity: 1; transform: translateY(0); }
    }
    
    .boot-line .success { color: #28c840; }
    .boot-line .warning { color: #febc2e; }
    .boot-line .error { color: #ff5f57; }
    .boot-line .info { color: #58a6ff; }
    .boot-line .dim { color: #6e7681; }
    
    .prompt {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 15px;
    }
    
    .prompt-symbol {
      color: #00ff41;
      font-weight: bold;
    }
    
    .prompt-path {
      color: #58a6ff;
    }
    
    .cursor {
      display: inline-block;
      width: 10px;
      height: 18px;
      background: #00ff41;
      animation: blink 1s infinite;
      vertical-align: middle;
      margin-left: 2px;
    }
    
    @keyframes blink {
      0%, 50% { opacity: 1; }
      51%, 100% { opacity: 0; }
    }
    
    .ascii-art {
      color: #00ff41;
      font-size: 10px;
      line-height: 1.2;
      margin: 15px 0;
      white-space: pre;
      text-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
    }
    
    .login-section {
      margin-top: 20px;
      display: none;
    }
    
    .login-section.active {
      display: block;
    }
    
    .form-row {
      display: flex;
      align-items: center;
      margin-bottom: 12px;
    }
    
    .form-label {
      color: #8b949e;
      min-width: 120px;
      font-size: 13px;
    }
    
    .terminal-input {
      flex: 1;
      background: transparent;
      border: none;
      border-bottom: 1px solid rgba(0, 255, 65, 0.3);
      color: #00ff41;
      font-family: inherit;
      font-size: 14px;
      padding: 8px 0;
      outline: none;
      caret-color: #00ff41;
    }
    
    .terminal-input:focus {
      border-bottom-color: #00ff41;
    }
    
    .terminal-input::placeholder {
      color: #3d4752;
    }
    
    .terminal-input[type="password"] {
      letter-spacing: 3px;
    }
    
    .submit-btn {
      width: 100%;
      padding: 12px;
      margin-top: 20px;
      background: linear-gradient(135deg, #00ff41 0%, #00cc33 100%);
      color: #0a0e14;
      border: none;
      border-radius: 4px;
      font-family: inherit;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 2px;
      transition: none;
    }
    
    .submit-btn:hover {
      box-shadow: 0 0 20px rgba(0, 255, 65, 0.5);
      transform: translateY(-1px);
    }
    
    .submit-btn:disabled {
      background: #3d4752;
      color: #6e7681;
      cursor: not-allowed;
      box-shadow: none;
      transform: none;
    }
    
    .error-msg {
      background: rgba(255, 95, 87, 0.1);
      border: 1px solid rgba(255, 95, 87, 0.3);
      color: #ff5f57;
      padding: 10px;
      border-radius: 4px;
      font-size: 12px;
      margin-bottom: 15px;
      display: none;
    }
    
    .info-msg {
      background: rgba(88, 166, 255, 0.1);
      border: 1px solid rgba(88, 166, 255, 0.3);
      color: #58a6ff;
      padding: 10px;
      border-radius: 4px;
      font-size: 12px;
      margin-bottom: 15px;
      display: none;
    }
    
    .confidential-badge {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 10px;
      background: rgba(254, 188, 46, 0.1);
      border: 1px solid rgba(254, 188, 46, 0.3);
      border-radius: 4px;
      margin-bottom: 20px;
      font-size: 11px;
      color: #febc2e;
      text-transform: uppercase;
      letter-spacing: 1px;
    }
    
    .two-fa-section {
      display: none;
    }
    
    .two-fa-section.active {
      display: block;
    }
    
    .totp-input {
      text-align: center;
      font-size: 24px;
      letter-spacing: 12px;
      padding: 15px !important;
      background: rgba(0, 255, 65, 0.05) !important;
      border: 1px solid rgba(0, 255, 65, 0.3) !important;
      border-radius: 4px;
    }
    
    .back-link {
      display: block;
      text-align: center;
      margin-top: 15px;
      color: #6e7681;
      font-size: 12px;
      cursor: pointer;
      transition: none;
    }
    
    .back-link:hover {
      color: #00ff41;
    }
    
    .use-backup {
      text-align: center;
      margin-top: 12px;
      font-size: 12px;
    }
    
    .use-backup a {
      color: #58a6ff;
      cursor: pointer;
    }
    
    .security-footer {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 25px;
      padding-top: 20px;
      border-top: 1px solid rgba(0, 255, 65, 0.1);
      color: #28c840;
      font-size: 11px;
    }
    
    .footer-text {
      text-align: center;
      margin-top: 20px;
      font-size: 11px;
      color: #3d4752;
    }
    
    .glitch {
      animation: glitch 2s infinite;
    }
    
    @keyframes glitch {
      0%, 90%, 100% { transform: translate(0); }
      92% { transform: translate(-2px, 1px); }
      94% { transform: translate(2px, -1px); }
      96% { transform: translate(-1px, 2px); }
      98% { transform: translate(1px, -2px); }
    }
    
    /* Typing animation */
    .typing {
      overflow: hidden;
      white-space: nowrap;
      animation: typing 0.5s steps(40, end);
    }
    
    @keyframes typing {
      from { width: 0; }
      to { width: 100%; }
    }
