*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#eef7ff;color:#152033}.wrap{max-width:680px;margin:0 auto;padding:16px}.header{background:#42a5f5;color:white;padding:18px 16px;border-radius:0 0 22px 22px;position:sticky;top:0;z-index:5}.card{background:#fff;border:1px solid #dcecff;border-radius:16px;box-shadow:0 8px 25px rgba(32,91,150,.08);padding:16px;margin:14px 0}.row{display:flex;gap:12px;align-items:center}.grow{flex:1}.muted{color:#718096;font-size:13px}.title{font-weight:800;font-size:20px}.input{width:100%;height:48px;border:1px solid #cfe5ff;background:#f5fbff;border-radius:12px;padding:0 14px;font-size:16px;outline:none}.btn{border:0;border-radius:12px;padding:12px 16px;cursor:pointer;font-weight:700;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background:#42a5f5;color:#fff}.btn-dark{background:#1f2937;color:#fff}.btn-light{background:#eaf4ff;color:#1f2937}.btn-danger{background:#ef4444;color:#fff}.product{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #e4efff;border-radius:14px;background:#fff;padding:14px;margin:10px 0;cursor:pointer}.product:hover{border-color:#42a5f5}.price{font-weight:800;color:#1684de}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:20}.modal{position:fixed;left:0;right:0;bottom:0;background:white;border-radius:18px 18px 0 0;padding:18px;max-width:680px;margin:0 auto;display:none;z-index:21}.modal.show,.modal-backdrop.show{display:block}.sep{height:1px;background:#edf2f7;margin:12px 0}.alert{padding:12px;border-radius:12px;margin:12px 0}.alert-info{background:#e8f3ff;color:#075985}.alert-danger{background:#fee2e2;color:#991b1b}.alert-success{background:#dcfce7;color:#166534}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:10px;border-bottom:1px solid #edf2f7;text-align:left}.right{text-align:right}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a{font-size:14px}.small{font-size:12px}.saldo{font-size:22px;font-weight:900}.hidden{display:none!important}

/* Mobile hardening */
input,select,textarea,button{font:inherit}input,select,textarea{width:100%;min-height:44px;border:1px solid #cfe5ff;border-radius:12px;padding:10px 12px;background:#fff;color:#152033}button,.btn{min-height:44px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.toolbar a,.toolbar button{flex:0 0 auto}pre{max-width:100%;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#f8fbff;border:1px solid #e4efff;border-radius:12px;padding:12px}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:560px){body{background:#f5fbff}.wrap{padding:10px}.header{border-radius:0 0 18px 18px;padding:14px 12px}.card{padding:14px;margin:10px 0;border-radius:14px}.row{align-items:stretch;flex-direction:column}.product{align-items:flex-start;flex-direction:column}.product .price{align-self:flex-start}.modal{max-height:88vh;overflow:auto;padding:16px}.toolbar{display:grid;grid-template-columns:1fr;gap:8px}.toolbar a,.toolbar button,.btn,button{width:100%}.nav a{flex:1 1 auto}.saldo{font-size:20px}.table{min-width:560px}}

/* Patch: mobile password toggle outside input field */
@media(max-width:560px){
  .password-wrap{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
  }
  .password-wrap .input{
    min-width:0;
    width:100%!important;
    padding-right:12px!important;
  }
  .password-wrap .toggle-password{
    position:static!important;
    transform:none!important;
    width:auto!important;
    min-width:98px;
    min-height:44px;
    padding:0 10px!important;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    border-radius:12px;
  }
}
